Code for Adaptive Global Decay Process for Event Cameras, CVPR 2023
@inproceedings{nunesAdaptiveGlobalDecay2023,
title = {Adaptive {Global} {Decay} {Process} for {Event} {Cameras}},
booktitle = {{IEEE}/{CVF} {Conference} on {Computer} {Vision} and {Pattern} {Recognition} ({CVPR})},
author = {Nunes, Urbano Miguel and Benosman, Ryad and Ieng, Sio-Hoi},
year = {2023},
pages = {9771--9780},
}
The authors provide this code in the hope it will be useful for understanding the proposed method, as well as for reproducibility of the results.
For more information and more open-source software please visit the neuromorphic-paris' Github page: https://github.com/neuromorphic-paris.
This code was tested on Ubuntu 20.04 distro.
- CMake: https://cmake.org/download/
sudo apt install cmake cmake-curses-gui
- doxygen (optional, only needed if documentation is enabled): https://www.doxygen.nl
The following are dependencies that are automatically downloaded during the build process, so you do not need to explicitly install them.
-
googletest (only downloaded if tests are enabled): https://github.com/google/googletest.git
git clone https://github.com/neuromorphic-paris/event_batch.git
cd event_batch
mkdir build && cd build
cmake .. <cmake arguments>
The cmake arguments can be set as follows:
-Devent_batch_BUILD_DOC=ON/OFF
Build documentation.
(default: OFF)
-Devent_batch_BUILD_RUNTIME_BENCHMARK=ON/OFF
Build runtime benchmark.
(default: OFF)
-Devent_batch_BUILD_TEST=ON/OFF
Build tests.
(default: OFF)
Lastly, ensure all environment path variables are well set, and compile everything:
make
For efficiency reasons, the input events are assumed to be in the Event Stream format. Please refer to the loris library to convert to/from the Event Stream format.
Two executables are provided that estimate the batch size (batch_size.cpp) of an event stream or the end timestamp [microseconds] of the batch (batch_timestamp.cpp).
Assuming you are in the build
directory, to run an executable *
, just run on a terminal:
./src/batch_* [options] /path/to/input.es
where *
is either size
or timestamp
.
The estimates are sent via the standard output, so you can redirect them with the pipe operator |
to another executable, e.g.:
./src/batch_* [options] /path/to/input.es | ./your/executable
or save them into a file for later processing, e.g.:
./src/batch_* [options] /path/to/input.es > ./your/file.csv
The runtime benchmark can be built by setting the flag event_batch_BUILD_RUNTIME_BENCHMARK
to ON
.
Assuming you are in the build
directory, to run a runtime executable *
, just run on a terminal:
./src/runtime_benchmark/runtime_* [options] /path/to/input.es
The test suite can be built by setting the flag event_batch_BUILD_TEST
to ON
.
To run the test suite, just run on a terminal:
make test
Offline documentation can be built with doxygen by setting the flag event_batch_BUILD_DOC
to ON
.
Then, just run on a terminal:
make doc
The EventEMin code is licensed under CC BY-NC-SA 4.0. Commercial usage is not permitted.