--- id: motion_detection title: 运动检测 --- # 调优运动检测 Frigate使用运动检测作为第一道检查,判断画面中是否有值得进行物体检测的活动。 一旦检测到运动,它会尝试将附近的运动区域分组,希望能识别出画面中值得检测的矩形区域。这些就是您在调试视图中看到的红色"运动框"。 ## 目标 默认的运动设置应该适用于大多数摄像头,但在某些情况下,调优运动检测可以获得更好更优化的结果。每个摄像头都有不同的环境变量会影响运动检测,这意味着相同的运动设置并不适用于所有摄像头。 在调优运动检测前,理解目标很重要。在最优配置中,应该能检测到人和车的运动,但不会检测到草叶摇动、光线变化、时间戳等。如果运动检测过于敏感,您会遇到更高的CPU负载和更多的误报。如果不够敏感,您会错过想要追踪的对象。 ## 创建运动遮罩 首先,屏蔽那些由您不想检测的对象引起的常规运动区域。找到运动遮罩候选区域的最佳方法是观看启用了运动框的调试流。运动遮罩的典型用例包括时间戳或经常因风移动的树枝和大灌木。尽可能避免创建会阻挡您想要追踪的对象的运动遮罩,即使这些对象位于您不想要警报或检测的区域。运动遮罩不应该用于避免在特定区域检测对象。更多细节请参阅[遮罩文档](/configuration/masks.md)。 ## 准备测试 调优运动检测最简单的方法是使用Frigate UI中的"设置 > 运动调优器"。这个界面允许实时更改运动检测值,方便立即看到对检测结果的影响。 ## 白天调优运动检测 现在一切准备就绪,找一个代表正常情况的时间进行调优。例如,如果您在阳光明媚且有风的日子调优运动检测,可能会发现后来在多云无风的日子里运动设置不够敏感。 :::note 记住运动检测仅用于决定何时应该使用物体检测。您的目标应该是让运动检测足够敏感,不会错过您想要用物体检测的对象。目的是防止物体检测为画面中的每个微小像素变化而持续运行。大风天仍然会导致检测到大量运动。 ::: ### 阈值 阈值决定了一个像素的亮度需要变化多少才会被视为运动。 ```yaml # 默认阈值 motion: # 可选:传递给cv2.threshold的值,用于确定像素变化是否足够大被视为运动(默认如下) # 增加此值会使运动检测不那么敏感,减少则会使运动检测更敏感 # 值应在1到255之间 threshold: 30 ``` 较低的值意味着运动检测对颜色变化更敏感,例如当棕色狗与棕色栅栏混在一起,或穿红衬衫的人与红色汽车混在一起时更容易检测到运动。但如果阈值太低,可能会检测到草叶摇动、阴影等变化。 观察调试视图中的运动框,增加阈值直到只看到肉眼可见的运动。完成后,重要的是测试并确保仍能检测到需要的运动。 ### 轮廓面积 ```yaml # 默认轮廓面积 motion: # 可选:在调整大小的运动图像中视为运动的最小像素尺寸(默认如下) # 增加此值会阻止检测较小的运动区域 # 减少会使运动检测对小移动物体更敏感 # 经验法则: # - 10 - 高灵敏度 # - 30 - 中等灵敏度 # - 50 - 低灵敏度 contour_area: 10 ``` 运行阈值计算后,将变化的像素分组。轮廓面积值用于决定哪些像素组有资格被视为运动。较小的值更敏感,意味着远处的人、小动物等更可能被检测为运动,但也意味着阴影、树叶等的微小变化会被检测为运动。较大的值不太敏感,意味着这些不会被检测为运动,但风险是需要的运动可能要到物体更靠近摄像头时才会被检测到。 观察调试视图中的运动框,调整轮廓面积直到没有比您期望Frigate检测到的最小运动更小的运动框。 ### 改善对比度 如果此时运动检测如预期工作,则无需继续白天的调优。如果无法在检测到需要的运动和不需要的运动之间找到平衡,可以尝试禁用改善对比度并回到阈值和轮廓面积步骤。 ## 夜间调优运动检测 一旦白天运动检测调优完成,这些设置可能也适用于夜间运动检测。如果是这种情况,可以将首选设置写入配置文件并保持不变。 然而,如果白天的首选设置在夜间效果不佳,建议使用Home Assistant或其他解决方案来自动更改设置。这样可以为白天和夜间运动检测使用完全不同的设置组。 ## 调优大范围运动变化 ```yaml # 默认闪电阈值 motion: # 可选:用于检测闪电或其他需要重新校准运动检测的实质性变化的图像百分比(默认如下) # 增加此值会使运动检测更可能将闪电或红外模式变化视为有效运动 # 减少此值会使运动检测更可能忽略大量运动,如有人接近门铃摄像头 lightning_threshold: 0.8 ``` :::warning 某些像门铃摄像头这样的设备,当有人直接走到摄像头前时,可能会因为闪电阈值导致运动检测重新校准而错过检测。在这种情况下,可能需要增加`lightning_threshold`以确保不会错过这些对象。 ::: :::note 闪电阈值不会阻止基于运动的录像被保存。 ::: 像PTZ移动和摄像头在彩色与红外模式间切换这样的大范围运动变化应该不会导致运动检测。这是通过`lightning_threshold`配置实现的。它定义为用于检测闪电或其他需要运动检测重新校准的实质性变化的图像百分比。增加此值会使运动检测更可能将闪电或红外模式变化视为有效运动。减少此值会使运动检测更可能忽略大量运动,如有人接近门铃摄像头。