人脸识别车辆解锁系统设计与验证
2019-11-22王振阳程志伟黄宏成刘彦博时良仁
王振阳 程志伟 黄宏成, 刘彦博 时良仁
(1.上海交通大学汽车电子控制技术国家工程实验室; 2.上海交通大学学生创新中心,上海市 200240)
2.2 软件流程与算法
基于人脸识别的车辆解锁系统有两种典型工况:人脸采集与录入,车辆解锁。
在人脸识别过程中,需要将采集的图像与参考图像进行比对。参考图像的质量对人脸识别的准确率和成功率有较大的影响。为此,设计了如图2所示的人脸采集与录入流程。首先,校核权限,确保当前用户有执行人脸采集的权限;校核通过后,进入等待采集状态;在等待采集状态,收到用户发出的人脸采集指令后,自动采集人脸图像;采集的人脸图像,首先需要经过系统验证,确保其符合参考图像的要求(人脸完整、图像清晰、曝光正常);在通过系统验证且用户允许的情况下,参考图像将被录入存储系统;如果未能通过上述验证过程,则返回等待采集状态;在等待采集状态收到用户发出的结束采集指令,或未通过权限校核,则结束人脸采集流程。
车辆解锁的流程如图3所示。首先需要确定解
图2 人脸采集与录入流程Fig.2 Process of face collection and entry
图3 车辆解锁流程Fig.3 Process of face recognition
锁任务(车门解锁或启动解锁),调用相应的传感器采集图像并进行预处理,然后进行人脸识别,如果人脸识别通过,则执行相应的解锁功能。
人脸识别是车辆解锁流程的核心步骤,具体包含人脸(位置)检测、活体检测和人脸(特征)识别三个步骤。人脸检测采用的Haar-like特征的级联分类器[4],该算法精度和实时性都较好;活体检测基于修改后ResNet18实现[5],并利用迁移学习简化了训练工作;人脸识别则采用FaceNet[6]。
3 系统的验证
为了验证算法的有效性和硬件系统的可行性,并为系统的改进和实车测试提供参考,在一套模拟系统上进行了实验。其中,感知模块选用了一枚500万像素的夜视IR-CUT红外滤镜摄像头;执行模块选用了一台JX6221舵机,并通过拉绳带动真实车锁以显示更直观的效果;人机交互模块选用了显示器和无线键鼠;计算与控制模块选用了Raspberry Pi 3B+开发板和Movidius NCS计算棒;电源模块则选用了5 V直流电源。
由于需要验证硬件系统的可行性,因而在选择模拟系统硬件时尽量保证其与设计系统的性能接近。Raspberry Pi与现有许多车机或ADAS计算单元一样,都是基于ARM,操作系统也是较为常见的Linux,模拟系统上运行的程序可以较方便地移植到实车上。Raspberry Pi的性能与车机的CPU接近,但神经网络推理能力较弱,考虑到许多ADAS系统的计算单元都针对神经网络推理进行了优化,添加了Movidius NCS计算棒加速推理运算。
经过实验验证,系统可以较好地区分真实人脸和照片中的人脸图像。由于采用了监督学习算法,利用合适的训练集,算法还可区分其他伪造的人脸特征。
系统的人脸识别准确率也较高。人脸识别模块采用的FaceNet在LFW数据集上曾达到99.63%的准确率,高于正常人类的识别能力,能够胜任解锁车辆的任务。在实验过程中,未曾出现将非用户误认为用户而解锁的情况,不过偶有用户无法解锁的情况,主要原因如下:
(1) 参考图像存在问题,在早期还曾出现参考图像中无法检测到人脸的情况。在对人脸采集与录入流程进行改进,加入有效性验证步骤后,该问题已基本解决;
(2) 解锁图像采集质量不佳。这一般是由于光照和相机抖动等原因导致的,因而在实车布置时要注意此类问题。
(3) 系统的运行速度相对较慢。在人脸识别过程中,人脸图像校核的速率约为每秒5帧,使用时可以感受到明显的卡顿。不过,在人脸采集与录入的过程中,系统运行相当流畅,并不存在卡顿。可见系统运行的瓶颈主要为神经网络推理。
总的来说,系统的算法是有效的,且具有较高的准确率;系统的硬件方案是可行的,但需要配备针对神经网络推理优化的计算单元。
4 结论
本文设计了一套基于人脸识别的车辆解锁软硬件系统,并在基于Raspberry Pi和Movidius NCS的平台上对算法和硬件进行了验证。实验证明,系统可以较高的效率和准确度实现基于人脸识别的车辆解锁,并可有效区分真实人脸和照片上的人脸特征。整套系统创新性高,实用性强,符合车辆智能化、网联化的发展趋势。
后续研究将主要围绕两方面展开:一是采用不同的数据集对算法进行训练,以便识别不同的伪造人脸特征;二是在已有工作基础上,将系统移植到实车,进行更全面的验证。