Home

Awesome

FrequencyCam: Imaging Periodic Signals in Real-Time

FrequencyCam guitar

This repository has a ROS/ROS2 node for frequency analysis with event based cameras. FrequencyCam colors pixels in an image with the frequency at which their brightness changes. The end result is a "frequency image" that is very similar to Prophesee's Metavision Vibration Estimation module.

In contrast to the Metavision module, FrequencyCam is open source under a permissive (Apache2 license) and is documented. It uses an IIR digital filter to approximately reconstruct the brightness of each pixel and then measures the time it takes between zero-level crossings. For more details please refer to this paper.

Here are a few videos of FrequencyCam in action:

guitarquad rotorheli
<img src="images/guitar.jpg" width="300" height="195"/><img src="images/quad_rotor.jpg" width="300" height="195"/><img src="images/heli.jpg" width="300" height="195"/>

Supported platforms

Currently tested on Ubuntu 20.04 under ROS2 Galactic.

Set the following shell variables:

repo=frequency_cam
url=https://github.com/berndpfrommer/${repo}.git

and follow the instructions here

ros2 launch frequency_cam frequency_cam.launch.py

FrequencyCam expects ROS event_camera_msgs messages from the metavision ROS driver here. You should be able to use other cameras (like DVS etc) by converting the messages with a republish nodelet from the event camera tools repository. Alternatively you can use the libcaer driver that publishes suitable messages natively.

Parameters (see launch file):

Input and algorithm related parameters:

Imaging related parameters:

Topics

License

This software is issued under the Apache License Version 2.0.