楊會(huì)成,朱文博,童英
(安徽工程大學(xué) 電氣工程學(xué)院,安徽 蕪湖 241000)
高級(jí)駕駛輔助系統(tǒng)(advanced driver assistance system, ADAS)是目前車輛安全領(lǐng)域的研究熱點(diǎn),該系統(tǒng)通過車載傳感器收集并分析車內(nèi)外環(huán)境數(shù)據(jù),為駕駛員提供輔助信息并對(duì)危險(xiǎn)進(jìn)行提醒。碰撞預(yù)警是ADAS的一個(gè)重要功能,碰撞預(yù)警系統(tǒng)通常根據(jù)傳感器獲取的前方障礙物相對(duì)距離和速度計(jì)算碰撞時(shí)間(time to collision, TTC),可靠的預(yù)警一般設(shè)置為潛在的碰撞前約2 s的時(shí)間。目前應(yīng)用的碰撞保護(hù)系統(tǒng)大多針對(duì)車輛間的碰撞,然而在人車碰撞事故中,沒有保護(hù)裝置的行人更容易受到致命的傷害。統(tǒng)計(jì)數(shù)據(jù)表明,在我國城市道路中,每年死于交通事故的人口中有接近50%為身處車外的行人。因此研究行人碰撞預(yù)警系統(tǒng),在可能的碰撞發(fā)生前對(duì)駕駛員做出提醒,具有重要的現(xiàn)實(shí)意義。
行人碰撞預(yù)警的實(shí)現(xiàn)廣泛采用視覺傳感器獲取行人位置信息,根據(jù)相對(duì)距離和車速做出判斷。由于姿態(tài)與外形的多樣性,行人檢測(cè)一直是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要研究課題。行人檢測(cè)的經(jīng)典方法有Viola等[1]提出的Haar-like特征和級(jí)聯(lián)分類器,Dalal等[2]提出的HOG特征結(jié)合SVM分類器,以及Felzenszwalb等[3]提出的可變形部件模型(deformable part model, DPM)。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)由于其強(qiáng)大的特征學(xué)習(xí)和表達(dá)能力,在計(jì)算機(jī)視覺領(lǐng)域得到了廣泛的應(yīng)用。深度學(xué)習(xí)目標(biāo)檢測(cè)方法著名的有Girshick等[4-5]提出的基于區(qū)域建議的卷積神經(jīng)網(wǎng)絡(luò)模型(region CNN, R-CNN),通過CNN完成特征提取與目標(biāo)定位。
根據(jù)美國高速交通安全管理局(NHTSA)的統(tǒng)計(jì)[6],有超過80%的交通事故責(zé)任與駕駛員相關(guān),其中注意力不集中是引發(fā)事故的主要原因。此外,預(yù)警系統(tǒng)的有效性受到駕駛員反應(yīng)時(shí)間的影響,駕駛員注意力的差異會(huì)導(dǎo)致對(duì)危險(xiǎn)的反應(yīng)時(shí)間不同,精確的數(shù)值判斷有時(shí)反而會(huì)給出錯(cuò)誤的預(yù)警。近年來,研究人員利用內(nèi)外視覺(lookingin and looking-out, LiLo)框架[16]實(shí)現(xiàn)車輛安全系統(tǒng)性能的提升,在檢測(cè)車輛前方障礙物的基礎(chǔ)上,增加了對(duì)駕駛員狀態(tài)的監(jiān)測(cè)。該框架利用傳感器同時(shí)獲取車輛周圍環(huán)境、車輛運(yùn)動(dòng)狀態(tài)以及駕駛員行為,系統(tǒng)同時(shí)理解車輛外部和內(nèi)部信息并據(jù)此對(duì)潛在危險(xiǎn)做出判斷。在這一框架基礎(chǔ)下的部分工作[17-18]特別研究了駕駛員對(duì)于道路行人的認(rèn)知。
駕駛員狀態(tài)的監(jiān)控對(duì)于提高行車安全有著重要的促進(jìn)作用,駕駛員的注意力與視線方向及頭部姿勢(shì)有著內(nèi)在的聯(lián)系,因此眼睛或頭部的狀態(tài)檢測(cè)技術(shù)廣泛用于注意分散監(jiān)測(cè)。在實(shí)際駕駛條件下,使用非接觸式方式進(jìn)行可靠的視線方向估計(jì)非常具有挑戰(zhàn)性。就危險(xiǎn)預(yù)警而言,頭部偏移情況下視線的分散程度相對(duì)更加嚴(yán)重,因此頭部姿態(tài)也可以作為駕駛員注意狀態(tài)判斷的可靠指標(biāo)[7]。在實(shí)際應(yīng)用中,頭部姿態(tài)的獲取普遍采用非接觸式的基于視覺的方法,通常需要先建立面部形狀模型以定位面部特征點(diǎn),根據(jù)特征點(diǎn)間的幾何關(guān)系還原空間姿態(tài)。面部特征點(diǎn)定位的經(jīng)典方法是Cootes等[8]提出的主動(dòng)形狀模型(active shape model, ASM),近年來廣泛地使用有基于回歸森林的方法[9]和基于深度學(xué)習(xí)的方法[10-11]。
車輛的行駛狀態(tài)很大程度上取決于駕駛員是否注意到行人,通過監(jiān)控駕駛員的注意狀態(tài),可以更加準(zhǔn)確地衡量碰撞危險(xiǎn)。結(jié)合對(duì)經(jīng)驗(yàn)豐富的駕駛員駕車行為的研究,本文提出一種基于車內(nèi)外視覺信息的行人碰撞預(yù)警方法,將行人狀態(tài)分析和駕駛員狀態(tài)分析同時(shí)加入模糊決策過程。本文的方法使用兩個(gè)單目相機(jī)分別獲取車外行人方位信息和車內(nèi)駕駛員頭部姿態(tài)信息,其中外部信息處理使用通道特征檢測(cè)器定位行人,根據(jù)單目視覺測(cè)距原理估計(jì)距離與角度,內(nèi)部信息處理使用級(jí)聯(lián)回歸方法定位面部特征點(diǎn),根據(jù)EPnP算法估計(jì)駕駛員頭部姿態(tài),利用模糊推理系統(tǒng)融合內(nèi)外信息對(duì)碰撞風(fēng)險(xiǎn)等級(jí)進(jìn)行評(píng)估,可以滿足系統(tǒng)決策的準(zhǔn)確性和時(shí)效性。
利用通道特征檢測(cè)器,可以從車輛前方的道路監(jiān)控視頻中判斷每一幀是否存在行人,并提取出行人在圖像中的位置,進(jìn)一步恢復(fù)出其在真實(shí)場景中的相對(duì)距離與角度,作為碰撞風(fēng)險(xiǎn)判斷的依據(jù)。
聚合通道特征(aggregated channel features,ACF)檢測(cè)器最早由Dollar等[12]提出,其結(jié)構(gòu)如圖1所示。檢測(cè)器的特征構(gòu)造利用色彩和梯度信息,選取LUV色彩空間3個(gè)通道、6個(gè)方向上的梯度直方圖通道和1個(gè)梯度幅值通道共10個(gè)通道圖像結(jié)合而成。對(duì)每個(gè)通道圖像上互不重疊的2×2的塊內(nèi)像素求和,通道的輸出為輸入通道每個(gè)圖像塊內(nèi)像素聚合構(gòu)成的特征池。分類器由4 096棵深度為4的決策樹通過軟級(jí)聯(lián)(soft cascade)方式[13]構(gòu)造而成,分類器的訓(xùn)練采用RealBoost算法在Caltech行人數(shù)據(jù)集上進(jìn)行。

圖 1 通道特征檢測(cè)器Fig. 1 Channel features detector
為了提高多尺度檢測(cè)的速度,利用相鄰尺度特征估計(jì)的方法構(gòu)造快速特征金字塔。定義為原始圖像I在尺度s處的特征采樣,為通道變換,文獻(xiàn)[10]通過對(duì)INRIA行人數(shù)據(jù)集圖片在不同尺度下提取的通道特征進(jìn)行統(tǒng)計(jì)分析,發(fā)現(xiàn)尺度s的通道特征與原始圖像通道特征之間滿足以下關(guān)系:


對(duì)于輸入的640像素×480像素大小的待檢測(cè)道路圖像,以間隔8個(gè)尺度的通道圖像精確計(jì)算,其余尺度的通道圖像近似估算的方式構(gòu)造特征金字塔,在不同尺度的特征圖上用64×32的滑動(dòng)窗口遍歷,用訓(xùn)練好的分類器對(duì)每個(gè)候選區(qū)域進(jìn)行判斷,輸出包含行人的窗口邊框坐標(biāo)及相應(yīng)的分類得分,最后用非極大值抑制(non-maximum suppression, NMS)消除重疊的窗口。

圖 2 單目視覺距離估計(jì)模型Fig. 2 Monocular vision distance estimation model



圖 3 行人檢測(cè)與距離估計(jì)結(jié)果Fig. 3 Pedestrian detection and distance estimation
為了計(jì)算頭部姿態(tài),首先需要建立面部形狀模型,得到精確的面部特征點(diǎn)坐標(biāo)。再根據(jù)面部幾何模型,利用特征點(diǎn)的幾何位置和幾何約束關(guān)系可以快速估算出頭部姿態(tài)的方向參數(shù)。
多任務(wù)級(jí)聯(lián)卷積網(wǎng)絡(luò)(multi-task cascaded convolutional networks, MTCNN)[9]是目前速度與精度最好的人臉檢測(cè)器之一。MTCNN由3個(gè)卷積網(wǎng)絡(luò)級(jí)聯(lián)構(gòu)成,分類器級(jí)聯(lián)可以大幅提升檢測(cè)速度,利用卷積網(wǎng)絡(luò)提取的更加高級(jí)的特征可以提高分類的準(zhǔn)確性,此外由于卷積網(wǎng)絡(luò)更好的區(qū)分能力,級(jí)聯(lián)框架的層數(shù)也會(huì)相應(yīng)地減少,從而降低整體的計(jì)算開銷。同時(shí)利用卷積神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)能力,實(shí)現(xiàn)人臉及特征點(diǎn)的聯(lián)合檢測(cè),網(wǎng)絡(luò)輸出臉部邊框坐標(biāo)和左眼中心、右眼中心、鼻尖和嘴巴兩端5個(gè)特征點(diǎn)的坐標(biāo)。
在計(jì)算機(jī)視覺中,物體姿態(tài)是指其相對(duì)相機(jī)的方向與位置。由于安置在車內(nèi)的相機(jī)鏡頭正對(duì)駕駛員面部,因而根據(jù)頭部姿態(tài)可以判斷駕駛員的注意方向。頭部姿態(tài)估計(jì)可以視為多點(diǎn)透視(perspective-n-point, PnP)問題,根據(jù)2D-3D特征點(diǎn)間的投影關(guān)系求解頭部姿態(tài)參數(shù)。
針孔相機(jī)模型如圖4所示。O-XYZ為相機(jī)坐標(biāo)系,F(xiàn)0-UVW為世界坐標(biāo)系坐標(biāo),為頭部三維模型上的某個(gè)特征點(diǎn),其對(duì)應(yīng)于圖像平面上的特征點(diǎn)為。為相機(jī)焦距,為相機(jī)光心。相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的對(duì)應(yīng)關(guān)系如下所示:

式中:R為旋轉(zhuǎn)矩陣,可以表示頭部姿態(tài); T為平移向量。

圖 4 頭部三維模型到圖像平面特征點(diǎn)的投影Fig. 4 Projection of 3D model of the head to the feature points of image plane
本文使用EPnP算法[15]求解姿態(tài)參數(shù)。EPnP算法利用4個(gè)虛擬控制點(diǎn)的線性加權(quán)表示實(shí)際參考點(diǎn)在相機(jī)坐標(biāo)系下的坐標(biāo),4個(gè)虛擬控制點(diǎn)為,則世界坐標(biāo)系中的參考點(diǎn)可以表示為

同理,相機(jī)坐標(biāo)系下對(duì)應(yīng)的參考點(diǎn)可以表示為



將旋轉(zhuǎn)矩陣轉(zhuǎn)換為姿態(tài)角pitch、yaw和roll,可以直觀地表示頭部朝向,其變換關(guān)系如下:

本文使用MTCNN輸出的左右眼中心、鼻尖、左右嘴角5個(gè)特征點(diǎn)作為參考點(diǎn),估計(jì)駕駛員頭部姿態(tài)角,結(jié)果如圖5所示。

圖 5 駕駛員頭部姿態(tài)估計(jì)Fig. 5 Head pose estimation of the driver
碰撞保護(hù)系統(tǒng)通常根據(jù)傳感器獲取的道路障礙物距離和速度信息計(jì)算碰撞時(shí)間(time to collision, TTC),當(dāng)碰撞時(shí)間小于閾值時(shí)做出警告。然而受到行車環(huán)境、駕駛員精神及身體狀態(tài)的影響,駕駛員對(duì)道路危險(xiǎn)的反應(yīng)時(shí)間存在差異,精確的數(shù)值分析有時(shí)反而會(huì)引起錯(cuò)誤的預(yù)警。實(shí)際道路中,經(jīng)驗(yàn)豐富的駕駛員并不會(huì)精確計(jì)算距離或碰撞時(shí)間,而是使用語義信息表達(dá)路況,例如用遠(yuǎn)、中、近、很近表示前方物體距離,用很快、快、適中、慢表示當(dāng)前車速等。可以近似認(rèn)為,駕駛員對(duì)于車輛前方潛在碰撞風(fēng)險(xiǎn)的估計(jì)都是基于一系列if-then規(guī)則做出的決策,并且判斷結(jié)果在大部分情況下已足夠準(zhǔn)確。
本文構(gòu)建一種基于道路和駕駛員信息的模糊推理系統(tǒng),對(duì)輸入信息進(jìn)行決策級(jí)融合輸出碰撞風(fēng)險(xiǎn)估計(jì),包括低風(fēng)險(xiǎn)(low-risk)、中等風(fēng)險(xiǎn)(midrisk)、高風(fēng)險(xiǎn)(high-risk)和極高風(fēng)險(xiǎn)(very-highrisk) 4個(gè)等級(jí)。系統(tǒng)的輸入為道路狀態(tài)信息和駕駛員狀態(tài)信息,式中道路狀態(tài)信息表現(xiàn)在行人與車輛間的縱向距離(Y_distance)和橫向距離(X_distance),駕駛員注意方向信息表現(xiàn)在頭部垂直方向轉(zhuǎn)角(pitch)和水平方向轉(zhuǎn)角(yaw)。模糊推理使用Mamdani規(guī)則,如式(11)所示:

為了降低論證的復(fù)雜性,取行人的縱向距離Y_distance與橫向距離X_distance,駕駛員頭部水平轉(zhuǎn)角yaw 3個(gè)輸入?yún)?shù)構(gòu)建模糊推理系統(tǒng)。輸入?yún)?shù)Y_distance與X_distance模糊化使用三角隸屬度函數(shù),其中Y_distance的模糊集論域?yàn)閇0,20],X_distance的模糊集論域?yàn)閇0, 5],在論域上的取值均為{close, mid, far},如圖6(a)和圖6(b)所示。輸入?yún)?shù)yaw模糊化使用高斯隸屬度函數(shù),模糊集論域?yàn)閇-30, 30],在論域上的取值為{left,center, right},如圖6(c)所示。系統(tǒng)輸出參數(shù)Risk設(shè)置{low, mid, high, veryhigh}4個(gè)等級(jí),模糊集論域設(shè)為[0, 1],使用高斯隸屬度函數(shù),如圖6(d)所示。

圖 6 模糊系統(tǒng)輸入輸出隸屬度函數(shù)Fig. 6 Input/output membership functions of fuzzy system
根據(jù)Mamdani規(guī)則構(gòu)建模糊推理規(guī)則,共設(shè)置27條模糊規(guī)則,涵蓋了輸入輸出參數(shù)在論域上的所有取值,具體如表1所示。
利用重心法進(jìn)行解模糊化,根據(jù)系統(tǒng)輸出的數(shù)值可以判斷出對(duì)應(yīng)的碰撞風(fēng)險(xiǎn)等級(jí)。由此構(gòu)建的模糊推理系統(tǒng)通過對(duì)車內(nèi)外環(huán)境下的多種輸入?yún)?shù)的模糊融合,可以為人車碰撞事故的預(yù)警提供一定的指導(dǎo)。和

表 1 模糊推理規(guī)則Table 1 Fuzzy inference rules
圖像采集使用安置在車內(nèi)的兩個(gè)單目相機(jī),其中一個(gè)相機(jī)安放在前擋風(fēng)玻璃后,鏡頭對(duì)準(zhǔn)前方道路,另一個(gè)相機(jī)安放在儀表盤上,鏡頭對(duì)準(zhǔn)駕駛員。為了提高系統(tǒng)的處理速度,視頻分辨率設(shè)為640×480。在實(shí)際道路采集的視頻中,選取車輛在路口轉(zhuǎn)彎時(shí)的30 s片段進(jìn)行分析,其中部分時(shí)間點(diǎn)采集的車內(nèi)外圖像如圖7所示。

圖 7 視頻不同時(shí)間點(diǎn)采集的車內(nèi)外圖像Fig. 7 Interior and exterior images collected at different time
根據(jù)第1~3節(jié)所述的方法對(duì)車內(nèi)外視頻進(jìn)行逐幀處理。在同步拍攝得到的圖像中,提取行人相對(duì)本車的縱向距離(Y_distance)和橫向距離(X_distance)作為道路狀態(tài)數(shù)據(jù),提取駕駛員的頭部方向角(pitch, yaw, roll)作為駕駛員狀態(tài)數(shù)據(jù),車輛內(nèi)外信息如圖8所示。

圖 8 行人與駕駛員狀態(tài)數(shù)據(jù)Fig. 8 Data of pedestrian and driver status
根據(jù)圖8所示數(shù)據(jù)對(duì)提出的碰撞預(yù)警方法進(jìn)行分析:1) 視頻開始處車輛駛?cè)肼房跍?zhǔn)備左轉(zhuǎn),此時(shí)未檢測(cè)到前方行人,駕駛員頭部水平轉(zhuǎn)角(yaw)在-12°~-10°之間,此時(shí)不存在風(fēng)險(xiǎn)。2) 在18~20 s時(shí)間段,駕駛員出現(xiàn)注意力不集中情況,頭部水平轉(zhuǎn)角(yaw)最大達(dá)到-30°,此時(shí)駕駛員頭部朝向左側(cè)。在同一時(shí)間段的道路圖像序列中檢測(cè)到2個(gè)行人,分別記為P1與P2。行人P1與車輛的縱向距離Y1_distance≈20 m,橫向距離X1_distance≈0.7 m;行人P2與車輛的縱向距離Y2_distance≈8 m,橫向距離 X2_distance≈2 m。3) 在28~30 s時(shí)間段,駕駛員頭部水平轉(zhuǎn)角(yaw)最大達(dá)到28°,駕駛員注意力集中于道路右側(cè)。與此同時(shí),道路圖像中檢測(cè)到行人P1,其縱向距離Y1_distance≈2 m,橫向距離 X1_distance≈4.5 m。
取行人的縱向距離Y_distance與橫向距離X_distance,駕駛員頭部水平轉(zhuǎn)角yaw 3個(gè)輸入?yún)?shù)構(gòu)建模糊推理系統(tǒng),如圖9所示。

圖 9 3個(gè)輸入(Y_distance, X_distance, Yaw)的模糊推理系統(tǒng)Fig. 9 Fuzzy inference system of three inputs (Y_distance, X_distance, Yaw)
通過模糊推理得到的碰撞風(fēng)險(xiǎn)等級(jí)解模糊平面如圖10所示。圖10(a)為t=19 s時(shí)的解模糊平面,模糊推理系統(tǒng)對(duì)行人P1的輸出為0.126 6,判斷為低風(fēng)險(xiǎn)(low-risk)等級(jí),對(duì)行人P2的輸出為0.647 1,判斷為高風(fēng)險(xiǎn)(high-risk)等級(jí)。圖10(b)為t=30 s時(shí)的解模糊平面,模糊推理系統(tǒng)的輸出為0.119 5,由此得到的碰撞風(fēng)險(xiǎn)等級(jí)為低風(fēng)險(xiǎn)(low-risk)。在 Core i5 CPU,8 GB RAM,GTX1060 GPU運(yùn)行環(huán)境下,該碰撞預(yù)警系統(tǒng)可以達(dá)到4~5 f/s的運(yùn)行速度,基本可以滿足實(shí)時(shí)性的要求。

圖 10 碰撞風(fēng)險(xiǎn)等級(jí)的解模糊平面Fig. 10 Defuzzified surface of the collision risk level
結(jié)合圖7中道路與駕駛員圖像,分析系統(tǒng)對(duì)于風(fēng)險(xiǎn)判斷的有效性:1) 在19 s處,車輛內(nèi)部信息表明駕駛員視線落在車輛左邊區(qū)域,無法有效掌握前方路況信息,因而處于危險(xiǎn)狀態(tài);車輛外部信息中,由于我國城市道路每條車道寬度為3.5 m,行人P1的橫向距離表明其在當(dāng)前車道內(nèi),但其縱向距離其余本車相距較遠(yuǎn),因而暫時(shí)處于低風(fēng)險(xiǎn)區(qū)域。行人P2的縱向距離已處在危險(xiǎn)距離內(nèi),橫向距離表明其距本車右側(cè)車道線較近,因而存在碰撞風(fēng)險(xiǎn),需要提醒駕駛員注意。2) 在29 s處,此時(shí)根據(jù)駕駛員頭部姿態(tài)可以判斷其未注意道路前方,視為危險(xiǎn)狀態(tài),然而行人P1的橫向距離表明其在本車右側(cè)車道且距離較遠(yuǎn),雖然縱向距離較近,實(shí)際路況為安全狀態(tài)。上述根據(jù)車內(nèi)外圖像分析的結(jié)果與模糊推理系統(tǒng)的輸出一致,說明本文提出的基于內(nèi)外視覺信息的行人碰撞預(yù)警方法較為可靠,可以在行車過程中為駕駛員提供輔助決策。
本文提出一種基于車內(nèi)外視覺信息的行人碰撞預(yù)警方法,利用兩個(gè)單目相機(jī)同時(shí)提取道路行人和駕駛員狀態(tài)數(shù)據(jù),通過模糊推理系統(tǒng)結(jié)合車輛外部行人信息與車輛內(nèi)部駕駛員信息進(jìn)行評(píng)估,給出當(dāng)前場景下的風(fēng)險(xiǎn)等級(jí),對(duì)可能發(fā)生的人車碰撞做出預(yù)判。在實(shí)際道路上的實(shí)驗(yàn)表明,該方法對(duì)于不同場景下的危險(xiǎn)判斷具有很好的效果,可以在駕駛員注意力不集中時(shí)提供有效的指導(dǎo)。然而由于視覺傳感器自身的限制,行人的定位非常依賴采集圖像的質(zhì)量,結(jié)合多種傳感器信息提升車輛外部信息獲取的可靠性還有許多需要進(jìn)一步開展的工作。