跳到主要内容

监控区

监控区允许您定义画面中的特定区域,并为对象类型应用额外的过滤器,从而判断对象是否位于该区内。系统会根据对象边界框的底部中心点来评估是否进入监控区,边界框与区的重叠面积不影响判断。

例如,下图中的猫当前位于监控区1,但不在监控区2。 底部中心点判断

监控区不能与摄像头同名。如需在多摄像头覆盖同一区域时使用相同监控区,可以为每个摄像头配置同名的区。

调试时,请启用摄像头调试视图中的"监控区"选项(设置 --> 调试),以便根据需要调整。当任何对象进入区时,区边界线会变粗。

创建监控区的步骤与创建"运动遮罩"类似,只需在网页界面使用创建区的功能即可。

限定警报和检测到特定区

通常您可能希望仅当对象进入关注区域时才创建警报。这可以通过设置required_zones来实现。例如,仅当对象进入整个院子区时才创建警报,配置如下:

cameras:
您的摄像头名称:
review:
alerts:
required_zones:
- entire_yard
zones:
entire_yard:
coordinates: ...

您可能还想限定检测仅在对象进入次要关注区时创建。例如,当对象进入院子内部区域时触发警报,但进入院子边缘时就创建检测记录:

cameras:
您的摄像头名称:
review:
alerts:
required_zones:
- inner_yard
detections:
required_zones:
- edge_yard
zones:
edge_yard:
coordinates: ...
inner_yard:
coordinates: ...

限定快照到特定区

cameras:
您的摄像头名称:
snapshots:
required_zones:
- entire_yard
zones:
entire_yard:
coordinates: ...

限定区内的对象类型

有时需要限制区只对特定对象类型生效,以便更精细地控制警报、检测和快照的保存。以下示例将限制一个区只对人有效,另一个区只对车辆有效。

cameras:
您的摄像头名称:
zones:
entire_yard:
coordinates: ... (您希望检测人的区域)
objects:
- person
front_yard_street:
coordinates: ... (仅街道区域)
objects:
- car

只有车辆对象能触发front_yard_street区,只有人能触发entire_yard区。系统会追踪进入院子任何位置的人,以及进入街道区域的车辆。

区内滞留检测

当需要检测对象在区内异常滞留时,可以配置最小滞留时间阈值(单位:秒):

备注

当使用滞留检测区域时,系统会持续追踪物体直到它离开该区域。这类区域仅适用于那些通常不会发生物体滞留的监控场景。

cameras:
您的摄像头名称:
zones:
sidewalk:
loitering_time: 4
objects:
- person

区进入延迟

为防止边界框判断误差导致误报,可以设置对象必须连续多帧位于区内才视为有效进入:

cameras:
您的摄像头名称:
zones:
front_yard:
inertia: 3
objects:
- person

对于需要快速响应的场景(如车辆驶入车道),可将延迟设为1:

cameras:
您的摄像头名称:
zones:
driveway_entrance:
inertia: 1
objects:
- car

速度估算

Frigate可以估算对象在区内的移动速度。此功能需要将区定义为4个点,并测量实际距离。最适合用于监测道路上车辆的速度。

地面平面4点区

速度估算需要对象被追踪足够多帧才能计算,因此区应远离对象进出位置。区不应占据整个画面。对象速度会在其位于区内时持续计算并存入数据库。

配置中需通过distances字段指定各点间的实际距离:

cameras:
您的摄像头名称:
zones:
street:
coordinates: 0.033,0.306,0.324,0.138,0.439,0.185,0.042,0.428
distances: 10,12,11,13.5 # 单位米或英尺

距离单位由ui配置决定:

ui:
# 可选"metric"(公制)或"imperial"(英制),默认为公制
unit_system: metric

估算速度会显示在调试视图和MQTT事件中,详见MQTT文档

最佳实践与注意事项

  • 最适合直线道路场景,转弯会导致估算不准
  • 确保对象底部中心点直线穿过区且不被遮挡
  • 可适当降低inertia值提高响应速度
  • 实际测量越精确,估算越准确(但需注意透视失真影响)
  • 离开区后速度数据可能不准确
  • 仅为估算值,不适用于执法用途

速度阈值

可设置区的最小速度要求,只有达到该速度的对象才会被视为进入区:

cameras:
您的摄像头名称:
zones:
sidewalk:
coordinates: ...
distances: ...
inertia: 1
speed_threshold: 20 # 单位取决于unit_system设置