事件信号处理功能包括:
- 防闪烁功能(Anti Flicker), 用于消除闪烁
- 事件跟踪过滤器 (Event Trail Filter),用于删除冗余事件
- 事件速率控制(Event Rate Control)
防闪烁功能(Anti Flicker)
防闪烁功能可以检测并消除周期性变化的事件,在动微灵瞳相机配置中,可以消除2ms至20ms周期(50HZ至500HZ)的事件。
参数 | 释义 | 默认值 | 最小值 | 最大值 | 备注 |
enable | 是否启用防闪烁功能 | false | false | true | |
low_frequency | 过滤的最低频率 | 50Hz | 50Hz | 520Hz | |
high_frequency | 过滤的最高频率 | 520Hz | 50Hz | 520Hz | |
fliter_mode | 滤波模式 | Band cut | Band cut | Band pass | |
duty_cycle | 占空比 | 50% | 0% | 100% | |
start_threshold | 起始阈值 | 6 | 0 | 7 | |
stop_threshold | 结束阈值 | 4 | 0 | 7 | |
以下介绍使用SDK的API来配置防闪烁功能:
通过DvsCamera类中的 dvsense::DvsCamera::getTool API接口来获取anti flicker相关的配置对象;
#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)
这个过滤器考虑在短时间内产生的相同极性的连续事件作为突发,并将根据所选择的选项删除一些事件:
- Spatio-Temporal-Contrast (STC) 抓取突发事件的第二个事件,通过设置的STC_CUT_TRAIL and STC_KEEP_TRAIl来选择第二个事件之后的事件轨迹是应该删除(STC_CUT_TRAIL)还是保留(STC_KEEP_TRAIL)。
- TRAIL保留极性转换后突发的第一个事件,并取消在TRAIL阈值周期内产生的相同极性的事件。
Note:突发事件过滤大大降低了事件率,但它也删除了纹理信息。这两个滤波器支持的处理突发事件的时间范围是1毫秒到100毫秒。
参数 | 释义 | 默认值 | 最小值 | 最大值 | 备注 |
enable | 是否启用事件跟踪过滤功能 | false | false | true | |
threshold | 阈值 | 10 | 1 | 100 | |
type | 过滤类型 | "TRAIL" | | | "TRAIL", "STC_CUT_TRAIL", "STC_KEEP_TRAIL" |
以下介绍使用SDK的API来配置事件跟踪过滤功能:
#include "DvsenseDriver/camera/DvsCamera.hpp"
std::shared_ptr<dvsense::CameraTool> etf_tool = device_->getTool(dvsense::ToolType::TOOL_EVENT_TRAIL_FILTER);
bool ret = afk_tool->setParam("threshold", 10);
ret = etf_tool->setParam("type", "TRAIL");
ret = etf_tool->setParam("enable", true);
事件速率控制 (Event Rate Controller)
ERC通过在空间上和时间上丢弃事件以目标事件速率输出来执行调整。注意:使用此功能后信号质量可能会受影响。
参数 | 释义 | 默认值 | 最小值 | 最大值 | 备注 |
enable | 是否启用事件速率控制功能 | false | false | true | |
max_event_rate | 最大事件速率 | 320MEv/s | 0MEv/s | 320MEv/s |
以下介绍使用SDK的API来配置事件速率控制功能:
#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);
ret = erc_tool->setParam("enable", true);