陳嘉寧 車俐 廖嘉寧



摘要:隨著神經網絡算法的高速發展,計算機視覺領域發展越來越迅猛,對算法精確度和識別速度的要求也越來越高。MTCNN(Multi-task Convolutional Neural Networks)作為一種基于深度學習的人臉檢測和人臉特征點對齊的方法,以速度快、精度高而廣為人知,并且被應用得最廣泛。根據改進的MTCNN作為主干網絡,構造一個精度高識別速度快的特征點檢測算法,在開源的LFW數據集上獲得0.003的特征點損失, 并將其應用于疲勞檢測算法, 取得較好的效果。
關鍵詞:卷積神經網絡;特征點定位;疲勞檢測;MTCNN
中圖分類號:G424? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)08-0009-03
近年來,交通事故頻發,人們的生命財產安全受到了極大的威脅。每年超過數十萬人因事故喪生,道路交通事故已經成為最具破壞性的危害之一,其中因疲勞駕駛造成的事故占比高達12%,因此對預防疲勞駕駛的監測技術的研究已是迫在眉睫。
本文描述了一種基于計算機視覺原理的疲勞監測技術。通過改進后的MTCNN算法得到精準的人臉特征點后,將特征點用于疲勞檢測算法。其中MTCNN是當下較為流行的用于檢測人臉和定位特征點的方法,有著識別速度快、精度高的優點[1],但是已有的MTCNN算法僅能定位粗略的特征區域,并無法通過訓練得到精準的人臉特征點定位,因此,本文通過對MTCNN模型結構的改進,以提取局部特征作為主要改進思想,新增了用于檢測特征點精準定位的網絡[2]。在保證淺層網絡對識別速度影響不大的情況下,提高了特征點的定位精準度,大大提高了疲勞檢測的準確性。
1 特征點定位算法
1.1數據的采集和增強
特征點定位就是模型經過大量數據的訓練學習后,根據學習得到的權重進行位置預測的過程。文中特征點定位算法的目的是得到可以用于疲勞檢測的精準特征點,以求得各疲勞特征。因此,要求在不同大小的人臉中都需要得到精準的特征點定位,并要求模型各種天氣變化下有較強的魯棒性以應對行車過程的復雜狀況。
本系統的訓練、測試數據主要來自LFW人臉數據集。通過對LFW數據集的對比度隨機調整,模擬多種路況所帶來的光線變化,如夜間暗光、白天強光、雨霧天氣弱光等情況;通過對數據集中人臉的鏡像、旋轉等操作,模擬人臉在駕駛過程中的輕微傾斜等非標準情況。
由于本文所用測試數據集量級較小,因此需要進行一系列如上述操作進行數據增強,以增加數據量及復雜度。隨著數據集量級的增長,得到檢測模型的準確性和魯棒性也會隨之增長。
1.2多尺度人臉檢測和特征提取
由于MTCNN的第一個網絡是全卷積網絡,并不需要固定的圖像輸入尺寸,因此本系統在此特點上結合圖像金字塔實現了多尺度人臉檢測。圖像金字塔中的不同層級對應不同大小的人臉,隨著圖像金字塔層數的不斷增加,能夠檢測的人臉尺度也在不斷變大[3]。因此,圖像金字塔結合全卷積網絡很好地實現了多尺度人臉檢測,解決了卷積神經網絡輸入尺度需要固定的難題。
本系統中MTCNN算法的前三層網絡沿用已有網絡PNet、RNet、ONet,通過已有的模型架構可以得到粗略的特征區域定位,為了得到更精準的特征點定位,本文新增了一個級聯網絡LNet以對局部特征進行分析提取,通過對局部特征區域的訓練分析,可以使系統得到由粗到細的特征點定位,最后得到準確的人臉特征點共計30個。
1.3 NMS
NMS是非極大值抑制,顧名思義就是抑制不是極大值的元素,搜索局部的極大值。在面對多個相似的候選框時,NMS會對抑制重合度較大的候選框,選出其中分值最大的值保留,即保留極大值。在預測人臉框位置時,通常會出現冗余候選框,NMS可以保證留下最具特征代表性的一個,這樣可以有效減少算法多余的計算量,提高系統的計算速率。
1.4 交叉熵代價函數
交叉熵代價函數是機器學習在反向傳播更新權重過程中常用的損失函數[4],公式如式(1)所示。
其中[Ldeti]為交叉熵代價函數所得損失值,[ydeti]為真實值,[ai=f(wxi+b])為預測值,[f(x)]為非線性激活函數。
對某次損失計算而言,可以得到導數:
可以看出,式(2)中梯度[?L?w]的激活函數導數被消掉了,梯度只與預測值[f(z)]和實際值[y]的誤差呈線性相關,即誤差越大,梯度越大,該性質更利于在反向傳播中得到更直接的下降梯度,有利于模型更快地收斂。
1.5 改進的MTCNN模型
改進后的MTCNN模型相較原模型僅僅新增了一個淺層網絡,參數量不大,因此并不會產生大量的計算代價,對計算效率的影響較小。增加級聯新網絡后,本系統實現了從粗略特征區域定位到精準特征點定位,更有效地滿足了需求。改進后的MTCNN算法模型如圖1所示。
1.6 模型推斷過程
首先,本系統得到縮放后的圖像金字塔,并輸入到PNet判斷。在識別過程中,PNet通過對分類得分高的滑動窗口(即人臉框)通過映射推理的方式得到該窗口在原圖上的絕對位置。結合預測偏移量,對框進行邏輯回歸,得到較為準確的人臉框定位。此過程中,會得到大量可能是人臉的候選框。
將PNet輸出得到的人臉框集合輸入到RNet,其中輸入過程中需要注意的是,由于RNet是常規CNN結構,因此需要固定輸入尺寸。同時為了保留人臉框周圍的更多細節,需要將輸入尺寸固定且形狀為正方形。
將處理后的圖片輸入RNet,通過訓練所得的深層特征激活,得到二分類。根據分類結果和設定的高閾值,系統將過濾掉大部分非人臉框,留下的定位框包含人臉的可能性極大,準確性較高。至此,系統得到了較為準確的人臉框定位集合。CA3E1CE6-D75E-4DDF-BAF2-9A2417BDDD0D
得到RNet的輸出后,進行如同對PNet的輸出集所作操作,完成處理后輸入ONet。ONet將結合前層網絡提供的局部特征和訓練所得的深層邏輯特征,對圖像進行抽象分析,最后得到預測最為精準、預測置信度最高的一個候選框。同時,通過模型訓練所得的特征區域定位點也在同一過程中被預測得到。至此,完成了人臉檢測和對該人臉的特征區域定位。
根據得到的人臉特征區域定位對人臉進行裁剪縮放,輸入到LNet中。由于LNet的網絡設計包含了三個并行的子網絡,分別對各特征區域進行特征分析,因此可以同時對一張人臉的不同局部特征進行掃描識別,最后得到所需要的30個人臉特征的精準定位點。
2 疲勞檢測
本系統選取基于計算機視覺原理的疲勞檢測算法。本系統在得到人臉特征點定位,并分析得到眼睛和嘴巴的疲勞特征,融合這些特征進行判斷駕駛員是否處于疲勞狀態[5]。
疲勞狀態分析過程具體為通過計算特征點的歐氏距離并與系統開始運行時得到的標準值進行比較,在某一特征變化持續時間達到設定閾值后判定為疲勞;若在過程中始終未檢測到疲勞狀態,則系統持續監測。
其中眼睛和嘴巴的特征分布如圖2、圖3所示。
3 實驗結果和性能分析
3.1 MTCNN模型訓練及測試
如圖4所示,改進后的MTCNN模型訓練、測試流程包含四個階段。第一步,對LFW數據集進行預處理以及數據增強后得到訓練集;第二步,對訓練集人工標注人臉特征點共計30個;第三步,訓練MTCNN模型;第四步,對改進后MTCNN模型進行測試[6]。
3.2 MTCNN算法準確率評估
改進后的MTCNN算法在模擬真實行車狀態的測試視頻下進行試驗,評測數據為該視頻中的視頻幀,評測人臉框預測的指標是Accuracy,評測特征點定位準確率的指標是Loss。各檢測類別的評測指標如表1所示。
可看出,改進后的MTCNN模型具備良好的準確率,對于特征點的精準定位效果有顯著的提升,十分適用于本系統。
3.3 改進MTCNN算法后識別速度評估
改進后的MTCNN模型與原模型對比如表2所示。
可以看出,改進后的MTCNN算法在犧牲了極小的計算代價的基礎上,獲得了很好的特征點定位效果,識別速度相較原模型并無太大損失。
3.4 疲勞檢測效果
本次評估由模擬駕車的現實視頻作為測試數據源,整個測試過程持續5分鐘,在過程中將通過人工對檢測效果進行判斷。評判結果如表3所示。
4 實驗環境
將模型部署到基于Tensorflow框架的Python環境下,在GPU加速下能以0.07秒/幀的速度正常處理圖片,保證實時率,可見模型優化效果良好,內存占用較低。訓練環境如表4所示。
5 總結與展望
隨著交通的違規行為不斷增加,其中很大一部分是由于駕駛員的疲勞駕駛所造成的。因此,對于長期駕駛的駕駛員進行實時的疲勞監測是必要的。本系統能夠實時地對駕駛員的駕駛狀態進行判斷,對駕駛員的行車安全提供了保障。同時本系統無須駕駛員在行駛過程中進行額外操作,也在一定程度上減少了安全隱患。
本系統可以實現實時監測,能夠在駕駛過程中及時對存在的疲勞駕駛等安全隱患進行檢測、提醒,有效保護駕駛員及乘客的安全,減少危險因素。本系統雖然實現了主要的功能需求,但仍然存在不足,需要進一步改進。其中改進的方向主要有:(1)對于車載的低算力終端,仍無法有效實現實時監測,因此需要進一步降低算法復雜度,提高計算效率,降低計算成本。(2)低光照強度下檢測效果不理想,仍需進行提升檢測效率的研究。
參考文獻:
[1] Zhang K , Zhang Z ,? Li Z , et al. Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters, 2016, 23(10):1499-1503.
[2] Sun Y,Wang X G,Tang X O.Deep convolutional network cascade for facial point detection[C]//2013 IEEE Conference on Computer Vision and Pattern Recognition.June 23-28,2013,Portland,OR,USA.IEEE,2013:3476-3483.
[3] 謝玉波.圖像多分辨率特征研究[D].武漢:華中科技大學,2007.
[4] 楊萍,田玉敏,汪志宏.概率論與數理統計學考指要[M].西安:西北工業大學出版社,2006.
[5] 柳龍飛.基于人臉分析的疲勞駕駛檢測方法研究[D].武漢:武漢科技大學,2019.
[6] 陳澳格,車俐,農喜鈞,等.基于SSD算法的深度視頻測距方法研究[J].大眾科技,2020,22(12):4-6.
【通聯編輯:唐一東】CA3E1CE6-D75E-4DDF-BAF2-9A2417BDDD0D