用户工具

站点工具


schoolcdn:howto:zxface:setting

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
schoolcdn:howto:zxface:setting [2020/05/06 12:37] – 创建 Nashiraschoolcdn:howto:zxface:setting [2020/05/19 11:43] (当前版本) – [算法选择] Nashira
行 1: 行 1:
 [[:linux|返回]] [[:linux|返回]]
 +
 +# zxface人脸识别设置
 +`zxface`是CDN服务器内置的一套人脸识别算法,一个完整的人脸识别算法包含`detect`,`facefeature`,`match`三个阶段,`zxface`在每个阶段都提供了一组算法可供选择,`zxface`支持三个阶段的算法独立或者联合使用。
 +
 ++ detect: 负责检测一帧图像中是否存在人脸,并标记人脸位置
 ++ facefeature: 负责根据detect标记出的人脸,将图像中的人脸信息计算成一个可比较的值
 ++ match: 负责比较facefeature计算出的值,找到数据库中相似度最高的一个人,完成人脸识别
 +
 +> 每台CDN服务器可以配置一个默认的`detect`算法和N个属性检测`detect`算法,每个通道可以指定不同的`detect`算法,每个CDN服务器上`facefeature`和`match`算法是确定的。
 +
 +
 +
 +## detect
 +人脸检测算法,支持以下算法:
 +
 ++ yufacedetect:主要的detect算法,普通监控相机或USB相机人脸识别需要该算法,每路200w像素相机设定fps=4,需要占用一个CPU核心的计算能力
 ++ remote: 使用远程人脸识别服务器,永远不应该使用该算法,仅在xapp中测试使用
 ++ 人脸抓拍相机:人脸抓拍相机设备本质上是在相机内部实现了detect算法,对于人脸抓拍相机zxface仅使用`facefeature`和`match`两个阶段
 ++ FaceMask: 口罩检测算法,用于检测是否佩戴了口罩
 +
 +### 算法选择
 +campusng和xapp按照以下的优先级原则算则使用人脸检测算法:
 +
 ++ xapp:通过命令行参数`--zxface_url`指定使用远程人脸识别服务器
 ++ campusng: 通过远程GPU配置文件`/zxedu/data/config/campusng/zxface_remote_url`指定使用远程人脸识别服务器
 ++ CMDB通道配置选择了`相机智能`,则使用人脸抓拍相机内部的人脸识别算法
 ++ CMDB通道配置选择了`口罩检测`,则使用FaceMask检测算法
 ++ CMDB通道配置选择了`zxface(单人)`或`zxface(多人)`则使用yufacedetect检测算法
 +
 +{{ :schoolcdn:howto:zxface:cmdb.tunnel.png?600 |}}
 +
 +### 单人检测与多人检测
 +
 ++ zxface(单人):从每帧图像中识别一个占图像面积最大的人脸,适用于门禁或闸机控制
 ++ zxface(多人):从每帧图像中识别出尽可能多的人脸,适用于无障碍通道考勤
 +
 +
 +
 +## facefeature
 +特征值提取算法,支持以下算法:
 +
 ++ ArcFace:基于CPU的人脸识别算法,每路视频信号需要一个CPU核心的计算能力
 ++ FaceFeatureGPU:基于Nvidia GPU的人脸识别算法
 ++ remote:使用远程人脸识别服务器
 +
 +### 算法选择
 +campusng和xapp按照以下的优先级原则算则使用特征值提取算法:
 +
 ++ xapp:通过命令行参数`--zxface_url`指定使用远程人脸识别服务器
 ++ campusng: 通过远程GPU配置文件`/zxedu/data/config/campusng/zxface_remote_url`指定使用远程人脸识别服务器
 ++ 如果检测到了显卡,优先使用`FaceFeatureGPU`算法(只有large镜像支持)
 ++ 如果未检测到显卡,使用`ArcFace`算法
 +
 +
 +
 +
 +## match
 +人脸匹配算法,支持以下算法:
 +
 ++ facedb:计算特征值的向量内积,结果范围:0.0~1.0
 ++ remote:使用远程人脸识别服务器
 +
 +### SchoolCDN
 +人脸匹配算法依赖于SchoolCDN服务,SchoolCDN服务负责从平台下载人员资料信息,并导入campusng实现人员信息录入。所以需要保证SchoolCDN同步功能正常运行。
 +
 +remote算法依赖于远程人脸识别服务器的SchoolCDN同步,假如将A学校的设备remote指向B学校的人脸识别服务器,那么识别出来的将是B学校的学生和老师。
 +
 +
 +### facedb注意事项
 +
 ++ 需要在CMDB中为CDN服务器启用zxface功能
 ++ 不同的特征值提取算法生成的特征值无法相互匹配,切换不同的特征值提取算法需要使用命令`schoolcdn sgrid face syncdev cmdbid=1`重新同步人员信息。注意:增加显卡、取出显卡(显卡故障)都会改变选择使用的特征值提取算法,必须重新同步人员信息。
 ++ 不同的特征值提取算法特征值计算的向量内积的结果不可比较。例如A算法相似度0.8可以判定是同一个人,B算法仅需要相似度0.6就可以确定是同一个人。
 +
 +
 +
 +## 命令行工具
 +### campusng查询当前选择的算法信息
 +使用命令`campusng.py info`可以查看当前系统对`detect`,`facefeature`,`match`三个阶段算法的使用情况,截图中`ZXFace(Detector)`,`ZXFace(Feature)`,`ZXFace(DB)`三行。
 +
 +{{ :schoolcdn:howto:zxface:face.png |}}
 +
 +
 +### campusng查询当前选择的算法信息(启用属性检测算法)
 +如果启用了属性检测算法,`campusng.py info`会显示所有被激活的属性检测算法,见截图中`ZXFace(Attribute Detector)`开头的行:
 +
 +{{ :schoolcdn:howto:zxface:detect.png |}}
 +
 +
 +### campusng增加了通道当前配置的显示
 +`campusng.py lsdev`将会列出当前通道内虚拟人脸识别设备的配置,见截图中黄色部分:
 +
 +{{ :schoolcdn:howto:zxface:lsdev.png |}}
 +
 +
 +取值:
 +
 ++ face\_single: 单人人脸识别
 ++ face\_multi: 多人人脸识别
 ++ face\_mask: 口罩检测  
schoolcdn/howto/zxface/setting.1588739869.txt.gz · 最后更改: 2020/05/06 12:37 由 Nashira