2D与3D人脸识别详解

人脸是人体最重要的生物特征之一,而人脸研究主要集中在人脸识别方面,人脸的表达模型分为2D人脸和3D人脸。2D人脸识别研究的时间相对较长,方法流程也相对成熟,在多个领域都有使用,但由于2D信息存在深度数据丢失的局限性,无法完整的表达出真实人脸,所以在实际应用中存在着一些不足,例如识别准确率不高、活体检测准确率不高等。3D人脸模型比2D人脸模型有更强的描述能力,能更好的表达出真实人脸,所以基于3D数...
摘要由CSDN通过智能技术生成

人脸是人体最重要的生物特征之一,而人脸研究主要集中在人脸识别方面,人脸的表达模型分为2D人脸和3D人脸。2D人脸识别研究的时间相对较长,方法流程也相对成熟,在多个领域都有使用,但由于2D信息存在深度数据丢失的局限性,无法完整的表达出真实人脸,所以在实际应用中存在着一些不足,例如识别准确率不高、活体检测准确率不高等。

3D人脸模型比2D人脸模型有更强的描述能力,能更好的表达出真实人脸,所以基于3D数据的人脸识别不管识别准确率还是活体检测准确率都有很大的提高。

2D人脸识别、3D人脸识别现状如何?

2D人脸识别现状

2D人脸识别的优势是实现的算法相对比较多,有一套比较成熟的流程,图像数据获取比较简单,只需一个普通摄像头即可,所以基于2D图像数据的人脸识别是目前的主流,在安防、监控、门禁、考勤、金融身份辅助认证、娱乐等多种场景中都有应用。

2D人脸识别根据其技术发展可分为两大类:传统人脸识别、基于神经网络人脸识别:

  1. 传统人脸识别

传统人脸识别主要采用数学方法,从图像矩阵中提取对应的特征,该特征一般为尺度不变特征,常用的算法有SURF、SIFT、HARRIS、GFTT等。

  1. 基于神经网络人脸识别

目前2D人脸识别算法在各个人脸识别挑战赛、在各种的开源数据集上测试的识别准确率已经达到了99.80%(人脸识别算法insightface在LFW数据集上的测试结果),识别准确率甚至可以跟人类相媲美,但在苛刻的金融环境仅作为一种辅助手段,人脸识别之后还需要别的验证手段,如输入手机号等。

这是为什么?

因为2D人脸识别有一定的局限性,为了弥补不足,3D人脸识别应运而生。

3D人脸识别现状

目前3D人脸识别在市场上根据使用摄像头成像原理主要分为:3D结构光、TOF、双目立体视觉。

3D结构光

3D结构光通过红外光投射器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。主要利用三角形相似的原理进行计算,从而得出图像上每个点的深度信息,最终得到三维数据。

基于3D结构光的人脸识别已在一些智能手机上实际应用,如国外使用了超过10亿张图像(IR和深度图像)训练的FaceId;国内自主研发手机厂商的人脸识别。

TOF

TOF简单的说就是激光测距,照射光源一般采用方波脉冲调制,根据脉冲发射和接收的时间差来测算距离。

采用TOF的方式获取3D数据主要在Kinect上实现,Kinect在2009年推出,目的是作为跟机器的交互设备,用在游戏方面。主要获取并处理的是人体的姿态数据。

双目立体视觉

双目是基于视差原理并由多幅图像获取物体三维几何信息的方法。由双摄像机从不同角度同时获得被测物的两幅数字图像,并基于视差原理恢复出物体的三维几何信息,从而得出图像上每个点的深度信息、最终得到三维数据。

由于双目立体视觉成像原理对硬件要求比较高,特别是相机的焦距、两个摄像头的平面位置,应用范围相对3D结构光TOF少。

3D结构光、TOF、双目的区别如下
在这里插入图片描述
按深度信息使用的方法可以分为两类:3D人脸识别、2D+人脸识别。

3D人脸识别

3D人脸识别处理的是3D的数据,如点云、体素等,这些数据是完整的,立体的,能表达出物体各个角度的特征,不管一个人正脸还是侧脸,理论上都是同一个人。但是因为点云等3D数据具有数据量大、而且点云数据具有无序性、稀疏性等特点,3D人脸识别开发难度比较大。

2D+人脸识别

由于3D人脸识别开发难度比较大,于是有2D+人脸识别,其处理方式比较简单,只是将3D的人脸数据分为2D的RGB数据+深度数据。处理的方法为先采用2D的人脸识别方法处理2D的RGB数据,然后再处理深度数据。这样的处理实现起来就相对较快,因为目前的2D人脸识别有一套比较成熟的方法,特别是CNN出现后,2D的人脸识别在各挑战赛、数据集上识别的准确率已经达到甚至超过人类的识别精度。

2D+人脸识别的方法能比较好将2D人脸识别的方法迁移过来,但是这样人为的将深度信息跟RGB信息分开处理不如3D人脸识别准确率高。2D+人脸识别相对2D人脸识别准确率提高不会很大,但是在活体检测的准确率上有一定的提高。

相对于目前的2D人脸识别,3D人脸识别处理方法上有什么不同,各有什么优缺点?

2D和3D人脸识别的差异

人脸识别2D、3D主要的区别是图像数据的获取、人脸特征的提取方式不一样。但是2D人脸识别跟3D人脸识别步骤基本上一致,都是图像数据获取–>人脸检测–>特征提取–>信息比对,大体的步骤如下表所示:
在这里插入图片描述

由上表可见3D人脸数据比2D人脸数据多了一维深度的信息,不管在识别准确度上还是活体检测准确度上3D人脸识别都比2D人脸识别有优势。但由于3D人脸数据比2D人脸数据多了一维深度信息,在数据处理的方法上有比较大的差异。
在这里插入图片描述

可以看出3D人脸识别细节上比2D的人脸识别复杂。下面我们展开说明。

首先大体回顾2D人脸识别现有的经典模型及实现方式。

2D人脸识别实现

2D的人脸识别因为研究的时间较长,挑战赛、开源数据集等比较多,因此诞生了一批准确率较高的识别人脸识别算法,如deepface、facenet、arcface等,这些算法的流程基本都可以按照前面说的四个大步骤(图像数据采集 -->人脸检测 -->特征提取 -->信息比对)进行,下面对这些2D人脸识别的实现步骤进行分析。

  1. 图像数据采集

图像采集主要是获取目标(这里主要是人脸)的RGB彩色图像,2D图像的获取相对简单,只需要获取到RGB的图像信息,不需要深度信息。获取图像数据的方式只需要一个普通摄像头模组即可,简单方便。

图像采集完毕之后需要对图像进行预处理,如滤波、亮度调整、去噪等,保证输出图片的质量达到要求,减少干扰。预处理是比较重要的一个环节,预处理做好了能提高后面识别步骤的准确度。常用的预处理算法有均值滤波、高斯滤波等线性滤波;中值滤波、双边滤波等非线性滤波;腐蚀、膨胀、开运算、闭运算等形态学滤波;还有伽马矫正、亮度调整、基于

  • 22
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值