王丹 洪杰 鐘亮潔 雷春光 許楠升
摘 要:智能駕駛作為汽車領域的一項前沿技術,日益受到廣泛關注。人臉檢測在智能駕駛中扮演著重要的角色,通過實時監(jiān)測駕駛員和乘客的臉部特征能夠提高車輛內部環(huán)境感知能力,增強系統(tǒng)對駕駛員和乘客的理解,從而提升交通安全性、舒適性和個性化服務體驗。文章首先回顧了基于傳統(tǒng)特征提取的人臉檢測算法,然后介紹了基于深度學習的幾種主流檢測方法,包括基于級聯(lián)卷積網絡、單階段檢測及雙階段檢測算法,分析了這幾種算法的結構和優(yōu)缺點并介紹了輕量級檢測方法。最后,對未來的研究方向進行了展望。
關鍵詞:人臉檢測 深度學習 計算機視覺 車載嵌入式系統(tǒng)
1 引言
自動駕駛技術的迅速崛起引起了人們對交通安全、效率和便利性的廣泛關注。隨著自動駕駛車輛在道路上的增多,對車內環(huán)境的監(jiān)控變得尤為關鍵,尤其是在人臉檢測領域。面向自動駕駛的人臉檢測研究旨在通過實時監(jiān)測駕駛員和乘客的臉部特征,實現(xiàn)對個體的準確識別和判別,提升車輛內部環(huán)境的感知能力。檢測技術不僅有助于監(jiān)控駕駛員狀態(tài),還能實現(xiàn)乘客個性化服務,提高整體駕乘體驗。例如實時監(jiān)測駕駛員的注意力、疲勞程度和情緒狀態(tài),以及識別乘客的臉部特征來調整座椅位置、溫度設置、音樂喜好等。此外,還可以通過檢測車內是否有未經授權的人員,系統(tǒng)可以及時采取相應的安全措施,防止非法進入或盜竊。一些研究者在人臉檢測方面進行了深入研究[1-5],涵蓋了電子學、圖像處理技術、模式識別以及人工智能等多個學科領域。本文旨在對面向自動駕駛的人臉檢測算法進行全面綜述,包括基于特征提取的檢測算法、基于深度學習的人臉檢測算法及相關數據集介紹。這一領域的進展有望推動自動駕駛技術在實際應用中取得更進一步的提升。
2 基于特征提取的人臉檢測算法
人臉識別技術指的是利用基于人類臉部特征來進行身份識別的生物技術,包含了人臉的圖像或視頻流或攝像機,再通過相關技術對檢測到的信息進行識別和自動跟蹤。在過去的幾十年里,人臉檢測取得了巨大的進步。早期的人臉檢測工作主要基于特征提取方法,即從圖像(或圖像上的滑動窗口)提取手工制作的特征,并輸入分類器(或分類器集成)來檢測可能的人臉區(qū)域。Haar Cascades [6]引入了一種稱為“積分圖像”的新圖像表示和基于AdaBoost的學習算法從大集合中選擇少量關鍵視覺特征,并產生非常高效的分類器。然后將分類及“級聯(lián)”,該方法可以快速丟棄圖像的背景區(qū)域,以每秒15幀的速度運行。Dalal等人[7]采用定向梯度直方圖(HOG)作為特征算子,并利用線性SVM對檢測到的特征進行分類。
劉小軍等人[2]提出了基于一種幾何特性的面部特征點檢測方法。該方法將人臉圖像分割成多個窗口,并在每個窗口內進行面部特征點的檢測。通過這種方式,算法復雜程度極大地降低了。李外云等人[8]提出了一種基于有效人臉區(qū)域的Gabor特征抽取算法,該算法能夠選擇有效的人臉區(qū)域,減少了特征向量的維數和特征庫的復雜性。該方法保持了傳統(tǒng)Gabor特征抽取算法的魯棒性,同時解決了高維問題,簡化了算法復雜性。李明瑞等人[9]提出了一種改進的人臉檢測算法,通過膚色檢測和形態(tài)學處理來降低查重,并使用AdaBoost人臉檢測來得到檢測結果。該算法在嵌入式系統(tǒng)上運行穩(wěn)定,在提高檢測速度和正確率方面取得了優(yōu)異表現(xiàn)。糜元根等人[10]提出了一種基于改進Adaboost的算法,結合膚色檢測和幾何特征進行檢測。該算法先采用膚色粗檢并篩選出候選人臉部分,并使用非對稱的Haar特征來訓練分類器的檢測性能。算法的準確性在復雜背景下具有顯著提高,而且能夠移植到嵌入式系統(tǒng)中。盡管在過去的幾十年里,基于特征提取的人臉檢測取得了巨大的進步,但在室外復雜環(huán)境中進行準確高效的檢測仍然是一個較大的挑戰(zhàn)。這是由人體姿勢的變化、面部表情、比例、光照、圖像失真、面部遮擋等因素造成的。
3 基于深度學習的人臉檢測方法
隨著深度學習在計算機視覺中的巨大成功,卷積神經網絡開始被更多地應用到人臉檢測領域中,國內外的研究人員開始使用基于卷積網絡對人臉圖像進行特征提取和檢測。受級聯(lián)分類器思想的啟發(fā),許多早期的基于深度學習的模型都是基于級聯(lián)卷積網絡架構。但是隨著幾種用于普通目標檢測的新架構的引入,許多最新的基于深度學習的模型已經轉向單發(fā)檢測、基于R-CNN的架構、特征金字塔網絡(FPN)模型等。
3.1 級聯(lián)卷積網絡
Li等人[11]提出了一種基于卷積神經網絡級聯(lián)的人臉檢測深度模型。該方法在多個分辨率下運行卷積網絡,在低分辨率階段提取目標前景,在高分辨率階段評估提取出的候選區(qū)域。模型在GPU上能夠以100幀/秒的速度運行。清華大學的Qin等人[12]提出了一種基于改進 Cascaded CNN的 JTCCNN網絡。JTCCNN 使用反向傳播算法進行端到端的聯(lián)合訓練,卷積層在不同的階段共享參數。Huang等人[13]提出一種基于卷積神經網絡的汽車駕駛員疲勞檢測算法,該方法將投影核引入到網絡,并用此提取駕駛員及車內乘客的眼睛特征。為了降低模型復雜度, KALINOVSKII 等人[14]提出了一種基于緊湊卷積神經網絡級聯(lián)的人臉檢測方法。該算法使用簡單的級聯(lián)卷積網絡結構并刪除了網絡中的全連接層,因此運行速度較快,但是網絡精度相對較低,只對正面臉部檢測有效。Zhang等人[15]將級聯(lián)卷積方法擴展到關節(jié)面的檢測和校準任務中。該方法設計了一個三階段卷積網絡,通過級聯(lián)架構對三個階段進行連接,能夠由粗到細的方式對目標進行檢測。Mcdonagh等人[16]提出一種面向圖像和視頻的人臉分割和對齊方案。作者使用滑動窗口和級聯(lián)回歸方式在整個圖像/視頻上進行面部特征擬合,并提出一種霍夫變換投票方案檢查人臉。婁平等人[17]首先利用一個多任務卷積神經網絡檢測人臉的區(qū)域,然后根據面部比例關系定位車內駕駛人員的眼部、嘴部等區(qū)域,并通過使用一個輕量化 AlexNet網絡檢測檢測駕駛人員眼部及嘴部狀態(tài),從而判斷駕駛狀態(tài)。
3.2 兩階段人臉檢測算法
卷積神經網絡在人臉檢測中取得了顯著成功。然而,仍然存在一個挑戰(zhàn),即檢測小規(guī)模人臉。由于卷積網絡的深度,尺寸小的物體投影特征圖會迅速縮小,而且大多數具有尺度不變性的檢測方法難以有效處理小于15×15像素的人臉。為了解決上述問題,Jiang和Miller[18]將在物體檢測中取得良好效果的Faster RCNN模型[19]應用在人臉檢測中。作者在大規(guī)模WIDER人臉數據集[20]上訓練Faster R-CNN模型,并使用了幾個廣泛使用的人臉檢測數據集WIDER、FDDB、IJB-a中獲得了較好的結果。Wu等人[21]提出了一種基于Faster R-CNN的不同尺度人臉檢測算法(DSFD),并將多任務學習、特征金字塔和特征級聯(lián)策略應用到網絡中。該網絡可以提高人臉檢測的精度,同時實時執(zhí)行更快的R-CNN。
為了提高檢測速度和精度,F(xiàn)DNet[22]提出了一種基于RCNN的快速人臉檢測方法。該方法采用了多尺度訓練、多尺度測試、基于投票的集成方法在WIDER FACE驗證數據集的三個任務中分別獲得了兩個第1位和一個第2位。Cakiroglu等人[23]使用Mask R-CNN進行人臉檢測任務。作者用少量的訓練實例來訓練深度檢測器,并在進行對象邊界框檢測的同時執(zhí)行實例分割。該方法對于小、中和大尺度人臉的檢測精度均有所提高。為了更好地融合上下文信息,Zhu等人[24]提出了一種基于上下文多尺度區(qū)域的卷積神經網絡(CMS-RCNN)方法,用于無約束人臉檢測。該方法在區(qū)域檢測中對多尺度信息進行分組,以處理微小的人臉區(qū)域,所提出的方法可以進行顯式的上下文推理。
3.3 單階段人臉檢測算法
盡管人臉檢測已經取得了巨大的進步,但仍然存在的一個巨大的挑戰(zhàn)——如何在CPU上實現(xiàn)實時速度并保持高性能。為了解決這個問題,許多學者提出了單階段檢測方法,與上一小節(jié)提到的基于R-CNN雙階段檢測模型不同,單階段檢測方法將特征提取和檢測在同一階段完成,速度更快,更適合硬件資源有限的嵌入式系統(tǒng)中。Najibi等人[25]提出了一種單階段人臉檢測框架,直接從分類網絡中的早期卷積層在單個階段檢測人臉,去除了底層分類網絡的“頭部”,即VGG-16中包含大量參數的所有完全連接層,因此模型更輕量級、速度更快。FaceBoxes[26]提出一種基于快速消化卷積層(RDCL)和多尺度卷積層(MSCL)的實時人臉檢測方法。RDCL可以提高算法的運行速度,MSCL則可以使感受域和離散錨在不同層上處理不同的尺度。此外,作者提出了一種新的錨加密策略,使不同類型的錨在圖像上具有相同的密度,顯著提高了人臉的召回率。算法在單個CPU核上可以以20FPS運行,使用GPU可以達到125FPS。
YOLO在面對正常大小的物體時表現(xiàn)良好,但無法檢測到小物體。當處理具有大規(guī)模變化的對象時,精度顯著降低。為了解決人臉尺度變化的檢測問題,YOLO-face [27]提出一種基于YOLOv3的實時人臉檢測算法。該方法提出了更適合于面部檢測的錨框和更精確的回歸損失函數。在WIDER FACE和FDDB數據集上算法優(yōu)于YOLO及其變種。
項新建等人[28]提出了MobileNet-YOLO算法,該算法適用于嵌入式設備,能夠直接進行人臉檢測并降低成本。同時,經過LBPH人臉識別處理,僅對檢測到的人臉圖片進行保存與上傳,減輕存儲傳輸壓力。選用JetsonNano2G等搭載GPU的嵌入式設備能夠提高運算能力,更具經濟性。陳超鵬[29]通過設計一種輕量級人臉檢測、人臉關鍵點檢測和人臉驗證算法,對自制數據集進行增強操作。為了平衡性能與算力需求,作者依據嵌入式平臺的特性,綜合考慮模型計算量、參數量、模型性能以及模型算子種類等因素。在設計模型時限制卷積核通道數和層數,僅使用一些高效的算子,例如池化、ReLU激活函數、11卷積、33卷積等,以降低算力要求。作者將人臉檢測、人臉關鍵點檢測和模型部署在低成本與低算力的嵌入式平臺上,降低了算法成本并促進了輕量級人臉檢測的發(fā)展。
3.4 輕量級人臉檢測算法
對于輕量級網絡的人臉檢測及車載嵌入式系統(tǒng)實現(xiàn),張明[30]提出了一種基于輕量級網絡的低分辨率人臉檢測算法,使用注意力機制、DIoU與NMS結合、Mish激活函數,并針對人臉特征比例設置先驗框,實現(xiàn)了精度和速度的平衡,并部署到嵌入式平臺中。實驗在WIDERFACE數據集的結果證明,該方法不僅能實時高精度地進行人臉檢測,而且在小分辨率輸入上,精度高于傳統(tǒng)算法。陳超鵬[29]提出了僅使用池化、relu激活函數、1*1卷積、3*3卷積,用于簡化計算過程和控制卷積核通道數與模型層數。項新建等人[28]構建MobileNet-YOLO輕量級深度學習人臉檢測算法,經LBPH算法人臉檢測,僅對檢測到人臉的圖片進行保存與上傳,減輕存儲空間。以上各解決辦法都有其獨特之處,三者都平衡了性能,低算力和低成本需求;而陳超鵬和張明使用不同方面的激活函數降低計算成本,項新建等人則構建輕量級深度學習人臉檢測算法,提高了運算能力。郭嘉[31]提出改進的MTCNN作為前置人臉檢測算法模塊和SELCNN輕量級人臉識別模型,在LFW數據集上取得了98.12%的正確率。該系統(tǒng)解決了1:N人臉識別的規(guī)模問題和數據問題。該算法可以部署到Raspberry3和Nvidia Jetson TX2兩套不同的嵌入式硬件平臺。
4 常用數據集
為了推動人臉檢測算法的發(fā)展和評估,研究者們創(chuàng)建了多個數據集,以涵蓋不同場景和條件下的人臉數據。以下是一些常用的人臉檢測數據集的介紹:
(1) MALF數據集[32]是一個大規(guī)模人臉識別基準數據集,5250張圖像和11,931張面孔組成,圖像中包括多姿勢、不同光照條件、尺度變化和遮擋等。該數據集旨在提供一個嚴格的測試環(huán)境,以評估算法在大規(guī)模人臉辨識任務中的魯棒性和性能。
(2)FDDB人臉檢測數據集[33] 一個廣泛用于人臉檢測研究的數據集,包含了帶標簽的人臉的2845張圖像中的5171張人臉的注釋,覆蓋了不同尺度、光照條件和遮擋情況。
(3)WIDER FACE數據集[20]是一個大規(guī)模的人臉檢測數據集,包含32,203個圖像和393,703個標注的人臉。該數據集涵蓋了多種尺度、姿態(tài)和遮擋情況,適用于評估算法在大規(guī)模場景中的性能。
(4)YawDD數據集[34]包含兩個具有不同人臉特征的駕駛員視頻數據集,用于研究駕駛員疲勞和分心的數據集。該數據集包含來自不同駕駛員的大量圖像序列,記錄了在駕駛過程中的頭部姿勢變化。這些圖像序列涵蓋了正常狀態(tài)、分心和疲勞等情況。該數據集通常被用于開發(fā)和評估基于計算機視覺和機器學習的疲勞檢測算法,以提高駕駛安全性。
(5)NTHU-DDD數據集[35]來自36個不同種族的男性和女性司機,包含來自不同駕駛員的圖像、音頻和行為數據,這些數據記錄了在駕駛時的各種狀態(tài),包括清醒、分心和疲勞,模擬了正常駕駛、打哈欠、慢速眨眼、入睡以及大笑五類駕駛場景。該數據集被用于研究多模態(tài)數據融合的疲勞檢測方法,以提高檢測的準確性和魯棒性。
5 總結
人臉檢測算法在智能交通系統(tǒng)中的應用具有廣闊的前景和潛力,可以提升車輛安全性和行駛體驗、提供個性化的服務等方面的應用。車載嵌入式系統(tǒng)人臉檢測的基礎是人臉識別算法,以滿足小型化設備在識別上的需求。本文主要從基于特征提取的檢測算法,基于深度學習的人臉檢測算法,適合車載嵌入式設備的輕量級算法等幾個方面進行了介紹和分析。然而,目前人臉檢測方法仍然存在一些挑戰(zhàn),例如處理小尺寸人臉、車載系統(tǒng)隱私安全問題和車內特殊人群的識別和判別等。未來,期望看到更多關于智能駕駛中人臉檢測技術的創(chuàng)新,尤其是在深度學習和人工智能等前沿技術的引導下,以更好地適應自動駕駛發(fā)展的需求。這一領域的進展將對自動駕駛技術的實際應用產生積極影響,推動其在未來的發(fā)展中取得更為廣泛的普及和提升。
參考文獻:
[1]游忍,周春燕,劉明華,邵延華,展華益.基于TINY-YOLO的嵌入式人臉檢測系統(tǒng)設計[J].工業(yè)控制計算機,2019,32(03):47-48.
[2]劉小軍.人臉識別技術研究[D].北京:中國科學院電子學研究所,2001.
[3]黃振華,李外云,劉錦高.ARM的位置無關程序設計在Bootloader中的應用[J].單片機與嵌入式系統(tǒng)應用,2008,(01):22-25.李外云.基于ARM架構的嵌入式人臉識別技術研究[D].華東師范大學,2008.
[4]劉洪濤,孫天澤. 嵌入式系統(tǒng)技術與設計[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].傳感器與微系統(tǒng),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]陳超鵬.嵌入式超輕量級人臉檢測與驗證系統(tǒng)設計[D].廣東工業(yè)大學,2021.DOI:10.27029/d.cnki.ggdgu.2021.002164.
[30]張明,張芳慧,宗佳平,宋治,岑翼剛,張琳娜.基于輕量級網絡的人臉檢測及嵌入式實現(xiàn)[J].圖學學報,2022,43(02):239-246.
[31]郭嘉.輕量級卷積神經網絡的嵌入式人臉檢測與識別系統(tǒng)設計與實現(xiàn)[D].導師:黃聯(lián)芬.廈門大學,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.