許婷婷,傅俊瓊,羅 昆
(1.東華理工大學 信息工程學院,江西 南昌 330013;2.東華理工大學 江西省核地學數據科學與系統工程技術研究中心,江西 南昌 330013;3.南昌市公安局交通管理局,江西 南昌 330013)
近年來,隨著智能信息化社會的發展,人們對手機的依賴性越來越強,智能手機也日漸成為人們的信息處理中心,隨之而來的是駕駛員在行車過程中使用手機違規接聽電話造成的交通事故率逐年上升,成為名副其實的“馬路隱形殺手”。因此,實時檢測駕駛員的違規接聽電話行為在交通安全方面具有現實的研究價值。
目前,眾多研究機構和學者也對這一課題進行了深入研究。例如,魏民國提出了通過提取F-B Error信息來獲取人臉的特征點,確定人臉大致區域以檢測手機,并判斷駕駛員是否在打電話;王丹將駕駛員打電話行為分解為一系列滿足一定時序關系的子動作,通過統計分析的方法在駕駛員的視頻中檢測打電話行為;王盡如提出了一種基于半監督支持向量機的駕駛員打電話行為檢測方法,采用傳統機器學習方法進行目標圖像分類,從而檢測出打電話行為。然而這些方案過于理想,沒有充分考慮到現實環境的復雜性,考量的指標和評判流程過于單一,且難以提取圖像的深層特征,使得檢測結果極易受外界因素干擾,從而造成誤判。
為此,該文從駕駛員的行為姿勢、檢測區域、違規接聽電話評判指標等幾個層面綜合考慮,調整并優化了檢測流程。結合CNN、ROI、YOLOv3等技術,將目標檢測物體數學上的空間關系納入檢測系統,環環相扣,構建了一個更加科學全面的違規接聽電話行為檢測體系。
1.1.1 模型架構
通過對目前駕駛員違規接聽電話評判模型的分析可知檢測的三個重點在于:確定目標檢測區域、檢測目標物體、檢測駕駛員行為姿勢。該文結合實際情況從這三個層面考慮,設計的駕駛員違章接聽電話檢測流程如圖1所示。

圖1 駕駛員違章接聽電話檢測流程
目標檢測區域的確定往往依賴于特定的參照物,如利用人臉矩形標識框的位置大小,手動地圈定目標檢測區域,這種完全憑借先驗知識的方式缺乏科學理論支撐,不僅存在手動圈定的檢測區域與實際情況不符的弊端,而且在行車大環境下參照物的檢測結果極易受到光照、拍攝角度等外界因素干擾,從而影響后續目標檢測的流程。為此,該文提出的評判模型不框定檢測區域,人臉、人手、手機等目標物體均采取全局檢測的方式。
1.1.2 接聽電話行為識別
如圖1所示,在檢測前,記錄下天眼攝像頭拍攝第一張圖像的時間點,圖像經過一系列預處理后,輸入到模型中。首先利用Haar-Like特征訓練的級聯分類器對輸入的圖像進行全局的人臉檢測,并將檢測到的人臉標識矩形框;基于成功檢測到的人臉目標,繼而進行手部檢測,手部特征是整個檢測流程中的重點,因為它涉及到接聽電話姿勢(手在耳邊)判別和接聽電話行為(手持手機)判定兩個方面,因此這里采用了檢測精度高的卷積神經網絡來提取手部特征,并結合感興趣區域(ROI)技術根據網絡提取的特征自動標識手部矩形框;接聽電話時手部常規情況下是在耳邊的,即靠近臉部,因此,成功檢測到人臉和人手后,比對記錄的兩個矩形框的中心點坐標空間距離是否在閾值范圍內來判斷是否符合接聽電話姿勢。
考慮到現實中存在扶眼鏡、捋頭發等干擾姿勢,故在檢測到符合接聽電話姿勢的情況下,進一步采用YOLOv3目標檢測算法進行手機檢測和定位,手機在待檢測圖像上所占比例小且極易受異物遮擋,檢測難度大,然而大多數檢測評判模型卻以手機的檢測結果作為最后的判斷依據。該文對這一檢測節點進行了優化,具體過程為:若YOLOv3算法檢測到手機,則依據手機區域和手部特征區域中心點在數學上的空間距離是否在閾值范圍內來判定是否存在接聽電話行為,反之也不會直接判定不存在違規接聽電話行為,而是利用天眼攝像頭拍攝圖像時會記錄拍攝時間點這一特性,根據拍攝時間點獲取符合接聽電話姿勢的時長是否在閾值設定范圍內來進一步判定是否存在接聽電話行為。
為了弱化背景物體對檢測的影響,在進行檢測前需對圖片進行預處理。樣本預處理步驟依次為橢圓膚色分割、全局閾值和中值濾波去噪等操作。
膚色分割技術常用于人像處理領域,提取待檢測圖像中膚色區域弱化背景,不僅可以降低無關背景的干擾、聚焦檢測區域,還能有效提高檢測算法的效率。通過查閱資料得知,將RGB圖像的三個聯通分量轉換到YCRCB空間的三個分量后可得:
Y
=0.
299R
+0.
578G
+0.
114B
(1)
C
r=(0.
511R
-0.
428G
-0.
083B
)+128(2)
Cb=(-0.
172R
-0.
339G
+0.
511B
)+128(3)
將三維圖像轉換到YCRCB二維空間后,膚色像素點會聚集到一個橢圓區域。因此,可將膚色分割的實現思路概括為:定義一個橢圓模型,將RGB圖像轉換到YCbCr空間并在CbCr平面進行投影得到一個CbCr的橢圓區域;通過判斷當前像素點的CbCr是否落在該橢圓區域內(含邊界),即可確定當前像素點是否屬于膚色像素點。
為了將檢測區域和背景盡可能分離,在膚色分割的基礎上還需依次采用閾值分割和濾波進行去噪處理,從而提高檢測識別的準確率。
Haar-Like特征通過模板方式將人臉特征量化以區分人臉和非人臉,在表示圖像方面靈活性大,計算速度快。Haar-Like特征主要分為四類:邊緣特征、線性特征、對角特征以及衍生出來的圓心環繞特征。
首先基于滑動窗口提取出子窗口的Haar-Like特征;再使用矩形模板進行匹配,將匹配區域內白色區域的像素之和減去黑色區域的像素之和,得到“人臉特征值”為:

(4)
對于Haar-Like特征來說,檢測人臉需要掃描大量的窗口并計算出每個窗口對應的特征值,如此大的計算量會極大地降低檢測速度。為了滿足系統實時檢測的要求,使用積分圖來加速Haar-Like特征值的計算。
積分圖的構造是圖像中位置(i
,j
)處的值ii(i
,j
)表示原圖像(i
,j
)左上角方向所有像素的和:
(5)
構造好積分圖之后,圖像中任何矩陣區域的像素累加和都可以通過簡單運算得到且可在常數時間內完成。
在確定了窗口的特征值之后,需要對獲取的每一個特征f
,訓練出一個較弱分類器,單一弱分類器無法達到理想的效果,因此將訓練出的若干分類器進行多輪篩選級聯得到強分類器進行人臉檢測并在人臉區域標識矩形框,真實車載環境下的人臉檢測效果如圖2所示。
圖2 人臉檢測效果
行車過程中人手姿勢動態多變,固定特征模板的匹配檢測方式不適用。卷積神經網絡CNN通過多個卷積核來提取局部關聯性的特征,再從更高層次對局部特征進行整合,得到全局信息;憑借神經元局部連接、權重共享、平移等優點,在圖像動態特征提取檢測方面應用十分廣泛。設計的模型對輸入的手部樣本圖進行多次卷積和池化,充分提取手部特征,提取特征過程結束后,進入特征整合階段,通過全連接實現特征的維度變換和分類,最后模型根據分類結果預測輸出。
在訓練模型前,為了減少模型訓練消耗的時間、內存以及圖像顏色對特征提取的干擾,對手部數據集進行了歸一化處理,將樣本圖像都處理為28×28像素的灰度圖像,如圖3所示。

圖3 28×28手部灰白像素樣本圖
使用CNN進行手部特征提取的核心是卷積和池化,卷積是用不同尺寸的卷積核在圖像上以一定步長不停地移動,對應位置相乘累加直至遍歷完整幅圖像,最終得到特征圖的過程。
池化(pooling),也稱欠采樣或下采樣,主要是通過函數的方式降低數據維度,壓縮數據和參數,減少過擬合,提高模型的容錯度。池化分為最大池化(max-pooling)和平均池化(mean-pooling)兩種函數。平均池化更易保留背景信息,然而最大池化卻能較好地保留圖像特征紋理,因此其符合上述局部特征提取需求。最大池化通過取局部區域最大值的方式減少數據量。
卷積和池化操作“剝皮式”地提取核心特征,構建了一個“特征工程”,繼而全連接層把網絡學習到的特征進行整合得到預測輸出。
為了提高識別精度,減少圖像預處理成本,待CNN模型提取到手部特征之后,利用感興趣區域(ROI)技術根據模型提取的特征自動在手部區域繪制矩形框;檢測具體過程如圖4所示。

圖4 CNN網絡進行手部識別的過程
接聽電話時手部和臉部靠的較近,因此手部、臉部邊界框中心點距離在數學空間上存在一定的距離閾值,經過交警部門有關專家的調研,實際場景中人手和人臉區域中心點距離在15 cm到20 cm時吻合接聽電話姿勢,而檢測圖像樣本與實際場景檢測區域的中心距離是不同的,因此可利用數值比例尺來衡量它們之間的比例關系。通過多次實驗驗證,檢測圖像與實際場景檢測區域比例尺取1∶5時,即圖像上手臉區域中心點距離在3 cm至4 cm時滿足多數情況且檢測精度最高,可通過對比人臉、人手矩形邊界框的中心點距離和閾值范圍來判定是否吻合接聽電話場景。令A
為臉部矩形框的中心點坐標(X
,Y
),B
為手部矩形框的中心點坐標(X
,Y
),則中心點距離d
為:
(6)
根據d
來判斷人臉和手空間位置是否吻合接聽電話場景:(1)若d
∈[3,4],符合接聽電話場景,進行下一步的流程判斷;(2)若d
<3或d
>4,判定不存在接聽電話行為,退出檢測流程。手機在待檢測圖像中所占比例比較小,且檢測結果易受環境干擾,對于這類小目標物體檢測難度較大。近些年,YOLOv3目標檢測算法采用多尺度融合的方式顯著提高了小目標物體的檢測精度。對比利用人臉位置來確定檢測區域進行手機檢測的一般方法,在手臉空間位置距離判斷的基礎上,引入YOLOv3算法全局檢測手機,再通過比對手機和手部的空間距離關系,進一步判定是否存在接聽電話行為。
檢測過程中,對輸入的樣本使用Darknet-53網絡提取特征,輸出檢測樣本三個不同尺寸的特征圖:y
(13×13×255),y
(26×26×255),y
(52×52×255)。使用多尺度特征圖實現由粗到細粒度的檢測,特征圖尺寸越大包含目標物體的信息就越寬泛,尺寸越小包含的信息就越精細。提取特征后生成預測的手機邊界框,并使用多尺度特征圖融合預測來提高邊界框和預測類別的準確性。在圖2人臉檢測的基礎上進行手部和手機檢測,成功檢測到人手和手機并用不同顏色邊框的矩形標識,檢測結果如圖5所示。

圖5 違規接聽電話檢測圖
接聽電話時手部和手機在位置空間上存在一定的數學映射關系,據交通部門有關專家的調研結果可知,手部和手機邊界框中心點距離在5 cm內符合接聽電話情況,同上文提到的利用數值比例尺1∶5來衡量檢測圖像樣本與實際場景檢測區域之間的比例關系,即手部、手機邊界框中心距離在1 cm內視為符合接聽電話情況。此處有別于傳統方法的是,不以手機檢測結果作為最終的評判依據,而是根據YOLOv3檢測結果分為兩種情況討論:
情況一:成功檢測到手機,計算手部矩形框和手機邊界框的中心距離d
:(1)若d
≤1,判定存在接聽電話行為,違規記錄上報;(2)若d
>1,判定不存在接聽電話行為。情況二:未檢測到手機,根據天眼攝像頭記錄的圖片拍攝時間連續檢測圖像,獲取手臉邊界框中心距離符合接聽電話姿勢(手在耳邊)的時長t
,據交通權威專家判定,行車過程中,手在耳邊的時長t
長達8秒,可判定存在接聽電話行為,即:(1)若t
≥8,判定駕駛員存在接聽電話行為,違規記錄上報;(2)若t
<8,判定不存在接聽電話行為。實驗采用Python3.7與OpenCV4.4圖像視覺庫作為開發環境,運行環境為Centos 7.4,CPU為酷睿8核、2.5 GHz,內存條DDR4 2800 16 GB,SSD固態硬盤512 G。樣本數據來自于Kaggle比賽的“state-farm-distracted-driver-detection”數據集,記錄了駕駛員行車時的多種狀態,比如左右手接聽電話、喝水、摸頭、玩手機等,且根據這些不同的狀態分為10個不同的類別。本次實驗總共從中選取了45 000張不同狀態、不同拍攝角度和距離的正反例樣本,并根據是否接聽電話將樣本分為2個類別:接聽電話和正常行為(非接聽電話)。實驗中,隨機抽取40%的樣本作為測試數據集,其余60%的樣本作為訓練數據集。
由表1可知,人臉檢測在正常行為樣本測試下的準確度為97.98%,接聽電話行為樣本檢測準確度可達97.34%,表明算法在不同狀態下的人臉檢測均有良好的效果。

表1 人臉檢測結果
針對接聽電話行為檢測的實驗結果如表2所示,可以看出正常行為樣本下檢測精度為96.67%,接聽電話樣本檢測精度可達96.98%,反映了算法對駕駛員接聽電話行為具有較好的檢測效果。

表2 接聽電話行為檢測精度
為了進一步驗證方案的檢測效果,將設計的CNN+ROI+YOLOv3檢測方案與已有文獻方法進行對比。具體對比有褚晶輝等提出的多尺度注意力卷積神經網絡模型(Multi-scale Attention CNN Model)、趙李坤等提出的LBP+SVM算法,以及卜慶志等提出的基于HOG+SVM_RBF這三種方案。分別對這三種方案和CNN+ROI+YOLOv3檢測方案進行了五次實驗,每次實驗都在上一次實驗基礎上增加300張測試圖片樣本;檢測效果如圖6所示,并對圖6數據進行統計,求得的平均識別率如表3所示。

表3 四種方案的平均識別率
實驗分別采用了不同數量的樣本依次對四種算法的識別率進行驗證,通過表3可知,CNN+ROI+YOLOv3方案的平均識別率為92.70%,顯著高于其他三種檢測模型,表明該方案識別率的變化趨勢較為集中,模型穩定好。
為了更直觀地顯現效果,將五次實驗的結果繪制到折線圖中。如圖6所示,顯然,該文提出的CNN+ROI+YOLOv3檢測模型在整體精確度和穩定性等方面均顯著優于其他方法,具有一定的可行性。

圖6 不同樣本量下四種方案的檢測識別率
通過CNN模型和多尺度融合檢測算法,并結合目標檢測物體數學上的空間距離,實現了對駕駛員違規接聽電話行為實時檢測的目標。對比其他檢測方案,該方法在精度、穩定性方面均有顯著的提高,打破了傳統檢測的技術壁壘和單一檢測模式的局限性,并綜合考慮了檢測過程中的不確定因素,在檢測流程上合理地設定了涵蓋多種情況的綜合性評判指標,使得檢測結果受外界環境因素干擾較小,且最終轉化到數學上的空間距離計算顯著減少了算法的計算量,因此在交通安全方面有較好的應用前景。