对于视觉AI领域的开发者来说,选择合适的算法是项目成功的一半:算法与项目需求相匹配,可显着提升开发效率,减少后期磨合调试,快速实现产品落地。然而,什么样的算法才是“合适的”呢?一个优秀的算法模型需要大量的综合数据进行训练。同样,在测试算法时,开发者需要结合实际应用场景,先设计算法测试集,然后使用足够的数据进行测试,从而获得算法是否适合项目的准确判断。 除了提供免费、离线的人脸识别算法,虹软视觉开放平台还致力于打造系统的开发者培训体系,为整个行业提供优质人才。《人脸识别》的《人脸识别算法测试》培训课程,从前线实战的角度,系统阐述了算法测试的要点。 【算法测试集设计原则】 无论是算法训练还是针对应用场景的测试,都需要大量场景数据的支持。就像虹软视觉开放平台的ArcFace人脸识别SDK一样,在算法开发中考虑了楼宇、工地、社区、校园、景区等一系列场景的共性和个性,有针对性地进行训练。执行。因此,在100多个垂直行业的细分领域得到了广泛的应用。 同样,设计算法测试集的第一步是分析具体的应用场景,然后根据场景的特点抽象出场景属性。例如,在楼宇、工地、社区、校园、景区等常见场景中,这些场景中需要关注的属性是不同的。 算法在施工现场应用时,需要考虑算法在室外吊顶环境下的性能,IPC设备高度对识别效果的影响,排队和多人脸的情况,而工地场景中的识别目标通常是戴安全帽的成年人,对于这类人群也有特殊的识别效果。 应用场景在学校时,需要主要考虑儿童青少年在快速成长过程中的识别效果;当部署场景在小区和景区时,需要考虑各个年龄段的识别效果……所有场景属性需要因地制宜,结合实际情况,但一般遵循两个原则内部因素和外部因素的组合: 内部因素包括面部姿势、化妆、身高、性别、表情、年龄、种族等。外部因素包括室内/室外、光线方向、攻击道具、化妆道具、光线强度、设备高度、背景、遮挡等。 另外,测试素材集需要同时有正样本和负样本。所谓正样本是指与真值对应的目标类别,负样本是指与真值不对应的所有其他目标类别,以此来比较判断算法是否正确识别。 以“智能楼宇门禁场景”为例,我们需要充分模拟目标场景的应用环境,综合考虑场景、属性、设计、规模四个要素:场景需要包括室内/室外、楼宇/楼层/办公室等常见环境;外部模拟采集环境必须覆盖所有属性,内部目标采集人员选择必须覆盖所有属性;在materialdesign中,需要模拟真实用户的行为,比如快走、慢走、跑步、戴帽子、眼镜、首饰等造成的Occlusion;材料的尺寸需要根据测试要求来确定。例如,实际场景往往处于较暗的环境中,因此需要采集更多的暗光素材,测试集的整体规模要足以完成算法指标的评估。 测试素材的采集也有严格的要求:首先,我们要选择采集的目标设备,这样测试结果才不会因为硬件设备的变化而产生偏差;二、登记照片需在正常光照条件下采集,即光线在面部反射均匀,无明显阴影、反光,光强无明显分化。照片的识别需要模拟实际应用场景中的快照;再次,材料需要清洁,测试装置要求无噪音和准确;最后,需要标记每块材料的属性,包括内部属性和外部属性。 【人脸识别算法评价方法】 在理想状态下,人脸识别准确率越高越好,但算法会受到光线、遮挡、图像质量、遮挡等外界因素的影响,面部姿态、年龄、性别、种族和表情等内部因素的综合影响。因此,评价一个算法是否适合一个产品,需要结合实际场景进行测试,然后再进行评价。 大多数情况下,我们使用FAR(错误接受率,也称为错误识别率,即把某人误认为是其他人的概率)和FRR(错误拒绝率,即注册在底部的人数据库,而是比较相似度达到未定值的DET曲线)作为判断的参考。 理想情况下,FAR和FRR越低越好,但这两个指标是拉锯的,一个指标的下降通常意味着另一个指标的上升,所以需要在两者之间取得平衡。一般认为,当FAR达到市场正常水平时,FRR越低,人脸识别算法的性能越好。 在实际测试中,开发者需要根据相应的项目建立相应的测试集,采集场景需要贴近实际使用场景;尽可能覆盖识别目标的所有属性,包括性别、肤色、发型等因素;根据评价的关键点分配属性权重;测试集本身也需要有足够的容量来保证测试结果的可信度。 此外,还有一些共同的评价指标。在评价人脸检测算法时,我们会考虑以下四个指标。在其他条件不变的情况下,召回率越高越好。misseddetectionrate和falsedetectionrate越低越好,IOU意味着重叠区域越大效果越好,但是为了提高效率,可以在超过设定的阈值后直接合并,以及可以看做是同一个人脸框: 召回率=正确检测人脸数/标记人脸总数 缺失率=1-正确检测人脸数/标记人脸总数 误检rate=错误检测到的人脸数/总标记人脸数 IOU=检测到的人脸框A/实际人脸框B 在评估活体检测算法时,我们考虑了真人的误检率和误检率假体率,在其他条件不变的情况下,两者越低越好: 人的误检率=误判为真人的人数/活体检测总数了解相关检测原理后和米方法,很多开发者仍然难以顺利选择算法,这往往受限于实际情况,比如缺乏专门的采集站点、采集人员,或者无法采集大规模测试集。 当需要快速进行算法评估时,可以因地制宜,创造简单的条件,比如选择尽可能靠近现场使用场景的场地,节省场地租金和建设成本,以及邀请公司员工担任催收人员。尽管简单,但原则上测试集的大小仍然需要覆盖所有属性。 【算法评估需要软硬件一体化】 上面说了,收集素材的时候最好选择目标设备。合适的硬件和摄像头模组采集有利于素材集的优化。事实上,在项目研发过程中,算法和硬件的磨合往往需要较长的时间,这往往是阻碍产品落地的重要因素。 为此,虹软开放平台提供了一个连接软硬件资源的支撑平台——产业链市场,为需求方上架了丰富的摄像头模组、开发板、整机、行业解决方案从中选择。同时,所有上线产品均经过虹软视觉开发平台认证调优,实现软硬件的融合优化,保证算法高效流畅运行,大大缩短产品落地时间。 开发者想要学习《人脸识别算法测试》完整培训课程的开发者,请搜索“从零开始学习人脸识别”或访问虹软视觉开放平台官网开放课程页面。
