本發(fā)明涉及車輛輔助駕駛技術(shù)領(lǐng)域,特別是一種車道線的檢測(cè)方法及裝置。
背景技術(shù):
車道線指示了當(dāng)前道路的方向,車道線的定位在自動(dòng)駕駛車輛行駛方向的控制中起著重要作用。
車道線定位是指從圖像中尋找可能的車道線并通過(guò)確定其在圖像中的位置得到車道線在路面的位置。車道線定位目前的主要方法是基于Hough變換的直線檢測(cè),該方法可靠性高,對(duì)噪聲、變形有較強(qiáng)的適應(yīng)性,但是精度較低,且可能會(huì)產(chǎn)生部分冗余數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的是提出一種車道線的檢測(cè)方法及裝置。利用傅里葉變換的旋轉(zhuǎn)不變特性將原圖像中的直線或曲線變換為傅里葉譜中的尖峰,通過(guò)峰值檢測(cè)獲得不同車道線在原始圖像中的角度并利用旋轉(zhuǎn)后投影的方法計(jì)算給定車道線與圖像中心的距離,從而得到車道線在路面中的真實(shí)位置。
根據(jù)本發(fā)明一方面,提出了一種車道線的檢測(cè)方法,包括:
步驟S1:采集路面圖像,對(duì)所采集到的路面圖像提取邊緣圖像;
步驟S2:對(duì)邊緣圖像進(jìn)行二維離散傅里葉變換,并對(duì)得到的傅里葉譜進(jìn)行灰度操作,然后對(duì)灰度操作后的傅里葉譜進(jìn)行峰值檢測(cè),提取出峰值角度;
步驟S3:按照提取出的峰值角度以及邊緣圖像計(jì)算邊緣圖像中的車道線至車輛的距離,并將由角度、距離表征的直線由原始圖像投影到真實(shí)路面。
其中,步驟S1包括:
步驟S111:采集彩色路面圖像,對(duì)采集到的彩色路面圖像進(jìn)行灰度化處理;
步驟S112:對(duì)灰度化處理后的路面圖像運(yùn)用Sobel算子進(jìn)行邊緣檢測(cè),分別利用橫向及豎向的Sobel算子得到兩幅邊緣圖像,在后續(xù)步驟中對(duì)兩幅圖像分別進(jìn)行操作;
步驟S113:對(duì)邊緣檢測(cè)得到的邊緣圖像進(jìn)行預(yù)定大小的中值濾波;
步驟S114:對(duì)中值濾波后的邊緣圖像進(jìn)行形態(tài)學(xué)頂帽變換;
步驟S115:對(duì)形態(tài)學(xué)頂帽變換后的邊緣圖像進(jìn)行二值化處理,閾值的選取與邊緣圖像亮度值總和成正比。
其中,步驟S2中對(duì)得到的傅里葉譜進(jìn)行灰度操作包括:
步驟S211:將所述傅里葉譜四等分,對(duì)調(diào)左上角與右下角、左下角與右上角的模塊;
步驟S212:對(duì)對(duì)調(diào)后的傅里葉譜進(jìn)行對(duì)數(shù)變換;
步驟S213:對(duì)對(duì)數(shù)變換后的傅里葉譜進(jìn)行固定閾值的二值化處理。
其中,步驟S2中對(duì)灰度操作后的傅里葉譜進(jìn)行峰值檢測(cè)包括:
步驟S221:創(chuàng)建一個(gè)大小為180的一維數(shù)組,從0度開(kāi)始以1度為步長(zhǎng)一直增加到179度,對(duì)每一個(gè)不同的角度,將傅里葉譜進(jìn)行相應(yīng)角度的順時(shí)針旋轉(zhuǎn)并計(jì)算水平投影至豎軸中心區(qū)域的亮度之和,將所述亮度之和按照所述相應(yīng)角度存儲(chǔ)在所述一維數(shù)組中;
步驟S222:對(duì)所述一維數(shù)組進(jìn)行差分操作后提取出極大值的位置,并依據(jù)所述極大值的位置的絕對(duì)值大小、與其他極大值的位置關(guān)系判斷所述極大值對(duì)應(yīng)的角度是否合理。
其中,步驟S3中按照提取出的峰值角度以及邊緣圖像計(jì)算邊緣圖像中的車道線至車輛的距離包括:
步驟S311:按照所述峰值角度旋轉(zhuǎn)邊緣圖像;
步驟S312:對(duì)旋轉(zhuǎn)后的邊緣圖像向橫軸投影,計(jì)算各底部位置對(duì)應(yīng)的亮度和值;
步驟S313:計(jì)算所述亮度和值的最大值對(duì)應(yīng)的位置,該位置與底部中心的距離即為邊緣圖像中選定角度對(duì)應(yīng)的直線與邊緣圖像中心的距離。
其中,步驟S3中所述將由角度、距離表征的直線由原始圖像投影到真實(shí)路面包括:
步驟S321:利用棋盤方格標(biāo)定攝像頭,得到變換矩陣;
步驟S322:將原始圖像中已定位的直線上任意兩點(diǎn)通過(guò)變換矩陣投影到路面,依據(jù)投影后的兩點(diǎn)計(jì)算得出路面上車道線的真實(shí)直線方程。
根據(jù)本發(fā)明另一方面,提供了一種車道線的檢測(cè)裝置,包括:
提取模塊,用于采集路面圖像,對(duì)所采集到的路面圖像提取邊緣圖像;
角度檢測(cè)模塊,用于對(duì)邊緣圖像進(jìn)行二維離散傅里葉變換,并對(duì)得到的傅里葉譜進(jìn)行灰度操作,然后對(duì)灰度操作后的傅里葉譜進(jìn)行峰值檢測(cè),提取出峰值角度;
距離計(jì)算模塊,用于按照提取出的峰值角度以及邊緣圖像計(jì)算邊緣圖像中的車道線至車輛的距離,并將由角度、距離表征的直線由原始圖像投影到真實(shí)路面。
根據(jù)本發(fā)明另一方面,提供了一種車道線的檢測(cè)裝置,包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
采集路面圖像,對(duì)所采集到的路面圖像提取邊緣圖像;
對(duì)邊緣圖像進(jìn)行二維離散傅里葉變換,并對(duì)得到的傅里葉譜進(jìn)行灰度操作,然后對(duì)灰度操作后的傅里葉譜進(jìn)行峰值檢測(cè),提取出峰值角度;
按照提取出的峰值角度以及邊緣圖像計(jì)算邊緣圖像中的車道線至車輛的距離,并將由角度、距離表征的直線由原始圖像投影到真實(shí)路面。
本發(fā)明的效果是:本發(fā)明設(shè)計(jì)了從傅里葉譜提取車道線角度的方法,該方法使用邊緣檢測(cè)算子提取邊緣并計(jì)算其傅里葉譜,并通過(guò)窮舉各可能出現(xiàn)的角度值提取合格的峰值,提高角度提取的精度。本發(fā)明在邊緣提取后的圖像中引入了形態(tài)學(xué)操作,減少了路面反光對(duì)車道線定位的影響。在車道線距離提取階段,通過(guò)旋轉(zhuǎn)車道線對(duì)應(yīng)角度并向橫軸投影求和的方法計(jì)算極大值出現(xiàn)的位置,然后計(jì)算得出原始圖像中車道線距圖像中心位置的距離。
附圖說(shuō)明
圖1為本發(fā)明中車道線檢測(cè)的方法的整體流程圖;
圖2為本發(fā)明中的邊緣提取流程圖;
圖3為本發(fā)明中的車道線角度提取流程圖;
圖4為本發(fā)明中的車道線距離提取流程圖;
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明是一種車道線檢測(cè)的方法及裝置。本發(fā)明可以從圖像中獲取車道線的位置并將獲取的位置提供給車輛駕駛員或車載系統(tǒng),用以規(guī)劃車輛的行駛路徑。本發(fā)明以安裝在車輛上方的圖像傳感器為信息獲取來(lái)源,使用基于離散傅里葉變換的方法定位車道線。在預(yù)處理階段首先使用邊緣檢測(cè)算子、中值濾波及形態(tài)學(xué)操作進(jìn)行邊緣提取。對(duì)于邊緣提取后的圖像,使用基于快速傅里葉變換的二維離散傅里葉變換對(duì)其進(jìn)行峰值檢測(cè)提取出各車道線的角度。本發(fā)明的特點(diǎn)在于通過(guò)形態(tài)學(xué)操作減小了路面反光對(duì)于邊緣檢測(cè)的影響,并通過(guò)傅里葉譜對(duì)車道線角度完成了較為精確的估計(jì)。
本發(fā)明包含個(gè)三個(gè)處理過(guò)程,依次為邊緣提取、車道線角度提取、車道線距離提取。如圖1所示,該方法包括:
步驟S1:采集路面圖像,并對(duì)采集的路面圖像進(jìn)行邊緣提取;
步驟S2:對(duì)邊緣提取后的路面圖像進(jìn)行二維離散傅里葉變換得到傅里葉譜,并對(duì)得到的傅里葉譜進(jìn)行灰度操作,然后對(duì)其進(jìn)行峰值檢測(cè),提取峰值角度;
步驟S3:按照計(jì)算出的峰值角度以及利用邊緣提取后的圖像進(jìn)行距離計(jì)算,并將由峰值角度、距離表征的車道線由原始圖像投影到真實(shí)路面。
如圖2所示,步驟S1中邊緣提取階段的流程,包括:
步驟S111:采集路面上的彩色圖像,對(duì)采集的彩色圖像進(jìn)行灰度化處理;
步驟S112:對(duì)灰度化處理后的圖像運(yùn)用Sobel算子進(jìn)行邊緣檢測(cè),分別利用橫向及豎向的Sobel算子得到兩幅邊緣圖像,在后續(xù)步驟中對(duì)兩幅圖像分別進(jìn)行操作;
步驟S113:對(duì)邊緣檢測(cè)后的圖像進(jìn)行預(yù)定大小如3×3大小的中值濾波;
步驟S114:對(duì)濾波后的圖像進(jìn)行形態(tài)學(xué)頂帽變換;
步驟S115:對(duì)形態(tài)學(xué)處理后的圖像進(jìn)行二值化處理得到圖像邊緣提取結(jié)果,閾值的選取與圖像亮度值總和成正比。
步驟S2中傅里葉譜灰度操作步驟如下:
步驟S211:將計(jì)算得到的傅里葉譜四等分,對(duì)調(diào)左上角與右下角、左下角與右上角的模塊;例如,將傅里葉譜四等分為四個(gè)模塊,從上到下、從左到右分別為模塊1、2、3、4,對(duì)調(diào)后從上打下、從左到右的順序?yàn)槟K4、3、2、1;
步驟S212:對(duì)拼接后的傅里葉譜進(jìn)行對(duì)數(shù)變換;
步驟S213:對(duì)對(duì)數(shù)變換后的傅里葉譜進(jìn)行固定閾值的二值化處理。
如圖3所示,步驟S2中車道線角度提取階段的流程,步驟如下:
步驟S221:創(chuàng)建一個(gè)大小為180的一維數(shù)組,從0度開(kāi)始以1度為步長(zhǎng)一直增加到179度,對(duì)每一個(gè)不同的角度,將步驟S213中進(jìn)行了二值化處理的傅里葉譜進(jìn)行相應(yīng)角度的順時(shí)針旋轉(zhuǎn)并計(jì)算水平投影至豎軸中心區(qū)域的亮度之和,將和值按照其對(duì)應(yīng)的角度存儲(chǔ)在所述一維數(shù)組中;
步驟S222:對(duì)所述一維數(shù)組進(jìn)行差分操作后提取出極大值的位置,并依據(jù)所述極大值的絕對(duì)值的大小、與其他極大值的位置關(guān)系判斷所述極大值對(duì)應(yīng)的角度是否合理。所述極大值就是二維傅里葉圖像上的點(diǎn)投影到軸上時(shí)點(diǎn)的累積數(shù)的最大值;所述極大值對(duì)應(yīng)的角度指的是把二維傅里葉圖像往某一個(gè)軸投影,此時(shí)所對(duì)應(yīng)的這個(gè)軸的角度。車輛在道路上正常行駛時(shí),一般行駛方向與道路的夾角是有一定范圍的,同時(shí)這個(gè)夾角在短時(shí)間內(nèi)也不會(huì)有太大突變。
如圖4所示,步驟S3中車道線距離提取階段的流程,步驟如下:
步驟S311:按照計(jì)算得出的角度旋轉(zhuǎn)邊緣圖像;
步驟S312:對(duì)旋轉(zhuǎn)后的邊緣圖像向橫軸投影,計(jì)算各底部位置對(duì)應(yīng)的亮度和值;所述底部位置是X-Y坐標(biāo)系下的X軸上的坐標(biāo),旋轉(zhuǎn)后的車道線邊緣圖像點(diǎn)大致垂直于X軸,向X軸投影后可以獲得在X軸上累積最多的像點(diǎn),此時(shí)計(jì)算該像點(diǎn)到原點(diǎn)的距離就可以認(rèn)為是車輛中心到車道線的距離。
步驟S313:計(jì)算亮度和值的最大值對(duì)應(yīng)的位置,該位置與底部中心的距離即為邊緣圖像中選定角度對(duì)應(yīng)的直線與邊緣圖像中心的距離。
直線投影步驟如下(此處的直線投影指從攝像頭的圖像坐標(biāo)系到車輛的載體坐標(biāo)系的變換,之前都是在數(shù)字圖像平面進(jìn)行計(jì)算,最后要獲得距離參數(shù)需要變換到車輛的載體坐標(biāo)系,獲得以米或厘米為單位的物理量):
步驟S321:利用棋盤方格標(biāo)定攝像頭,得到變換矩陣;
步驟S322:將原始圖像中已定位的直線上任意兩點(diǎn)通過(guò)變換矩陣投影到路面,依據(jù)投影后的兩點(diǎn)計(jì)算得出路面上車道線的真實(shí)直線方程。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。