仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写。但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可。
由调查机构发布的《中国AI产业地图研究》中也有一组有趣的数据,目前中国的AI企业中,有近8成集中在应用层,其中AI行业解决方案占比高达40.7%,从上下班的人脸识别考勤,到金融App的人脸身份核验,再到医院和政务大厅的人脸识别取号,以及车站的人脸核验检票……
目前市面上既有OpenCV等开源算法库,很多芯片厂商的产品也自带简单算法,同时专业算法大厂也会开放相关技术,如提供免费、离线人脸识别SDK的虹软视觉开放平台等。对于开发者而言,面对多种算法,如何进一步了解算法性能至关重要。因此,本文将从算法原理、应用场景、关键指标一一进行介绍。
人脸识别算法原理简述
在介绍关键性能指标之前,我们需要厘清人脸识别的技术原理。
所谓人脸识别(Face Recognition),是对图像中的人脸进行检测、识别和跟踪。当前的人脸识别,通常是利用卷积神经网络(CNN)对海量的人脸图片进行学习,然后对输入图像提取出对应的人脸特征值。
人脸特征值是面部特征所组成的信息集。人类记忆和辨别一张脸,主要是靠肉眼可见的特征,譬如国字脸、双眼皮、黑眼睛、蓝色头发、塌鼻梁……但人工智能不同,主要是利用卷积神经网络(CNN)对海量的人脸图片进行学习。它们能够抽象出人类难以理解的面部特征,