matlab与逆透视变换,基于逆透视变换的车道线检测方法与流程
本發(fā)明屬計(jì)算機(jī)視覺、圖形處理技術(shù)領(lǐng)域,具體涉及一種通過照度不變及逆透視變換進(jìn)行車道線快速魯棒檢測的方法。
背景技術(shù):
車道線檢測作為自動(dòng)駕駛技術(shù)的第一個(gè)環(huán)節(jié),能夠有效感知車輛周圍世界,并獲取可行駛區(qū)域,是實(shí)現(xiàn)車道偏離預(yù)警、前車防碰撞等功能的前提和保證。針對(duì)車道線檢測,Jiang R等在文獻(xiàn)“Jiang R,Reinhard K,Tobi V,et al.Lane detection and tracking using a new lane model and distance transform[J].Machine Vision&Applications,2011,22(4):721-737.”中提出通過對(duì)車道建立三角約束,建立車道線模型,在經(jīng)過距離變換的圖像中,通過粒子濾波進(jìn)行對(duì)車道線的生長。這種方法只能處理兩邊道路同時(shí)有車道線時(shí)的情況,并且對(duì)陰影、噪聲等敏感性高。
針對(duì)陰影、噪聲等問題,Son J等在文獻(xiàn)“Son J,Yoo H,Kim S,et al.Real-time illumination invariant lane detection for lane departure warning system[J].Expert Systems with Applications,2014,42(4):1816-1824.”中提出使用基于色彩轉(zhuǎn)換不變性來對(duì)不同光照條件下、不用路面情況進(jìn)行處理的方法,但是其處理方式較為單一,不能很好的處理強(qiáng)陰影及高噪聲情況。并且該方法對(duì)于顏色轉(zhuǎn)換不變性只考慮了白色線與黃色線,對(duì)于可能出現(xiàn)的其他情況,例如由于照明條件不好導(dǎo)致車道線顏色與平時(shí)差距大等情況并沒有很好的魯棒性。
已有方法由于對(duì)現(xiàn)實(shí)世界的建模過于簡單,不能很好的實(shí)現(xiàn)快速魯棒實(shí)時(shí)檢測車道線,具有局限性。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有車道線檢測方法對(duì)實(shí)際場景適應(yīng)性不好、局限性高的問題,本發(fā)明提出了一種基于照度不變變換與逆透視變換的快速車道線檢測方法,在可能出現(xiàn)單一車道線及路面上具有大量陰影噪聲干擾的情況下,可以更好地進(jìn)行車道線檢測,滿足車道線檢測中對(duì)速度要求高以及對(duì)各種環(huán)境魯棒的要求。
一種基于逆透視變換的車道線檢測方法,其特征在于包括以下步驟:
步驟1:假設(shè)輸入圖像為IRGB=(IR,IG,IB),IR,IG,IB分別指輸入圖像的R、G、B通道,對(duì)輸入圖像按照如下公式進(jìn)行變換,得到變換后的顏色空間r和b:
r=log(IR/IG) (1)
b=log(IB/IG) (2)
步驟2:令照度獨(dú)立角度lθ從0度至90度逐度連續(xù)變化,按照對(duì)每一個(gè)lθ計(jì)算得到一個(gè)灰度圖像Igray,并按確定最優(yōu)的照度獨(dú)立角度其中,L為灰度圖像Igray的最大灰度級(jí),Hθ(i)為圖像中第i個(gè)灰度級(jí)對(duì)應(yīng)的像素個(gè)數(shù);再按照計(jì)算得到最終的照度不變變換后的灰度圖像
步驟3:按照事先定義好的道路位置在步驟2得到的灰度圖像中提取標(biāo)本小塊圖像,并計(jì)算其直方圖;計(jì)算灰度圖像中的任一大小與標(biāo)本小塊相同的小塊圖像的直方圖,并計(jì)算其與標(biāo)本小塊圖像直方圖的協(xié)方差;將協(xié)方差最小的30%的小塊歸為道路區(qū)域;
步驟4:使用泛洪填充算法對(duì)步驟3得到的道路區(qū)域進(jìn)行優(yōu)化,再利用形態(tài)學(xué)算法進(jìn)行邊緣檢測,得到道路區(qū)域的邊界,則邊界內(nèi)圖像為道路區(qū)域圖像;
步驟5:對(duì)步驟4得到的道路區(qū)域圖像進(jìn)行逆透視變換,再進(jìn)行邊緣檢測,得到二值圖像;
步驟6:利用Hough變換對(duì)二值圖像進(jìn)行計(jì)算,得到二值圖像中直線可能存在的位置及其出現(xiàn)次數(shù),選擇出現(xiàn)次數(shù)最多的n個(gè)位置的直線為車道線,對(duì)二值圖像中這些直線附近的點(diǎn)進(jìn)行三次曲線擬合,得到n條曲線,即為檢測出的車道線;一般取n為2,即檢測左右兩條車道線;所述的附近是指距離不超過3個(gè)像素。
本發(fā)明的有益效果是:由于將照度不變變換與逆透視變換相結(jié)合,可以有效解決復(fù)雜狀況下車道線的快速檢測;由于采用了逆透視變換,使得本發(fā)明方法具有更高的準(zhǔn)確率和更強(qiáng)的魯棒性。在一些極端情況下,如路面中有大量陰影以及曝光過度的情況下,可以達(dá)到更好的效果。
附圖說明
圖1是本發(fā)明的一種基于逆透視變換的車道線檢測方法流程圖
圖2是利用本發(fā)明方法進(jìn)行車道線檢測的結(jié)果圖
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明,本發(fā)明包括但不僅限于下述實(shí)施例。
如圖1所示,本發(fā)明的一種基于逆透視變換的車道線檢測方法,其實(shí)現(xiàn)步驟如下:
步驟1:假設(shè)輸入圖像為IRGB=(IR,IG,IB),IR,IG,IB分別指輸入圖像的R、G、B通道。對(duì)輸入圖像按照如下公式進(jìn)行變換,得到變換后的顏色空間r和b:
r=log(IR/IG) (3)
b=log(IB/IG) (4)
步驟2:對(duì)上一步得到的顏色空間r、b進(jìn)行如下變換得到灰度圖像:
其中,lθ為照度獨(dú)立角度,令lθ從0度至90度連續(xù)變化,則每一個(gè)lθ可以得到一個(gè)灰度圖像Igray。設(shè)L為灰度圖像Igray的最大灰度級(jí),Hθ(i)為第i個(gè)灰度級(jí)對(duì)應(yīng)的像素個(gè)數(shù)。利用如下公式確定最優(yōu)照度獨(dú)立角度
再將代入公式(5)得到最終的灰度圖像。
步驟3:在上一步得到的最終的灰度圖像中固定位置(即事先定義好的道路位置)提取標(biāo)本小塊圖像,并計(jì)算其直方圖;然后,對(duì)灰度圖像中任一個(gè)小塊(與標(biāo)本小塊大小相同),同樣計(jì)算直方圖,并計(jì)算其直方圖與標(biāo)本小塊圖像直方圖的協(xié)方差。
步驟4:對(duì)所有圖像小塊對(duì)應(yīng)的協(xié)方差,通過設(shè)定閾值的方式判斷每個(gè)圖像小塊屬于道路區(qū)域與否。閾值設(shè)定方法為下位百分比法,即取所有圖像小塊中與標(biāo)本小塊最相似的,即協(xié)方差最小的百分之三十作為道路區(qū)域。
步驟5:使用泛洪填充算法對(duì)得到的道路區(qū)域圖像進(jìn)行優(yōu)化,再利用形態(tài)學(xué)算法中的邊緣檢測方法進(jìn)行檢測,得到道路區(qū)域的邊界,則邊界內(nèi)圖像為道路區(qū)域圖像。
步驟6:對(duì)道路區(qū)域圖像進(jìn)行逆透視變換,得到俯視角度下的灰度圖像。
首先,利用已經(jīng)標(biāo)定好的攝像機(jī)參數(shù),生成參數(shù)矩陣。假設(shè)攝像機(jī)俯仰角為α,攝像機(jī)偏航角為β,焦距分別為fu、fv,cu、cv分別為圖像分辨率的一半,攝像機(jī)高度為h,則參數(shù)矩陣可寫為:
然后,對(duì)圖像中的每一個(gè)點(diǎn)(x,y),構(gòu)造向量P=[x,y,1,1T],則變換后的坐標(biāo)為Pnew=T·P,再將變換前與變換后的坐標(biāo)的顏色對(duì)應(yīng)起來即得到逆透視變換后的圖像,即俯視角度下的灰度圖像。
步驟7:對(duì)逆透視變換后的圖像進(jìn)行邊緣檢測,得到二值圖像。
步驟8:利用Hough變換對(duì)二值圖像進(jìn)行計(jì)算,得到二值圖像中直線可能存在的位置及其出現(xiàn)次數(shù)。
步驟9:選出出現(xiàn)次數(shù)最多的n個(gè)位置直線,這n個(gè)位置直線就對(duì)應(yīng)著n條車道線。在二值圖像中,對(duì)這n個(gè)位置直線附近的點(diǎn)(距離不超過3個(gè)像素)分別進(jìn)行三次曲線擬合(即三階曲線擬合),得到n條曲線,即檢測出的車道線。一般取n=2,即左右兩條車道線。
本實(shí)施例在中央處理器為i5-3470 3.2GHz CPU、內(nèi)存16G、WINDOWS 10操作系統(tǒng)上,運(yùn)用MATLAB軟件進(jìn)行仿真。仿真中使用的數(shù)據(jù)為自主采集的路面圖片。圖2是用本發(fā)明方法進(jìn)行車道線檢測的結(jié)果圖,可以看出,本發(fā)明方法具有較好的檢測效果,車道線定位的精度也很高。通過MATLAB仿真運(yùn)行,檢測速度超過了30幀每秒。總的來說,本發(fā)明方法具有檢測魯棒、速度好的特點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的matlab与逆透视变换,基于逆透视变换的车道线检测方法与流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Photoshop脚本 给图片添加噪点
- 下一篇: 交通灯管理系统I