基于三维全脸数据的透玻透膜驾驶员动态人脸识别系统
2022-01-19李言章熊跃伟杨晓梅胡小琴
李言章,熊跃伟,廖 庆,杨晓梅,胡小琴
(1.新疆海纳同创智能科技有限公司,新疆 克拉玛依834000;2.新疆克拉玛依市委,新疆 克拉玛依834000;3.四川川大智胜软件股份有限公司,四川 成都221008;4.四川大学,四川 成都221116)
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。它通过将现场采集到的目标人员的人脸图像与事先保存在数据库中的各种人员的人脸注册数据进行比对,来实现目标人员的身份识别与确认[1-2]。根据人脸注册数据的维数特征,可将人脸识别技术分为二维人脸识别技术和三维人脸识别技术[3]。
当前,利用机动车缉查布控系统(以下简称“卡口系统”)在对过往车辆的驾驶员进行人脸识别时,采用的都是二维人脸识别技术,即在抓拍的过车图片中获得驾驶员的脸部图像后,将其与公安车驾管数据库中驾驶员办理驾照时采集的正脸照片(或其他数据库中的正脸照片)进行比对,以此来确定驾驶员的真实身份[4]。
二维人脸识别在不同情况下识别效果如图1所示。当卡口系统抓拍到的驾驶员脸部图像为正脸姿态时,现有系统能够准确识别出驾驶员的身份;但当卡口系统抓拍到的驾驶员脸部图像有较大角度偏转、存在环境阴影或有局部遮挡时,现有系统就无法进行有效的人脸识别;绝大多数机动车的前挡风玻璃及前后窗玻璃都贴有隔热膜,白天由于光线反射作用下,卡口抓拍的过车图片中很难看清驾驶员的脸部特征,这也是影响当前卡口系统驾驶员人脸识别效率的一个重要因素[5]。
图1 二维人脸识别在不同情况下识别效果
近年来,三维人脸识别研究取得了较大进展。三维人脸识别的主要特点是在识别中利用了三维人脸数据[6]。相比于二维人脸数据,三维人脸数据不仅有纹理信息,还包含三维空间信息。由于通过高精度三维人脸建模技术获取的人脸细节特征点是二维人脸图像或低精度三维人脸模型的数十倍或上百倍,使用高精度三维人脸注册数据进行人脸比对时,不仅可大幅度减少误识率,且防伪能力强。而由注册人三维全脸模型生成的各种可能姿态和光照条件下呈现的数万张二维图片训练的识别算法及软件,可克服二维人脸识别现有瓶颈难题,有效解决姿态变化及光照变化对人脸识别准确率的影响,成功实现动态视频图像中可能有很大姿态变化和光照变化的人脸自动准确识别[7]。因此,为了提高驾驶员人脸识别效率,本文设计一种基于三维全脸数据的透玻透膜驾驶员动态人脸识别系统。
1 机动车驾驶员三维动态人脸识别系统设计
本文设计的基于三维全脸数据的透玻透膜驾驶员动态人脸识别系统由高清摄像机、红外激光补光器、三维人脸数据库、三维动态识别服务器4个部分构成。图2为机动车驾驶员三维动态人脸识别系统示意图,在红外补光设备配合下,高清摄像机可透过车窗玻璃膜获取清晰的驾驶员脸部图像,并将人脸图像传输到三维动态识别服务器中,然后结合三维人脸数据库中的高精度驾驶员三维人脸注册数据与三维动态识别服务器中的高适应性的三维动态识别算法得到比对结果,最后将结果数据发送至终端软件进行展示。
图2 机动车驾驶员三维动态人脸识别系统示意图
本文系统主要有两大模块,分别为三维人脸数据库和三维人脸动态识别,前者的主要功能为采集驾驶员的高精度三维人脸数据并将其提供给后者进行三维人脸识别,后者的主要功能为利用高适应三维人脸动态识别算法将在实时监控中捕获人脸图像与三维人脸数据库进行比对。系统流程图如图3所示。
图3 系统流程图
2 三维人脸数据库建立
在进行三维人脸识别之前,需要建立一个与驾驶员信息相匹配的三维人脸数据库,建立三维人脸数据需要进行3个步骤:三维人脸数据采集、数据处理和搭建数据库。
2.1 三维人脸数据采集
三维人脸数据可以从二维彩色图像估计得到,也可以利用三维成像设备直接获取。从二维彩色图像估计的人脸深度数据可靠性不高,且容易受光照、姿态、表情、遮挡等因素影响。因此,目前三维人脸识别中更常用的方法是直接利用三维成像设备获取三维人脸数据。本文系统使用的三维传感器是由川大智胜公司自主研发的一款低成本、高精度并能快速获取图像的双目相机。三维传感器由3个相机组成,每个模组包括左右(上下)2个摄像头和1个USB(通用串行总线)的纹理摄像头,以保证采集到的人脸的全面性和准确度。三维传感器相机需要进行标定,不同传感器生成的标定文件不同,标定文件的准确性影响建模的效果,所以在使用之前就会标定好相机。二维摄像头实时预览画面的同时也会按照一定的频率进行人脸检测,当检测到人脸之后会触动三维传感器进行抓拍,系统对抓拍的多组图片会进行相应的处理,首先还是会对左右相机的一张图片进行人脸检测,获取这些图片中人脸的位置。然后对多组图片进行人脸部分区域处理生成比较小的视差图,最后再按照一定的格式通过TCP传输到后台。
2.2 数据处理
在三维人脸数据采集后对数据进行优化操作,如人脸补洞、光滑以及人脸切割和姿态纠正等一系列操作最终得到三维人脸模型。三维人脸模型信息丰富,包含深度信息和纹理信息。为了便于存储和运算,将三维人脸模型在不用视角下进行投影生成对应的深度图,如图4所示。
图4 不同视角下三维人脸模型的深度图
深度图为一种表示深度的图像或图像通道,包含与场景对象的表面到视点间的距离有关的信息,具备描述三维人脸模型特征的优点,被广泛用于三维人脸识别中。本系统将扫描到的三维人脸模型数据处理为三个正交视角的深度图,并将人员信息与其作为样本和标签进行绑定存于数据库中。
2.3 数据库搭建
本文数据库采用MySQL数据库,是一个关系型数据库管理系统。它是由MySQL原厂开发、管理和提供支持,现在是Oracle旗下产品,使用结构化查询语言进行数据库管理。MySQL由于性能高、速度快、成本低、可靠性好已经成为最流行的数据库之一并受到许多公司的青睐。系统主要设计两张表,分别是三维人脸数据注册表、驾驶证信息表,用以记录相关信息,如表1和表2所示。三维人脸注册表主要存储驾驶员的个人信息、三维人脸模型数据和其深度图;驾驶证信息表则主要收录驾驶员的驾照信息,两张表通过编号互相索引。
表1 三维人脸注册表
表2 驾驶证信息表
3 三维人脸动态识别算法
图5为本系统采用的多视角卷积神经网络(multi-viewCNN)结构,用以进行三维人脸动态识别。卷积神经网络是于1998年提出的一种多层人工神经网络,本质是多层感知机,分为数据输入层、卷积计算层、ReLU激励层、池化层和全连接层。每一层实际是对输入的数据进行编码操作可以看作是多个平面,而每个平面由多个独立的神经元组成,相邻两层的神经元之间相互连接,而处于同一层神经元之间没有连接。本文系统将三维模型生成不同视角下的深度图,输入到多视角卷积神经网络对多视角下的图像提取特征,并使用视角池化层(view pooling)对多视角图像进行融合,然后将特征输入到分类器中进行有监督训练,根据分类标签概率进行打分,将得分最高的结果输出。
图5 多视角卷积神经网络结构
为了测试该算法的性能,本文将该算法应用到一些常用的三维人脸数据库上,如表3所示记录了每个数据库采集人数、样本数和数据类型等信息,经过训练和测试得到表4记录的多视角卷积神经网络应用在这些数据库上的首位识别率,可以看到该算法的识别率均高于96%,对数据库的适应性强,是一种能够满足实际需要的算法。
表3 常用的三维人脸数据库
表4 MVCNN在常用三维人脸数据库上的识别率
4 系统运行效果
本系统提供一个可视化终端软件用以显示捕获的人脸图像与三维人脸识别后的从数据库中提取出的相匹配的三维人脸模型,并且将其与二维人脸识别结果进行对比。可视化终端软件采用C++语言通过QT库进行界面设计,并通过记录查询与数据库进行交互。图6和图7显示了真实监控中不同视角三维人脸识别和二维人脸识别对驾驶员人脸识别结果对比。
图6 视角1识别结果对比
图7 视角2识别结果对比
图6 中从监控中共捕获了5帧驾驶员侧脸图,可以看到本系统的三维人脸识别将其全部识别出来并匹配了正确的三维人脸模型,而二维人脸识别只能识别出3帧。图7中从监控中共捕获了5帧驾驶员人脸图,其中2帧为正面,3帧为侧面,可以看到本文系统将其全部正确识别并分别把正视角和侧视角的三维人脸模型正确匹配,而二维人脸识别只能识别出前两帧正视角人脸图像。
5 结语
本文设计了一种基于三维全脸数据的透玻透膜驾驶员动态人脸识别系统,实验结果表明,该系统可捕获监控中驾驶员的人脸图像并将其在不同角度下正确识别,比起二维人脸识别技术,该系统可在路侧移动部署,且在复杂环境下人脸识别效率高,具有实际意义。三维动态人脸识别系统将为交警部门快速设置车辆缉查应急布控点位、迅速处置交通安全风险增添又一高效、便捷的手段。