◆孫昕 顧延中
基于面部特征識別的管制員疲勞檢測算法研究
◆孫昕 顧延中
(中國民航飛行學院空中交通管理學院 四川 610000 )
管制員疲勞是關系到航空安全的重要問題之一,本文通過安裝在管制員工作臺正前方的攝像頭獲取管制員工作時候的視頻,運用一種使用多任務級聯卷積網絡(Multi-Task Convolutional Neural Network,MTCNN)對獲得的視頻圖像,包含管制員的臉部,身體的姿態等特定部位進行定位,從獲取的圖像中提取管制員嘴部、左右眼等區域的光流圖并進行特征融合,然后使用卷積神經網絡(Convolutional Neural Network,CNN)提取特征進行管制員疲勞檢測,實驗結果表明能夠有效檢測出管制員瞌睡、打哈欠、閉眼等一系列疲勞動作。
多任務級聯卷積網絡;卷積神經網絡;特征融合;光流圖
近些年來,由于中國民用航空發展速度加快,我國管制人員工作負荷大大增加,導致管制員工作中產生疲勞,威脅民航安全。根據民航某地區調查顯示,由于管制員疲勞導致發生的危險事件約占18%[1]。2014年7月,武漢某管制人員因為疲勞在飛機進近階段睡崗;2016年10月,虹橋機場塔臺管制員因為疲勞而分心,沒有認真考慮飛行員指令,盲目跟從之后造成了跑道侵入事件[2]。根據美國聯邦航空局(Federal Aviation Administration,FAA)調查發現,大約有80%的管制員在上班期間會因工作勞累而產生疲勞,其中,大約有20%的管制員認為自己一直存在疲勞感[3]。在2016年4月,國際民航組織召開了疲勞風險相關會議,因此,越來越多的國家關注由于管制員疲勞造成的安全事件,合理有效的檢測管制員疲勞成了空管安全領域研究的重點。目前,已經有各種算法技術對管制員疲勞進行檢測,如:基于面部的Haar特征的AdaBoost[4]人臉檢測算法,該算法在實際復雜的環境下運用效果不理想,當人體姿態改變或者人臉方向的變動時,并不能準確的檢測到嘴部,臉部區域;基于HOG-SVM[5]人臉檢測算法,該算法由于本身模型很小,只能檢測到最小圖片尺寸為80*80,不具有普遍性;本文中提出利用結合光流算法和多任務級聯卷積神經網絡的方式來檢測管制員的疲勞狀態,當多任務級卷積神經網絡檢測到人臉的時候,結合光流算法能夠解決傳統算法對動態場景下運動目標檢測誤差較高的問題,并且有效地去除噪聲的干擾,較暗的光線等外在因素的影響,完整地檢測出場景中的運動目標,并實現了對檢測出的運動目標進行穩定的跟蹤。
本文首先使用 MTCNN 進行人臉和關鍵點檢測任務如圖1,本文算法過程如圖2。

圖1 MTCNN檢測人臉關鍵點定位

圖2 本文的算法流程圖
MTCNN由3個網絡結構組成(P-Net,R-Net,O- Net),其算法模型總體結構如圖3所示。第一階段是Proposal Network (P-Net):該網絡結構主要獲得了人臉區域的候選窗口和邊界框的回歸向量。并用該邊界框做回歸,對候選窗口進行校準,然后通過非極大值抑制(NMS)來合并高度重疊的候選框;第二階段是Refine Network (R-Net):該網絡結構還是通過邊界框回歸和NMS來去掉那些false-positive區域。只是由于該網絡結構和P-Net網絡結構有差異,多了一個全連接層,所以會取得更好抑制false-positive的作用;第三階段是Output Network (O-Net):該層比R-Net層又多了一層卷積層,所以處理的結果會更加精細。作用和R-Net層作用一樣。但是該層對人臉區域進行了更多的監督,同時還會輸出5個關鍵點位置。

圖3 MTCNN算法效果
但只確定人臉關鍵點部位是遠遠不夠的,還需要確定關鍵點坐標,本文根據“三庭五眼”規律,以眼部坐標為中心、左右唇端距離為長度,確定一個矩形框,作為眼部區域;以左唇端、右唇端中點為中心、左右唇端距離為長度,確定一個矩形框,作為嘴部區域,如圖4所示。

圖4 關鍵點坐標
當管制員處于疲勞狀態時,會出現瞌睡、打哈欠、閉眼等一系列動態動作,因此,僅有靜態的圖像是遠遠不夠的。光流[7]是利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關系,包含了連續幀之間的動態信息。本文使用光流圖中包含的動態信息代替連續幀所提供的動態信息,將動態與靜態相融合,可以更好檢測管制員疲勞。
光流是用于顯示在三維空間中運動的物體,并形象的表現到二維圖像中,反映出物體像素點的運動方向。利用圖像序列中像素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關系,從而計算出相鄰幀之間物體的運動信息。假設每一個時刻均有一個向量集合(,,),表示指定坐標(,)在點的瞬時速度。設(,,)為時刻(,)點的像素亮度,在很短的時間?內,和分別增加?,?,可得:


但考慮到相鄰兩幀的圖像之間距離較短,可得:

兩者合并可得:


因此,

最后可得:

Farneback算法[8]是光流計算的一種方法,在管制員工作的時候,由于正對著管制員的攝像頭是固定的,因此,管制員面部的光流特寫是由管制員本身頭部或者身體姿勢改變而運動的,本文通過Farneback算法計算管制員眼部、嘴部的光流特寫,以此來反映管制員當前的狀態。在圖5中,采集到模擬管制員視頻中的兩幀,(a)表示光流計算的水平分量,(b)表示光流計算的垂直分量。

圖5 Farneback光流計算相關圖像
一個正常的人在同一時間自然狀態下,左右眼的運動方向是基本一致的[9],因此,本文首先在MTCNN 的三個網絡均設置了一個閾值,這個值代表著大多數情況下人臉候選窗口的精確性,閾值嚴格選定的情況下,管制員低頭(MTCNN檢測不到人臉的情況下),判斷管制員處于瞌睡(分心)情況;如果檢測到人臉,則將提取眼睛、嘴部等特征區域送入疲勞檢測網絡,并結合眼部、嘴部光流圖,判斷管制員在上崗期間是處于正常工作狀態,還是處于分心、打哈欠狀態。之后,使用CNN對光流圖提取動態特征,對一個短時間的動作變化進行分類。
本文將疲勞檢測網絡分為四部分,首先是眼睛光流特征提取子網絡;其次是左眼特征提取子網;接著是嘴部光流特征提取子網,最后一個是嘴部特征提取。將提取到的嘴部,眼部光流圖以及提取的嘴部,眼部特征輸入進四個子網,經過數層卷積、池化后,將眼部和眼部光流圖融合,進一步提取眼部特征。同樣的辦法處理嘴部得到的圖像,然后將眼部/嘴部融合后的子網絡再全部輸入全連接層以此得到全局區域的特征。之后再經過降維,最終輸入Softmax層進行分類得到最終處理結果。為了避免過度擬合,在每個卷積層添加L2正則項,在全連接層前添加了Dropout層(如圖6)。

圖6 疲勞檢測網絡
為檢測本文所采用面部特征識別算法的魯棒性和實時性,本文對11名志愿者進行管制模擬機訓練,獲取了共11段5分鐘的面部視頻數據,1秒鐘為24幀,可獲取7200張RNG圖像。本文將收集到的數據分為兩部分,一部分是正常與打瞌睡的動作,這一部分用于睡崗檢測;另一部分是正常動作與打哈欠、閉眼等一系列疲勞動作,用于疲勞檢測網格。圖7中的圖像均來自實驗所得到的數據,(a)是正常工作情況圖像、(b)瞌睡圖像、(c)打哈欠圖像、(d)閉眼圖像。

因為人在打瞌睡時候重要特征是低頭,此時實際視頻采集到的面部圖像在原來的640*480中管制員的人臉只占200*150,因此直接以MTCNN是否檢測到人臉作為打瞌睡的標準。從表1采集到的視頻結果中可以看出,大部分正常狀態下(a圖)能被檢測到,也很容易檢測到瞌睡(b圖)情況。

表1 MTCNN檢測瞌睡實驗結果
由表1可以看出,結合光流圖檢測打瞌睡會更精確些,但由于人擺頭等頭部運動會被標記為打瞌睡,對試驗結果造成波動較大。
當以人的眼部(以左眼為例)和嘴部檢測管制員疲勞時,結合光流圖的算法,能夠識別短時間內的動作變化,得出在響應時間內眼睛閉合次數和打哈欠的次數(如圖6),如表2所示。

圖6 數據集采集正常、打哈欠、閉眼等情

表2 左眼、嘴部結合光流圖疲勞檢測結果
從表中可以看出,結合包含動態信息的光流圖獲得的精確度可達到90.5%,由此可以看出本文的算法對管制員工作時候打哈欠、閉眼等動作可以更好識別。
本文提出了一種基于面部特征識別的管制員疲勞檢測算法,相對于生理檢測[10](腦電、心電等監測)、主觀檢測[11](斯坦福嗜睡量表),本文的方法避免了對管制員造成身體侵入性的影響,而且檢測結果的精確度高,并引入光流圖和卷積神經網絡,應用到管制員日常工作視頻監控中,從實驗結果看出,在外部正常的工作環境下,對于各種不同情景如打瞌睡、閉眼、打哈欠均適用,本文的算法具有更高的魯棒性和準確率。但本文也存在一些不足,稍微低頭、左右擺頭等頭部運動會被標記為打瞌睡;講話等會被標記為打哈欠,這些需要在今后的工作中改進和做進一步研究。
[1]孫瑞山,李康,李敬強.空中交通管制員疲勞狀態及影響因素分析[J].安全與環境學報,2018,18(06):2241-2246.
[2]沈笑云,張肖艷,張思遠.基于ADS-B的跑道侵入沖突檢測與告警研究[J].中國安全科學學報,2019,29(09):119-124.
[3]Lee Young Jong. Domestic Application Plan of Fatigue Risk Management System by Air Traffic Controller[J]. The Journal of Advanced Navigation Technology,2019,23(6).
[4]李佩,汪紅娟,李業麗,劉夢陽.基于AdaBoost人臉檢測算法的分析研究[J].北京印刷學院學報,2020,28(01):128-132.
[5]張萌,王文,任俊星,魏冬,黃偉慶,楊召陽,呂志強.基于HOG-SVM的跳頻信號檢測識別算法[J].信息安全學報,2020,5(03):62-77.
[6]賈小碩,曾上游,潘兵,周悅.基于改進MTCNN網絡的目標人臉快速檢測[J].計算機工程與科學,2020,42(07):1262-1266.
[7]劉闖. 基于計算機視覺的人體行為識別方法[D].南京郵電大學,2019.
[8]Chia-Wei Chang,Zi-Qi Zhong,Jing-Jia Liou. A FPGA Implementation of Farneback Optical Flow by High-Level Synthesis[P]. Field-Programmable Gate Arrays,2019.
[9]Junhao Huang,Weize Sun,Lei Huang. Deep neural networks compression learning based on multi objective evolution aryalgorithms[J]. Neurocomputing,2020,378.
[10]陳鳳蘭. 基于多導生理信號的管制員疲勞分析方法研究[D].中國民航大學,2018.
[11]項悅. 基于認知科學的管制員疲勞狀態檢測方法研究與系統設計[D].中國民用航空飛行學院,2019.