基于點聚類的車道線檢測方法
【專利摘要】本發明提供一種基于點聚類的車道線檢測方法,把Hough檢測直線的用到的坐標變換思想應用到我們的車道線檢測中,把車道線檢測轉化為對點的聚類;把直線從x?y坐標系映射到k?b坐標系以后,k?b坐標系中聚類點的中心位置至關重要,它包含了車道線位置和斜率信息,通過分析這些信息,可以有效提取車道線。本發明不在過分依賴于圖像的灰度信息,充分利用canny邊緣檢測到的邊緣信息,通過把直線從x?y坐標系映射到k?b坐標系對離散點進行聚類來提取車道線,實現對車道線的檢測。
【專利說明】
基于點聚類的車道線檢測方法
技術領域
[0001]本發明屬于圖像處理和模式識別領域,主要涉及車道線檢測技術。
【背景技術】
[0002]車道線檢測是通過合適的算法,從車道圖片中準確快速地找出車道線在圖片中的位置。從而車輛可以通過攝像頭的標定數據,計算出本車與車道線的相對位置,達到車道預警的目的。車道線檢測的算法好壞,直接影響車道偏離系統的性能。在實際中,現有的車道線檢測算法對于虛車道線容易穿線判斷的不穩定性。檢測出的車道反復在實車道線和虛車道線之間跳變,而且在錯誤檢測到實車道線時跟蹤會一直錯下去。
[0003]在數字圖像領域中,霍夫變換Hough是一種重要的形狀物體提取技術,尤其是對于直線、橢圓等具有良好的提取效果。該變換利用變換空間中的投票原則,得到特定形狀下的最佳圖像的相關參數值。霍夫變換的中心思想為:將一定形狀物體從一種空間轉換到另一種空間,從某一空間中特定的形狀特性轉變為另一空間內另一種更為方便計算的特性,然后利用投票原則,檢測出任意形狀的物體的相關參數值。
[0004]在一般χ-y坐標空間中,利用公式y = k*x+bS卩可表示任何一條直線,其中x、y為變量,表示直線中對應的X軸與y軸坐標,而k、b為標量,分別表示此直線的斜率與截距。
[0005]Hough變換的思想是轉換一種坐標系空間到另一坐標系空間,找到更能簡便計算直線的特性。將直線從x-y坐標系轉為k-b坐標系,即將直線從公式y = k*x+b變為公式b = -x*k+y。在此公式中,k、b為變量,分別表示k軸與b軸對應值,而x、y則為標量。如圖1所示,圖1(a)中x-y坐標空間中三點對應到圖1 (b)中k_b坐標系為3條線。同樣的,χ-y坐標空間中3條直線會對應k-b坐標系的3點。
【發明內容】
[0006]本發明所要解決的技術問題是,提供一種魯棒性更高的,利用霍夫變換來識別直線而從實現車道線檢測的方法。
[0007]本發明為解決上述技術問題所采用的技術方案是,基于點聚類的車道線檢測方法,包括以下步驟:
[0008]I)邊緣檢測步驟:截取行車圖像下半部分進行canny邊緣檢測,得到邊緣檢測后的圖像;
[0009]2)Hough直線檢測步驟:
[0010]對邊緣檢測后的圖像進行霍夫變換Hough直線檢測,通過設置最大直線間隙maxLineGap使得斷開的在同一條直線上的車道線連接起來;
[0011]3)圖像分割步驟:
[0012]將Hough直線檢測后的圖像水平等間隔均勻分割,在每個間隔中搜索直線,并且把搜索到的一段直線映射到k-b坐標系的一點上;
[0013]4)聚類步驟:對k-b坐標系上的點進行模糊c均值聚類;類的個數及為預設候選車道線的條數,每類的中心點位置便是候選車道線所對應的直線;
[0014]5)車道確定步驟:
[0015]在候選車道線中選擇離圖像豎直中心線最近的斜率大于零的左側車道線為正確的左側車道線,在候選車道線中選擇離圖像豎直中心線最近的斜率小于零的右側車道線為正確的右側車道線。
[0016]本發明把Hough檢測直線的用到的坐標變換思想應用到我們的車道線檢測中,把車道線檢測轉化為對點的聚類;把直線從x-y坐標系映射到k-b坐標系以后,k-b坐標系中聚類點的中心位置至關重要,它包含了車道線位置和角度(斜率)信息,通過分析這些信息,可以有效提取車道線。
[0017]本發明的有益效果是,提出了一種新的車道線檢測算法,不在過分依賴于圖像的灰度信息,充分利用canny邊緣檢測到的邊緣信息,通過把直線從X-y坐標系映射到k-b坐標系對離散點進行聚類來提取車道線,實現對車道線的檢測。
【附圖說明】
[0018]圖1為Hough變換示意圖。
[0019]圖2為車載攝像頭獲得的圖片。
[0020]圖3為canny邊緣檢測圖。
[0021]圖4為Hough直線檢測圖。
[0022]圖5為直線擴展圖。
[0023]圖6為分割圖像不意圖。
[0024]圖7為檢測結果圖。
【具體實施方式】
[0025]待檢測車道線的圖像如圖2所示,檢測方法在VS2010平臺C++編程實現,步驟如下:
[0026]1、canny 邊緣檢測
[0027]為了排除大量干擾信息,保留當前車道線信息,實施例選取圖像底端3/10部分進行canny邊緣檢測,從圖3中可以看到保留了車道線邊緣信息,但是仍有一些非車道線信息,并且還要確定在多車道情況下當前車輛所在車道。
[0028]2、Hough 直線檢測
[0029]對canny邊緣檢測處理后的圖像進行Hough直線檢測。通過設置Hough檢測直線中的最大直線間隙maxLineGap,使得斷開的在同一條直線上的車道線連接起來,結果如圖5,這對正確檢測虛車道線至關重要,因為這樣擴展了虛車道線的長度。
[0030]最大直線間隙用于判斷同樣斜率與截距的相互有間隙的兩條線段是否視為一條直線,如果這個間隙大于該值,則被認為是兩條線段,否則是一條maxLineGap設置的具體值本領域技術人員可以根據實際的虛車道線測試數據進行調整。本實施例這里設置為50。
[0031]3、分割圖像
[0032]將Hough直線檢測后的圖像水平均勻分割,如圖6所示。在每個小間隔中搜索直線,并且把搜索到的一段直線映射到k-b坐標系中的一個點,這樣k-b坐標系將得到一張散點圖。
[0033]4、聚類
[0034]對k-b坐標系得到一張散點圖,進行模糊c均值聚類。類的個數及為候選車道線的條數,中心點位置便是候選車道線所對應的直線,本實施例設置類的個數為4。
[0035]5、聚類問題轉化為在垂直方向上投影的求取
[0036]聚類是要把一堆離得很緊的點聚為一類,這相當于求取在垂直方向具有最大投影的直線,即為我們要檢測的車道線。但是考慮到干擾信息及虛車道線時有時無的特性,通過設置類的個數為4后,左右車道都可以保留兩條長度前兩名的車道候選線,選擇離圖像豎直中心線最近的左右兩條車道線,分別做運算(y2-yl)/(X2-Xl),左側結果大于零,右側結果小于零,即判為正確的車道線。如果當前兩條車道線不滿足一正一負的運算結果,再從未選擇的車道線中選擇一條與之前運算結果符號相反的車道線作為一條正確的車道線,另一條正確車道線為之前兩條符號相同且離中心線最近的車道線為當前車道線,如圖7所示。
【主權項】
1.基于點聚類的車道線檢測方法,其特征在于,包括以下步驟: I)邊緣檢測步驟:截取行車圖像下半部分進行canny邊緣檢測,得到邊緣檢測后的圖像; 2 )Hough直線檢測步驟: 對邊緣檢測后的圖像進行霍夫變換Hough直線檢測,通過設置最大直線間隙maxLineGap使得斷開的在同一條直線上的車道線連接起來; 3)圖像分割步驟: 將Hough直線檢測后的圖像水平等間隔均勻分割,在每個間隔中搜索直線,并且把搜索到的一段直線映射到k-b坐標系的一點上; 4)聚類步驟:對k-b坐標系上的點進行模糊c均值聚類;類的個數及為預設候選車道線的條數,每類的中心點位置便是候選車道線所對應的直線; 5)車道確定步驟: 在候選車道線中選擇離圖像豎直中心線最近的斜率大于零的左側車道線為正確的左側車道線,在候選車道線中選擇離圖像豎直中心線最近的斜率小于零的右側車道線為正確的右側車道線。2.如權利要求1所述基于點聚類的車道線檢測方法,其特征在于,截取行車圖像下半部分具體為截取行車圖像3/10部分。3.如權利要求1所述基于點聚類的車道線檢測方法,其特征在于,最大直線間隙maxLineGap 設置為50。4.如權利要求1所述基于點聚類的車道線檢測方法,其特征在于,聚類步驟中設置類的個數為4。
【文檔編號】G06K9/00GK105912977SQ201610195295
【公開日】2016年8月31日
【申請日】2016年3月31日
【發明人】解梅, 劉伸展, 張錦宇, 王博
【申請人】電子科技大學