过滤器
有几种目标过滤器可用于降低误报率。
目标得分
对于配置中的目标过滤器,任何低于 min_score
的单次检测都将作为误报忽略。threshold
基于跟踪目标历史分数(填充为 3 个值)的中位数。将 min_score
设置为 0.6,阈值设置为 0.85 时,请考虑以下帧:
帧 | 当前得分 | 得分记录 | 计算得分 | 检测到目标 |
---|---|---|---|---|
1 | 0.7 | 0.0, 0, 0.7 | 0.0 | No |
2 | 0.55 | 0.0, 0.7, 0.0 | 0.0 | No |
3 | 0.85 | 0.7, 0.0, 0.85 | 0.7 | No |
4 | 0.90 | 0.7, 0.85, 0.95, 0.90 | 0.875 | Yes |
5 | 0.88 | 0.7, 0.85, 0.95, 0.90, 0.88 | 0.88 | Yes |
6 | 0.95 | 0.7, 0.85, 0.95, 0.90, 0.88, 0.95 | 0.89 | Yes |
在第 2 帧中,分数低于 min_score
值,因此 Frigate 会忽略它,将其变为 0.0。计算出的分数是历史分数的中位数(填充到至少 3 个值),只有当计算出的分数超过threshold
时,才会将目标标记为真。这发生在示例中的第 4 帧。
显示图像抓拍 vs 不同分数的事件
最小得分
任何低于 min_score
分值的检测结果都会被视为误报,因此会被立即丢弃,永远不会被跟踪。如果 min_score
太低,则可能会检测并跟踪到假目标,这可能会混淆目标跟踪器并导致资源浪费。如果 min_score
过高,那么像距离较远或部分遮挡的目标这样得分较低的真目标可能会被丢弃,这也会使跟踪器感到困惑,并导致有效事件丢失或脱节。
阈值
threshold
用于确定目标是否为真。一旦检测到的目标得分大于等于 threshold
,则认为该目标为真。如果 threshold
过低,一些得分较高的假目标可能会产生一个事件。如果 threshold
过高,则可能会由于目标得分不够高而错过真目标事件。
目标形状
根据形状过滤检测结果也可以减少误报。
目标区域
min_area
和 max_area
过滤目标边界框的像素面积,可用于减少超出预期尺寸范围的误报。例如,当检测到一片树叶是狗或检测到一棵大树是人时,可以通过添加 min_area
/ max_area
过滤器来减少误报。在录像时间轴上选择一个时间轴项,然后鼠标移过或点击红框,即可确定该帧中边框的面积。
目标比例
min_ratio
和 max_ratio
值与指定检测目标的宽/高比(像素)进行比较。如果比率超出此范围,则该目标将被视为误报而被忽略。这样就可以忽略过短过宽(比率较大)或过高过窄(比率较小)的目标。
从概念上讲,比率为 1 的物体是正方形,比率为 0.5 的物体是 "高瘦 "方框,比率为 2 的物体是 "宽平 "方框。如果 min_ratio
为 1.0,任何高度大于宽度的对象都将被忽略。同样,如果 max_ratio
为 1.0,那么任何宽度大于高度的对象都将被忽略。
其它工具
防区
Required zones 是一个很好的工具,可以减少在天空或其它不感兴趣的区域检测到的误报。Required zones 只会为进入该区域的目标创建事件。
目标遮罩
Object Filter Masks 是最后的手段,用在误报出现在相对相同的位置,但由于其大小或形状而无法过滤时非常有用。