程 凡, 毛 琳, 楊大偉
(大連民族大學(xué) 機電工程學(xué)院,遼寧 大連 116605)
隨著智能汽車的快速發(fā)展,各種汽車輔助駕駛系統(tǒng)應(yīng)運而生[1-2],車前行人距離作為行人安全判斷的重要標(biāo)準(zhǔn)之一而受到廣泛關(guān)注。現(xiàn)今的距離估計系統(tǒng)大部分難以推廣,距離獲取速度較低,開發(fā)一種簡單易行的距離估計算法已經(jīng)成為了刻不容緩的課題。
目前,應(yīng)用于智能交通領(lǐng)域的行人距離估計方法通常采用微波測距、超聲波測距、激光測距、紅外測距和計算機視覺等。文獻(xiàn)[3]利用IR-UWB微波雷達(dá)系統(tǒng)進(jìn)行測距,通過發(fā)射信號與回波信號的時間差對距離進(jìn)行估計,但該算法耗時較長,算法穩(wěn)定性較低;文獻(xiàn)[4]對原有超聲波測距算法進(jìn)行了改進(jìn),提升超聲波頻率,擴大采樣范圍,并通過提升算法復(fù)雜度降低了對硬件的需求,但由于超聲波的傳播速度較慢,無法保證算法的實時性;文獻(xiàn)[5]使用激光測距系統(tǒng)與集光定位系統(tǒng)兩部分共同完成距離估計,系統(tǒng)距離估計結(jié)果精準(zhǔn),但對環(huán)境與使用設(shè)備要求高,難以廣泛推廣;文獻(xiàn)[6]中通過設(shè)置多個紅外發(fā)射接收器對距離進(jìn)行估計,展現(xiàn)出了良好的實用性,造價低,反應(yīng)速度快,但僅可應(yīng)用于小范圍。機器視覺測距主要分為單目視覺測距與雙目視覺測距兩種方式。文獻(xiàn)[7]通過分析攝像頭內(nèi)部參數(shù)并將參數(shù)分解為兩個線性方程組,以數(shù)學(xué)的方式對距離進(jìn)行估計,降低了算法復(fù)雜度;文獻(xiàn)[8]將雙目立體視覺與紅外測距相融合,通過紅外測距法彌補了雙目立體視覺在距離估計范圍方面的不足。
本文提出一種基于單目視覺的行人身體多部件距離融合估計算法(M2DEA),對圖像中的信息進(jìn)行提取[9],在僅以單目攝像頭作為圖像獲取設(shè)備的前提下,利用行人身體特征進(jìn)行距離估計。本算法分別通過圖像中車前行人腳部件及頭部件像素高度估計距離,利用腳部件半水波形等距線及頭部件高度插值距離估計算法,融合兩種身體部件距離估計結(jié)果,避免了在復(fù)雜街道環(huán)境中行人身體部分被遮擋而無法實現(xiàn)距離估計的情況[10],增強了算法的穩(wěn)定性。
M2DEA算法以單目攝像頭作為圖像采集設(shè)備,利用不同身體部件特征進(jìn)行車前行人距離估計,邏輯圖如圖1。圖像輸入后首先通過兩點法校正,建立圖像坐標(biāo)系與世界坐標(biāo)系的聯(lián)系,之后將校正后圖像作為輸入獲取行人的腳、頭部件,通過在線距離估計與離線模型標(biāo)定兩部分,以線性最小方差為準(zhǔn)則進(jìn)行融合得到估計結(jié)果。
圖1 M2DEA算法邏輯圖
攝像頭在固定時由于環(huán)境等因素難以保證角度水平,造成了世界坐標(biāo)系與圖像坐標(biāo)系轉(zhuǎn)換的偏差,通過兩點法對圖像進(jìn)行校準(zhǔn)。
在攝像頭位置固定后,垂直于地面且經(jīng)過相機鏡頭光軸所在直線建立XOY平面,取一垂直于OY的直線L1L2;在L1L2上任取兩點D1、D2,D1、D2兩點應(yīng)在攝像頭可視范圍內(nèi)。標(biāo)定場景示意圖如圖2。D1D2在實際場景中處于水平,故校準(zhǔn)后兩點在圖像中仍應(yīng)處于水平線上,通過角度偏轉(zhuǎn)、圖像平移兩步實現(xiàn)D1D2在圖像中的水平關(guān)系。
圖2 標(biāo)定場景示意圖
采用兩點法對攝像頭獲取的圖像進(jìn)行校準(zhǔn),建立了實際場景與圖像之間的聯(lián)系,通過對場景中對應(yīng)點的標(biāo)記實現(xiàn)世界坐標(biāo)系與圖像坐標(biāo)系的轉(zhuǎn)換,保證了后續(xù)算法對圖像深度信息挖掘的準(zhǔn)確性。
半水波形等距線距離估計算法主要利用車前行人腳部像素位置作為特征對距離進(jìn)行估計。根據(jù)多次實驗結(jié)果可以得出,行人腳部件位置與距離之間滿足一定的對應(yīng)關(guān)系,且與攝像頭距離相同但位置不同的行人腳部像素位置呈水波形分布,故而提出半水波形等距線距離估計算法。經(jīng)多場景仿真測試,車前行人腳部件像素坐標(biāo)由相機擺放位置與行人距離共同決定,在道路平緩情況下,不受其他環(huán)境因素影響。故當(dāng)相機擺放位置固定時,車前行人腳部件像素坐標(biāo)將對應(yīng)唯一距離,通過線下生成二者對應(yīng)關(guān)系完成離線模型標(biāo)定過程,在線完成實時距離估計。
半水波形等距線距離估計算法主要分為離線模型標(biāo)定與在線距離估計兩部分。通過在實際場景中采集圖片,獲取行人腳部像素坐標(biāo)與距離的對應(yīng)關(guān)系完成離線模型標(biāo)定過程。在離線模型標(biāo)定過程中,需通過校正使得圖像坐標(biāo)系符合世界坐標(biāo)系準(zhǔn)則。建立半水波形等距線模型,完成離線模型標(biāo)定過程。在線距離估計中,通過能量濾波算法獲取待測圖像中行人腳部像素坐標(biāo),作為半水波形等距線距離估計法的輸入得到估計距離。
在離線模型標(biāo)定過程中,以ri(i=1,2,3, ...,n)為等距線半徑得到采集點,采集點數(shù)量為n(n∈Z+)。采集工作在圖像左側(cè)完成,等距線關(guān)于x=0.5·lx對稱,lx為圖像寬度,右側(cè)采集點通過左側(cè)點映射獲取。通過曲線擬合建立ri條等距線。擬合曲線如圖3。
圖3 半水波形等距線模型
曲線擬合方法采用最小二乘法,等距線方程為
i=1,2,3, ...,n。
(1)
式中:ai,bi和ci為曲線擬合系數(shù);xi和yi為圖像。像素坐標(biāo)系坐標(biāo)位置。同時,存在一條過原點O和A點的一次直線函數(shù):
yi=k·xi,i=1,2,3, ...,n。
(2)
將公式(1)和(2)聯(lián)立方程組,求出直線OA與全部等距線在第I象限的交點坐標(biāo):
(3)
(4)
行人腳部部件A點到原點O的像素距離點集為
(5)
對所得距離點集P中各元素應(yīng)用公式(6)插值,得出相對應(yīng)的一組行人目標(biāo)距離測量值d的對應(yīng)關(guān)系。
頭部件高度插值距離估計算法依靠頭部作為剛性部件的高度特征不變性對距離進(jìn)行估計。算法主要分為離線模型標(biāo)定與在線距離估計兩部分。通過實驗圖像獲取頭部像素高度與距離之間的對應(yīng)關(guān)系,提出剛性部件尺寸-距離插值法,完成離線模型標(biāo)定過程。在線距離估計中,通過超像素分割算法對圖像進(jìn)行處理,獲得頭部像素高度后,經(jīng)剛性部件尺寸-距離插值法獲取距離估計結(jié)果。頭部像素高度與距離對應(yīng)關(guān)系如圖4,橫軸為頭部的像素高度,縱軸為行人目標(biāo)與攝像頭之間的相對距離。
圖4 頭部件像素高度與相對距離關(guān)系
頭部像素高度與相對距離之間存在對應(yīng)關(guān)系,故對距離的獲取主要依賴于行人頭部高度。在街道場景中,由于背景過于復(fù)雜,行人頭部高度難以獲取,為解決該問題,本文采用超像素分割算法[11]來完成目標(biāo)行人頭部與背景的區(qū)分。首先通過DPM模型[12]檢測行人并劃分出頭部區(qū)域,超像素算法僅針對頭部區(qū)域內(nèi)圖像進(jìn)行處理,在去除頭部冗余像素的同時避免了實時性低的問題。頭部件高度獲取示意圖如圖5。
圖5 頭部件高度獲取示意圖
以O(shè)為端點任取一條射線OZ,并在該射線取n個標(biāo)定點,令行人目標(biāo)站在標(biāo)定點上,對n個行人目標(biāo)通過超像素算法對頭部高度hn進(jìn)行計算,利用Lagrange插值求取頭部高度-距離的關(guān)系。設(shè)n個頭部高度插值節(jié)點為p,相對應(yīng)的一組行人目標(biāo)距離的地標(biāo)點測量值d,頭部高度和距離的對應(yīng)關(guān)系即為求一個插值多項式H,滿足
(6)
本文并行處理相對獨立的頭部件與腳部件進(jìn)行距離估計,兩種算法互相校驗保證了算法的可靠性。同時,在人車混行的復(fù)雜環(huán)境中,身體部分部件極易被遮擋,通過不同身體部件進(jìn)行距離估計,降低了算法失效的可能性。算法通過線性最小方差融合準(zhǔn)則進(jìn)行,只需計算加權(quán)系數(shù),減小了計算負(fù)擔(dān)。
融合算法具體實施步驟如下:
(1)獲取距離估計結(jié)果。利用半水波形等距線距離估計算法及頭部件高度插值距離估計算法分別對同一位置上的行人進(jìn)行距離估計,獲取兩組等精度距離估計值。
(2)獲取標(biāo)準(zhǔn)差。利用等精度數(shù)據(jù)判斷兩種方法的穩(wěn)定程度,得出具體的標(biāo)準(zhǔn)差。由于單次測量精度相同,故其標(biāo)準(zhǔn)差均為σ。
(3)獲取權(quán)重。為保證算法穩(wěn)定性,融合權(quán)重系數(shù)主要以標(biāo)準(zhǔn)差為依據(jù)進(jìn)行判斷。給定基于頭部與腳部的測距算法所占權(quán)重分別為p1、p2,則各組算術(shù)平均值的標(biāo)準(zhǔn)差為
(7)
(4)獲取融合距離估計值。通過融合算法得出距離估計值D,頭部部件距離DH,腳部部件距離DF。
D=p1DH+p2DF。
(8)
仿真實驗在Matlab R2014a和Windows 7操作系統(tǒng)下進(jìn)行。圖像以單目攝像頭作為圖像采集設(shè)備,鏡頭中心與地面距離為1.4 m,符合大多數(shù)車輛車載攝像頭高度,仿真在目標(biāo)行人距離攝像頭5~35 m范圍內(nèi)完成。仿真在非遮擋條件與半遮擋條件兩種情況下進(jìn)行,當(dāng)身體部件被半遮擋時,可通過未被遮擋單一部件進(jìn)行距離估計。
累積誤差曲線如圖6,橫坐標(biāo)為測量距離,縱坐標(biāo)為累積誤差。融合后累積誤差低于單一算法的累積誤差值,該融合算法在距離估計準(zhǔn)確程度上優(yōu)于單一算法。
表1 身體多部件融合距離估計算法仿真結(jié)果
圖6 累積誤差曲線
仿真場景1、2在街道中進(jìn)行拍攝的結(jié)果如圖7。令五名目標(biāo)行人分別采取在路邊玩手機、面向攝像頭行走、橫穿斑馬線及橫穿車前的姿態(tài)。仿真場景2中令四名目標(biāo)行人采取面向車輛行走、從障礙物后走出、橫穿車輛前及背離車輛行走的姿態(tài)。
在半遮擋情況下,采集路障后與行車路中間兩個場景對單一行人進(jìn)行距離估計。在第一個場景中,行人腳部被路障遮擋,在第二個場景中,行人頭部被障礙物遮擋。仿真結(jié)果表明,本文提出算法在行人身體被部分遮擋的情況下,仍能輸出目標(biāo)行人與攝像頭之間的有效距離,確保本算法在智能汽車及行人危險預(yù)判等方面的應(yīng)用。
(a)仿真場景1 (b)仿真場景2
圖8 身體部件遮擋后距離估計
針對人車混行復(fù)雜環(huán)境中,自主汽車輔助駕駛系統(tǒng)對車前行人距離估計的問題,提出了單目視覺的行人身體多部件距離融合估計算法。依據(jù)行人身體特征進(jìn)行距離估計,分別通過腳、頭部件構(gòu)建半水波形等距線距離估計模型及剛性部件尺寸-距離插值模型。經(jīng)仿真驗證,本算法距離估計結(jié)果在35 m距離估計范圍中,誤差在1 m以內(nèi)。同時,在行人身體被半遮擋的情況下能夠?qū)π腥诉M(jìn)行有效的距離估計,在35 m范圍內(nèi),可將誤差控制在2 m以內(nèi)。本算法能夠為行人危險判斷提供有效的數(shù)據(jù)支撐,在智能汽車、無人車等研究領(lǐng)域中具有較強的應(yīng)用價值。