选型匹配人脸识别算法,一套测试标准快速搞定

对视觉AI领域的开发者而言,选到一款合适算法,堪称项目成功了一半:算法与项目需求匹配,可以显著提升开发效率、减少后期磨合调试,快速实现产品落地,

然而什么样的算法才叫“合适”?优秀的算法模型需要投入大量且全面的数据用以训练,同样,在测试算法时,开发者需要结合实际应用场景,先设计算法测试集,再用充足的数据进行测试,这才能得出算法是否适合项目的准确评判。

虹软视觉开放平台除提供免费、离线的人脸识别等算法外,也致力于打造系统化的开发者培训体系,为全行业输送高质量人才,官网最近上线了“从零学习人脸识别“之《人脸识别算法测试》培训课程,从一线实战角度系统阐述了算法测试的要点。

【算法测试集设计原则】

无论是算法训练,还是针对应用场景进行测试,都需要大量场景数据的支撑。正如虹软视觉开放平台的ArcFace人脸识别SDK,在算法研发时就考虑了楼宇、工地、社区、校园和景区等一系列场景的共性及个性,并进行针对训练,因此在百余个垂直行业的细分领域中得到了普遍应用。

同样,设计算法测试集的第一步是分析具体应用场景,再根据场景特点抽象出场景属性。譬如楼宇、工地、社区、校园和景区等常见应有场景,这些场景需要关注的属性就各不相同。

选型匹配人脸识别算法,一套测试标准快速搞定

当算法应用在工地上,我们需要考虑算法在室外顶棚环境下的表现、IPC设备高度对识别效果的影响、排队及多人脸状况下算法识别速度,同时工地场景下识别目标通常为戴安全帽的成年人,也就需要格外这类群体的识别效果。

当应用场景在学校时,就需要主要考虑快速成长过程中儿童和青少年的识别效果;部署场景在社区和景区时,就需要考虑各个年龄段的识别效果……所有场景属性都需要因地制宜,结合实际情况来总结,但总体遵循内部因素和外部因素两大原则:

内因包括人脸姿态、妆容、身高、性别、表情、年龄、人种等,外因则包括室内/室外、光线方向、攻击道具、妆容道具、光照强度、设备高度、背景、遮挡等。

选型匹配人脸识别算法,一套测试标准快速搞定

此外,测试素材集需要同时具备正样本、负样本,所谓正样本是指与真值对应的目标类别,负样本则是与真值不对应的其他所有目标类别,这样才能比对判断算法是否进行正确识别。

选型匹配人脸识别算法,一套测试标准快速搞定

以“智慧楼宇门禁场景”为例,我们就需要全面模拟目标场景的应用环境,考虑场景、属性、设计和规模四大要素:场景上需要囊括室内/室外、楼宇/楼层/办公室等常见环境;属性上对外模拟采集环境须涵盖全属性,对内需要针对性采集人员选取须涵盖全属性;在素材设计上要模拟模拟真实用户的行为动作,譬如快走、慢走、跑步,以及戴帽子、眼镜或首饰引起的遮挡;素材规模上则需要根据测试需求决定,譬如实际场景常为暗光环境,就需要多采集暗光素材,同时测试集整体大小也要足够完成算法指标的评定。

测试素材的采集同样有严格要求:首先,我们必须选取目标设备进行采集,这样才不会因为硬件设备的变化导致测试结果有偏差;其次,注册照需要在正常光环境下采集,即光线在面部反光均匀、没有明显的阴影、反光现象,光线强度没有明显的分化现象环境,识别照则需要模拟实际应用场景下的抓拍照;再次,素材要进行清洗,测试集要求是无噪点且准确的;最后,需要标记每张素材的属性,包括内部属性和外部属性。

【人脸识别算法评测方法】

在理想状态下,人脸识别准确率越高越好,但算法在产品化时会受到光线、遮挡、图片质量、遮挡等外部因素,以及人脸姿态、年龄、性别、人种和表情等内部因素的综合影响。因此,评价一款算法是否适用于产品,需要结合实际场景并进行测试后才能做出评价。

多数情况下,我们以基于FAR(错误接受率,又称误识率,即把某人误识为其他人的概率)和FRR(错误拒绝率率,即本人注册在底库中,但比对相似度达到不预定的值)的DET曲线作为评判参考。

理想状况下,FAR和FRR都越低越好,但两个指标是一个跷跷板,一个指标的降低通常意味着另一个指标会升高,所以需要实现两者间的平衡。一般认为在FAR达到市场正常水准时,FRR越低,该人脸识别算法性能就越好。

在实际测试时,开发者需要根据对应项目建立相应的测试集,采集场景需要贴近实际使用场景;尽可能涵盖识别目标的全属性,包括性别、肤色、发型等因素;属性权重按照评测偏重点分配;测试集本身也需要有足够的容量,来保证测试结果可信。

另外,还有一些常见的评测常见指标,在评价人脸检测算法好坏时,我们会考虑以下四个指标,其他条件不变时,查全率越高越好,漏检率和误检率越低越好,IOU则是重合面积越大效果越好,但为了提高效率,超过设定阈值后可直接合并,视为同一个人脸框:

查全率=正确检测的人脸数/标注的总人脸数

漏检率=1-正确检测的人脸数/标注的总人脸数

误检率=错误检测的人脸数/标注的总人脸数

IOU=检测出来的人脸框A/实际的人脸框B

在评价活体检测算法时,我们则考虑真人误检率和假体误检率,其他条件不变时,这两者都是越低越好:

真人误检率 = 错误判断为真人数量/活体检测总次数

假体误检率 = 错误判断为假体数量/活体检测总次数

了解相关测试原则和方法之后,很多开发者仍然难以顺利进行算法选型,这往往是受限于实际条件,譬如缺乏专门的采集场地、采集人员,或者无法采集大规模测试集。

需要快速进行算法评测时,可以因地制宜,创造简易条件,譬如就地选取尽可能贴近使用场景的场地,省去场地租金、搭建成本,同时邀请公司员工充当采集人员。尽管从简,测试集规模原则上仍然需要覆盖全属性。

【算法评测需软硬一体】

前文提到,采集素材时最好选用目标设备,合适硬件、摄像模组采集有利于优化素材集。实际上,在项目开发的过程中,算法与硬件的磨合经常耗时日久,这往往是阻碍产品落地的重要因素。

为此,虹软开放平台则提供配套的软硬件资源对接平台——产业链市场,上架了丰富的摄像头模组、开发板、整机、行业解决方案供需求方选择。同时,所有上线产品都经过虹软视觉开发平台的认证与调优,实现软硬件的整合优化,确保算法运行高效流畅,大幅缩短产品落地时间。

想要完整学习《人脸识别算法测试》培训课程的开发者,请搜索“从零学习人脸识别“或登陆虹软视觉开放平台官网公开课页面浏览。

(免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。 )

Baidu
map