賀德強,劉衛(wèi),盧凱,肖瓊,江洲
基于機車車載視頻序列的人眼疲勞快速定位方法研究
賀德強1,劉衛(wèi)1,盧凱1,肖瓊2,江洲1
(1. 廣西大學 機械工程學院,廣西 南寧 530004;2. 南寧中車軌道交通裝備有限公司,廣西 南寧 530200)
人眼定位是非接觸式機車車輛乘務員實時疲勞檢測中最基本的關鍵環(huán)節(jié)。針對機車車載視頻序列進行疲勞檢測時存在實時性、魯棒性要求高的問題,結合計算機視覺和圖像處理技術,提出一種多算法融合的人眼疲勞快速定位方法。利用基于Haar-like特征的AdaBoost人臉檢測方法檢測視頻序列中乘務員人臉并設置目標跟蹤區(qū)域,利用Camshift目標跟蹤算法快速定位人臉;基于人臉和人眼的對稱性等先驗知識,提出比例縮減區(qū)域(PRA)的方法快速定位人眼。研究結果表明:該方法可以有效減少誤檢,適應復雜光照,并具有實時性和魯棒性,為機車車輛乘務員疲勞實時檢測提供理論和實踐參考。
機車車載視頻序列;人眼定位;AdaBoost;Camshift;比例縮減區(qū)域
近年來,我國鐵路交通快速發(fā)展,運營線路增多,營業(yè)里程屢創(chuàng)新高,極大的方便了人們的出行及貨物運輸。而隨著行車速度和密度的不斷提高,單司機、長交路工作制度的實施,機車乘務員工作強度和心理壓力加大,疲勞駕駛成為列車安全運營的重大隱患。目前,機車車載疲勞駕駛檢測裝置主要依靠乘務員不斷重復按無人警惕按鈕來確定列車處于正常駕駛狀態(tài),防止疲勞引起事故,并不能實現(xiàn)在線疲勞監(jiān)測與預警。機車車載安全防護系統(tǒng)(6A系統(tǒng))提出設計乘務員狀態(tài)預警提醒模塊實時檢測乘務員的疲勞狀態(tài),但是,由于在對車載視頻序列進行疲勞檢測時存在實時性、魯棒性要求高等問題,目前仍然沒有統(tǒng)一的解決方案和應用案例。國內外針對機車乘務員疲勞檢測的研究主要集中在非接觸式視頻圖像檢測。宋志雄等[1]通過分析機車司機頭部運動軌跡判別其處于正常工作狀態(tài)還是疲勞發(fā)呆、反應遲鈍或睡覺等非正常狀態(tài),但檢測耗時較長。乘務員疲勞時會出現(xiàn)眼瞼運動速度變慢、眼睛睜開幅度變小、眼睛凝視方向狹窄甚至閉眼等現(xiàn)象,楊海燕等[2]運用Gabor變換特征融合和隱馬爾可夫模型對眼睛狀態(tài)進行識別分析,可以準確有效的判斷駕駛員疲勞程度,但其訓練需要樣本較多,且目前沒有公開的相應數據庫,對光照強度的變化也較為敏感。李強[3]利用PERCLOS方法,通過檢測人眼狀態(tài)判斷司機疲勞狀態(tài),但對人眼定位時速度較慢,受光照強度等影響較大。另外,還有些研究使用眨眼頻率、瞳孔直徑變化、眼睛模板匹配的方法判斷疲勞狀態(tài),因此,構建一種基于車載視頻序列的穩(wěn)健可靠的快速人眼定位方法是機車乘務員實時疲勞檢測的關鍵。人眼定位也稱人眼檢測,由于直接在圖像中進行人眼定位存在較大干擾,準確率較低,因此,人眼定位一般分2步。第1步:在圖像中定位人臉;第2步:在人臉圖像中定位人眼。人臉檢測的算法模型主要有模板匹配模型、膚色模型、ANN模型、SVM模型、AdaBoost模型等,有時也將多個模型結合起來使用[4]。其中AdaBoost模型在速度與精度上綜合性能表現(xiàn)最好,魯棒性最高,是目前最為成功的算法之一[5]。盡管如此,其速度仍然不能實現(xiàn)對車載視頻的實時檢測。而顏色識別是傳統(tǒng)人臉檢測中最有效、最簡單的人臉檢測方法。因此,結合基于顏色識別的Camshift目標跟蹤算法[6]檢測人臉可降低復雜度,提高檢測速度[7]。近年來,大量學者從不同角度出發(fā),利用方法各異的算法對人眼定位進行研究,主要有:基于灰度投影[8]、基于統(tǒng)計(如SVM)[9]、基于模板匹配[10]、基于知識(輪廓、位置、顏色信息等)的人眼定位算法。這些方法在準確性和檢測速度方面均有所提高,但仍然不能滿足實際需求,較為突出的問題是計算量偏大、處理速度慢和準確性低。針對車載視頻序列進行疲勞檢測時存在實時性、魯棒性要求高的問題,本文提出一種多算法融合的人眼疲勞快速定位方法,先利用基于Haar-like特征的AdaBoost人臉檢測方法檢測視頻序列中乘務員人臉,并將人臉區(qū)域圖像作為Camshift算法的目標跟蹤區(qū)域,從而快速定位視頻序列中的乘務員人臉,根據人臉的“三庭五眼”及對稱性等先驗特征知識找到人眼區(qū)域,利用比例縮減區(qū)域(PRA)方法快速定位人眼。
在列車正常行駛時,一般伴隨著輕微的振動,乘務員的主要工作是瞭望前方并對列車運行信號給出手勢回應,因此,一般端坐于駕駛臺前,頭部時有偏轉。通過在機車駕駛室正駕駛位前的操作臺上方安裝圖像采集器,調整其前后位置及高度,使正常駕駛時人臉在圖像中居中、約為圖像的0.1~0.2倍大小。此時,拍攝的車載視頻序列中正面人臉圖像較多并有部分側臉圖像,有時手也會遮擋部分臉部圖像。運用基于Haar-like特征的AdaBoost人臉檢測方法和Camshift算法相結合是較為合理的一種檢測方法。
AdaBoost算法[11]是由Freund和Schapire改進Boosting算法所提出的一種分類器訓練方法,通過遞增級聯(lián)的方式將多個弱分類器組合成強分類器。弱分類器的數學結構為:
式中:為子窗口圖像;為特征;為指示不等號方向;為閾值。
2001年,Viola和Jones提出了Viola & Jones算法[12],該算法用于人臉識別[13],取得了極大成功。通過選取如圖1所示適用于人臉的Haar-like特征進行訓練,并采用積分圖像的方法計算特征值,運用AdaBoost算法將大量的人臉圖像和非人臉圖像作為正、負樣本訓練得到級聯(lián)強分類器,檢測效率高、魯棒性強,在速度與精度等綜合性能方面都較為優(yōu)秀。更多的研究工作者對該方法進行優(yōu)化改進[14?16],從而進一步提高了算法的實用性,目前,其研究已經較為成熟,且對光照適應性較好,對部分遮擋也有效。
圖1 Haar-like特征
Camshift算法(Continuously adaptive meanshift)是由Cary等提出,其本質是對Meanshift算法優(yōu)化擴展,結合目標顏色概率信息形成的一種改進的均值漂移算法。由于目標圖像的直方圖記錄的是顏色出現(xiàn)的概率,這種方法不受目標形狀變化的影響,可以有效地解決目標變形和部分遮擋的問題,且運算效率高,應用在視頻人臉圖像的跟蹤檢測中,可以實現(xiàn)對人臉的快速跟蹤。在視頻序列檢測時,將Meanshift算法得到的上一幀圖像的質心位置作為初始值,通過不斷迭代更新實現(xiàn)目標跟蹤。其算法流程如圖2所示。
首先,將目標圖像從RGB空間轉換為HSV空間,對H分量作直方圖,根據直方圖分布將原始圖像轉換為色彩概率分布圖像;然后,利用Meanshift算法計算質心獲得目標位置及大??;最后,在下一幀中利用當前結果作為初始值,利用Meanshift算法進行自適應搜索和調整,循環(huán)計算,實現(xiàn)對目標實時跟蹤[6]。運用Camshift算法進行目標跟蹤的主要步驟有:
1) 初始化搜索窗;
2) 計算搜索窗的顏色概率分布(反向投影);
3) 運行Meanshift算法,獲得搜索窗新的大小和位置;
4) 如果收斂,更新搜索窗口大小和位置,返回2),否則返回3)。
圖2 Camshift算法流程圖
根據人眼的灰度特征,本文提出比例縮減區(qū)域(Proportion Reduction Area,PRA)方法快速定位人眼,該方法的核心在于對目標圖像中人眼區(qū)域的圖像進行二值化等圖像處理,通過其左右和上下區(qū)域黑白像素數值的對比確定縮減比例,迭代縮減人眼區(qū)域,最終得到人眼的精確位置以及大小,如圖3所示流程圖,比例縮減區(qū)域方法的步驟如下。
圖3 比例縮減區(qū)域流程圖
1) 對初始矩形區(qū)域圖像進行灰度化處理并計算灰度平均值,再進行二值化處理,得到二值化圖像寬為width1,高為height1,中心坐標為(center1., center1.),二值化處理中的閾值根據灰度平均值確定;
2) 分別統(tǒng)計二值化圖像中左右等分的2部分和上下等分的2部分的黑色像素點的個數,分別為1,2,1和2;
3) 縮減后矩形區(qū)域圖像的寬width2為:
4) 縮減后矩形區(qū)域圖像的高height2為:
5) 縮減后矩形區(qū)域圖像的中心坐標(center2., center2.)為:
式中:系數和根據實際需求確定。
6) 根據步驟3)得到的寬width、步驟4)得到的高height2和步驟5)得到的中心坐標(center2., center2)得到縮減后矩形區(qū)域圖像。
7) 將步驟6)所得到的矩形區(qū)域圖像作為步驟1)的初始矩形區(qū)域圖像,重復步驟1)~6)直到滿足停止迭代的條件為止。
如圖4所示,對人眼初始矩形區(qū)域圖像進行比例縮減區(qū)域,迭代縮減了5次。
(a) 初始矩形區(qū)域圖像;(b) 二值化后圖像;(c) 比例縮減后圖像
現(xiàn)有的人臉檢測方法一般采用單一算法,本文主要在快速人臉定位方面將AdaBoost人臉算法與快速的Camshift目標跟蹤算法相結合,利用AdaBoost算法對光照適應性強、可檢測旋轉人臉等特點[15],為Camshift算法檢測提供人臉目標模板,同時,可以減少背景變化等對于Camshift算法的影響,速度快、魯棒性好。在人眼定位方面,結合車載視頻序列的特點,使用基于知識的比例縮減區(qū)域方法處理人眼區(qū)域,復雜度低。
在人臉檢測方面的研究很多,但是一般都為單一的算法研究,本文將AdaBoost算法與Camshift算法相結合,如圖5所示,在連續(xù)視頻中通過AdaBoost算法檢測到人臉圖像,進行圖像處理后為Camshift算法提供跟蹤檢測的目標區(qū)域(人臉模板),并且每20幀圖像進行一次AdaBoost算法檢測更新,避免光照強度及遮擋的干擾,既保證了方法的準確性和魯棒性,又加快了檢測速度。
圖5 快速人臉定位流程圖
通過對640×480分辨率的實時視頻序列統(tǒng)計分析,得到如表1所示檢測算法速度對比,AdaBoost算法平均檢測時間約為每幀105 ms,而Camshift算法的檢測非???,平均檢測時間約為每幀6.8 ms,是AdaBoost算法檢測時間的1/15。在兩算法融合時,算法的平均檢測時間為12 ms,滿足車載視頻實時檢測要求。
表1 人臉檢測算法速度對比
本文提出的比例縮減區(qū)域(PRA)人眼定位方法,充分考慮到雙眼、雙眉、以及眉眼之間的對稱性,利用“三庭五眼”等先驗知識,結合車載視頻序列正臉多、較少頭部偏轉等特點,鎖定人眼初始矩形區(qū)域,然后進行比例縮減區(qū)域,快速定位人眼。與基于特征匹配、hough變換以及幾何特征法等方法相對比,本文速度更快,平均檢測時間達到毫秒級,如表2所示的人眼圖像檢測僅需1.23 ms,檢測到的人眼位置為圓圈中心。與常用的灰度投影方法如積分投影、方差投影及兩者的混合投影[17]、灰度復雜度投影對比,其檢測如表2所示。積分投影方法、方差投影方法、混合投影、灰度復雜度投影方法等灰度投影方法關鍵在于波峰波谷等極值點的分布計算,如表2第2和3列對各灰度投影方法的水平投影與垂直投影進行分析可知,極值點一般較多,難以準確選取到正確的極值點,需要有更多的判斷條件,實際應用時誤差較大,且其對光照強度及不同人臉和姿勢非常敏感,主要對于正臉圖像有效,不能有效排除噪聲干擾,對于頭部偏轉、側臉、部分遮擋等情況,難以有效判斷人眼位置。本文提出的比例縮減區(qū)域方法通過迭代計算,可以快速準確定位人眼,對光照及噪聲干擾等有較強的適 應性。
表2 人眼定位方法對比
實驗使用ThinkPad E420系列筆記本電腦在Linux平臺Ubuntu14.0系統(tǒng)下安裝Opencv3.0進行程序設計,并對拍攝的640×480分辨率連續(xù)視頻分析,其程序流程圖如圖6所示。
圖6 程序流程圖
為避免光照變化、人臉尺度變化、頭部旋轉、部分遮擋的影響,提高檢測的魯棒性,根據“三庭五眼”等先驗知識將人臉圖像中的雙眼、雙眉及鼻子等重要圖像區(qū)域設置為目標跟蹤區(qū)域;在對跟蹤的區(qū)域圖像預處理時可以用比例縮減區(qū)域方法先迭代計算3~5次;連續(xù)跟蹤幀數可設置為超過20幀則置零,重新用Adaboost方法檢測人臉,可很大程度上的減少誤檢。
為保證人眼定位的準確性,利用眼部區(qū)域的特殊性,設置兩眼的位置約束,如計算兩眼中心垂直距離、水平距離及其比值,當比值大于(一般可設置為0.25)時,在車載視頻序列中正常駕駛時不會出現(xiàn),所以,判斷為檢測失敗,連續(xù)跟蹤幀數置零,關閉Camshift目標跟蹤,在下一幀符合目標跟蹤條件時,再次進行跟蹤。
經過實驗統(tǒng)計分析,在實時視頻序列檢測中,人眼檢測的平均時間約為每幀24 ms,滿足實時檢測要求。根據不同工況條件檢測實驗對比,結果如圖7所示,7(a)表示自然條件下光照強度變化的兩幀正面人眼檢測圖像;7(b)表示通過調節(jié)視頻圖像對比度、亮度模擬在光照較強的白天和光照較弱的黑夜人眼檢測情況。實驗結果表明:在如上所述的不同工況條件下人眼定位準確,檢測效果好,且可以適應不同人員的檢測,具有普適性。
(a) 光照強度變化正面人眼檢測;(b) 調整對比度、亮度人眼檢測
如圖8所示對頭部特征檢測實驗對比分析,穿戴變化如是否戴帽子或眼鏡、姿勢變化主要有頭部的偏轉、高抬頭、低頭、閉眼以及乘務員行車手勢。結果表明:
1) 光照變化時可能導致如8(c)所示眼鏡反光影響人眼定位的準確性。
2) 乘務員姿勢變化時可以有效人眼定位,但會影響檢測精度,如8(g)所示頭部偏轉時檢測難度增加,眉毛會影響檢測精度,檢測有較小偏差。
3) 在列車運行過程中,乘務員需要對信號做手勢回應,如8(h)所示手勢影響人眼定位的準確性,且手與人臉顏色相近,過度遮擋臉部會導致檢測失敗,但此時乘務員一定處于非疲勞狀態(tài),因此不影響實際應用時人眼檢測效果。
(a) 正面戴帽子;(b) 正面戴眼鏡;(c) 眼鏡反光;(d) 高抬頭;(e) 低頭;(f) 閉眼;(g) 頭部偏轉;(h) 手勢
1) 人眼定位作為非接觸式疲勞駕駛圖像檢測中的關鍵環(huán)節(jié),在車載視頻序列檢測中不僅要求方法準確穩(wěn)定,而且需要滿足檢測的實時性。
2) 針對機車車載視頻序列的特點,本文提出了一種多算法融合的快速人眼定位方法。該方法充分結合人臉膚色、對稱性等先驗知識,既有Camshift算法速度快的優(yōu)點,又具有AdaBoost算法的魯棒性。同時使用比例縮減區(qū)域的方法處理人眼區(qū)域,速度快,對正臉圖像準確度高,對抬頭、低頭、頭部偏轉、戴淺色邊框眼鏡等情況下同樣有效。
3) 本文方法在可見光環(huán)境下使用效果較好,對紅外視頻序列進行檢測時要重新考慮人眼區(qū)域的灰度信息及戴眼鏡會出現(xiàn)重瞳反光等情況,對于Camshift目標跟蹤時的顏色信息也要另做分析,可以在此基礎上繼續(xù)研究。
[1] 宋志雄, 戴小文, 鐘桂英. 基于自適應更新背景的機車司機工作狀態(tài)檢測[J]. 機車電傳動, 2009(1): 62?65. SONG Zhixiong, DAI Xiaowen, ZHONG Guiying. Operation mode detection of locomotive drive based on the adaptive updating background[J]. Electric Drive for Locomotives, 2009(1): 62?65.
[2] 楊海燕, 蔣新華, 王雷. 一種基于人臉序列模式的機車駕駛員疲勞檢測方法[J]. 鐵道學報, 2012, 34(5): 53?58. YANG Haiyan, JIANG Xinhua, WANG Lei. A fatigue detection method for vehicle drivers based on face image sequence pattern[J]. Journal of the China Railway Society, 2012, 34(5): 53?58.
[3] 李強. 基于PERCLOS的列車司機駕駛疲勞檢測研究[D]. 北京: 北京交通大學, 2014.LI Qiang. Research on train driver’s fatigue detection based on PERCLOS[D]. Beijing: Beijing Jiaotong University, 2014.
[4] TAO Qinqin, ZHAN Shu, LI Xiaohong, et al. Robust face detection using local CNN and SVM based on kernel combination[J]. Neurocomputing, 2016(211): 98?105.
[5] 王小玉, 張亞洲, 陳德運. 基于多塊局部二值模式特征和人眼定位的人臉檢測[J].儀器儀表學報, 2014, 35(12): 2739?2745. WANG Xiaoyu, ZHANG Yazhou, CHEN Deyun. Face detection based on MB-LBP and eye tracking[J]. Chinese Journal of Scientific Instrument, 2014, 35(12): 2739? 2745.
[6] Exner D, Bruns E, Kurz D, et al. Fast and robust CAMShift tracking[C]// 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition- Workshops, San Francisco, CA, 2010: 9?16.
[7] 桑海峰, 吳丹陽, 王會. 視頻監(jiān)控下的人臉跟蹤與識別系統(tǒng)[J]. 計算機工程與應用, 2014, 50(12): 175?179. SANG Haifeng, WU Danyang, WANG Hui. Face tracking and recognition system for video surveillance[J]. Computer Engineering and Applications, 2014, 50(12): 175?179.
[8] Kumar R T, Raja S K, Ramakrishnan A G. Eye detection using color cues and projection functions[C]// Proceedings. International Conference on Image Processing, New York, USA, 2002, 3: 337?340.
[9] CHEN Shuo, LIU Chengjun. Eye detection using discriminatory Haar features and a new efficient SVM[J]. Image and Vision Computing, 2015(33): 68?77.
[10] Horng Wenbing, CHEN Chihyuan, CHANG Yi. Driver fatigue detection based on eye tracking and dynamic’ template matching[C]// Proceedings of IEEE International Conference on Networking, Sensing & Control, Taipei , China , IEEE Press, 2004: 7?12.
[11] Vitányi P, Freund Y, Schapire R E. A desicion-theoretic generalization of on-line learning and an application to boosting[C]// Computational Learning Theory. Berlin, Heidelberg: Springer, 1995, 904: 23?37.
[12] 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): IEEE Press, 2001(1): 511?518.
[13] Viola P, Jones M J.Robust real-time face detection[C]// Proceedings Eighth IEEE International Conference on Computer Vision. (ICCV 2001): IEEE Press, 2001(2): 747?747.
[14] 周振華. AdaBoost人臉檢測定點型優(yōu)化算法[J]. 電子科技大學學報, 2015, 44(4): 589?593. ZHOU Zhenhua. Fixed-point optimization algorithm of AdaBoost face detection[J]. Journal of University of Electronic Science and Technology of China, 2015, 44(4): 589?593.
[15] 劉曉克, 孫燮華, 周永霞. 基于新Haar-like特征的多角度人臉檢測[J]. 計算機工程, 2009, 35(19): 195?197. LIU Xiaoke, SUN Xiehua, ZHOU Yongxia. Multi-angle face detection based on new Haar-like feature[J]. Computer Engineering, 2009, 35(19): 195?197.
[16] WANG Mei, GUO Lin, CHEN Wenyuan. Blink detection using Adaboost and contour circle for fatigue recognition[J]. Computers and Electrical Engineering, Available online 22 September 2016(58): 502?512.
[17] 耿新, 周志華, 陳世福. 基于混合投影函數的眼睛定位[J]. 軟件學報, 2003, 14(8): 1394?1400. GENG Xin, ZHOU Zhihua, CHEN Shifu. Eye location based on hybrid projection function[J]. Journal of Software, 2003, 14(8): 1394?1400.
(編輯 蔣學東)
Research on method for fast eye fatigue location based on locomotive-mounted video sequences
HE Deqiang1, LIU Wei1, LU Kai1, XIAO Qiong2, JIANG Zhou1
(1. College of Mechanical Engineering, Guangxi University, Nanning 530004, China; 2. Nanning CRRC Rail Transit Equipment Co. Ltd, Nanning 530200, China)
Eye location is the key link in the real-time fatigue detection of non contact locomotive drivers. In order to solve the problem of real-time performance and high robustness in locomotive-mounted video sequences, a new method of fast eye fatigue location based on multiple algorithm fusion was proposed by combining computer vision and image processing techniques. Firstly, it detected face in video sequence to use the method of AdaBoost based on Haar-like feature, setting target tracking area and using Camshift algorithm to track it. Secondly, the method of the Proportion Reduction Area was proposed to locate eye based on the prior knowledge of the symmetry of face and eye. Experimental results show that the method reduces the complexity and error detection, which can be adapted to the complex illumination, and has the advantages of real-time and robustness. It can provide theoretical and practical references for real-time fatigue detection of locomotive drivers.
locomotive-mounted video sequences; eye location; AdaBoost; Camshift; proportion reduction area
10.19713/j.cnki.43?1423/u.2018.09.024
U268.48;TP911.73
A
1672 ? 7029(2018)09 ? 2359 ? 08
2017?07?02
國家自然科學基金資助項目(51165001);廣西科技攻關資助項目(1598009-6);南寧市科技攻關資助項目(20151021)
賀德強(1973?),男,湖南桃江人,教授,博士,從事機車車輛故障診斷與智能維護、列車網絡與控制;E?mail:hdqianglqy@126.com