实现人脸识别无感通行的密钥:图像质量检测算法


    作为生物识别技术的一种,搭载人脸识别功能的各类智能化产品已应用得非常普遍。但从产品体验而言,用户的感受却不尽相同。比如有能够在自行车骑行状态下,无需下车实现快速无感通行的小区人脸识别闸机。同时也会在使用部分产品时,遇到多次识别不通过、站在原处不停变换人脸角度等待识别通过的尴尬。
    造成这一差距,除了算法自身鲁棒性和性能之外,由于模糊、遮挡、大角度、逆光暗光等复杂环境引起的人脸图像质量问题也会导致人脸识别准确率过低,需要多次重复识别才能成功,从而整体耗时被大大拉长。
    我们知道当图像质量越差,那么人脸识别的准确率就越低。如果可以将人脸图像进行标准化评估,去除低质量图片,将筛选后质量符合标准的图像才送往下一个流程中,那么识别效率将大大提升。这就是实现人脸识别无感通行的一项重要技术——图像质量检测算法(FQ),《从零学习人脸识别》系列公开课第六期就对该算法进行了详细介绍。
    
    人脸图像质量检测算法的原理
    与人脸识别一样,图像质量检测算法(FQ)也是基于特征提取原理,通过神经网络从海量数据中学习获取人脸质量检测关注的特征(主要包括光线、模糊、角度、遮挡、表情、噪声等)并进行质量判断。每个特征以特定的数值来表示,比如下图的人脸特征向量为(0,1,0,1,1),即强光、中度模糊、中等遮挡、大角度、大表情。
    
    当然,这个特征向量可以无限扩充,将特征的描述越细致,特征向量就越精确,光线可以增加暗光、低光,模糊可以增加轻微模糊、中等模糊。以虹软视觉开放平台的图像质量检测算法为例,在噪声特征中甚至可以扩充到六十四位以上的特征。
    在提取特征向量后,各张人脸图片的特征杂乱无序地分布在向量空间里。此时,通过对数据进行学习,质量好的样本尽可能聚集在中间,而不好的被推离。最后根据计算样本到圈中心的距离,得到一个质量分数。
    每个特征对质量分数的影响各不相同,我们需要根据各自业务需求设定相应的阈值,FQ会将低于设定阈值的低质量图像过滤,从而确保输送到后面人脸识别环节的图像质量都是比较好的。
    人脸图像质量检测算法的经典应用
    将人脸质量检测放到真实的使用场景中,情况会怎么样?以下是基于,包含人脸检测、活体检测、人脸比对、人证比对等一系列功能在内的虹软视觉开放平台免费、离线SDK ArcFace,所开发的智能办公刷脸门禁。
    一名用户从远处走来,由于距离原因,系统首先捕捉到的是比较模糊的人脸图像。而后,FQ算法会自动进行判断,由于质量过低该图像会被拒绝送往下一个识别环节中。随后系统会继续捕捉,直到一张质量较好的人脸图像被送往识别并成功。整个过程用户无需刻意停留等待,即可一次完成人脸识别。
    
    而如果在没有加入FQ算法的情况下,首次捕捉到的模糊照片被送入下一个人脸识别环节中。当这张人脸图片在识别失败后,系统就需要再捕捉一张图片,进行第二次识别、甚至第三次识别。如此,用户基本将难以实现无感快速通行。
    
    从对比实验中,所感受到的差异就已经非常明显,如下图所示:相比没有FQ的情况,增加了FQ的人脸识别系统每个环节耗时平均减少约30%。
    
    同样,在批量进行人脸识别底库注册时,往往会有上万张图片。普通的人工筛选,很难完成图像质量检测。而FQ算法可以快速完成筛选,让人脸识别从底库的特征值开始就更加准确。
    作为一款辅助算法,我们在选型时要更多地考虑整体,FQ不能占用太大空间和耗时。比如上面“智能办公刷脸门禁”实验中选择的虹软视觉开放平台所开发的FQ算法,其模型小,能在确保精度的前提下尽可能提升检测速度。
    此外需要注意的是,不同项目、不同环境对质量好的定义各有不同。比如公司刷脸门禁和绝密实验室的刷脸门禁,两者对摄像头成像效果的定义当然就有所区别。这时候,开发者就得根据不同项目需求进行摄像头的单独调参,从而分支出不同场景的版本。
    其他关于人脸质量检测的相关问题, 第六期“虹软视觉开放平台人脸公开课”都有具体解答,感兴趣的开发者朋友可以点击下方链接观看完整视频。或者自行搜索“虹软视觉开放平台人脸公开课”,随时可以学习。