DvsenseDriver  1.0.3
The SDK for dvsense products.
Loading...
Searching...
No Matches
Event Signal Processing

Event signal processing functionalities include:

  1. Anti Flicker, designed to eliminate flickering.
  2. Event Trail Filter , aimed at removing redundant events.
  3. Event Rate Control (ERC) for controlling the rate of events.

Anti Flicker

The Anti Flicker function can detect and eliminate periodically varying events. In the configuration of the dynamic vision sensing camera, it can remove events with cycles from 2ms to 20ms (50Hz to 500Hz).

Parameter Description Default Minimum Maximum Notes
enable Enable Anti Flicker false false true
low_frequency Lowest frequency to filter 50Hz 50Hz 520Hz
high_frequency Highest frequency to filter 520Hz 50Hz 520Hz
fliter_mode Filtering mode Band cut Band cut Band pass
duty_cycle Duty cycle 50% 0% 100%
start_threshold Start threshold 6 0 7
stop_threshold Stop threshold 4 0 7

Here is how to configure the anti-flicker feature using SDK APIs:

By using the dvsense::DvsCamera::getTool API in the DvsCamera class to get the anti-flicker related configuration object;

#include "DvsenseDriver/camera/DvsCamera.hpp"
std::shared_ptr<dvsense::CameraTool> afk_tool = device_->getTool(dvsense::ToolType::TOOL_ANTI_FLICKER);
bool ret = afk_tool->setParam("low_frequency", 50);
ret = afk_tool->setParam("low_frequency", 50);
ret = afk_tool->setParam("high_frequency", 520);
ret = afk_tool->setParam("fliter_mode", "Band cut");
ret = afk_tool->setParam("duty_cycle", 50);
ret = afk_tool->setParam("start_threshold", 6);
ret = afk_tool->setParam("stop_threshold", 4);
ret = afk_tool->setParam("enable", true);

Event Trail Filter

This filter considers consecutive events of the same polarity produced within a short time as bursts and will delete some events based on selected options:

  • Spatio-Temporal-Contrast (STC) captures the second event of a burst, with subsequent event trails being either deleted (CUT) or kept (KEEP) depending on settings of STC_CUT_TRAIL and STC_KEEP_TRAIL.
  • TRAIL retains the first event following a polarity change within a burst and cancels out events of the same polarity generated within the TRAIL threshold period.

Note: Burst event filtering significantly reduces the event rate but also removes texture information. These filters support processing of burst events over a timeframe from 1 millisecond to 100 milliseconds.

Parameter Description Default Minimum Maximum Notes
enable Enable Event Trail Filter false false true
threshold Threshold for event detection 10 1 100
type Type of filtering "TRAIL" Options include "TRAIL", "STC_CUT_TRAIL", "STC_KEEP_TRAIL"

Here is how to configure the Event Trail Filter using SDK APIs:

#include "DvsenseDriver/camera/DvsCamera.hpp"
std::shared_ptr<dvsense::CameraTool> etf_tool = device_->getTool(dvsense::ToolType::TOOL_EVENT_TRAIL_FILTER);
bool ret = etf_tool->setParam("threshold", 10);
ret = etf_tool->setParam("type", "TRAIL");
ret = etf_tool->setParam("enable", true);

Event Rate Controller (ERC)

The Event Rate Controller (ERC) adjusts the output by discarding events in both spatial and temporal domains to achieve a target event rate. Note: The signal quality might be affected when using this feature.

Parameter Description Default Minimum Maximum Notes
enable Enable Event Rate Control false false true
max_event_rate Maximum event rate 320 MEv/s 0 MEv/s 320 MEv/s

Here is how to configure the Event Rate Controller using SDK APIs:

#include "DvsenseDriver/camera/DvsCamera.hpp"
std::shared_ptr<dvsense::CameraTool> erc_tool = device_->getTool(dvsense::ToolType::TOOL_EVENT_RATE_CONTROL);
bool ret = erc_tool->setParam("max_event_rate", 50);
// Enable the Event Rate Controller
ret = erc_tool->setParam("enable", true);