Skip to content

目标分类

目标分类功能允许你训练一个自定义的MobileNetV2分类模型,该模型可运行在被追踪的目标(如人员、车辆、动物等)后,从而为这些目标识别出更精细的类别或属性。

最低系统要求

目标分类模型非常轻量级,在 CPU 上运行速度非常快。几乎任何能够运行 Frigate 的设备都能支持推理功能。

模型训练期间,每轮训练大约会短暂占用较高的系统资源,持续 1 到 3 分钟。在性能较低的设备上,训练时间可能会更长。

类别

类别是指你的模型将要学会区分的不同种类。每个类别代表模型将预测的一个独特视觉类别。

对于目标分类:

  • 定义用于区分被检测目标不同类型或属性的类别。
  • 示例:对于人员(person)类的目标,类别可以是外卖员、员工等。
  • 包含一个无标签none)类别,用于那些不属于任何特定类别的目标。
  • 保持各类别在视觉上具有明显差异,以提高准确率。

分类类型

  • 子标签

    • 应用于目标的子标签sub_label)字段。
    • 适用于单一、更具体的身份或类型。
    • 比如:猫(cat)→ 米米、花花、无标签(None)。
  • 属性

    • 作为元数据添加到目标中(可在 /events 中查看):<model_name>: <predicted_value>
    • 适用于多个属性可以独立共存的情况。
    • 示例:检测建筑工地上的人员(person)是否佩戴了安全帽。

分配要求

只有在同时满足以下两个条件时,才会分配子标签和属性:

  1. 阈值(Threshold):每次分类尝试的识别分数百分比必须达到或超过配置的 threshold(默认值:0.8)。
  2. 类别共识(Class Consensus):在至少 3 次分类识别尝试后,有 60% 的识别结果一致。如果共识类别为 none,则不进行分配。

这种两步验证机制通过要求在多个帧上保持一致的预测结果,防止误报,然后再分配子标签或属性。

示例使用场景

子标签

  • 已知宠物与未知宠物:对于狗(dog)类的目标,可以将子标签设置为你宠物的名字(例如旺财),其他则为无标签(none)。
  • 快递车辆与普通车辆:对于车辆(car),可以分类为快递车辆和无标签(none),以便筛选快递配送车。
  • 快递员与非快递员:对于人员(person),可以根据衣服将人员分类外卖员和无标签(none)。

属性

  • 背包:对于人员(person),可以添加属性背包: 有/无
  • 安全帽:对于人员(person),可以添加属性 安全帽: 有/无
  • 牵引绳:在公园或院子的场景,可以为狗(dog)添加 牵引绳:有/无

配置

目标分类被配置为一个自定义分类模型。每个模型都有其自己的名称和设置。你必须列出需要进行分类的目标标签。

yaml
classification:
  custom: 
: # 分类的名称,可以使用中文
      threshold: 0.8
      object_config: 
        objects: [dog] # 要分类的目标标签
        classification_type: sub_label # 分类类型,可输入 sub_label(子标签)或 attribute(属性)

训练模型

创建和训练模型是在 Frigate 页面中通过“分类”页面完成的。该过程包括两个步骤:

步骤 1:命名和定义

为你的模型输入一个名称,然后选择要分类的目标标签(例如 人员(person)、狗(dog)、车辆(car)),选择分类类型(子标签或属性),并定义你的类别。其中将默认包含一个 无标签(none)类别,用于那些不属于任何特定类别的目标。

步骤 2:分配训练样本

系统将自动从与你所选标签匹配的被检测目标中生成示例图像。系统会逐步引导你为每个类别选择哪些图像代表该类别。在你完成最后一个类别后,任何未分配到特定类别的图像将自动分配到 无标签(none)类别。一旦所有图像都处理完毕,训练将自动开始。

在选择要分类的目标时,建议从少量视觉上具有明显差异的类别开始,并确保你的训练样本与这些目标常见的摄像头视角和距离相匹配。

提升模型性能

  • 问题定义:保持类别在视觉上具有明显差异,并与所选目标类型相关。
  • 数据收集:使用模型的“最近分类”选项卡,收集一天中不同时段、不同天气和不同距离下的均衡样本。
  • 预处理:确保示例图像反映与 Frigate 检测框相似的目标裁剪;保持主体居中。
  • 标签:保持标签名称简短且一致;如果你计划忽略子标签的不确定预测,包含一个 none 类别。
  • 阈值:根据每个模型调整 threshold 以减少误分配。从 0.8 开始,并根据验证结果进行调整。
最近更新