一種道路車輛陰影特征提取方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于特征提取技術(shù)領(lǐng)域,尤其涉及一種道路車輛陰影特征提取方法,具體的涉及一種基于陰影直線融合的車輛陰影特征提取方法。
【背景技術(shù)】
[0002]隨著交通事業(yè)的高速發(fā)展,交通安全變得越來越重要。高級(jí)駕駛輔助系統(tǒng)(advanced driver assistance systems)中的前方車輛的檢測是系統(tǒng)的中心問題。車輛特征提取技術(shù)(Hypothesis Generat1n)是前方車輛檢測技術(shù)中的關(guān)鍵一環(huán),通過提取圖像中可能含有車輛的特征區(qū)域,實(shí)現(xiàn)高效車輛檢測。車輛的陰影特征是前方車輛底部連續(xù)且面積較大的陰影區(qū)域,圖像中的車輛陰影特征的平均灰度總是低于其鄰域且與車輛一一對(duì)應(yīng),其位于車輛底部,便于定位圖像中的前方車輛,因此陰影特征是道路車輛檢測中常用特征之一 O
[0003]現(xiàn)有的提取車輛陰影特征算法大多利用顏色分割的方法檢測和提取陰影區(qū)域,一般通過陰影閾值將原圖像進(jìn)行二值化處理,并在二值圖像中進(jìn)行圖像分割,通過對(duì)分割結(jié)果的形狀判斷找出近似矩形的區(qū)域,確定車輛陰影區(qū)域。這類方法對(duì)近距離車輛陰影檢測的準(zhǔn)確率較高,但是,對(duì)于遠(yuǎn)處車輛不太明顯的陰影,上述固定閾值的陰影區(qū)域分割提取和區(qū)域篩選算法極易產(chǎn)生漏檢,嚴(yán)重影響車輛檢測性能。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提出一種道路車輛陰影特征提取方法。
[0005]本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下:
[0006]一種道路車輛陰影特征提取方法,包括如下步驟:
[0007]步驟1:視頻數(shù)據(jù)的提取與預(yù)處理
[0008]1-1、從攝像頭讀取前方車輛的視頻數(shù)據(jù),對(duì)視頻數(shù)據(jù)中的每幀圖像進(jìn)行幾何約束限制;
[0009]設(shè)視頻數(shù)據(jù)中的原圖像A的寬和高分別為Aw、Ah,通過幾何約束限制對(duì)原圖像A進(jìn)行截取,獲得截取后的圖像B;圖像B的寬度為[Aw/4,3XAw/4],B的高度為[Ah/2-Ah/10,Ah-Ah/10];
[0010]1-2、提取HSV通道中的V分量作為單通道圖像VImg ;
[0011]1-3、提取單通道圖像VImg的二值化邊緣圖SImg ;
[0012]步驟2:陰影閾值計(jì)算
[0013]2-1、記錄單通道圖像VImg的寬度MaxWidth與長度MaxHeight,從底部開始掃描單通道圖像VImg的每一列,每列上找到一個(gè)像素點(diǎn)A,該像素點(diǎn)A使得二值化邊緣圖SImg在該像素點(diǎn)A的值為O ;
[0014]2-2、在同一列上,從該像素點(diǎn)A開始逐點(diǎn)向上掃描,計(jì)算相鄰兩個(gè)像素點(diǎn)的差值,若其中像素點(diǎn)B存在差值的突變?chǔ)?V,則記錄該列上像素點(diǎn)A到像素點(diǎn)B之間的距離highlndex,并將距離highlndex壓入高度隊(duì)列HVector ;
[0015]2-3、待所有列掃描完成后,保留單通道圖像VImg上每列中像素點(diǎn)A到像素點(diǎn)B之間的所有像素,保留的所有像素點(diǎn)形成路面圖RoadImg,對(duì)路面圖RoadImg進(jìn)行卷積求出均值mean與標(biāo)準(zhǔn)差stdev,并求出陰影閾值threshold:
[0016]threshold = mean-3 X stdev ;
[0017]步驟3:通過陰影閾值threshold提取影線
[0018]3-1、通過陰影閾值threshold,自底向上對(duì)單通道圖像VImg的每一行進(jìn)行掃描,具體掃描如下:
[0019]從左向右掃描單通道圖像VImg中的一行像素點(diǎn),如果掃描到的像素點(diǎn)P的灰度值小于陰影閾值threshold,且像素點(diǎn)P點(diǎn)未被包括到任意一條影線中,則認(rèn)定像素點(diǎn)P為陰影點(diǎn),并將像素點(diǎn)P作為一條影線的起始點(diǎn);
[0020]3-2、創(chuàng)建構(gòu)成影線的點(diǎn)集Cp;
[0021]將與像素點(diǎn)P同行且位于像素點(diǎn)P右側(cè)的像素點(diǎn)依次加入點(diǎn)集Cp,直至點(diǎn)集(;的平均灰度大于陰影閾值threshold或超出該行范圍,將點(diǎn)集Cp視為一條影線,記錄其左右端點(diǎn)(P,s)與行號(hào),并將該影線放入影線集合^中;
[0022]所述的s為該影線的終點(diǎn)的像素點(diǎn);
[0023]3-3、對(duì)影線的補(bǔ)全,如果像素點(diǎn)s右側(cè)1/5長度范圍內(nèi)存在陰影點(diǎn)i,則將從像素點(diǎn)s到像素點(diǎn)i之間的像素的灰度值設(shè)為陰影閾值threshold,重復(fù)步驟3_2 ;
[0024]步驟4:對(duì)影線集合SJi行分類,提取基準(zhǔn)影線
[0025]求出影線集合SsijIf每一條影線SL上鄰域和下鄰域的亮度均值Gb、Gl,并計(jì)算Gb與Gl的差值;如果Gb與Gl的差值大于陰影閾值threshold,則認(rèn)定該條影線SL為陰影區(qū)域底層的基準(zhǔn)影線BSLine,將其存儲(chǔ)于;如果Gb與Gl的差值小于等于陰影閾值threshold,則認(rèn)為其為普通影線FSL ;
[0026]所述的為存儲(chǔ)基準(zhǔn)影線的數(shù)據(jù)結(jié)構(gòu),是一個(gè)長度與單通道圖像VImg寬度相等的數(shù)組;當(dāng)需要存儲(chǔ)基準(zhǔn)影線BSLine時(shí),更新基準(zhǔn)影線BSLine范圍內(nèi)數(shù)組Bsij中的元素,該元素記錄了基準(zhǔn)影線BSLine的行號(hào)Row ;
[0027]所述的基準(zhǔn)影線BSLine范圍指從該基準(zhǔn)影線BSLine的起始點(diǎn)到終點(diǎn)的所有像素占.V,
[0028]步驟5:通過影線融合的方法獲取陰影區(qū)域
[0029]獲取與步驟4得到的普通影線FSL相匹配的基準(zhǔn)影線BSL ;根據(jù)普通影線FSL與基準(zhǔn)影線BSL位置關(guān)系進(jìn)行融合,從而擬合車輛陰影區(qū)域;
[0030]5-1、融合普通影線FSL與基準(zhǔn)影線BSL,當(dāng)Ien (OverRider) >0且HM〈 1 X I en (BSL) /9時(shí),則認(rèn)為普通影線FSL與基準(zhǔn)影線BSL之間存在匹配關(guān)系,其中Ien (OverRider)為普通影線FSL與基準(zhǔn)影線BSL的重疊區(qū)域OverRider的長度,HM為融合影線FSL與基準(zhǔn)影線BSL之間的高度差,Ien(BSL)為與普通影線FSL相匹配的基準(zhǔn)影線BSL的長度;設(shè)單通道圖像VImg寬度為MaxWidth,則融合后所得的基準(zhǔn)影線BSL的長度上限閾值 L 為 0.2 XMaxffidth ;
[0031]普通影線FSL與基準(zhǔn)影線BSL具體匹配處理如下:
[0032]設(shè)普通影線FSL的起點(diǎn)為P (Px, Y),終點(diǎn)為S (Sx, Y);
[0033]如果(Px,Sx)的區(qū)間內(nèi)不存在基準(zhǔn)影線BSL,或普通影線FSL的縱坐標(biāo)Y與基準(zhǔn)影線BSL的縱坐標(biāo)的高度差HM大于基準(zhǔn)影線BSL的長度Ien (BSL),則普通影線FSL與基準(zhǔn)影線BSL無法融合;因此計(jì)算普通影線FSL的水平邊緣均值Ve與長度Ien(FSL);若Ve大于50且Ien (FSL)小于長度上限閾值L,則將普通影線FSL視為一條基準(zhǔn)影線BSLine并更新Ba;否則將普通影線FSL丟棄;
[0034]如果(Px,Sx)的區(qū)間中存在基準(zhǔn)影線BSL,且基準(zhǔn)影線BSL的坐標(biāo)范圍未超出區(qū)間(Px, Sx),則表示普通影線FSL完全覆蓋了基準(zhǔn)影線BSL ;如果普通影線FSL的長度未超出長度上限閾值L,則更新基準(zhǔn)影線BSL的長度,使得基準(zhǔn)影線BSL覆蓋普通影線FSL ;如果在區(qū)間(Px,Sx)中存在多條基準(zhǔn)影線BSL,則將多條基準(zhǔn)影線BSL組合為一條基準(zhǔn)影線BSL,并將多條基準(zhǔn)影線BSL中高度最大值作為組合后基準(zhǔn)影線BSL的縱坐標(biāo);
[0035]所述的多條基準(zhǔn)影線BSL組合為一條基準(zhǔn)影線BSL具體如下:
[0036]記錄多條基準(zhǔn)影線BSL中最大的高度值M,然后將所有的基準(zhǔn)影線BSL刪除,將區(qū)間(Px,Sx)中元素全部置為M,表示一條高度為M,左右邊界與普通影線FSL相同的基準(zhǔn)影線BSL ;
[0037]如果普通影線FSL未完全覆蓋基準(zhǔn)影線BSL,則根據(jù)普通影線FSL與基準(zhǔn)影線BSL重疊區(qū)域的長度Ien(OverRider)與高度差HM決定是否融合影線;
[0038]如Ien (OverRider) <len (FSL) /2,且 HM>3 X Ien (FSL) /2,則更新普通影線 FSL,將普通影線FSL中與基準(zhǔn)影線BSL重疊的范圍刪除;否則認(rèn)定普通影線FSL存在于基準(zhǔn)影線BSL所決定的陰影區(qū)域中,更新基準(zhǔn)影線BSL的位置信息使其能夠完全包含普通影線FSL ;
[0039]所述的基準(zhǔn)影線BSL的位置信息的更新方法如