近日发现好多文章提到,不少企业或者团队还在根据识别关键点的数量来采购人脸识别系统。本以为存在这种误解的应该是新入门的开发者居多,既然这样笔者还是以自身做开发的经历来为大家解释一下。
人脸关键点技术在人脸识别的一系列环节中,确实有所应用。但它并不是使用在最核心的人脸比对中,而是在前置的人脸图像预处理环节中。因此,确保人脸五官基础关键点数量及准确性即可,无需一味追求过多关键点的数量。
当前主流的人脸识别算法,在进行最核心的人脸比对时,主要依靠人脸特征值的比对。所谓特征值,即面部特征所组成的信息集。我们辨别一个人的特征,可能会记住他是双眼皮、黑眼睛、蓝色头发、塌鼻梁……但人工智能算法可以辨别和记住的面部特征会比肉眼所能观察到的多很多。
人脸识别算法通过深度学习,利用卷积神经网络对海量人脸图片进行学习,借助输入图像,提取出对区分不同人脸的特征向量,以替代人工设计的特征。每张人脸在算法中都有一组对应的特征值,这也是进行人脸比对的依据。同一人的不同照片提取出的特征值,在特征空间里距离很近,不同人的脸在特征空间里相距较远。
虽然人脸关键点不会直接作用于人脸比对,但在人脸图像预处理环节,依旧有重要作用。事实上,通过人脸检测提取到人脸图像质量参差不齐,角度各异。以笔者在使用的虹软视觉开放平台免费算法ArcFace3.0为例,其利用人脸关键点技术可准确定位出人脸五官位置,使用仿射变换将人脸统一“摆正”,尽量消除姿势不同带来的误差,为算法准确提取人脸特征值提供保障。
对于很多刚进入人脸识别领域的开发者而言,很多算法细节都需要亲自上手感受过,才能明白个中精微之处。建议新手开发者可以尝试虹软视觉开放平台免费开放的ArcFace3.0 SDK,下载即可使用,ArcFace对人脸识别、活体检测、年龄检测、性别检测等核心算法模型进行全面升级,大幅提升算法鲁棒性,显著降低接入门槛,同时支持Windows、iOS、Android(包含Android10)、Linux,在性能和开发效率上进行了整体提升,还可以离线使用,对开发者来说非常实用。
另外,对此感兴趣的朋友可自行搜索“虹软视觉开放平台”,了解更多详情。