Skip to content

Source Code for "High-Throughput Asynchronous Convolutions for High-Resolution Event-Cameras"

Notifications You must be signed in to change notification settings

event-driven-robotics/high-throughput-convolutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An Efficient Spatial Convolution Implementation for Event Cameras

Installation

The Makefile file contains commands to download the necessary libraries and dependencies.

This project has been built on top of YARP and Event Driven libraries Robotology

Tested on Ubuntu 20.04

  1. Download the libraries repositores
    • The makefile will download and install the libraries at ~/libraries folder.
    • You can set the path for the libraries' code and installation by modifying PROJECT_DIR and INSTALL_DIR at lines 1 and 2 of Makefile.
make sources
  1. Compile the libraries
make
  1. Attention: dependencies might occur depending on your system

    • Try installing one library at a time in order
    make install-YCM
    make install-yarp
    make install-event-driven
  2. Install the convolutions project

make install-convolution

Running

  1. Add the executables to your path (or in your .<shell>rc file)
export PATH=$PATH:/home/leandro/libraries/install/bin
  1. Start a yarpserver
yarp server
  1. Using yarpmanager is a convenient way to manage yarp modules. To start it:
yarpmanager
  1. We coded an application with the convolution modules

    1. On yarp manager, go to file -> open file -> ~/libraries/install/share/event-driven/applications -> convolutions.xml
    2. You can launch the reference implementation refConv and our implementation liteConv
    3. Depending on your camera, you might want to use a spatio-temporal filter vPreProcess
  2. If you are using a camera, set the connection directly on the connection panel on yarpmanager

  3. If you are using recorded data, you can start a yarpdataplayer to stream the data to the camera:

yarpdataplayer
  • Go to file->Open Directory, navigate ans select the folder generate And then set the connection on the connection panel on yarpmanager

  • The datasets used in the paper are available in a raw text format at High Speed and HDR Datasets

  • The conversion to yarp format can be done with Binvee Library

  • An example script can be found in the src/python root folder of the sequence (should look like <sequence name>_converted.

Logging Results

  1. On the Makefile, you can edit the LOG=<v> flag. <v=0,1,2> disables logging, logs computation time data, and logs accuracy data, respectively

Converting the HDR Dataset

  1. Download and extract the HDR datasets

  2. We use bimvee for converting the .txt HDR dataset file into yarp format

pip install bimvee
export DATASETS_PAT=<datasets location>
python src/python/gen3SequencesToYarp.py <sequence_name>
  • <sequence_name> without the .txt extension
  • <datasets location> is the folder in which you downloaded and extracted the datasets
  • E.g.: python src/python/gen3SequencesToYarp.py hdr_sun

About

Source Code for "High-Throughput Asynchronous Convolutions for High-Resolution Event-Cameras"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published