本發(fā)明涉及車道線檢測與前方障礙物檢測方法。涉及圖像處理技術(shù)領(lǐng)域。
背景技術(shù):
車道線是最基本的交通標(biāo)志,同時(shí)也是車道偏離系統(tǒng)中一個(gè)基本、必須的功能。它不僅為導(dǎo)航提供參照,而且應(yīng)用于運(yùn)動(dòng)目標(biāo)檢測、汽車事故預(yù)警等功能。
絕大部分的車道偏離系統(tǒng)都將車輛在車道內(nèi)的橫向位置作為計(jì)算告警發(fā)生與否的一個(gè)基礎(chǔ)。這些系統(tǒng)可分為兩類:基于道路基礎(chǔ)構(gòu)造的系統(tǒng)以及基于車輛的系統(tǒng)。而基于單目視覺的車道線檢測屬于后者。基于車輛的車道偏離警告系統(tǒng)是利用機(jī)器視覺或紅外傳感器檢測車道標(biāo)識(shí)的位置,按照傳感器的安裝方式可分為俯視系統(tǒng)和前視系統(tǒng)。
1)俯視系統(tǒng)的優(yōu)勢就是在結(jié)構(gòu)化的道路上效率高并簡單易行,并有可能取得更高的定位精度,其缺點(diǎn)在于只能在結(jié)構(gòu)化的道路上使用;2)前視系統(tǒng)的優(yōu)勢在于利用更多的道路信息,在沒有道路標(biāo)識(shí)的道路上也可以使用。其不利因素就是用來定位車輛橫向位置的一些圖像特征點(diǎn)可能被其他車輛或行人干擾;2012年matthiaszobel等人提出了一種基于圖像的車道線檢測思想,可以在沒有車道線標(biāo)志存在時(shí)檢測實(shí)際的行駛邊界,但在使用單目視覺圖像時(shí)需要連續(xù)的生成圖像序列(uspatentno.9257045);2014年,teawonhan等人基于hough變換提出了一種直線車道線的檢測方法,但需要提前知道車道的寬度且不能對遠(yuǎn)區(qū)的彎曲車道進(jìn)行擬合(uspatentno.9245188);以上問題導(dǎo)致車道線檢測不準(zhǔn)確以及前方障礙物檢測精度低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)對車道線檢測不準(zhǔn)確以及前方障礙物檢測精度低的缺點(diǎn),而提出一種基于單目視覺的車道線與前方障礙物檢測方法。
一種基于單目視覺的車道線與前方障礙物檢測方法具體過程為:
步驟一、采用車載ccd攝像機(jī)獲取原始圖像,對原始圖像進(jìn)行灰度處理,得到灰度圖像;
步驟二、對灰度圖像進(jìn)行預(yù)處理,得到去除雜波后的二值化圖像;
步驟三、對去除雜波后的二值化圖像進(jìn)行基于霍夫變換的近半?yún)^(qū)車道線初始檢測和壓線報(bào)警檢測;
步驟四、根據(jù)步驟三得到的近半?yún)^(qū)車道線初始檢測線上的點(diǎn)坐標(biāo)對近視場車道線和遠(yuǎn)視場車道線進(jìn)行拋物線擬合,得到擬合車道線;
步驟五、對步驟四得到的擬合車道線內(nèi)進(jìn)行障礙物檢測。
本發(fā)明的有益效果為:
本發(fā)明首先輸入車載攝像機(jī)一幀圖像,而后進(jìn)行圖像二值化和圖像濾波,進(jìn)行車道線初始檢測,檢測是否壓線并判決報(bào)警,車道線擬合,障礙物檢測。通過對高速公路上汽車左右車道線的檢測與擬合及其前方車輛的檢測,該技術(shù)方案可實(shí)現(xiàn)車道偏離預(yù)警及前方障礙物預(yù)警,提醒駕駛者及時(shí)修正自己的駕駛方向及速度,提高駕駛安全性。
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種基于車載ccd攝像機(jī)獲取的qvga灰度圖像、機(jī)器視覺(machinevision)和圖像處理算法的車道線檢測與前方障礙物測距技術(shù)。本發(fā)明圍繞著高速公路車道偏離預(yù)警系統(tǒng)的系統(tǒng)建模理論、視覺感知算法、決策算法和實(shí)際實(shí)驗(yàn)驗(yàn)證這一研究主線進(jìn)行系統(tǒng)地分析,以期能夠更加快速,準(zhǔn)確的提供車道線和障礙物信息,提高駕駛安全性。解決了現(xiàn)有只能在結(jié)構(gòu)化的道路上使用、用來定位車輛橫向位置的一些圖像特征點(diǎn)可能被其他車輛或行人干擾、使用單目視覺圖像時(shí)需要連續(xù)的生成圖像序列、需要提前知道車道的寬度且不能對遠(yuǎn)區(qū)的彎曲車道進(jìn)行擬合的問題。
(1)灰度圖像二值化采用基于行的局部閾值分割,大幅度提高了分割的準(zhǔn)確性,具有更強(qiáng)的實(shí)時(shí)性和魯棒性。
(2)采用dld算法處理,有效提高車道線識(shí)別在陰雨天氣下的識(shí)別精度,經(jīng)過將經(jīng)典邊緣檢測算法處理圖與經(jīng)過dld算法處理后的結(jié)果圖比較后得知,由于大面積路面非車道線標(biāo)志物被去除,解決了車道線檢測不準(zhǔn)確以及前方障礙物檢測精度低的問題,本發(fā)明可以準(zhǔn)確檢測車道線,對車道線的檢測精度提高了15%左右;
(3)對左右兩個(gè)部分進(jìn)行梯形區(qū)域分割,霍夫變換的總計(jì)算量與分割區(qū)域的塊數(shù)近似成反比,將左右部分分割成小的區(qū)域,可以大幅度減少霍夫變換的總計(jì)算量;
(4)由霍夫變換檢測的兩條直線來確定感興趣區(qū)域(areaofinterest,aoi)。在這之后,我們便不需要對整個(gè)圖像區(qū)域進(jìn)行操作,只需要在此區(qū)間內(nèi)進(jìn)行后續(xù)操作即可。
(5)在車輛底部陰影檢測中,由于實(shí)際行駛環(huán)境錯(cuò)綜復(fù)雜,既有路況的變化,也有天氣、光照的變化,底部陰影很容易受到干擾,導(dǎo)致采用單一閾值二值化的處理效果下降,提取目標(biāo)特征的同時(shí)也會(huì)保留不少其他非感興趣的圖像元素,不利于后續(xù)識(shí)別。因此本發(fā)明采用自適應(yīng)雙閾值法檢測車輛底部陰影,然后再確定陰影位置,即可相應(yīng)確定前方車輛障礙物的位置。
由附圖2a、2b可以明顯看出車道線被明顯提取出來,附圖4a、4b說明濾波算法有效地去除了車道線以外的白色亮點(diǎn),達(dá)到了去噪的目的,附圖6a、6b、6c顯示應(yīng)用dld算法將道路信息中大片白色區(qū)域視為轉(zhuǎn)彎標(biāo)志而加以去除,僅留下車道線信息;圖6a為普通邊緣檢測算法處理后的圖,可見存在較大誤差;圖6b為本發(fā)明采用的邊緣檢測圖,較之傳統(tǒng)邊緣檢測方法邊緣提取更好,提高了一定準(zhǔn)確度,但與圖6c中dld算法處理后(后圖)比較明顯左轉(zhuǎn)彎標(biāo)識(shí)會(huì)對車道線檢測進(jìn)行干擾;附圖13表示將整條車道線擬合成功;附圖14a、14b體現(xiàn)車輛底部陰影檢測效果較為明顯,能夠很好地完成障礙物檢測的要求。
附圖說明
圖1為本發(fā)明流程圖;
圖2a為原始灰度圖;
圖2b為二值化處理效果圖;
圖3為近鄰法去除雜波流程圖;
圖4a為雜波處理前的二值化效果圖;
圖4b為近鄰法去除雜波后的二值化效果圖;
圖5為dld算法流程圖,dld為暗-亮-暗;
圖6a為普通邊緣檢測算法處理后的圖;
圖6b為本發(fā)明采用的邊緣檢測圖;
圖6c為本發(fā)明采用dld算法處理后實(shí)際效果圖;
圖7a為原始圖像點(diǎn)空間示意圖,hough為霍夫變換;
圖7b為對圖7ahough變換后的參數(shù)空間示意圖;
圖8為hough變換區(qū)域分割圖;
圖9a為左壓線情況示意圖;
圖9b為壓中間線情況示意圖;
圖9c為右壓線情況示意圖;
圖10為壓線判定流程圖;
圖11為圖像近場與遠(yuǎn)場區(qū)定義;
圖12a為初始檢測得到的車道線檢測算法示意圖;
圖12b為遠(yuǎn)區(qū)彎道檢測算法示意圖;
圖13為車道線擬合結(jié)果;
圖14a為原始灰度圖;
圖14b為采用自適應(yīng)雙閾值檢測法對車輛底部陰影檢測后的效果圖;
圖15為前方障礙物檢測算法流程圖。
具體實(shí)施方式
具體實(shí)施方式一:結(jié)合圖1說明本實(shí)施方式,本實(shí)施方式的一種基于單目視覺的車道線與前方障礙物檢測方法具體過程為:
步驟一、采用車載ccd攝像機(jī)獲取原始圖像,對原始圖像進(jìn)行灰度處理,得到灰度圖像;
步驟二、對灰度圖像進(jìn)行預(yù)處理,得到去除雜波后的二值化圖像;
步驟三、對去除雜波后的二值化圖像進(jìn)行基于霍夫變換的近半?yún)^(qū)車道線初始檢測和壓線報(bào)警檢測;
步驟四、根據(jù)步驟三得到的近半?yún)^(qū)車道線初始檢測線上的點(diǎn)坐標(biāo)對近視場車道線和遠(yuǎn)視場車道線進(jìn)行拋物線擬合,得到擬合車道線;
步驟五、對步驟四得到的擬合車道線的內(nèi)部進(jìn)行障礙物檢測。
具體實(shí)施方式二:本實(shí)施方式與具體實(shí)施方式一不同的是:所述步驟二中對灰度圖像進(jìn)行預(yù)處理;預(yù)處理包括灰度圖像二值化和濾波;得到去除雜波后的二值化圖像;具體過程為:
步驟二一、對灰度圖像進(jìn)行二值化預(yù)處理,得到二值化圖像;具體過程為:
步驟二二、對二值化圖像進(jìn)行濾波預(yù)處理,得到去除雜波后的二值化圖像。
其它步驟及參數(shù)與具體實(shí)施方式一相同。
具體實(shí)施方式三:本實(shí)施方式與具體實(shí)施方式一或二不同的是:所述步驟二一中對灰度圖像進(jìn)行二值化預(yù)處理,得到二值化圖像;具體過程為:
采用灰度閾值分割算法對灰度圖像每一行進(jìn)行處理,每一行灰度閾值定在每一行最大灰度值與該行平均灰度值之間,可以準(zhǔn)確的分割處車道與背景,即:rowavg[i]<t[i]<maxgray[i];
其中:rowavg[i]為第i行的平均灰度值;maxgray[i]為第i行的最大灰度值;t[i]為第i行灰度閾值;i取值為正整數(shù),比如240;
為了簡化算法的復(fù)雜性,選定一個(gè)比例因子r,0<r<1,定義
t[i]=rowavg[i]+(maxgray[i]-rowavg[i])*r
*為乘號(hào)。
其它步驟及參數(shù)與具體實(shí)施方式一或二相同。
具體實(shí)施方式四:本實(shí)施方式與具體實(shí)施方式一至三之一不同的是:所述步驟二二中對二值化圖像進(jìn)行濾波預(yù)處理,得到去除雜波后的二值化圖像;具體過程為:
采用近鄰法去除雜波,過程為:取二值化圖像的灰度值不為0的點(diǎn)p周圍8個(gè)點(diǎn)(9宮格中以點(diǎn)p為中心周圍的8個(gè)相鄰點(diǎn)),將二值化圖像分為近區(qū)(行數(shù)i∈[201,239],由于在c語言中行數(shù)從0開始算起,所以序號(hào)239是最近的一行)、中區(qū)(行數(shù)i∈[161,200])、遠(yuǎn)區(qū)(行數(shù)i∈[120,160])和極遠(yuǎn)區(qū)(行數(shù)i∈[i0,119])四個(gè)部分,0≤i0≤119;極遠(yuǎn)區(qū)中i0所對應(yīng)的行數(shù)可視實(shí)際情況而定,一般情況下我們并不需要處理全部的圖像區(qū)域;若二值化圖像處于近區(qū)時(shí)8個(gè)點(diǎn)中不為0的點(diǎn)數(shù)小于4則判斷點(diǎn)p為雜波并去除;若二值化圖像處于中區(qū)時(shí)8個(gè)點(diǎn)中不為0的點(diǎn)數(shù)小于3則判斷點(diǎn)p為雜波并去除;若二值化圖像處于遠(yuǎn)區(qū)時(shí)8個(gè)點(diǎn)中不為0的點(diǎn)數(shù)小于2則判斷點(diǎn)p為雜波并去除;若二值化圖像處于極遠(yuǎn)區(qū)時(shí)8個(gè)點(diǎn)中不為0的點(diǎn)數(shù)小于1則判斷點(diǎn)p為雜波并去除;得到去除雜波后的二值化圖像。如圖3。
二值化圖像共240行。
極遠(yuǎn)區(qū)中i0所對應(yīng)的行數(shù)可視實(shí)際情況而定,采用近鄰法來去除雜波。
其它步驟及參數(shù)與具體實(shí)施方式一至三之一相同。
具體實(shí)施方式五:本實(shí)施方式與具體實(shí)施方式一至四之一不同的是:所述步驟三中對去除雜波后的二值化圖像進(jìn)行基于霍夫變換的近半?yún)^(qū)車道線初始檢測和壓線報(bào)警檢測;具體過程為:
步驟三一、篩選車道線區(qū)域的;
步驟三一先進(jìn)行初步篩選,去除如車道轉(zhuǎn)向標(biāo)志這種大面積全白,僅剩車道線,隨后再進(jìn)行步驟三二的處理,即步驟三二所用圖像是經(jīng)過步驟三一dld算法處理過的圖像;
步驟三二、在步驟一的基礎(chǔ)上基于霍夫變換的近半?yún)^(qū)(第120行至239行)車道線初始檢測;
步驟三三、根據(jù)近半?yún)^(qū)車道線初始檢測結(jié)果在左右車道線都存在時(shí)采用壓線判定算法進(jìn)行壓線報(bào)警檢測。
左右車道線是道路上的,中間線是圖像沿y軸中心假想出得一條線,如果y軸長度是314,那中間線就是直線y=157。
其它步驟及參數(shù)與具體實(shí)施方式一至四之一相同。
具體實(shí)施方式六:本實(shí)施方式與具體實(shí)施方式一至五之一不同的是:所述步驟三一中車道線區(qū)域的篩選,過程為:
采用dark-light-dark,即dld算法,即車道線相對于左右兩邊的區(qū)域總是亮的(light),即車道線的左邊臨近區(qū)域比車道線要暗一些(dark),車道線的右邊鄰近區(qū)域也比車道線要暗一些(dark),包括以下步驟:如圖5;
1)確定參數(shù)
參數(shù)包括:由于車道線寬度是有限的,比如是l,這樣我們在某一行隨便選取一點(diǎn);
a、根據(jù)車道線在圖像中的寬度確定每一行dld操作時(shí)操作點(diǎn)與左右兩個(gè)領(lǐng)域點(diǎn)的距離;這個(gè)距離在圖像的近半?yún)^(qū)(i∈[120,239])可設(shè)置為固定值,如y方向距離為1;確定距離后面以這個(gè)距離為步長進(jìn)行處理,目的是去除如車道轉(zhuǎn)向標(biāo)志這種大面積全白的影響;
b、用于與灰度差的最小值作比較的門限值,這個(gè)門限值反映了車道線上的點(diǎn)與左右非車道線的點(diǎn)的亮度對比度,當(dāng)對比度高時(shí)該門限值取值較大,當(dāng)對比度低時(shí)取值則較小,例如晴朗的白天該門限值就可以取高一點(diǎn)的值如灰度差15,夜晚該門限值的取值則較小,如灰度差5;
2)計(jì)算去除雜波后的二值化圖像每行內(nèi)各點(diǎn)與相鄰左右固定距離點(diǎn)灰度差;
距離就是a求得距離;
3)求每行內(nèi)各點(diǎn)與相鄰左右固定距離點(diǎn)灰度差的最小值;
4)比較最小值與門限值大小,門限值如灰度差為15,若最小值大于門限值則保留該點(diǎn)的灰度值不變,若小于門限值則設(shè)置該點(diǎn)灰度值為零。
1)確定距離和門限值;2)的左右點(diǎn)實(shí)際上是要確定距離該點(diǎn)左右多少的點(diǎn)(舉例15個(gè)像素點(diǎn)),這個(gè)距離是a中根據(jù)車道線寬度確定的,確定好后與左右點(diǎn)做灰度差,是為了確定出車道線,只有車道線滿足在這個(gè)距離步長條件下比兩邊都亮(灰度值大)所謂dld就是暗亮暗;
算法中是取該點(diǎn)與左右灰度差的最小值,與門限值比較,大的保留,小的置0(變黑),實(shí)際絕大多數(shù)都會(huì)變黑,只有車道線上的中心線位置保留為白;
因?yàn)樗葍蛇?左右)都亮,使兩邊的灰度差都比較大;
車道線初始檢測和壓線報(bào)警
基于霍夫變換的車道線檢測是應(yīng)用最為廣泛的車道識(shí)別方法之一。它的基本思想是點(diǎn)-線的對偶性,即圖像空間里共線的點(diǎn)對應(yīng)參數(shù)空間里相交于一點(diǎn)的正弦曲線;反過來,參數(shù)空間相交于同一點(diǎn)的所有正弦曲線在圖像空間里都有共線的點(diǎn)與之相對應(yīng)。為了解決垂直直線斜率無窮大的問題,一般通過如下的直線極坐標(biāo)方程進(jìn)行霍夫變換,ρ=xcosθ+ysinθ,其中ρ為原點(diǎn)到該直線的距離,θ是過原點(diǎn)到該直線的垂線與x軸正向的夾角,表明直線的方向,具體操作為首先對參數(shù)空間中的參數(shù)ρ和θ的可能取值范圍進(jìn)行量化,根據(jù)量化結(jié)果構(gòu)造一個(gè)累加器a(ρmin:ρmax,θmin,θmax),并初始化為零;再對圖像空間中的給定點(diǎn)讓θ取遍所有可能值,計(jì)算出ρ根據(jù)ρ和θ的累加器:a(ρ,θ)=a(ρ,θ)+1;最后根據(jù)累加器a中的最大值所對應(yīng)的ρ和θ確定原圖像空間中的目標(biāo)直線。
其它步驟及參數(shù)與具體實(shí)施方式一至五之一相同。
具體實(shí)施方式七:本實(shí)施方式與具體實(shí)施方式一至六之一不同的是:所述步驟三二中基于霍夫變換的近半?yún)^(qū)車道線初始檢測,包含以下步驟:如圖7a、7b、8;
1)將二值化圖像近半?yún)^(qū)(第120行至239行)車道線平均分成左右兩個(gè)部分,將左半部分和右半部分分別用斜率為-1和+1的18條直線各分割為17個(gè)梯形區(qū)域;進(jìn)行區(qū)域分割的原因詳見下面的分析;
2)分別在左右部分按照從1到17的順序?qū)γ總€(gè)梯形區(qū)域內(nèi)的點(diǎn)運(yùn)用霍夫變換進(jìn)行直線檢測,得到霍夫變換檢測到的直線lhough,檢測時(shí)將車道線直線斜率對應(yīng)角度限制在[20,75]度之間;
3)設(shè)定門限,判定左右部分是否存在車道線,并估計(jì)出車道線直線的位置參數(shù);過程為:
如果某一個(gè)梯形區(qū)域中最長的直線對應(yīng)的霍夫變換積累點(diǎn)數(shù)不超過20個(gè)點(diǎn),則認(rèn)為不存在車道線,否則存在車道線并記錄下車道線直線對應(yīng)的斜率和截距,根據(jù)車道線直線對應(yīng)的斜率和截距,估計(jì)出車道線直線的位置;
在對近半?yún)^(qū)車道線進(jìn)行初始檢測后,便可由霍夫變換檢測的兩條直線來確定感興趣區(qū)域(areaofinterest,aoi)。在這之后,我們便不需要對整個(gè)圖像區(qū)域進(jìn)行操作,只需要在在此區(qū)間內(nèi)進(jìn)行后續(xù)操作即可。
其它步驟及參數(shù)與具體實(shí)施方式一至六之一相同。
具體實(shí)施方式八:本實(shí)施方式與具體實(shí)施方式一至七之一不同的是:所述步驟三三、根據(jù)近半?yún)^(qū)車道線初始檢測結(jié)果在左右車道線都存在時(shí)采用壓線判定算法進(jìn)行壓線報(bào)警檢測;如圖9a、9b、9c、10;過程為:
1)計(jì)算存在車道線區(qū)域下邊緣左車道線與中間線距離ao,ao值與閾值進(jìn)行比較以檢測是否左車道線壓線;若ao值小于閾值,則判定為左車道線壓線;若ao值大于等于閾值,則判定左車道線不壓線;
閾值為人為設(shè)定;(如在上述坐標(biāo)系情況下,ao大于等于100(y方向)則認(rèn)為不壓線)
2)計(jì)算存在車道線區(qū)域下邊緣左右車道線所圍三角形的兩個(gè)底角之和φ,若φ值小于角度閾值,則判定為車輛壓著中間的車道線;若φ值大于等于角度閾值,則判定為車輛不壓著中間的車道線;
所述角度閾值為60度;
3)計(jì)算存在車道線區(qū)域下邊緣右車道線與中間線距離bo,bo值與某閾值進(jìn)行比較以檢測是否右車道線壓線,若bo值小于閾值,則判定為右車道線壓線;若bo值大于等于閾值,則判定右車道線不壓線。
其它步驟及參數(shù)與具體實(shí)施方式一至七之一相同。
具體實(shí)施方式九:本實(shí)施方式與具體實(shí)施方式一至八之一不同的是:所述步驟四中對近視場車道線和遠(yuǎn)視場車道線進(jìn)行拋物線擬合,得到擬合車道線;如圖11、12a、12b;具體過程為:
分為兩個(gè)步驟來進(jìn)行:1)近視場車道線進(jìn)行直線擬合;2)遠(yuǎn)視場車道線進(jìn)行拋物線擬合;
選用的車道線模型為直線-拋物線模型:近視場區(qū)域?yàn)橹本€車道線模型,遠(yuǎn)視場區(qū)域?yàn)閽佄锞€車道線模型:
其中,a為近視場車道線擬合的常數(shù)項(xiàng)系數(shù),b為近視場車道線擬合的一次項(xiàng)系數(shù),c為遠(yuǎn)視場車道線擬合的常數(shù)項(xiàng)系數(shù),d為遠(yuǎn)視場車道線擬合的一次項(xiàng)系數(shù),e為遠(yuǎn)視場車道線擬合的二次項(xiàng)系數(shù);xm為道路圖像近視場和遠(yuǎn)視場的分界線,x>xm為圖像近視場,x≤xm為圖像的遠(yuǎn)視場,x_up_limit是在進(jìn)行遠(yuǎn)視場彎道檢測時(shí)所選擇的最遠(yuǎn)處,因?yàn)橐话愣攒嚨谰€并不總是延伸到圖像的最上邊緣;xm和x_up_limit的選擇依靠所獲得的道路圖像的大小和質(zhì)量,本發(fā)明假定xm的大小為驟一的灰度圖像高度的0.7倍;
近視場區(qū)域?yàn)橹本€車道線模型和遠(yuǎn)視場區(qū)域?yàn)閽佄锞€車道線模型的具體求解過程為:
(3a)(xn1,yn1),(xn2,yn2)…(xnm,ynm)為在近視場存在車道線區(qū)域內(nèi)搜索到的m個(gè)非零像素點(diǎn),近視場車道線直線擬合f(x)=a+bx的公式如下:
式中,xn1為近視場車道線直線n1點(diǎn)的橫坐標(biāo);yn1為近視場車道線直線n1點(diǎn)的縱坐標(biāo);xn2為近視場車道線直線n2點(diǎn)的橫坐標(biāo);yn2為近視場車道線直線n2點(diǎn)的縱坐標(biāo);xnm為近視場車道線直線nm點(diǎn)的橫坐標(biāo);ynm為近視場車道線直線nm點(diǎn)的縱坐標(biāo);m為近視場存在車道線區(qū)域內(nèi)的所有點(diǎn),取值為正整數(shù)正整數(shù);i為近視場存在車道線區(qū)域內(nèi)的點(diǎn),1≤i≤m;
(3b)(xf1,yf1),(xf2,yf2)…(xfn,yfn)為在遠(yuǎn)視場存在車道線區(qū)域內(nèi)搜索到的n個(gè)非零像素點(diǎn),遠(yuǎn)視場車道線拋物線擬合:
其中:
式中,xf1為遠(yuǎn)視場車道線直線f1點(diǎn)的橫坐標(biāo);yf1為遠(yuǎn)視場車道線直線f1點(diǎn)的縱坐標(biāo);xf2為遠(yuǎn)視場車道線直線f2點(diǎn)的橫坐標(biāo);yf2為遠(yuǎn)視場車道線直線f2點(diǎn)的縱坐標(biāo);xfn為遠(yuǎn)視場車道線直線fn點(diǎn)的橫坐標(biāo);yfn為遠(yuǎn)視場車道線直線fn點(diǎn)的縱坐標(biāo);yj為遠(yuǎn)視場點(diǎn)的縱坐標(biāo);xj為遠(yuǎn)視場點(diǎn)的橫坐標(biāo);j為遠(yuǎn)視場存在車道線區(qū)域內(nèi)的點(diǎn),1≤j≤n;n為遠(yuǎn)視場存在車道線區(qū)域內(nèi)的所有點(diǎn),取值為正整數(shù);
(3c)在進(jìn)行檢測近視場車道線上的點(diǎn)的坐標(biāo)時(shí),在霍夫變換檢測得到的直線lhough的兩側(cè)臨域內(nèi)各△y的范圍內(nèi)進(jìn)行實(shí)際車道線坐標(biāo)的搜索,并確定經(jīng)過預(yù)處理及dld算法處理后的圖像中每一行左右車道線內(nèi)側(cè)邊緣點(diǎn)對應(yīng)的點(diǎn)的坐標(biāo)(當(dāng)某行不存在車道線上的點(diǎn)時(shí),比如分段車道線中間的空隙行,則該行無記錄)。由于近區(qū)實(shí)際車道線與lhough在每一行的誤差相對較小,因此在lhough每行對應(yīng)的點(diǎn)坐標(biāo)的臨域內(nèi)檢測即可保證檢測到實(shí)際車道線點(diǎn)的坐標(biāo)。比如,△y0=25,一幅圖是一個(gè)矩陣,25就是矩陣?yán)?5個(gè)點(diǎn);
(3d)在進(jìn)行檢測遠(yuǎn)視場車道線上的點(diǎn)的坐標(biāo)時(shí),由于出現(xiàn)彎道,車道線并不總是在lhough的內(nèi)側(cè),首先在霍夫變換檢測得的直線lhough上點(diǎn)坐標(biāo)的左右臨域各△y0的范圍內(nèi)進(jìn)行實(shí)際車道線坐標(biāo)的搜索,設(shè)第n行l(wèi)hough上的坐標(biāo)為(xn,yn)h,實(shí)際搜索到的車道線坐標(biāo)對應(yīng)為(xn,yn);由于彎道車道線隨著向遠(yuǎn)方延伸不斷偏離lhough,如果根據(jù)lhough上的點(diǎn)坐標(biāo)在固定臨域△y0內(nèi)進(jìn)行搜索可能會(huì)丟失真實(shí)車道線上的點(diǎn),因此需要根據(jù)實(shí)際存在的車道線坐標(biāo)(xn,yn)與對應(yīng)的lhough上的坐標(biāo)(xn,yn)h進(jìn)行比較,計(jì)算其差值△yn,將此差值作為修正距離,不斷將步驟一的灰度圖像中上一行l(wèi)hough上的坐標(biāo)點(diǎn)(xn-1,yn-1)h修正為(x'n-1,y'n-1)h,即(x'n-1,y'n-1)h=(xn-1,yn-1)h+△yn,然后再以(x'n-1,y'n-1)h為基準(zhǔn)點(diǎn),在左右臨域各△y0的范圍內(nèi)進(jìn)行實(shí)際車道線坐標(biāo)的搜索,極大地提高了對彎道上實(shí)際點(diǎn)的檢測性能。
其它步驟及參數(shù)與具體實(shí)施方式一至八之一相同。
具體實(shí)施方式十:本實(shí)施方式與具體實(shí)施方式一至九之一不同的是:所述步驟五中對步驟四得到的擬合車道線的內(nèi)部(2條近視場車道線之間的區(qū)域)進(jìn)行車輛障礙物檢測;具體過程為:
經(jīng)過大量實(shí)驗(yàn)驗(yàn)證,投射到路面上的車輛下方的陰影是判斷車輛存在與否的一個(gè)非常穩(wěn)定的特征,
采用自適應(yīng)雙閾值法檢測車輛底部陰影,然后再確定陰影位置,即可確定前方車輛障礙物的位置;
其中自適應(yīng)雙閾值法的主要步驟包括:
1)利用索貝爾(sobel)算子計(jì)算出步驟一得到的灰度圖像的水平邊緣圖像;
2)在步驟一得到的灰度圖像存在車道線區(qū)域內(nèi)計(jì)算水平邊緣圖像每行內(nèi)的點(diǎn)在x軸上的投影均值,分為兩個(gè)步驟來進(jìn)行:1)對車道線區(qū)域內(nèi)每行上的點(diǎn)的灰度值進(jìn)行求和;2)將得到的和值除以對應(yīng)行左右車道線的寬度,即可得到每行灰度投影均值iav(i)。;
3)根據(jù)得到的水平邊緣圖像每行內(nèi)的點(diǎn)在x軸上的投影均值確定兩個(gè)用于判斷車輛底部陰影是否存在的閾值,即所謂的雙閾值,過程為:
通過對水平邊緣圖像每行內(nèi)的點(diǎn)在x軸上的投影均值乘以不同的常數(shù)系數(shù)得到雙閾值,分別用于經(jīng)過索貝爾(sobel)算子進(jìn)行水平邊緣強(qiáng)化后圖像的自適應(yīng)閾值ttreat和用于原始灰度圖像的自適應(yīng)閾值torigin;即
ttreat(i)=α·iav(i)
torigin(i)=β·iav(i)
式中,α為常數(shù)系數(shù);β為常數(shù)系數(shù);iav(i)為每行灰度投影均值;ttreat為進(jìn)行水平邊緣強(qiáng)化后圖像的自適應(yīng)閾值;torigin為用于原始灰度圖像的自適應(yīng)閾值;
計(jì)算每行灰度投影均值iav(i)分為兩個(gè)步驟來進(jìn)行,首先對存在車道線區(qū)域內(nèi)每行上的點(diǎn)的灰度值進(jìn)行求和,然后將得到的和值除以對應(yīng)行左右車道線的寬度(比如和值除以(左右車道線兩側(cè)邊緣之間的寬度)),即可得到每行灰度投影均值iav(i);
確定車輛底部陰影點(diǎn);
當(dāng)步驟一得到的灰度圖像上的點(diǎn)的原始灰度值小于torigin,并且該灰度圖像上的點(diǎn)經(jīng)過sobel算子進(jìn)行水平邊緣強(qiáng)化后的灰度值大于ttreat時(shí),該灰度圖像上的點(diǎn)才被認(rèn)為是陰影候選點(diǎn);
障礙物檢測,
a)在存在車道線區(qū)域內(nèi),計(jì)算陰影候選點(diǎn)在灰度圖像上每行向x軸的投影均值;
b)根據(jù)行數(shù)在步驟一的灰度圖像上的位置即離攝像頭位置的遠(yuǎn)近確定不同的門限值;
c)將某行的底部陰影投影均值與對應(yīng)行的門限值相比較確定某一行是否存在候選障礙物;當(dāng)某行的底部陰影投影均值大于等于對應(yīng)行的門限值時(shí),存在候選障礙物;當(dāng)某行的底部陰影投影均值小于對應(yīng)行的門限值時(shí),不存在候選障礙物。如圖15。
門限值取x/25(離攝像頭越近越大),0≤x≤239
圖像是一副以x,y為坐標(biāo)軸的“矩陣”,具體x,y的方向的定義前面已經(jīng)說過了,x是0-239之間的數(shù)。
其它步驟及參數(shù)與具體實(shí)施方式一至九之一相同。