Home

Awesome

Please check out our more recent Event-Asynchronous-Filter (TPAMI 2023) in the same line of work.

The Event-based Complementary Filter is integrated into a unified pipeline.

An Asynchronous Kalman Filter for Hybrid Event Cameras

<p align="center"> <a href="https://www.youtube.com/watch?v=XPz7laloKws"> <img src="figures/video_thumbnail.png" alt="An Asynchronous Kalman Filter for Hybrid Event Cameras" width="500"/> </a> </p>

Ziwei Wang, Yonhon Ng, Cedric Scheerlinck and Robert Mahony

The paper was accepted by the 2021 IEEE Int. Conf. Computer Vision (ICCV), 2021

[Paper] [ArXiv] [Supplementary Materials] [GitHub]

Citation

If you use or discuss our AKF, please cite our paper as follows:

<pre> @inproceedings{wang2021asynchronous, title={An asynchronous kalman filter for hybrid event cameras}, author={Wang, Ziwei and Ng, Yonhon and Scheerlinck, Cedric and Mahony, Robert}, booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision}, pages={448--457}, year={2021} } </pre> <pre> @article{wang2023asynchronous, title={An Asynchronous Linear Filter Architecture for Hybrid Event-Frame Cameras}, author={Wang, Ziwei and Ng, Yonhon and Scheerlinck, Cedric and Mahony, Robert}, journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, year={2023}, publisher={IEEE} } </pre>

Code - How to use

There are a few parameters that users can specify:

In file run_akf.m:

VariablesDescriptionDefault Value
deblur_option1: deblur, 0: no deblur. Use the deblur option if the input images are blurry1
frameratethe frame rate of the output image sequence in Hz300
use_median_filtera flag of applying a 3-by-3 median filter to the output images0
output_high_frame_rate_flag1: output images of the pre-defined framerate, 0: output images of the frame intensity framerat.1
sigma_pthe process noise parameter0.0005
sigma_ithe isolated noise parameter0.03
sigma_rthe refractory noise parameter0.05
refractory_periodthe refractory period in microsecond. It models the circuit limitations in each pixel of an event camera limit the response time of events10000
min_ct_scalethe minimal value for the contrast threshold scaling factor0.6
max_ct_scalethe maximal value for the contrast threshold scaling factor100
p_iniinitial value for state covariance P0.09

In file akf_reconstruction.m:

  1. post_process: 0 for no normalization; 1 for (image-min/(max-min)); 2 for user-defined maximum and minimum value for extremely bright view; 3 for user-defined maximum and minimum value for extremely dark view. Post-processing methods are important in displaying the reconstructed HDR images since the intensity values can go beyond 0 and 1; 4 for contrast-limited adaptive histogram equalization (using matlab inbuilt function adapthisteq()). Without a proper post-processing method, the details in the HDR part of the image (higher than 1 or lower than 0) can not be displayed. Users can adjust the pre-defined maximum and minimum value in file output_img.m to have the best visualization.
  2. The f_Q is the most important parameter for image noise. It represents the inverse of the R_bar function in equation (6) in the paper. You can simply treat it as the image confidence function of intensity. For example, for an image in the range [0 255], the extreme values around 0 and 255 would have lower confidence. The f_Q is included in the provided dataset. If you are using your own dataset, you need to tune it carefully.
  3. The preset exposure time for each intensity image is included in the provided datasets (some datasets are recorded with auto-exposure, e.g., interlaken_01a_events_1_150.mat). If you want to use your own dataset, please set or estimate the exposure time as well.
  4. If the exposure time for the intensity images are very short and there is almost no blurry, you can disable the deblur function by setting deblur_option = 0. But you still need to define an exposure time.

Datasets

Download the datasets and save them in folder data/. If you want to use your datasets, define post_process method, f_Q, exposure, contrast threshold ct at the beginning of akf_reconstruction.m. See notes in the next section.

Click Here To Download Example Datasets

Dataset name convention: DatasetName_StartFrame_EndFrame of the original dataset (we only keep the fast motion part or highly HDR part in the sample datasets. You can download the whole dataset sequence from the website of the following papers, and test if you like). The example datasets are publicly available datasets from: [Mueggler et al., IJRR 2017], [Scherlinck et al., ACCV 2018], [Gehrig et al., ICRA 2021].

Our HDR Hybrid Event-Frame Dataset

Selected Images from Our HDR Hybrid Event-Frame Dataset:

<p align="center"> <a href="https://www.youtube.com/watch?v=XPz7laloKws"> <img src="figures/hdr-dataset.png" alt="Our HDR Hybrid Event-Frame Dataset" width="900"/> </a> </p> First row shows the low dynamic range frames and the second row shows the high dynamic range ground truth (with tone-mapping for display only).

Click Here To Download Raw Data

Raw data includes raw events, HDR ground truth images, LDR images, exposure time, etc. This can be directly used for AKF.

Click Here To Download Event and Frame Pairs

For some methods which require event reconstruction and frame pairs, we provide reconstructed event data using the E2VID event reconstruction algorithm [Rebecq et al., TPAMI 2019].

Notes

  1. Make sure your event and image timestamps are well aligned.
  2. As a nature of the filtering methods, the quality of the reconstruction results is relevant to the quality of event camera datasets. Datasets with obvious noise recorded by hybrid event-frame cameras or lower resolution/sensitivity cameras such as DAVIS 240 might lead to unsatisfied results in high temporal resolution video reconstruction. The method requires a short time to adapt and converge to the optimal Kalman filter parameters for each dataset.
  3. For academic use only. Should you have any questions or suggestions regarding this code and the corresponding results, please don't hesitate to get in touch with ziwei.wang1@anu.edu.au