核查总结
生成式 AI 可以用于自动生成核查项目的结构化总结。这些总结将显示在 Frigate 的原生通知以及用户界面中。生成式 AI 还可以用于收集一段时间内的总结并提供报告,这对于在外出一段时间后快速了解发生的所有事件可能很有用。
当活动结束时,总结请求会自动发送给你的 AI 提供商用于警报核查项目,也可以选择性地为检测启用。
生成式 AI 核查总结也可以通过MQTT为摄像头动态切换。
核查总结使用方法和最佳实践
核查总结为每个核查项目提供结构化的 JSON 响应:
- `title` (string): 一个简洁、直接的标题,描述目的或整体动作(例如:人正在倒垃圾、张三正在遛狗)。
- `scene` (string): 关于序列中从开始到结束发生的事情的叙述性描述,包括场景、检测到的目标及其可观察的动作。
- `confidence` (float): 分析的0-1置信度。当目标/动作清晰可见且上下文明确时,置信度更高。
- `other_concerns` (list): 可能需要额外调查的用户定义关注点列表。
- `potential_threat_level` (integer): 0、1或2,如下定义。这将在用户界面的多个位置显示,为每个活动提供额外的上下文,并在需要额外关注时允许查看更多详细信息。当数据可用时,Frigate 的内置通知也会自动显示标题和描述。
定义典型活动
每个环境甚至不同类型的摄像头对于什么被认为是可疑活动都可能有不同的参数。Frigate 允许在全局和摄像头级别定义activity_context_prompt,这让你可以更具体地定义什么应该被认为是正常活动。 需要注意的是,描述不要过于具体,因为它会影响响应的输出。
提示
需要注意的是,默认的 prompt 是英文,可能会导致生成的结果为英文。你可以参考以下配置,修改为中文。
review:
genai:
alerts: true # 这里设置只有警报类核查项才会触发
activity_context_prompt: | # 自定义为中文的 prompt
所有的回答必须使用中文,其中包括object名称
### 正常活动指标(0级)
- 任何时间任何区域内的已知/verified人员
- 住宅区域内带宠物的人员
- 白天/晚间(上午6点-晚上10点)的快递/外卖配送人员,例如:携带包裹到门口/门廊、放置物品、离开
- 白天期间有可见工具、身穿有工作服或开专用车辆的服务/维护人员
- 活动仅限于公共区域(人行道、街道),任何时候都不进入私人领地
### 可疑活动指标(1级)
- **测试或试图打开车辆或建筑物的门/窗/把手**,无论几点和持续多久,始终为1级
- **深夜/凌晨(晚上11点-早上5点)在私人区域(车道、车辆/建筑物附近)的未识别人员(person)**,无论是否活动和持续多久,始终为1级
- 拿走不属于他们的物品(包裹、门廊/车道上的物体)
- 攀爬或跳过围栏/障碍物进入房产
- 试图隐藏动作或隐藏物品不被看到
- 长时间徘徊:在整个序列的大部分时间内停留在同一区域而没有明显目的
### 关键威胁指标(2级)
- 持有破门工具(撬棍、撬杆、螺栓剪)
- 可见武器(枪支、刀具、铁棍)
- 正在进行强行进入
- 正在攻击他人或其他暴力行为
- 正在进行的财产破坏或盗窃
### 评估方法
按此顺序评估:
1. **如果人员是verified/有名称的** → 无论时间或活动,均为0级
2. **如果人员是未识别的 person:**
- 检查时间:如果是深夜/凌晨(晚上11点-早上5点)且在私人区域(车道、车辆/建筑物附近)→ 1级
- 检查动作:如果测试门/把手、拿走物品、攀爬 → 1级
- 如果没有上述动作,如果是白天/晚间(上午6点-晚上10点)且有明确的合法目的(快递/外卖、服务人员)→ 0级
3. **如果出现以下情况升级到2级:** 可见武器、破门工具、正在进行强行进入、有暴力行为或正在进行的财产破坏(从0级或1级升级)
在深夜时分,私人区域仅仅出现未识别人员本身就是可疑的,都需要人工核查,无论他们看起来在做什么活动或出现时间多么短暂。
preferred_language: 简体中文画面来源
默认情况下,核查总结使用预览画面(缓存的预览帧),这些画面分辨率较低但每张画面使用的 token 更少。 如果希望更好的画面质量和更详细的分析,你可以配置 Frigate 以更高分辨率直接从录制中提取帧:
review:
genai:
enabled: true
image_source: recordings # 选项:默认为"preview"(预览),可修改为"recordings"(从录制流中获取)使用recordings时,画面以 480px 高度提取,同时保持摄像头的原始宽高比,为 AI 大模型 提供更好的细节,同时注意上下文窗口大小。这对于细节很重要的场景特别有用,例如识别车牌、阅读文本或分析远处目标。
发送给 AI 大模型 的帧数根据以下因素动态计算:
- 你的 AI 大模型提供商的上下文窗口大小
- 摄像头的分辨率和宽高比(超宽摄像头如 32:9 每张画面将使用更多 token)
- 画面来源(
image_source),录制(recordings)比预览(preview)画面使用更多 token
帧数会自动优化以使用约 98% 的可用上下文窗口,同时最多限制在 20 帧,以确保合理的推理时间。请注意,画面来源使用录制(recordings)将会有以下变化:
- 为 AI 大模型 提供更高质量的画面(画面分辨率为 480p,而预览画面只有 180p)
- 由于分辨率更高,每帧画面将使用更多 token
- 对于超宽摄像头,由于画面尺寸更大,导致发送的帧数更少
- 要求为摄像头启用录制功能
如果在给定时间段内没有录制可用,系统将自动回退到使用预览帧。
附加关注点
除了可疑活动或直接威胁的关注外,你可能还有其他关注点,如花园中的动物或门未关。这些关注点可以配置,以便核查总结在活动需要额外核查时会注意到它们。例如:
review:
genai:
enabled: true
additional_concerns: # [!code +++]
- 有动物在花园里 # [!code +++]核查报告
除了个别核查项目总结外,生成式 AI 还提供了请求给定时间段报告的能力。例如,你可以在度假时获取任何可疑活动或可能需要核查的其他关注点的每日报告。
以编程方式请求报告
核查报告可以通过API请求,方法是将 POST 请求发送到/api/review/summarize/start/{start_ts}/end/{end_ts},其中start_ts和end_ts是 Unix 时间戳。
对于 Home Assistant 用户,有一个内置服务(frigate.review_summarize),可以轻松请求作为自动化或脚本一部分的核查报告。这允许你根据你的特定需求自动生成每日总结、度假报告或自定义时间段报告。