Coder Social home page Coder Social logo

rpg_esim's Introduction

ESIM: an Open Event Camera Simulator

ESIM: an Open Event Camera Simulator

This is the code for the 2018 CoRL paper ESIM: an Open Event Camera Simulator by Henri Rebecq, Daniel Gehrig and Davide Scaramuzza:

@Article{Rebecq18corl,
  author        = {Henri Rebecq and Daniel Gehrig and Davide Scaramuzza},
  title         = {{ESIM}: an Open Event Camera Simulator},
  journal       = {Conf. on Robotics Learning (CoRL)},
  year          = 2018,
  month         = oct
}

You can find a pdf of the paper here. If you use any of this code, please cite this publication.

Python Bindings

Python bindings for the event camera simulator can be found here. We now also support GPU support for fully parallel event generation!

Features

  • Accurate event simulation, guaranteed by the tight integration between the rendering engine and the event simulator
  • Inertial Measurement Unit (IMU) simulation
  • Support for multi-camera systems
  • Ground truth camera poses, IMU biases, angular/linear velocities, depth maps, and optic flow maps
  • Support for camera distortion (only planar and panoramic renderers)
  • Different C+/C- contrast thresholds
  • Basic noise simulation for event cameras (based on additive Gaussian noise on the contrast threshold)
  • Motion blur simulation
  • Publish to ROS and/or save data to rosbag

Install

Installation instructions can be found in our wiki.

Run

Specific instructions to run the simulator depending on the chosen rendering engine can be found in our wiki.

Acknowledgements

We thank Raffael Theiler and Dario Brescianini for their contributions to ESIM. This research was supported by by Swiss National Center of Competence Research Robotics (NCCR), Qualcomm (through the Qualcomm Innovation Fellowship Award 2018), the SNSF-ERC Starting Grant and DARPA FLA.

A significant part of ESIM uses components (spline trajectories, inertial measurement unit simulation, various utility functions) from the ze_oss project. ESIM depends on UnrealCV for the photorealistic rendering engine. We also reused some code samples from the excellent Lean OpenGL tutorial in our OpenGL rendering engine. Finally, ESIM depends on the Open Asset Import Library (assimp) to load 3D models and Blender scenes within the OpenGL rendering engine.

rpg_esim's People

Contributors

supitalp avatar christian-rauch avatar danielgehrig18 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.