人脸识别
人脸识别功能通过将检测到的人脸与预先学习的人脸数据进行匹配,来识别已知个体。当识别出已知人
员时,他们的姓名将作为sub_label
添加。这些信息会显示在UI界面、过滤器中,也会包含在通知中。
模型要求
人脸检测
当运行Frigate+模型(或任何原生支持人脸检测的自定义模型)时,应确保在跟踪对象列表中添加face
标签,可以是全局设置或针对特定摄像头。这将允许人脸检测与物体检测同时运行,提高效率。
当运行默认的COCO模型或其他不包含face
作为可检测标签的模型时,人脸检测将通过CV2使用运行在CPU上的轻量级DNN模型进行。在这种情况下,您不应在跟踪对象列表中定义face
。
备注
Frigate 需要先检测到 person
(人) 后才能检测和识别人脸。
人脸识别
Frigate支持两种人脸识别模型类型:
- small(小型): Frigate将运行FaceNet嵌入模型进行人脸识别,该模型在CPU上本地运行。此模型针对效率进行了优化,但准确性较低。
- large(大型): Frigate将运行大型ArcFace嵌入模型,该模型针对准确性进行了优化。建议仅在拥有集成或独立显卡时使用。更多信息请参阅功能增强文档。
在这两种情况下,都会使用轻量级的人脸关键点检测模型在运行识别前对齐人脸。
所有系统特性都是在你本地进行的。
最低系统要求
small
模型针对效率进行了优化,可在CPU上运行,大多数CPU都能高效运行该模型。
large
模型针对准确性进行了优化,强烈建议使用集成或独立GPU。
配置
人脸识别默认禁用,必须在UI界面或配置文件中启用后才能使用。人脸识别是全局配置设置。
face_recognition:
enabled: true
高级配置
使用以下可选参数在配置的全局级别微调人脸识别。在摄像头级别只能设置 enabled
和 min_area
这两个可选参数。
检测
detection_threshold
: 运行识别前所需的人脸检测置信度分数:- 默认值:
0.7
- 注意: 此字段仅适用于独立的人脸检测模型,对于内置人脸检测的模型应使用
min_score
进行过滤。
- 默认值:
min_area
: 定义运行识别前人脸的最小尺寸(以像素为单位)。- 默认值:
500
像素。 - 根据摄像头
detect
流的分辨率,可以增加此值以忽略过小或过远的人脸。
- 默认值:
识别
model_size
: 使用的模型大小,可选small
或large
unknown_score
: 将人员标记为潜在匹配的最低分数,低于此分数的匹配将被标记为未知。- 默认值:
0.8
。
- 默认值:
recognition_threshold
: 将人脸添加为对象子标签所需的识别置信度分数。- 默认值:
0.9
。
- 默认值:
save_attempts
: 保存用于训练的已识别人脸图像数量。- 默认值:
100
。
- 默认值:
blur_confidence_filter
: 启用计算人脸模糊程度并据此调整置信度的过滤器。- 默认值:
True
。
- 默认值:
使用方法
- 在配置文件中