王丹 洪杰 钟亮洁 雷春光 许楠升
摘 要:智能驾驶作为汽车领域的一项前沿技术,日益受到广泛关注。人脸检测在智能驾驶中扮演着重要的角色,通过实时监测驾驶员和乘客的脸部特征能够提高车辆内部环境感知能力,增强系统对驾驶员和乘客的理解,从而提升交通安全性、舒适性和个性化服务体验。文章首先回顾了基于传统特征提取的人脸检测算法,然后介绍了基于深度学习的几种主流检测方法,包括基于级联卷积网络、单阶段检测及双阶段检测算法,分析了这几种算法的结构和优缺点并介绍了轻量级检测方法。最后,对未来的研究方向进行了展望。
关键词:人脸检测 深度学习 计算机视觉 车载嵌入式系统
1 引言
自动驾驶技术的迅速崛起引起了人们对交通安全、效率和便利性的广泛关注。随着自动驾驶车辆在道路上的增多,对车内环境的监控变得尤为关键,尤其是在人脸检测领域。面向自动驾驶的人脸检测研究旨在通过实时监测驾驶员和乘客的脸部特征,实现对个体的准确识别和判别,提升车辆内部环境的感知能力。检测技术不仅有助于监控驾驶员状态,还能实现乘客个性化服务,提高整体驾乘体验。例如实时监测驾驶员的注意力、疲劳程度和情绪状态,以及识别乘客的脸部特征来调整座椅位置、温度设置、音乐喜好等。此外,还可以通过检测车内是否有未经授权的人员,系统可以及时采取相应的安全措施,防止非法进入或盗窃。一些研究者在人脸检测方面进行了深入研究[1-5],涵盖了电子学、图像处理技术、模式识别以及人工智能等多个学科领域。本文旨在对面向自动驾驶的人脸检测算法进行全面综述,包括基于特征提取的检测算法、基于深度学习的人脸检测算法及相关数据集介绍。这一领域的进展有望推动自动驾驶技术在实际应用中取得更进一步的提升。
2 基于特征提取的人脸检测算法
人脸识别技术指的是利用基于人类脸部特征来进行身份识别的生物技术,包含了人脸的图像或视频流或摄像机,再通过相关技术对检测到的信息进行识别和自动跟踪。在过去的几十年里,人脸检测取得了巨大的进步。早期的人脸检测工作主要基于特征提取方法,即从图像(或图像上的滑动窗口)提取手工制作的特征,并输入分类器(或分类器集成)来检测可能的人脸区域。Haar Cascades [6]引入了一种称为“积分图像”的新图像表示和基于AdaBoost的学习算法从大集合中选择少量关键视觉特征,并产生非常高效的分类器。然后将分类及“级联”,该方法可以快速丢弃图像的背景区域,以每秒15帧的速度运行。Dalal等人[7]采用定向梯度直方图(HOG)作为特征算子,并利用线性SVM对检测到的特征进行分类。
刘小军等人[2]提出了基于一种几何特性的面部特征点检测方法。该方法将人脸图像分割成多个窗口,并在每个窗口内进行面部特征点的检测。通过这种方式,算法复杂程度极大地降低了。李外云等人[8]提出了一种基于有效人脸区域的Gabor特征抽取算法,该算法能够选择有效的人脸区域,减少了特征向量的维数和特征库的复杂性。该方法保持了传统Gabor特征抽取算法的鲁棒性,同时解决了高维问题,简化了算法复杂性。李明瑞等人[9]提出了一种改进的人脸检测算法,通过肤色检测和形态学处理来降低查重,并使用AdaBoost人脸检测来得到检测结果。该算法在嵌入式系统上运行稳定,在提高检测速度和正确率方面取得了优异表现。糜元根等人[10]提出了一种基于改进Adaboost的算法,结合肤色检测和几何特征进行检测。该算法先采用肤色粗检并筛选出候选人脸部分,并使用非对称的Haar特征来训练分类器的检测性能。算法的准确性在复杂背景下具有显著提高,而且能够移植到嵌入式系统中。尽管在过去的几十年里,基于特征提取的人脸检测取得了巨大的进步,但在室外复杂环境中进行准确高效的检测仍然是一个较大的挑战。这是由人体姿势的变化、面部表情、比例、光照、图像失真、面部遮挡等因素造成的。
3 基于深度学习的人脸检测方法
随着深度学习在计算机视觉中的巨大成功,卷积神经网络开始被更多地应用到人脸检测领域中,国内外的研究人员开始使用基于卷积网络对人脸图像进行特征提取和检测。受级联分类器思想的启发,许多早期的基于深度学习的模型都是基于级联卷积网络架构。但是随着几种用于普通目标检测的新架构的引入,许多最新的基于深度学习的模型已经转向單发检测、基于R-CNN的架构、特征金字塔网络(FPN)模型等。
3.1 级联卷积网络
Li等人[11]提出了一种基于卷积神经网络级联的人脸检测深度模型。该方法在多个分辨率下运行卷积网络,在低分辨率阶段提取目标前景,在高分辨率阶段评估提取出的候选区域。模型在GPU上能够以100帧/秒的速度运行。清华大学的Qin等人[12]提出了一种基于改进 Cascaded CNN的 JTCCNN网络。JTCCNN 使用反向传播算法进行端到端的联合训练,卷积层在不同的阶段共享参数。Huang等人[13]提出一种基于卷积神经网络的汽车驾驶员疲劳检测算法,该方法将投影核引入到网络,并用此提取驾驶员及车内乘客的眼睛特征。为了降低模型复杂度, KALINOVSKII 等人[14]提出了一种基于紧凑卷积神经网络级联的人脸检测方法。该算法使用简单的级联卷积网络结构并删除了网络中的全连接层,因此运行速度较快,但是网络精度相对较低,只对正面脸部检测有效。Zhang等人[15]将级联卷积方法扩展到关节面的检测和校准任务中。该方法设计了一个三阶段卷积网络,通过级联架构对三个阶段进行连接,能够由粗到细的方式对目标进行检测。Mcdonagh等人[16]提出一种面向图像和视频的人脸分割和对齐方案。作者使用滑动窗口和级联回归方式在整个图像/视频上进行面部特征拟合,并提出一种霍夫变换投票方案检查人脸。娄平等人[17]首先利用一个多任务卷积神经网络检测人脸的区域,然后根据面部比例关系定位车内驾驶人员的眼部、嘴部等区域,并通过使用一个轻量化 AlexNet网络检测检测驾驶人员眼部及嘴部状态,从而判断驾驶状态。
3.2 两阶段人脸检测算法
卷积神经网络在人脸检测中取得了显著成功。然而,仍然存在一个挑战,即检测小规模人脸。由于卷积网络的深度,尺寸小的物体投影特征图会迅速缩小,而且大多数具有尺度不变性的检测方法难以有效处理小于15×15像素的人脸。为了解决上述问题,Jiang和Miller[18]将在物体检测中取得良好效果的Faster RCNN模型[19]应用在人脸检测中。作者在大规模WIDER人脸数据集[20]上训练Faster R-CNN模型,并使用了几个广泛使用的人脸检测数据集WIDER、FDDB、IJB-a中获得了较好的结果。Wu等人[21]提出了一种基于Faster R-CNN的不同尺度人脸检测算法(DSFD),并将多任务学习、特征金字塔和特征级联策略应用到网络中。该网络可以提高人脸检测的精度,同时实时执行更快的R-CNN。
为了提高检测速度和精度,FDNet[22]提出了一种基于RCNN的快速人脸检测方法。该方法采用了多尺度训练、多尺度测试、基于投票的集成方法在WIDER FACE验证数据集的三个任务中分别获得了两个第1位和一个第2位。Cakiroglu等人[23]使用Mask R-CNN进行人脸检测任务。作者用少量的训练实例来训练深度检测器,并在进行对象边界框检测的同时执行实例分割。该方法对于小、中和大尺度人脸的检测精度均有所提高。为了更好地融合上下文信息,Zhu等人[24]提出了一种基于上下文多尺度区域的卷积神经网络(CMS-RCNN)方法,用于无约束人脸检测。该方法在区域检测中对多尺度信息进行分组,以处理微小的人脸区域,所提出的方法可以进行显式的上下文推理。
3.3 单阶段人脸检测算法
尽管人脸检测已经取得了巨大的进步,但仍然存在的一个巨大的挑战——如何在CPU上实现实时速度并保持高性能。为了解决这个问题,许多学者提出了单阶段检测方法,与上一小节提到的基于R-CNN双阶段检测模型不同,单阶段检测方法将特征提取和检测在同一阶段完成,速度更快,更适合硬件资源有限的嵌入式系统中。Najibi等人[25]提出了一種单阶段人脸检测框架,直接从分类网络中的早期卷积层在单个阶段检测人脸,去除了底层分类网络的“头部”,即VGG-16中包含大量参数的所有完全连接层,因此模型更轻量级、速度更快。FaceBoxes[26]提出一种基于快速消化卷积层(RDCL)和多尺度卷积层(MSCL)的实时人脸检测方法。RDCL可以提高算法的运行速度,MSCL则可以使感受域和离散锚在不同层上处理不同的尺度。此外,作者提出了一种新的锚加密策略,使不同类型的锚在图像上具有相同的密度,显著提高了人脸的召回率。算法在单个CPU核上可以以20FPS运行,使用GPU可以达到125FPS。
YOLO在面对正常大小的物体时表现良好,但无法检测到小物体。当处理具有大规模变化的对象时,精度显著降低。为了解决人脸尺度变化的检测问题,YOLO-face [27]提出一种基于YOLOv3的实时人脸检测算法。该方法提出了更适合于面部检测的锚框和更精确的回归损失函数。在WIDER FACE和FDDB数据集上算法优于YOLO及其变种。
项新建等人[28]提出了MobileNet-YOLO算法,该算法适用于嵌入式设备,能够直接进行人脸检测并降低成本。同时,经过LBPH人脸识别处理,仅对检测到的人脸图片进行保存与上传,减轻存储传输压力。选用JetsonNano2G等搭载GPU的嵌入式设备能够提高运算能力,更具经济性。陈超鹏[29]通过设计一种轻量级人脸检测、人脸关键点检测和人脸验证算法,对自制数据集进行增强操作。为了平衡性能与算力需求,作者依据嵌入式平台的特性,综合考虑模型计算量、参数量、模型性能以及模型算子种类等因素。在设计模型时限制卷积核通道数和层数,仅使用一些高效的算子,例如池化、ReLU激活函数、11卷积、33卷积等,以降低算力要求。作者将人脸检测、人脸关键点检测和模型部署在低成本与低算力的嵌入式平台上,降低了算法成本并促进了轻量级人脸检测的发展。
3.4 轻量级人脸检测算法
对于轻量级网络的人脸检测及车载嵌入式系统实现,张明[30]提出了一种基于轻量级网络的低分辨率人脸检测算法,使用注意力机制、DIoU与NMS结合、Mish激活函数,并针对人脸特征比例设置先验框,实现了精度和速度的平衡,并部署到嵌入式平台中。实验在WIDERFACE数据集的结果证明,该方法不仅能实时高精度地进行人脸检测,而且在小分辨率输入上,精度高于传统算法。陈超鹏[29]提出了仅使用池化、relu激活函数、1*1卷积、3*3卷积,用于简化计算过程和控制卷积核通道数与模型层数。项新建等人[28]构建MobileNet-YOLO轻量级深度学习人脸检测算法,经LBPH算法人脸检测,仅对检测到人脸的图片进行保存与上传,减轻存储空间。以上各解决办法都有其独特之处,三者都平衡了性能,低算力和低成本需求;而陈超鹏和张明使用不同方面的激活函数降低计算成本,项新建等人则构建轻量级深度学习人脸检测算法,提高了运算能力。郭嘉[31]提出改进的MTCNN作为前置人脸检测算法模块和SELCNN轻量级人脸识别模型,在LFW数据集上取得了98.12%的正确率。该系统解决了1:N人脸识别的规模问题和数据问题。该算法可以部署到Raspberry3和Nvidia Jetson TX2两套不同的嵌入式硬件平台。
4 常用数据集
为了推动人脸检测算法的发展和评估,研究者们创建了多个数据集,以涵盖不同场景和条件下的人脸数据。以下是一些常用的人脸检测数据集的介绍:
(1) MALF数据集[32]是一个大规模人脸识别基准数据集,5250张图像和11,931张面孔组成,图像中包括多姿势、不同光照条件、尺度变化和遮挡等。该数据集旨在提供一个严格的测试环境,以评估算法在大规模人脸辨识任务中的鲁棒性和性能。
(2)FDDB人脸检测数据集[33] 一个广泛用于人脸检测研究的数据集,包含了带标签的人脸的2845张图像中的5171张人脸的注释,覆盖了不同尺度、光照条件和遮挡情况。
(3)WIDER FACE数据集[20]是一个大规模的人脸检测数据集,包含32,203个图像和393,703个标注的人脸。该数据集涵盖了多种尺度、姿态和遮挡情况,适用于评估算法在大规模场景中的性能。
(4)YawDD数据集[34]包含两个具有不同人脸特征的驾驶员视频数据集,用于研究驾驶员疲劳和分心的数据集。该数据集包含来自不同驾驶员的大量图像序列,记录了在驾驶过程中的头部姿势变化。这些图像序列涵盖了正常状态、分心和疲劳等情况。该数据集通常被用于开发和评估基于计算机视觉和机器学习的疲劳检测算法,以提高驾驶安全性。
(5)NTHU-DDD数据集[35]来自36个不同种族的男性和女性司机,包含来自不同驾驶员的图像、音频和行为数据,这些数据记录了在驾驶时的各种状态,包括清醒、分心和疲劳,模拟了正常驾驶、打哈欠、慢速眨眼、入睡以及大笑五类驾驶场景。该数据集被用于研究多模态数据融合的疲劳检测方法,以提高检测的准确性和鲁棒性。
5 总结
人脸检测算法在智能交通系统中的应用具有广阔的前景和潜力,可以提升车辆安全性和行驶体验、提供个性化的服务等方面的应用。车载嵌入式系统人脸检测的基础是人脸识别算法,以满足小型化设备在识别上的需求。本文主要从基于特征提取的检测算法,基于深度学习的人脸检测算法,适合车载嵌入式设备的轻量级算法等几个方面进行了介绍和分析。然而,目前人脸检测方法仍然存在一些挑战,例如处理小尺寸人脸、车载系统隐私安全问题和车内特殊人群的识别和判别等。未来,期望看到更多关于智能驾驶中人脸检测技术的创新,尤其是在深度学习和人工智能等前沿技术的引导下,以更好地适应自动驾驶发展的需求。这一领域的进展将对自动驾驶技术的实际应用产生积极影响,推动其在未来的发展中取得更为广泛的普及和提升。
参考文献:
[1]游忍,周春燕,刘明华,邵延华,展华益.基于TINY-YOLO的嵌入式人脸检测系统设计[J].工业控制计算机,2019,32(03):47-48.
[2]刘小军.人脸识别技术研究[D].北京:中国科学院电子学研究所,2001.
[3]黄振华,李外云,刘锦高.ARM的位置无关程序设计在Bootloader中的应用[J].单片机与嵌入式系统应用,2008,(01):22-25.李外云.基于ARM架构的嵌入式人脸识别技术研究[D].华东师范大学,2008.
[4]刘洪涛,孙天泽. 嵌入式系统技术与设计[M]. 北京: 人民邮电出版社,2009.
[5]严严,章毓晋. 基于视频的人脸识别研究进展[J]. 计算机学报,2009,32(5):878-88.
[6]Viola P, Jones M. Rapid object detection using a boosted cascade of simple features[C]. Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001, 2001: I-I.
[7]Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]. 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2005: 886-893 vol. 1.
[8]李外云.基于ARM架構的嵌入式人脸识别技术研究[D].华东师范大学,2008.
[9]李明瑞,傅明,曹敦.基于肤色检测的AdaBoost人脸检测算法改进[J].计算机工程,2012,38(19):147-150.
[10]糜元根,陈丹驰,季鹏.基于几何特征与新Haar特征的人脸检测算法[J].传感器与微系统,2017,36(02):154-157.DOI:10.13873/J.1000-9787(2017)02-0154-04.
[11]LI H X, LIN Z, SHEN X H, et al. A convolutional neural network cascade for face detection[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2015. Boston, MA, USA: IEEE Computer Society, 2015: 5325-5334.
[12]QIN H W, YAN J J, LI X, et al. Joint Training of Cascaded CNN for Face Detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016. Las Vegas, NV, USA: IEEE Computer Society, 2016: 3456-3465.
[13]HUANG R, WANG Y, GUO L. P- FDCN based eye state analysis for fatigue detection[C]//Proceedings of the 2018 IEEE 18th International Conference on Communication Technology, Chongqing, Oct 8-11, 2018. Piscataway: IEEE, 2018: 1174-1178.
[14]KALINOVSKII I, SPITSYN V. Compact Convolutional Neural Network Cascade for Face Detection[J]. Computer Science, 2015, 2(2): 110-120.
[15]Zhang K, Zhang Z, Li Z, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Process Lett, 2016, 23(10): 1499-1503.
[16]Mcdonagh J, Tzimiropoulos G. Joint Face Detection and Alignment with a Deformable Hough Transform Model[C]. European Conference on Computer Vision, 2016.
[17]娄平,杨欣,胡辑伟,等.基于边缘计算的疲劳驾驶检测方法[J]. 计算机工程, 2021, 47(7): 13-20.
[18]Jiang H,Learned-Miller E. Face detection with the faster R-CNN[C]. 2017 12th IEEE international conference on automatic face & gesture recognition (FG 2017), 2017: 650-657.
[19]Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[J]. Adv Neural Inf Process Syst, 2015, 28.
[20]YANG S, LUO P, LOY C C, et al. WIDER FACE: A Face Detection Benchmark[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016. Las Vegas, NV, USA: IEEE Computer Society, 2016: 5525-5533.
[21]Wu W, Yin Y, Wang X, et al. Face Detection With Different Scales Based on Faster R-CNN[J]. IEEE Transactions on Cybernetics, 2019, 49(11): 4017-4028.
[22]Zhang C, Xu X, Tu D. Face detection using improved faster rcnn[J]. arXiv preprint arXiv:1802.02142, 2018.
[23]Cakiroglu O, Ozer C, Gunsel B. Design of a deep face detector by mask R-CNN[C]. 2019 27th Signal Processing and Communications Applications Conference (SIU), 2019: 1-4.
[24]Zhu C, Zheng Y, Luu K, et al. Cms-rcnn: contextual multi-scale region-based cnn for unconstrained face detection[J]. Deep learning for biometrics, 2017: 57-79.
[25]Najibi M, Samangouei P, Chellappa R, et al. Ssh: Single stage headless face detector[C]. Proceedings of the IEEE international conference on computer vision, 2017: 4875-4884.
[26]Zhang S,Zhu X,Lei Z,et al. Faceboxes: A CPU real-time face detector with high accuracy[C]. 2017 IEEE International Joint Conference on Biometrics(IJCB),2017:1-9.
[27]Chen W, Huang H, Peng S,et al. YOLO-face: a real-time face detector[J]. The Visual Computer,2021,37:805-813.
[28]項新建,宋晓敏,郑永平,王海波,方政洋.基于MobileNet-YOLO的嵌入式人脸检测研究[J].中国农机化学报,2022,43(04):124-130.
[29]陈超鹏.嵌入式超轻量级人脸检测与验证系统设计[D].广东工业大学,2021.DOI:10.27029/d.cnki.ggdgu.2021.002164.
[30]张明,张芳慧,宗佳平,宋治,岑翼刚,张琳娜.基于轻量级网络的人脸检测及嵌入式实现[J].图学学报,2022,43(02):239-246.
[31]郭嘉.轻量级卷积神经网络的嵌入式人脸检测与识别系统设计与实现[D].导师:黄联芬.厦门大学,2019.
[32]Yang B , Yan J , Lei Z ,et al.Fine-grained evaluation on face detection in the wild[C]//2015 11th IEEE International Conference and Workshops on Automatic Face and Gesture Recognition (FG).IEEE, 2015.
[33]JAIN V, LEARNED-MILLER E. FDDB: A Benchmark for Face Detection in Unconstrained Settings[R]. Technical Report UM-CS-2010-009, University of Massachusetts, Amherst: 2010.
[34]ABTAHI S, OMIDYEGANEH M, SHIRMOHAMMADI S,et al. YawDD: a yawning detection dataset[C]//Proceedings of the 5th ACM Multimedia Systems Conference, Singapore, Mar 19-21, 2014. New York: ACM, 2014: 24-28.
[35]GHODDOOSIAN R, GALIB M, ATHITSOS V. A realistic dataset and baseline temporal model for early drowsiness detection[C]//Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, Long Beach, Jun 15-20, 2019. Piscataway: IEEE, 2019: 178-187.