一種非結構化道路rgb熵分割方法
【專利摘要】本發明公開了一種非結構化道路RGB熵分割方法,屬于智能汽車輔助駕駛技術領域。本發明對非結構化道路彩色圖像,首先計算其RGB熵值矩陣,通過RGB熵值矩陣的直方圖,尋找最小直方圖差值,并計算閾值粗略識別道路區域和非道路區域,得到黑白識別結果圖像。然后,將黑白識別結果圖像劃分成多個方格,計算每個方格內黑白像素比例,并轉換成二值圖像,得到一個新的較小的圖像。最后采用輪廓跟蹤法搜索道路左右邊緣方格,并采用邊緣到邊緣的方法(side?to?side),精確搜索道路左右邊緣線,實現精準分割道路區域和非道路區域。本發明能較好分割非結構化道路,抗干擾能力強,對道路形狀不敏感,且計算量較小,符合無人駕駛系統實時性要求。
【專利說明】
-種非結構化道路RGB滴分割方法
技術領域
[0001] 本發明設及一種非結構化道路RGB賭分割方法,屬于智能汽車輔助駕駛技術領域。
【背景技術】
[0002] 車輛的自動駕駛系統是計算機視覺的一個重要應用領域,道路檢測算法是該領域 的關鍵技術之一。實際的道路可分為結構化道路和非結構化道路兩類。結構化道路一般有 明顯的車道線和道路邊界,檢測方法比較成熟。非結構化道路一般指結構化程度較低的道 路,運類道路沒有車道線和清晰的道路邊界,再加上陰影和水跡的影響,檢測難度相對較 大。
[0003] 目前,非結構化道路的檢測算法主要分為基于特征的方法、基于模型的方法、基于 神經網絡的方法和基于支持向量機的方法。基于特征的道路檢測算法,主要是根據道路在 顏色、紋理、梯度等特征上的不同,與非道路進行區分。其優點是對道路形狀不敏感,需要的 先驗知識少,但是對陰影和水跡較為敏感,處理計算量較大。基于模型的方法,首先需要找 到最匹配的道路模型,該方法檢測出的道路區域較為完整,但是對于復雜的路面形狀,無法 建立有效的模型。基于神經網絡的方法和基于支持向量機的方法,需要對樣本大量的訓練 集。
[0004] 鑒于此,開發一種能有效精確分割非結構化道路區域的方法尤為重要。
【發明內容】
[0005] 本發明的目的在于非結構化道路邊界難W精確界定,且易受陰影、道路中干擾物 的影響,提出了一種非結構化道路RGB賭分割方法,旨在解決現有對道路陰影、障礙物等干 擾,精確分割非結構化道路區域,且計算量符合無人駕駛系統實時性要求。
[0006] 本發明是一種非結構化道路RGB賭分割方法,具體通過W下步驟實現:
[0007] 步驟1、通過車載單鏡頭CC時暴像機獲取非結構化道路圖像。
[000引步驟2、首先計算非結構化道路圖像的RGB賭值矩陣。然后計算RGB賭值矩陣的直方 圖,尋找最小直方圖差值,并計算闊值化reshold。最后根據闊值,粗略識別道路區域和非道 路區域,得到黑白識別圖像。
[0009] 步驟2-1、對大小為M X N的道路彩色圖像,計算歸一化RGB各分量。
[0010] RA(i,j)=R(i,j)/(R(i,j)+G(i,j)+B(i,j))
[00"] GA(i,j)=G(i,j)/(R(i,j)+G(i,j)+B(i,j))
[0012] BA(i,j)=B(i,j)/(R(i,j)+G(i,j)+B(i,j))
[001引 式中,i = 0,...= 0,...,N-1。
[0014] 步驟2-2、計算RGB賭矩陣化GB,并將其取值變換到[0,255]之間,得到MXN的矩陣 Hrgb。
[001 引 HrgbU,j) =-RA(i,j) ? log2RA(i,j)-GA(i,j) ? log2GA(i,j)-BA(i,j) ? log2BA (i,j)
[0016]
[0017] 步驟2-3、對矩陣Hrgb/計算其灰度直方圖,得到f=[f(0),f(l),-',f(255)]。
[0018] 步驟2-4、計算直方圖差值cha。
[0019]
[0020] 式中,t = l,…,255。
[0021] 步驟2-5、從t = 255遞減尋找到t = l,通過尋找最小直方圖差值的方法,計算闊值 Threshold。
[0022]
[0023] 步驟2-6、對大小為MXN的彩色道路原圖像,將道路圖像分為兩類0(表示道路像 素)、255(非道路像素),得到大小為M X N的二值圖像WR,其像素值為O (i,j)。
[0024]
[00巧]其中,h(i,j)為矩陣化GB'中的值。
[0026] 步驟3、對步驟2-6所得的黑白圖像,劃分為多個方格,并計算方格內黑白像素比 例,最后轉換成二值圖像。
[0027] 步驟3-1、對步驟2-6所得到的大小為MXN黑白二值圖像WR,首先進行去除孤立白 色像素點處理,然后劃分為多個方格,如圖2所示。設定初始值t,將圖像分成qXr個方格:
[002引
[0029] 式中,。表示取整運算。
[0030] 考慮到(M/t,N/t)不一定是整數,顯然最后一行方格包含的像素行數為M-(Q-I)X t,最后一列方格包含的像素列數為N-(r-l) X t,其它方格包含的像素個數為t X t個。
[0031] 步驟3-2、計算每個方格黑白像素比例:
[0032] wp( i,j)=佩(i,j)/Nz(i,j)
[0033] 式中,i = l,…,q,j = l,…,r,Nw(i,j)和Nz(i,j)分別表示第i行,j列個方格中白色 像素和總的像素個數。
[0034] WP(i,j)取值在[0,1 ]之間,WP是一個維數為q X r的矩陣,乘W255,可W圖像的形 式顯示其結果。
[0035] 步驟3-3、將WP轉換成二值圖像。首先對WP進行去除孤立白色方格處理,然后設定 轉換闊值,將圖像轉換成二值圖像:
[0036]
[0037] 考慮到道路區域白點很少,故系數kcoef的選取比較小,通常設定為[0.01 0.。之 間。
[0038] 步驟4、在步驟3-3二值圖像中,采用輪廓跟蹤法捜索道路左右邊緣方格。捜索是在 大小為qXr的黑白二值圖像Wt中進行的。為便于區分,把qXr圖像中的一個像素,稱為一個 方格。捜索道路左右邊緣方格方法如圖3所示。
[0039] 步驟4-1、起始點選取底部中點,首先尋找道路的左邊邊緣方格。由底部中點向左 捜索,直到方格值為255或圖像第1列,記下相應方格位置(i,j)中的j值到Lef巧Oint. j中, 即記下道路左邊緣黑色方格列的位置;類似,向右捜索,并記下相應方格列值到 Ri曲巧Oint. j中。同時,使得該行[Lef巧Oint. j,Righ巧Oint. j]之間的方格取值為0,其它 方格取值為255。計算并存儲路寬W=RigthJ-Lef證Oint. j。
[0040] 步驟4-2、向上一格,即繼續捜索圖像上一行。首先是左邊道路邊緣的捜索。W步驟 4-1中的列位置Lef巧Oint. j為起始點。若當前方格(i-1 ,Lef巧Oint. j)為白色方格,則向右 繼續捜索,直到方格值為0結束,記下相應方格(i-1,j)中的j值到Lef證Oint. j中;若當前方 格為黑色方格,則向左繼續捜索,直到方格值為255結束,記下相應方格Q-I,j)中的j值到 Lef巧oint. j中。右邊道路邊緣的捜索類似。同時,使得該行[Lef巧oint. j,Righ巧oint. j] 之間的方格取值為0,其它方格取值為255。計算并存儲路寬W=Rigth. j-Lef證Oint. j。
[0041 ]步驟4-3、重復步驟4-2,直到路寬W小于設定闊值Wth為止,結束捜索。
[0042] 步驟5、在步驟2-6的黑白結果圖像中,結合步驟4的結果,按邊緣到邊緣的方法 (side-to-side),精確捜索道路左右邊緣線及實現精確分割道路區域和非道路區域。在步 驟4中(i ,Lef巧Oint. j)是在大小為qXr的圖像中捜索的結果,對應到大小為MXN的圖像 中,則表示第i行第Lef巧Oint. j個方格,是指白色和黑色方格交界處的黑色方格,如圖4所 示。每個方格都包含若干個像素。運里捜索道路左右邊緣線,是指在大小為MXN的圖像中 (即步驟2-6中的CO)捜索道路左右邊緣線,并提取道路區域。捜索道路左右邊緣線與區域分 割方法如圖4所示。
[0043] 步驟5-1、捜索左邊道路邊緣線,從圖像底部開始。W步驟4中捜索的結果方格(i, LeftPoint. j)為起始位置,從方格最底部最左端開始,向左捜索,直到像素值為255或圖像 第1列,結束捜索,記下相應的黑色像素位置(x,Lef巧Oint.y)。類似,向右捜索,并記下相應 黑色像素點位置(X,RightPo int.y)中。運里為了便于比較,使得X行,[LeftPo int.y, Righ證oint.y]列之間的像素取值為255,其它像素取值為原道路圖像。
[0044] 步驟5-2、在本方格中向上一行,重復步驟5-1,直到該方格所有行都捜索完成。
[0045] 步驟5-3、向上一個方格,從方格最底部開始捜索,重復步驟5-1、5-2,直到該方格 所有行都捜索完成。
[0046] 步驟5-4、重復步驟5-3,直到所有的黑色方格捜索完畢。
[0047] 有益效果
[0048] 本發明一種非結構化道路RGB賭分割方法通過計算道路圖像的RGB賭值,粗略區分 道路區域和非道路區域,然后采用邊緣到邊緣(side-to-side)法精確地分割道路區域和非 道路區域。與現有技術相比,該分割方法能精確分割非結構化道路,對道路陰影、道路障礙 物等有較強的抗干擾能力,且對道路形狀不敏感。同時計算量較小,符合無人駕駛系統實時 性要求。
【附圖說明】
[0049] 圖I是本發明一種非結構化道路RGB賭分割方法的實施流程圖;
[0050] 圖2是將道路圖像劃分為多個方格方法圖;
[0051] 圖3是采用輪廓跟蹤法捜索道路左右邊緣方格方法圖。
[0052] 圖4是采用邊緣到邊緣(side-to-side)法分割道路區域方法圖
[0053] 圖巧自結構化道路彩色原圖
[0054] 圖6是基于RGB賭值的非結構化道路粗略分割效果圖
[0055] 圖7是將圖6劃分為多個方格并計算其黑白像素比例所轉化成的二值圖像
[0056] 圖8是采用輪廓跟蹤法捜索道路左右邊緣方格效果圖
[0057] 圖9是采用邊緣到邊緣(side-to-side)法精確分割道路區域效果圖 [0化引圖10是采用mid-to-side方法分割道路區域效果圖
【具體實施方式】
[0059] 下面結合附圖和實施例對本發明做進一步說明和詳細描述:
[0060] 實施例:
[0061] 為了驗證該分割方法的有效性,在不同類型的非結構化道路場景下做了道路分割 實驗,并與mid-to-side方法道路圖像分割進行了比較。圖像的分辨率為695X950,具體實 施方法為:
[0062] 一、通過車載單鏡頭CO)攝像機獲取非結構化道路彩色圖像,如圖5所示。
[0063] 二、計算非結構化道路圖像的RGB賭值,并計算RGB賭值的闊值,粗略識別道路區域 和非道路區域,如圖6所示。
[0064] =、精確捜尋非結構化道路邊緣線及精確分割道路區域
[0065] 步驟1、計算第二步所得黑白二值圖像的黑白像素比例。
[0066] 步驟1-1、對第二步得到的大小為695X950黑白二值圖像,首先進行去除孤立白色 像素點處理,然后劃分為多個方格。設定初始值t = 8,將圖像分成87 X 119個方格。考慮到 (M/t,N/t)不一定是整數,顯然最后一行方格包含的像素行數為7行,最后一列方格包含的 像素列數為6列,其它方格包含的像素個數為8 X 8個。
[0067] 步驟1-2、每個方格黑白像素比例計算如下:
[006引 wp( i,j)=佩(i,j)/Nz(i,j)
[00例式中,i = I,…,q,j = I,…,r,佩(i,j)和Nz(i,j)分別表示第i行,j列個方格中白色 像素和總的像素個數。
[0070] 步驟2、將WP轉換成二值圖像。首先對WP進行去除孤立白色方格處理,然后設定轉 換闊值,將圖像轉換成二值圖像:
[0071]
[0072] 考慮到道路區域白點很少,故系數kcoef的選取比較小,運里取kcoef = 0.01。
[0073] 所得二值圖像如圖7所示。
[0074] 步驟3、義用輪廓跟蹤法捜索道路左右邊緣方格。捜索是在大小為87 X 119的黑白 二值圖像Wt中進行的。為便于區分,把大小為87X119圖像中的一個像素,稱為一個方格。所 得結果圖如圖8所示。
[0075] 步驟4、采用邊緣到邊緣(side-to-side)法精確捜索道路左右邊緣線與分割道路 區域。在步驟3中Q ,Lef巧Oint. j)是在大小為87X119的圖像中捜索的結果,對應到大小為 695X950的圖像中,則表示第i行第LeftPoint. j個方格,是指白色和黑色方格交界處的黑 色方格,如圖4所示。每個方格都包含若干個像素。運里捜索道路左右邊緣線,是指在大小為 695X950的圖像(即圖6)中捜索道路左右邊緣線,并分割道路區域。所得結果如圖9所示。為 增強與原始圖像的對比效果,道路區域用白色表示,其它區域保留原始圖像。為了比較分割 效果,圖10給出了 mid-to-side方法分割道路圖像的效果圖。
[0076] W上所述為本發明的較佳實施例而已,本發明不應該局限于該實施例和附圖所公 開的內容。凡是不脫離本發明所公開的精神下完成的等效或修改,都落入本發明保護的范 圍。
【主權項】
1. 一種非結構化道路RGB熵分割方法,其特征在于,包括下列步驟: 步驟1、采集道路彩色圖像。 步驟2、計算非結構化道路彩色圖像的RGB熵值,并計算RGB熵值的閾值,粗略識別道路 像素和非道路像素,得到黑白識別圖像。 步驟3、對所得黑白識別圖像,劃分成多個方格,并計算方格內黑白像素比例,得到一個 新的較小的圖像,轉換成二值圖像。 步驟4、在步驟3所得二值圖像中,采用輪廓跟蹤法搜索道路左右邊緣方格。 步驟5、在步驟2的黑白結果圖像中,結合步驟4的結果,按邊緣到邊緣的方法(side-to-side),精確搜索道路左右邊緣線,實現精準分割道路區域。2. 根據權利要求1所述方法,其特征在于,所述步驟2進一步包括以下步驟: 步驟2-1、對大小為M X N的道路彩色圖像,計算歸一化RGB各分量。 RA(i,j)=R(i,j)/(R(i,j)+G(i,j)+B(i,j)) GA(i,j)=G(i,j)/(R(i,j)+G(i,j)+B(i,j)) BA(i,j)=B(i,j)/(R(i,j)+G(i,j)+B(i,j)) 式中,i = 0,···,M_l,j = 0,···,N_1。 步驟2-2、計算RGB熵矩陣Hrgb,并將其取值變換到[0,255]之間,得到M XN的矩陣HRGB\ HRr,R(i , i) =-RA(i, i) · I oe-^RA(i , i)-GA(i , j) · log2GA( i, j)-BA( i, j) · log2BA(i , j) 步驟2-3、對矩陣HrJ計算其灰度直方圖,得到f = [f (0),f (I),…,f (255)]。 步碟2_4、計覚官方圖差借clia n式中,t = 1,…,255。 步驟2-5、從t = 255遞減尋找到t=l,通過尋找最小直方圖差值的方法,計算閾值 JJ^^pQhril H _步驟2-6、對大小為MXN的彩色道路原圖像,將道路圖像分為兩類0(表示道路像素)、 255(非道路像素),得到大小為M X N的黑白二值圖像WR,其像素值為ω (i,j)。 t其中,h(i,j)為矩陣Hrgb'中的值。3. 根據權利要求1所述方法,其特征在于,所述步驟3進一步包括以下步驟: 步驟3-1、對MXN黑白二值圖像WR,首先進行去除孤立白色像素點處理,然后劃分為多 個方格。設定初始值t,將圖像分成q X r個方格:式中,Pl表示取整運算。 步驟3-2、計算各方格黑白像素比例。每個方格黑白像素比例定義為: wp(i, j)=Nw(i, j)/Nz(i, j) 式中,i = I,…,q,j = I,···,r,Nw(i,j)和Nz(i,j)分別表示第i行,j列個方格中白色像素 和總的像素個數。 步驟3-3、將wp轉換成二值圖像。首先對wp進行去除孤立白色方格處理,然后設定轉換 閾值,將圖像轉換成二值圖像:考慮到道路區域白點很少,故系數k_f的選取比較小,通常設定為[0.01 0.1]之間。4. 根據權利要求1所述方法,其特征在于,所述步驟4進一步包括以下步驟: 步驟4-1、搜索是在大小為qXr的黑白二值圖像wt中進行的。為便于區分,把qXr圖像 中的一個像素,稱為一個方格。起始點選取底部中點,首先尋找道路的左邊邊緣方格。由底 部中點向左搜索,直到方格值為255或圖像第1列,記下相應方格位置(i,j)中的j值到 LeftPoint. j中,即記下道路左邊緣黑色方格列的位置;類似,向右搜索,并記下相應方格列 值到虹81^?〇;[111:.」中。同時,使得該行[1^;^?〇;[111:.」,1^81^?〇;[111:.」]之間的方格取值為0, 其它方格取值為255。計算并存儲路寬W=Rigth.j-LeftPoint.j。 步驟4-2、向上一格,即繼續搜索圖像上一行。首先是左邊道路邊緣的搜索。以步驟4-1 中的列位置Lef tPoint. j為起始點。若當前方格(i-I,Lef tPoint. j)為白色方格,則向右繼 續搜索,直到方格值為〇結束,記下相應方格(i-1,j)中的j值到Lef tPoint. j中;若當前方格 為黑色方格,則向左繼續搜索,直到方格值為255結束,記下相應方格(i-1,j)中的j值到 LeftPoint · j中。右邊道路邊緣的搜索類似。同時,使得該行[LeftPoint · j,RightPoint · j] 之間的方格取值為〇,其它方格取值為255。計算并存儲路寬W=Rigth. j-Lef tPoint. j。 步驟4-3、重復步驟4-2,直到路寬W小于設定閾值Wth為止,結束搜索。5. 根據權利要求1所述方法,其特征在于,所述步驟5進一步包括以下步驟: 步驟5-1、搜索道路左右邊緣線,是指在大小為MXN的二值圖像WR中搜索道路左右邊緣 線,并提取道路區域。搜索左邊道路邊緣線,從圖像底部開始。以步驟4中搜索的結果方格 (i,LeftPoint. j)為起始位置,從方格最底部最左端開始,向左搜索,直到像素值為255或圖 像第1列,結束搜索,記下相應的黑色像素位置(x,LeftP 〇int.y)。類似,向右搜索,并記下相 應黑色像素點位置(x,RightPoint.y)中。為了便于比較,X行[LeftPoint.y,RightPoint.y] 列之間的像素取值為255,其它像素取值為原道路圖像。 步驟5-2、在本方格中向上一行,重復步驟5-1,直到該方格所有行都搜索完成。 步驟5-3、向上一個方格,從方格最底部開始搜索,重復步驟5-1、5-2,直到該方格所有 行都搜索完成。 步驟5-4、重復步驟5-3,直到所有的黑色方格搜索完畢。
【文檔編號】G06T7/00GK106023180SQ201610322052
【公開日】2016年10月12日
【申請日】2016年5月17日
【發明人】李迎春, 付興建
【申請人】李迎春