許華勝 丁軍航
摘要: 為減少因違章打電話造成的交通事故發(fā)生,本文利用計算機視覺技術對駕駛員違章打電話的行為進行檢測,基于受約束局部模型檢測嘴部區(qū)域的特征變化,結(jié)合色調(diào)飽和度亮度(huesaturationvaliue,HSV)彩色空間模型特征和模板匹配檢測手部特征來判斷駕駛員是否存在使用電話的行為。該方法可適應駕駛室內(nèi)光線的復雜變化,達到較好的測試結(jié)果,且程序存在良好的可移植性,方便在嵌入式系統(tǒng)和車載機上實現(xiàn)。驗證結(jié)果表明,該系統(tǒng)對光照有較好的抗干攏能力,可實現(xiàn)實時監(jiān)測和輸出,并對駕駛員的駕駛行為進行檢測,而且與只檢測手部皮膚來確定是否存在打電話的行為方法相比,本文方法具有更高的精度,減少了誤報的出現(xiàn)。該研究可對駕駛員的違章行為進行及時有效的提醒,有利于減少交通事故,保證安全駕駛。
關鍵詞: 計算機視覺; 受約束局部模型; HSV色彩空間; 模板匹配
中圖分類號: TP391.41文獻標識碼: A
人們在日常生活中對手機的依賴性越來越強,很多司機在開車時也存在用手機打電話的行為。開車時打電話會降低人的反應速度,分散駕駛員的注意力。據(jù)美國國家公路交通安全管理局(national highway traffic safety administration,NHTSA)的調(diào)查顯示,2010年起,每年大約有660 000名駕駛員在開車時使用手機和其他電子設備,僅2012年,由駕駛分心所導致的交通事故中就致3328人死亡,421 000人受傷[1]。目前,很多司機會選擇使用藍牙耳機進行通話,這導致采用手勢檢測的檢測方法無法對駕駛員的這種打電話行為進行檢測。雖然使用免提或者藍牙耳機來進行通話不會妨礙駕駛操作,但是許多研究表明,單純分析2種駕駛方式并不能得出使用藍牙耳機會降低事故發(fā)生率的結(jié)論[2]。因此,針對存在的駕駛員開車打電話的行為,本文采用人臉定位技術,基于機器視覺檢測和受約束局部模型(constrained local models,CLM)[39],檢測駕駛員的嘴部特征和手部區(qū)域,判斷駕駛員是否存在違章打電話的行為,并對違章行為進行報警,從而到達減少交通事故和保護駕駛員生命安全的目的。研究結(jié)果表明,該研究可對駕駛員的駕駛行為進行檢測,有利于減少交通事故的發(fā)生。該研究為駕駛員違章打電話的檢測提供了更便捷可行的解決方案。
1基于CLM的駕駛員違章打電話檢測
將讀入的視頻經(jīng)過預處理后,使用ViolaJones人臉檢測算法進行檢測和人臉定位[10]。成功定位到人臉后對定位到的人臉區(qū)域利用CLM模型進行特征點的精確定位。在成功定位特征點后,利用嘴部特征點位置判斷是否處于說話狀態(tài)。當確定駕駛員處于說話狀態(tài)時,進行手部檢測,判斷駕駛員是否存在使用手機的行為。在進行手部檢測時,利用人臉特征點位置設置感興趣區(qū)域(region of interest,ROI),使用OpenCV中自帶的函數(shù),將ROI內(nèi)的像素值設置為255,以避免臉部皮膚對檢測的影響。同時,為提高程序的運行速度,達到可實時檢測輸出的目的,調(diào)整圖片尺寸,將待檢測手勢的圖片調(diào)整為原圖的1/8。駕駛員違章打電話檢測流程圖如圖1所示。
2CLM人臉關鍵點定位算法
受約束局部模型(constrained local models,CLM)是用局部模型在目標可能出現(xiàn)的區(qū)域進行匹配。CLM模型包括2部分,一是形狀模型(shape model),描述特征點組成的形狀變化;二是團塊模型(patch model),用來描述特征點周圍圖像塊的紋理[1112]。CLM模型的shape模型和patch模型如圖2所示。
2.1形狀模型(Shape Model)的構建
形狀模型由點分布模型(point distribution model,PDM)[1314]經(jīng)過主成分分析法(principal components analysis,PCA)[1518]降維實現(xiàn)。在M張人臉樣本上,手工標記人臉的特征點,采用68點模型,即在每張人臉圖片上標記68個特征點。對含有68個特征點的輪廓圖像進行普氏分析,消除圖片中尺寸、角度和平移的影響。每個特征點表示為(x,y),將每個形狀輪廓對應的68個特征點組成一個136維的向量,即x=[x1y1x2y2…x68y68]T,共有M個這樣的形狀向量x(i)(i=1,2,…,M)。求所有136維向量的平均值,得到平均向量為
=1M∑Mi=1x(i)(1)
用(i)表示形狀向量x(i)與的差值,并將差值組成矩陣X,即
X=x(1)1y(1)1x(1)2y(1)2…x(1)Ny(1)Nx(2)1y(2)1x(2)2y(2)2…x(2)Ny(2)N……x(M)1y(M)1x(M)2y(M)2…x(M)Ny(M)N
通過計算XTX的特征值和特征向量進行PCA分析,并且只保存對應較大特征值的特征向量pj(j=1,2,…,K)。將K個特征向量組成正交矩陣P。對任意的待測人臉圖像,可以表示為特征向量與平均形狀的線性組合,其形狀向量為
x=+PB(2)
式中,B為權重矩陣,B=b1b2…bKT,B的每個分量決定特征向量的權重,即決定哪些向量占主導地位。
向量B為
B=PT(x-)(3)
對于任意給定的向量B,可以根據(jù)式(2)計算出形狀向量x。
2.2Patch模型的構建
采用支持向量機(support vector machine,SVM)來訓練patch模型。對于形狀模型中的每個特征點有m個patch樣本,包括正樣本和負樣本,所有的m個patch都有相同的尺寸,都包含n個像素。因此,共有m個訓練向量x(1),x(2),…,x(m),并且每個訓練樣本為一個n維的列向量x(i)=x(i)1,x(i)2,…,x(i)nT,i=1,2,…,m。設SVM的輸出結(jié)果為:y(i)=-1,1,i=1,2,…,m。如果訓練樣本為正樣本y(i)=1,否則y(i)=-1。在CLM中,支持向量的輸出是輸入向量的一個線性組合,即
y(i)=wTx(i)+θ(4)
式中,wT=w1w2…wn,代表每個數(shù)據(jù)的權重;θ是常量,相當于偏差。
在CLM中,訓練數(shù)據(jù)集來自訓練圖像patch區(qū)域,并且如果樣本來自特征點的位置,輸出y(i)設置為1,如果來自其他位置,則設置為-1。通過使用這些數(shù)據(jù)來尋找w和θ,實現(xiàn)訓練SVM分類器的目的。
2.3CLM的擬合過程
1)用ViolaJones人臉定位方法在圖像上尋找人臉,得到一個包含人臉的矩形。
2)用平均形狀模型初始化人臉特征點的位置。
3)對每個特征點,從當前位置截取一個patch區(qū)域,并且用SVM來計算每個區(qū)域當前特征點的輸出,這樣可以得到一個相應圖,并且找到一個二次函數(shù)來對應響應圖。
4)通過一個最優(yōu)方程找到最佳特征點的位置。
5)移動每個特征點到新的位置,并且重復步驟3)~5),直到所有的特征點達到其最優(yōu)位置。CLM定位過程如圖3所示,特征點定位結(jié)果如圖4所示。
3HSV色彩空間模型與模板匹配
采用基于色調(diào)飽和度亮度(huesaturationvaliue,HSV)彩色空間模型[19]的模板匹配方法[20]。圖像的色彩通常使用RGB色彩空間進行描述,但RGB色彩模型的3個分量R、G、B之間有很高的相關性,直接使用時常常不能達到期望效果。本文采用空間的H(色調(diào))分量進行膚色區(qū)域的檢測。
在OpenCV中,可以直接利用cvtColor(InputArraysrc、OutputArraydst、int code、intdstCn=0)函數(shù)實現(xiàn)顏色空間從RGB色彩空間到HSV色彩空間的轉(zhuǎn)換,并且將3個分量進行分離。H分量代表圖像的色調(diào)信息,即其表示的是圖像的顏色信息;S分量代表圖像的飽和度信息,即其表示的是圖像顏色的深淺;V分量代表圖像的亮度信息,即其表示的是圖像的顏色亮度。H分量只表示目標的彩色信息受光照的影響小,適合用來進行膚色提取和匹配。利用基于塊的反向投影,用HSV的直方圖模型進行匹配,尋找手部區(qū)域。
在進行模板匹配時,可選用的方法有平方差匹配法、標準平方差匹配法、相關匹配法、標準相關匹配法等多種方法。下面介紹兩種方法:
1)平方差匹配法。該方法利用平方差來進行匹配,最好匹配為0。匹配越差,匹配差值越大,即
Raq_diff(x,y)=∑x',y'[(x',y')-I(x+x',y+y')]2(5)
式中,R表示結(jié)果;I表示輸入圖像。下同。
2)相關匹配法。該方法利用模板和圖像之間的乘法操作,所以較大的數(shù)表示匹配程度越高,0表示最壞的匹配效果。本文采用這種匹配方式進行匹配,該方法在所有匹配方法中兼具速度和準確度,可以滿足系統(tǒng)設計的需要,即
Rccorr(x,y)=∑x',y'[(x',y')I(x+x',y+y')]2(6)
本文采用相關匹配法,當匹配結(jié)果大于閾值θ時,認為駕駛員存在違章打電話的行為。駕駛員違章檢測結(jié)果如圖5所示。
4基于嘴部動作頻率的說話檢測算法
駕駛員嘴巴張開一般發(fā)生在疲勞時打哈欠或者在與人交談時,這兩種行為都有可能導致交通事故,將嘴部動作頻率作為司機說話判斷的標準[21]。具體實現(xiàn)步驟如下:
1)計算嘴巴的張開程度。由上文可知,已經(jīng)利用CLM得到了精確的嘴部特征點的位置,這些特征點的位置在圖片中是以圖片中像素點的坐標表示,因此可以根據(jù)這特征點坐標來判斷嘴巴的張開程度。用嘴唇內(nèi)側(cè)中間位置上、下兩點的距離Vm與內(nèi)側(cè)兩嘴角的距離Hm的比值,嘴巴的開度Om為
Om=Vm/Hm
2)根據(jù)Om判斷嘴部是否張開。當駕駛員嘴巴處于閉合、說話或者打哈欠3種不同的狀態(tài)時,Om的值有較大的變化。當Om介于01~03之間時,開度變化不大,認為嘴巴是處于閉合狀態(tài);嘴部頻繁張開閉合,且持續(xù)時間較短時,認為處于說話狀態(tài);當開度大于07,且持續(xù)一定時間時,認為駕駛員處于打哈欠狀態(tài)。
3)統(tǒng)計張嘴持續(xù)時間。說話和打哈欠使嘴部張開時間存在明顯差異,打哈欠時嘴部張開的持續(xù)時間明顯長于說話時嘴部張開的持續(xù)時間。統(tǒng)計張嘴持續(xù)時間的方法:嘴部張開的幀數(shù)乘以處理一幀圖片所用的時間,即T0=Nt0。
4)計算嘴部動作頻率。定義嘴部動作頻率Fy為單位時間內(nèi)說話的次數(shù),即Fy=N/T。
醫(yī)療數(shù)據(jù)顯示,正常情況下,人說話每03~05 s發(fā)出一個音節(jié),因此設置說話嘴部動作頻率Fymax為15次/min,并以此作為閾值進行判斷。
5結(jié)束語
本系統(tǒng)采用集成開發(fā)環(huán)境Visual Studio 2012和開源計算機視覺庫OpenCV2410,并采用C++編寫程序。實驗所用測試環(huán)境為Inter(R) Core(TM) i3-2370M CPU @240 GHz,4 GB內(nèi)存,64位Windows 7操作系統(tǒng),采用普通USB攝像頭作為視頻采集設備。測試結(jié)果表明,該系統(tǒng)對光照有較好的抗干擾能力,并且可以實現(xiàn)實時監(jiān)測和輸出。本文采用的方法相較于只檢測手部皮膚來確定是否存在打電話的行為方法有更高的精度,減少了誤報的出現(xiàn)。將該系統(tǒng)實現(xiàn)在嵌入式平臺上的移植是接下來要進行的工作,而采用深度學習來對圖像內(nèi)容進行理解也是下一步將要學習的方向。
參考文獻:
[1]National Highway Traffic Safety Administration. Distracted Driving 2011[EB/OL]. USA: NHTSA, (20134).
[2]李焱琪. 手機使用對駕駛行為影響研究綜述[J]. 青年科學(教師版), 2014, 35(9): 233.
[3]Cristinacce D, Cootes T F. Feature Detection and Tracking with Constrained Local Models[C]∥British Machine Vision Conference 2006. Edinburgh, Uk: DBLP, 2006: 929938.
[4]Morency L, Baltrusaitis T, Robinson P. 3D Constrained Local Model for Rigid and NonRigid Facial Tracking[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2012, 157(10): 26102617.
[5]Wang Y, Lucey S, Cohn J F. Enforcing Convexity for Improved Alignment with Constrained Local Models[C]∥IEEE Conference on Computer Vision & Pattern Recognition. Anchorage, AK, USA: IEEE, 2008.
[6]Cristinacce D, Cootes T F. Feature Detection and Tracking with Constrained Local Models[C]∥British Machine Vision Conference 2006. Edinburgh, UK: DBLP, 2006, 41: 929938.
[7]Zeng Z, Pantic M, Roisman G I, et al. A Survey of Affect Recognition Methods: Audio, Visual, and Spontaneous Expressions[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2009, 31(1): 3958.
[8]Pantic M, Bartlett M S. Machine Analysis of Facial Expressions[J]. Face Recognition, 2007: 377416.
[9]Fanelli G, Gall J, Van Gool L. Real Time Head Pose Estimation with Random Regression Forests[C]∥IEEE Conference on Computer Vision and Pattern Recognition. Washington DC, USA: IEEE, 2011, 617(7): 617624.
[10]Viola P, JonesMJ. Rapid Object Detection Using a Boosted Cascade of Simple Features [C]∥International Journal of Computer Vision. Kauai, HI, USA: IEEE, 2001, 57: 137154.
[11]Gu L, Kanade T. A Generative Shape Regularization Model for Robust Face Alignment[C]∥European Conference on Computer Vision. Marseille, France: SpringerVerlag, 2008: 413426.
[12]Cai Q, Gallup D, Zhang C, et al. 3D Deformable Face Tracking with a Commodity Depth Camera[C]∥European Conference on Computer Vision. Heraklion, Crete, Greece: DBLP, 2010: 229242.
[13]Saragih J M, Lucey S, Cohn J F. Deformable Model Fitting by Regularized Landmark MeanShift[J]. International Journal of Computer Vision, 2011, 91(2): 200215.
[14]Morency L D, Whitehill J, Movellan J R. Generalized Adaptive ViewBased Appearance Model: Integrated Framework for Monocular Head Pose Estimation[C]∥IEEE International Conference on Automatic Face &Gesture Recognition. Amsterdam, Natherlands IEEE, 2008: 18.
[15]Cootes T F, Taylor C J. Active Shape Models— ‘Smart Snakes[M]. London: Springer, 1992.
[16]Torresani L, Hertzmann A, Bregler C. Nonrigid StructurefromMotion: Estimating Shape and Motion with Hierarchical Priors[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2008, 30(5): 878892.
[17]李月龍, 靳彥, 汪劍鳴, 等. 人臉特征點提取方法綜述[J]. 計算機學報, 2016, 39(7): 13561374.
[18]黃超. 基于CLM模型的人臉特征點定位系統(tǒng)的設計與實現(xiàn)[D]. 武漢: 華中科技大學, 2015.
[19]葛小鳳. 駕駛環(huán)境下的人臉定位算法研究[J]. 電子世界, 2016(12): 59, 61.
[20]Gary R. Bradski, AdrianKaehler. O'Reilly Media, Inc, USA(學習OpenCV)[M]. 于仕琪, 劉瑞禎, 譯. 北京: 清華大學出版社, 2008.
[21]鄔敏杰, 穆平安, 張彩艷, 等. 基于眼睛和嘴巴狀態(tài)的駕駛員疲勞檢測算法[J]. 計算機應用與軟件, 2013, 30(3): 2527.