一種車道檢測方法
【技術領域】
[0001]本發(fā)明涉及車輛主動安全系統(tǒng)領域,具體涉及一種車道檢測方法。
【背景技術】
[0002]目前車道檢測主要用于智能車的開發(fā),大多用在智能車的視覺導航系統(tǒng)或車道偏離報警系統(tǒng)上,由于道路環(huán)境的復雜性,大多數(shù)車道檢測技術的研究就是基于結構化道路。結構化道路一般指高速公路和部分結構化較好的公路。這些公路上的車道線和道路邊界清晰,車道線一般為連續(xù)直線、曲線或短劃線。結構化道路的車道位置和形狀主要依靠檢測車道標線和車道邊界來獲得,這是因為在實際情況中,道路上的車道線容易被磨損,導致檢測困難,因此需要同時檢測車道標線和車道邊界才能準確確定車道的位置。
[0003]現(xiàn)階段車道識別的方法主要有兩種,圖像特征法和模型匹配法。圖像特征法的基本思想是利用道路邊界或標線與房屋、草地等其他背景在圖像特征上的差異進行道路檢測,這些特征包括形狀、灰度、紋理、顏色、對比度和不連續(xù)性等,主要的計算集中于圖像處理,以及如何進行特征值的感知分類,但光照變化、陰影遮擋、噪聲、道路邊界或者標志線不連續(xù)等因素都影響檢測的結果。另外,圖像特征提供的許多局部極值僅僅為最優(yōu)解決方案,車道特征的正確理解還要依賴于車道模型等高層知識。模型匹配法的基本思想是根據(jù)道路的先驗知識,利用二維或三維的曲線進行道路建模,結合視覺模型和圖像特征估計出車道模型參數(shù)。常見的二維車道模型有直線、樣條曲線和拋物線等形式。模型匹配法中經(jīng)常用來檢測直路車道的方法是Hough變化法。Hough變化可以檢測直線和連接處在同一直線上的點,可以用來檢測滿足解析式(x,y) =0形式的各種曲線,它的主要優(yōu)點是利用了圖像全局特性,因而受噪聲和邊界間斷的影響較小,魯棒性強。
[0004]申請?zhí)枮镃N201310534595.4的中國專利公開了一種實時車道線檢測方法,具體為通過當前幀消失點位置來確定感興趣區(qū)域,去掉沒有車道線的上半部分圖像,縮短了每幀圖像的處理時間。在感興趣區(qū)域從內向外,分為兩方向進行邊緣點掃描,每次檢測到的都是車道上距車輛最近的車道線的內側,除了其他邊緣點的干擾,不會因為車道線寬度而產(chǎn)生抖動,并且由于從消失點位置將圖片分為兩半檢測車道線,避免了對全圖檢測時,檢測到的兩條直線都在消失點一側的情況,提高了檢測的準確性。另外,該專利方法用Hough變換車道線檢測時,僅取與水平線一定夾角范圍內的直線,提高了檢測的準度,節(jié)省了計算不在范圍內直線Hough權值的時間。雖然該專利能快速準確穩(wěn)定地實現(xiàn)對高速公路上及路況較好的郊區(qū)公路車道線檢測,但在遇到彎道的情況下,無法確定消失點,即算法失效。
[0005]申請?zhí)枮镃N201410475019.1的中國專利公開了一種車道線檢測方法,包括以下步驟:首先將預處理后的圖像橫向分為K個邊緣圖像塊,且底端的邊緣圖像塊與整幅圖像的高度比例為[1/4,1/3],在所確定的消失線下方確定兩對以上離消失線最近的直線對作為當前邊緣圖像塊的候選直線對;再基于分別計算各候選直線對的權值,對存在候選直線對的邊緣圖像塊,取最大權值的直線對為當前邊緣圖像塊的唯一車道線段對;最后基于各邊緣圖像塊的車道線段對的端點,輸出當前幀圖像的車道線。該專利用于車道線檢測,其對初始化參數(shù)不敏感,檢測的魯棒性高,并且在光照較暗、車道線缺失以及有陰影等惡劣條件下均能得到良好的檢測效果,但該專利只能用于檢測直線。
[0006]因此,在本領域中,急需一種能夠處理彎道情況的且檢測效果良好、識別速度快且準確度高的車道檢測方法。
【發(fā)明內容】
[0007]本發(fā)明所要解決的技術問題是提供一種識別準確度率高,識別速度快,能夠識別彎道,能夠過濾地面標志噪音的車道檢測方法。
[0008]為解決上述技術問題,本發(fā)明采用的技術方案是:
[0009]—種車道檢測方法,其特征在于,包括以下步驟。
[0010]第一步驟:車輛攝像頭連續(xù)獲取車輛前方視圖影像。
[0011]第二步驟:截取某一幀圖像的車前部分區(qū)域,命名為Roil。
[0012]第三步驟:對Roil進行預處理,其包括把Roil的彩色圖轉換為灰度圖,通過IPM變換將Roil的圖像轉換成俯視圖,使用canny算法對Roil平滑噪音、平滑邊緣,以及計算邊緣圖。
[0013]優(yōu)選地,預處理模塊可以對Roil進行預處理。
[0014]第四步驟:對Roil做Hough變換,獲取直線。
[0015]優(yōu)選地,霍夫變換模塊可實現(xiàn)第四步驟的處理。
[0016]第五步驟:獲取所有兩兩相近不相交的直線,放棄非兩兩相近不相交的直線,并獲取兩兩相近不相交直線的中線,在中線中獲取所有具有亮度的直線,放棄中線中不具有亮度的直線。
[0017]優(yōu)選地,計算處理模塊可實現(xiàn)第五步驟的處理。
[0018]第六步驟:將首尾相近的直線連接成單條線條,并將所述線條集命名為CL集。
[0019]第七步驟:車道線與車道線之間有一定距離且保持相似斜率,對每條所述線條單獨計分,對距離相近且斜率相似的線特征的線條加分,對沒有所述線特征的線條減分,然后檢索下一幀圖像中的相近位置的線條,對具有所述線特征的線條加分,對沒有所述線特征的線條減分。
[0020]優(yōu)選地,加分模塊可實現(xiàn)第七步驟的處理。
[0021]第八步驟:重復執(zhí)行步驟S7直到出現(xiàn)得分超過車道線閾值的線條,則認為該線條可能為車道線,將該線條集命名為L集。
[0022]第九步驟:L集中所有線條斜率不互相沖突,則認為當前車道線已估算出,反之則重復步驟S7,直到L集中的所有線條斜率不互相沖突。
[0023]第十步驟:遍歷CL集,對能夠與L集中的線條組成車道線的線條加分,即是與L集中的線條距離在一定的閾值范圍且斜率相似在一定閾值范圍的線條,將得分超過車道線閾值的線條放入L集中。
[0024]第十一步驟:選取L集中的一條車道線L,檢測車道線L的內點,車道線內點應具有在灰度圖中有一定亮度和在Roil邊緣圖中且為2條直線中線上的點的點特征。
[0025]第十二步驟:根據(jù)車道線L上的內點集合,進行多項式擬合X = ao+aj+ajz+aj3,得到多項式P。
[0026]優(yōu)選地,計算處理模塊可實現(xiàn)第十二步驟的處理。
[0027]第十三步驟:在下一幀圖像中,使用跟蹤算法跟蹤多項式P,預測車道線,在CL集中尋找預測車道線附近的車道線,并根據(jù)找到的車道線位置更新多項式P。
[0028]優(yōu)選地,計算處理模塊可實現(xiàn)第八步驟至第十三步驟的處理。
[0029]進一步的,在跟蹤多項式P并在下一幀圖像中找到車道線后,則對當前幀圖像中對應的該條車道線加分,并控制得分不超過一個設定的常數(shù);如果未找到車道線,則對當前幀圖像中對應的該條車道線減分。
[0030]1.進一步的,在第四步驟中,對Roil做Hough變換時,如果直線數(shù)量小于預設閾值,則先使用高帽運算,再使用Hough變換獲取直線。
[0031]1.進一步的,所述第十一步驟中,檢測車道線L的內點的過程為:沿著車道線L的路徑自下而上求解內點,根據(jù)L上直線創(chuàng)建線性方程y = kx+b,從直線起點開始,y軸上相離一定距離處,根據(jù)線性方程計算出X坐標,并在該X坐標附近尋找具有車道線內點特征的點,根據(jù)起點與所述X坐標附近尋找具有車道線內點特征的點,更新線性方程中的k、b的值,并重新以所述X坐標附近尋找具有車道線內點特征的點為起點,結合所述線性方程繼續(xù)求得下一個點,重復計算,直至找不到具有車道線內點特征的點,此時再取L中下一條直線,繼續(xù)計算,直至找不到具有車道線內點特征的點并取盡L中的直線。
[0032]具體的是,所述第十一步驟中,檢測車道線L的內點的過程為:
[0033]1.L為多條線段連接而成,設為(IqU2,...^)
[0034]2.令 i = O
[0035]3.1i為線性方程(可表示為y = kx+b),計算k、b,取I ;的起點,(x 1; Y1)
[0036]4.Y2= y「d,(d 為常數(shù))
[0037]5.如果y2低于I 1+1的起點,則令i = i+Ι,并跳到3
[0038]6.如果y2到達Roil底部,則結束計算
[0039]7.X2= (y 2+b) /k,在X2附近尋找符合車道線內點特征的點。
[0040]8.根據(jù)(Xl,Yl),(x2, y2)可得新的線性方程,根據(jù)該方程更新k、b。
[0041]令X2= X。2= y !并跳到 4。
[0042]所述第十一步驟中,亮度閾值計算方法如下,取車道線L上線條上端點亮度并減去取值為20到30間的常數(shù)得到Cl,如果在上一幀中附近范圍檢測到車道線,其閾值CO,則對Cl、CO加權平均,求得最終閾值,反之則直接取Cl為閾值。
[0043]進一步的,所述第十三步驟中的跟蹤算法為卡爾曼濾波。
[0044]進一步的,在所述第二步驟中,還包括當處理完一幀道路圖像后,利用上一幀車道線識別結果,動態(tài)地調整感興趣的區(qū)域范圍,預測當前幀中車道線所在的區(qū)域,進而限定當前識別過程中圖像的搜索區(qū)域,進行下一次車道線的搜索。
[0045]進一步的,在所述第三步驟中,在獲取道路灰度圖像后,為了使車道線和非車道線分開,需要進行圖像分割處理,選取合適的圖像分割閾值。
[0046]進一步的,在所述第二步驟,截取某一幀圖像的車前部分區(qū)域,命名為Roil之后,還可以使用鄰域濾波平滑噪音、平滑邊緣,及使用邊緣檢測算法計算邊緣圖。領域濾波方框、高斯、中值、雙邊濾波;邊緣檢測算法包括Roberts Cross算子,Prewitt算子,Sobel算子,羅盤算子。
[0047]與現(xiàn)有技術相比,本發(fā)明的有益效果是車道識別準確度率高,識別速度快,能夠識別彎道,能夠過濾地面標志噪音。
【附圖說明】
[0048]圖1是根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的流程示意圖。
[0049]圖2是根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的車道俯視灰度圖。
[0050]圖3是根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的車道模糊化邊緣圖。
[0051]圖4是根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的帶有車道線內點的邊緣圖。
[0052]圖5是根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的擬合多項式方程示意圖。
[0053]圖6是根據(jù)本發(fā)明的第二實施例的一種車道檢測方法的流程示意圖。
【具體實施方式】
[0054]下面將結合附圖和【具體實施方式】對本發(fā)明作進一步的說明。本發(fā)明的目的是提供一種識別準確度率高,識別速度快,能夠識別彎道,能夠過濾地面標志噪音的車道檢測方法。
[0055]實施例1:
[0056]如圖1所示的根據(jù)本發(fā)明的第一實施例的一種車道檢測方法的流程示意圖。參見圖1,本發(fā)明的一種車道檢測方法包括以下步驟。
[0057]第一步驟S1:車輛攝像頭連續(xù)獲取車輛前方