一種車道線追蹤方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種車道線追蹤方法及系統(tǒng),屬于圖像處理【技術(shù)領(lǐng)域】。該方法包括:獲取車輛前方視頻幀圖像;根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖;根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線;根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。采用本發(fā)明,使得車道邊緣檢測在不同光照、天氣條件、不同的車道類型下均有良好的檢測效果,從而提高車道線追蹤的精確度。
【專利說明】一種車道線追蹤方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像處理【技術(shù)領(lǐng)域】,尤其涉及一種車道線追蹤方法及系統(tǒng)。
【背景技術(shù)】
[0002]車道偏離預(yù)警系統(tǒng),是一種通過報警的方式輔助駕駛員減少汽車因車道偏離而發(fā)生交通事故的系統(tǒng)。目前,車道偏離預(yù)警系統(tǒng)的實現(xiàn)方式都是基于計算機視覺的方法實現(xiàn),首先在采集的道路視頻圖像中識別車道線,再根據(jù)車輛位置與車道線的關(guān)系判斷是否發(fā)出偏離預(yù)警。然而,傳統(tǒng)的卷積核(如:Sobel, Canny, Roberts等算子),在多種車道類型,特別是車道存在污物、陰影,或破損,或路面有反光等干擾時,無法得到良好的檢測效果,導(dǎo)致車道線檢測精確度較低。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明要解決的技術(shù)問題是提供一種車道線檢測精確度較高的車道線追蹤方法及系統(tǒng)。
[0004]本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案如下:
[0005]根據(jù)本發(fā)明的一個方面,提供的一種車道線追蹤方法包括:
[0006]獲取車輛前方視頻幀圖像;
[0007]根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖;
[0008]根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線;
[0009]根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
[0010]優(yōu)選地,事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核包括:
[0011]獲取訓(xùn)練車道的樣本視頻圖像集;
[0012]對樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖;
[0013]對樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理;
[0014]對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類;
[0015]將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核;
[0016]其中,I為長,W為寬。
[0017]優(yōu)選地,根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖包括:
[0018]獲取幀圖像的灰度圖;
[0019]分別使用所有邊緣卷積核與灰度圖進(jìn)行卷積;
[0020]取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值;
[0021]將每一個像素點的數(shù)值歸一化,得到邊緣圖。
[0022]優(yōu)選地,根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線包括:[0023]根據(jù)前一幀獲取的車道線的位置,在邊緣圖中確定當(dāng)前幀的左、右初始車道線檢測區(qū)域;
[0024]將左、右初始車道線檢測區(qū)域分別劃分為至少兩個小檢測區(qū)域;
[0025]根據(jù)每個小檢測區(qū)域的邊緣圖數(shù)值和每個小檢測區(qū)域的像素點的總數(shù),確定精確車道線檢測區(qū)域;
[0026]從精確車道線檢測區(qū)域中獲取當(dāng)前幀的車道線。
[0027]優(yōu)選地,初始車道線檢測區(qū)域為前一幀獲取的車道線的兩端點分別在上邊和下邊上的平行四邊形;小檢測區(qū)域為將初始車道線檢測區(qū)域的上邊和下邊分別分割為N個小線段,將上邊的小線段分別與下邊的小線段相連形成NXN個面積相等的平行四邊形,其中,N大于2。
[0028]優(yōu)選地,從精確車道線檢測區(qū)域中獲取當(dāng)前幀的車道線包括:將確定為精確車道線檢測區(qū)域的小檢測區(qū)域的上下邊的中線作為當(dāng)前幀的車道線的邊緣線。
[0029]優(yōu)選地,上述方法還包括:
[0030]當(dāng)檢測到當(dāng)前幀的車道線位于車輛前方圖像的中間區(qū)域時,擴大每個小檢測區(qū)域,中間區(qū)域的寬度小于等于車輛前方圖像寬度的1/2 ;
[0031]當(dāng)檢測到車道寬度突變或者連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線后,重新確定左、右初始車道線檢測區(qū)域。
[0032]根據(jù)本發(fā)明的另一個方面,提供的一種車道線追蹤系統(tǒng)包括:
[0033]視頻采集模塊,用于獲取車輛前方視頻幀圖像;
[0034]邊緣檢測模塊,用于根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對視頻幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖;
[0035]車道線獲取模塊,用于根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線;
[0036]橫向位置輸出模塊,用于根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
[0037]優(yōu)選的,上述系統(tǒng)還包括學(xué)習(xí)模塊,用于事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核;學(xué)習(xí)模塊包括:
[0038]樣本圖像獲取單元,用于獲取訓(xùn)練車道的樣本視頻圖像集;
[0039]樣本邊緣檢測單元,用于對樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖;
[0040]歸一化單元,用于對樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理;
[0041]聚類單元,用于對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類,其中,I為長,w為寬;
[0042]變換單元,用于將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核。
[0043]優(yōu)選的,邊緣檢測模塊包括:
[0044]灰度圖獲取單元,用于獲取幀圖像的灰度圖;
[0045]卷積單元,用于分別使用所有邊緣卷積核與灰度圖進(jìn)行卷積;
[0046]數(shù)值獲取單元,用于取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值;
[0047]歸一化單元,用于將每一個像素點的數(shù)值歸一化,得到邊緣圖。
[0048]與現(xiàn)有技術(shù)相比,本發(fā)明的車道線追蹤方法及系統(tǒng),通過對半自動化標(biāo)定得到的車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí),獲取不同光照條件、天氣條件、以及不同的車道線類型(包括清晰及破損程度)下的多個邊緣卷積核。再利用多個邊緣卷積核對圖像進(jìn)行卷積,取多個卷積核的最大值作為邊緣檢測的結(jié)果。使得車道邊緣檢測在不同光照、天氣條件、不同的車道類型下均有良好的檢測效果,從而提高車道線追蹤的精確度。
【專利附圖】
【附圖說明】
[0049]圖1為本發(fā)明實施例提供的車道線追蹤方法流程圖;
[0050]圖2為本發(fā)明實施例提供的車道線識別系統(tǒng)組成示意圖;
[0051]圖3為本發(fā)明優(yōu)選實施例提供的邊緣檢測方法的流程圖;
[0052]圖4為本發(fā)明優(yōu)選實施例提供車道線獲取方法的流程圖;
[0053]圖5為本發(fā)明優(yōu)選實施例提供的初始左車道線檢測區(qū)域的示意圖;
[0054]圖6為本發(fā)明優(yōu)選實施例提供的初始左車道線檢測區(qū)域的劃分示意圖;
[0055]圖7為本發(fā)明優(yōu)選實施例提供的車道線追蹤方法的流程圖;
[0056]圖8為本發(fā)明優(yōu)選實施例提供的卷積核訓(xùn)練方法的流程圖;
[0057]圖9為本發(fā)明實施例提供的車道線追蹤系統(tǒng)的模塊結(jié)構(gòu)圖;
[0058]圖10為本發(fā)明優(yōu)選實施例提供的車道線獲取模塊的模塊結(jié)構(gòu)圖。
[0059]圖11為本發(fā)明優(yōu)選實施例提供的車道線追蹤系統(tǒng)的模塊結(jié)構(gòu)圖。
[0060]圖12為本發(fā)明優(yōu)選實施例提供的學(xué)習(xí)模塊的模塊結(jié)構(gòu)圖。
【具體實施方式】
[0061]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0062]實施例一
[0063]如圖1所示,本發(fā)明實施例提供的車道線追蹤方法包括:
[0064]S101、獲取車輛前方視頻幀圖像。
[0065]具體地,本步驟SlOl可以通過視頻采集設(shè)備,如通過一個或更多的攝像頭采集車輛前方圖像作為輸入。
[0066]請參閱圖2,車輛101在當(dāng)前的車道上行走,車輛的速度可以是任意的。車道線102和103分別代表左邊和右邊的車道線,視頻采集設(shè)備104被安裝在車輛101上,能獲取車輛前方的景象。視頻采集設(shè)備104包括至少一個攝像頭,并附有或可連接上顯示屏。為了確保視頻采集設(shè)備104的可視區(qū)域包括車道標(biāo)記102和103,視頻采集設(shè)備104要盡量安裝在車輛中間的位置。其中一種安裝的方法是將其固定在擋風(fēng)玻璃的頂部中間。
[0067]在本步驟SlOl之前,還包括安裝設(shè)定步驟,其目的是調(diào)整攝像頭,使它水平安裝在車輛的中間。具體地,在顯示屏上顯示一條橫線和兩條呈八字的對稱斜線,調(diào)整攝像頭位置和角度使橫線和前方遠(yuǎn)處的地平線重疊,并且斜線在近區(qū)的車道線附近位置。將八字對稱斜線作為初始幀的車道線進(jìn)行存儲,左邊斜線為左車道線,右邊斜線為右車道線,左右車道線分開存儲。雖然算法有自適應(yīng)的機制,能把些微設(shè)置誤差的影響排除,但此設(shè)定還是會對位置計算有決定性的影響,故此安裝以準(zhǔn)確為上。此安裝設(shè)定步驟在攝像頭位置有變化后才需要進(jìn)行,如果位置沒有變化則可忽略。
[0068]S102、根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖。
[0069]請參閱圖3,本步驟S102進(jìn)一步包括:
[0070]S1021、獲取幀圖像的灰度圖;
[0071]S1022、分別使用所有邊緣卷積核與灰度圖進(jìn)行卷積;
[0072]S1023、取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值;
[0073]S1024、將每一個像素點的數(shù)值歸一化,得到邊緣圖。
[0074]具體來說,首先把從視頻采集設(shè)備采集的彩色圖像轉(zhuǎn)換成灰度圖,然后通過訓(xùn)練好的邊緣卷積核進(jìn)行橫向邊緣檢測,對于車道左邊緣的檢測,使用卷積核Ku,KL2, L, KLn,而對于車道右邊緣的檢測,使用以下卷積核KK1,KE2, L, IV。
[0075]采用以上卷積核與灰度圖進(jìn)行卷積后,取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值,例如:灰度圖1經(jīng)過左邊緣卷積核卷積后的值為L =max(I*Ku,I*KL2, L, I*Kj,其中max取矩陣中逐點最大值;接著把每一點的數(shù)值歸一化,得到一幅邊緣圖。邊緣圖可以點陣圖表示,或以矩陣表示,每個元素是O至I之間的實數(shù),代表該點屬于邊緣的概率。其中,歸一化可以是以線性函數(shù)轉(zhuǎn)換y = (X-MinValue)/(MaxValue-MinVa lue),也可以用非線性函數(shù)來先排除數(shù)值小的邊緣,此處可使用所有能進(jìn)行歸一化的方法對數(shù)值進(jìn)行歸一化處理。
[0076]S103、根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線。
[0077]請參閱圖4,本步驟S103進(jìn)一步包括:
[0078]S1031、根據(jù)前一幀獲取的車道線的位置,在邊緣圖中確定當(dāng)前幀的左、右初始車道線檢測區(qū)域;
[0079]具體地,根據(jù)前一幀獲取的左車道線的位置,在左車道線邊緣圖中確定初始左車道線檢測區(qū)域,根據(jù)前一幀獲取的右車道線的位置,在右車道線邊緣圖中確定初始右車道線檢測區(qū)域。
[0080]請參閱圖5所示的初始左車道線檢測區(qū)域的示意圖,近區(qū)的車道線可以看做是直線,因此可以用兩個端點Hl1和Hl2來定義前一幀獲取的左車道線Hl1Hl2,初始左車道線檢測區(qū)域為平行四邊形,這兩個端點Hl1和Hl2分別也就是平行四邊形上下底的中點。初始左車道線檢測區(qū)域由上邊S1Id1,下邊a2b2、左邊a21a2和右邊Id1Id2組成。Hi1和m2也是上邊S1Id1和下邊a2b2的中點。
[0081]S1032、將左、右初始車道線檢測區(qū)域分別劃分為至少兩個小檢測區(qū)域;
[0082]具體地,將初始左、右車道線檢測區(qū)域分別劃分為N個小檢測區(qū)域,N大于等于2。以初始左車道線檢測區(qū)域為平行四邊形為例,在步驟S1032中,將平行四邊形的上邊和下邊分別分割為N個小線段,N大于等于2,將上邊的小線段分別與下邊的小線段相連形成NXN個面積相等的小平行四邊形。
[0083]請參閱讀圖6所示的初始左車道線檢測區(qū)域的劃分示意圖,把上下平行橫線各等分成N份線段,每份包含M個像素點,那么總共就有(N-1)個分割點。另外,加上線的頭尾端點,共有(N+1)個點。為方便說明,將這些點從左到右順序用英文字母命名,上平行橫線的點為 a1; C1, (I1, e1; Hi1, fv g!,Ii1, Id1,而下平行橫線的點貝丨』定義為 a2, c2, d2, e2, m2, f2, g2, h2, b2,上平行橫線的每一個點都可以跟下平行橫線的點連成直線,分成很多小平行四邊形,例如B1B2C2C1, B1C2Cl2C1, S1C^e2C1,…等NXN個小平行四邊形。理論上每個小平行四邊形的面積是一樣的,但實際上因為圖像邊界的原因,車道線區(qū)域可能有部分不在圖像的范圍內(nèi)。對于640X480的圖像,建議N = 9,M = 5,實際的數(shù)值定義可因應(yīng)圖像解析度調(diào)節(jié)。
[0084]S1033、根據(jù)每個小檢測區(qū)域的邊緣圖數(shù)值和每個小檢測區(qū)域的像素點的總數(shù),確定精確車道線檢測區(qū)域。
[0085]具體地,將每個小檢測區(qū)域中所有像素點的邊緣圖數(shù)值加起來再除以每個小檢測區(qū)域中像素點的總數(shù),每個小檢測區(qū)域都會得到一個數(shù)值,這個數(shù)值代表了這個小檢測區(qū)域包括車道線的機會率,數(shù)值越大,機會率越大,選取數(shù)值最大的小檢測區(qū)域為精確車道線檢測區(qū)域。精確車道線檢測區(qū)域包括精確左車道線檢測區(qū)域和精確右車道線檢測區(qū)域。
[0086]S1034、從精確車道線檢測區(qū)域中獲取當(dāng)前幀的車道線。
[0087]具體地,在區(qū)域內(nèi)最有可能包含車道線左邊界和右邊界的小平行四邊形找出來后,如果左右邊界都能找到并且左右邊界的距離在設(shè)定的范圍內(nèi),則判斷車道線找到,將確定為精確車道線檢測區(qū)域的小檢測區(qū)域的上下邊的中線作為當(dāng)前幀的車道線的邊緣線。
[0088]S104、根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
[0089]具體地,可以首先計算出左右車道線在圖像上的斜率,代入以下方程:
[0090]車輛與左車道線的距離=(Hl1/(Hi1-Hir)) X車道寬度
[0091]其中,Hi1和m,分別是左和右車道線的斜率,車輛與左車道線的距離代表車輛相對車道的橫向位置。它可以表示成相對車道寬度的百分比,如果知道當(dāng)前的車道寬度,也可以用絕對距離表示。最后,輸出車輛當(dāng)前的橫向位置作為是否預(yù)警的依據(jù)。
[0092]實施例二
[0093]圖7為本發(fā)明優(yōu)選實施例提供的車道線追蹤方法的流程圖,該方法包括以下步驟:
[0094]S201、獲取車輛前方視頻幀圖像。
[0095]S202、根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖。
[0096]S203、根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線。
[0097]具體來說,在左車道線左、右邊緣圖中劃分一個左平行四邊形,在右車道線左、右邊緣圖中劃分一個右平行四邊形,左平行四邊形的上下邊中點分別與原存儲的左車道線的兩端點重合,右平行四邊形的上下邊中點分別與原存儲的右車道線的兩端點重合,左平行四邊形和右平行四邊形的上下邊都分別包含45個像素點。
[0098]從左平行四邊形中劃分出9X9個面積相等的小左平行四邊形,從右平行四邊形中劃分出9X9個面積相等的小右平行四邊形,每個小左平行四邊形的上邊和下邊分別與左平行四邊形的上邊和下邊在同一條直線上,每個小右平行四邊形的上邊和下邊分別與右平行四邊形的上邊和下邊在同一條直線上。
[0099]根據(jù)每個小左平行四邊形的左邊緣圖數(shù)值和每個小左平行四邊形中像素點的總數(shù),判斷出包含左車道線左邊界的小左平行四邊形,將小左平行四邊形上下邊中點連接形成的直線記錄為當(dāng)前左車道線左邊界;根據(jù)每個小左平行四邊形的右邊緣圖數(shù)值和每個小左平行四邊形中像素點的總數(shù),判斷出包含左車道線右邊界的小左平行四邊形,將小左平行四邊形上下邊中點連接形成的直線記錄為當(dāng)前左車道線右邊界。判斷左邊界和右邊界的距離是否在一定范圍內(nèi)。如果在符合要求的范圍內(nèi),則將左右邊界線的中線作為當(dāng)前左車道線的位置代替原存儲的左車道線。
[0100]根據(jù)每個小右平行四邊形的邊緣圖數(shù)值和每個小右平行四邊形中像素點的總數(shù),判斷出包含右車道線左邊界的小右平行四邊形,將小右平行四邊形上下邊中點連接形成的直線記錄為當(dāng)前右車道線左邊界;根據(jù)每個小右平行四邊形的右邊緣圖數(shù)值和每個小右平行四邊形中像素點的總數(shù),判斷出包含右車道線右邊界的小右平行四邊形,將小右平行四邊形上下邊中點連接形成的直線記錄為當(dāng)前右車道線右邊界。判斷左邊界和右邊界的距離是否在一定范圍內(nèi)。如果在符合要求的范圍內(nèi),則將左右邊界線的中線作為當(dāng)前右車道線的位置代替原存儲的右車道線。
[0101]S204、檢測左車道線或右車道線是否位于車輛前方圖像的中間區(qū)域,如果是,執(zhí)行步驟S205,否則執(zhí)行步驟S206。
[0102]具體地,在車輛離開現(xiàn)行車道時,其中一條車道線會從圖的左邊走到右邊,由于透視投影法的關(guān)系,車道線在圖片中間區(qū)域時的橫向運動速度會較快,所以本實施例采用根據(jù)位置調(diào)整車道線區(qū)域的適應(yīng)性方法來提高追蹤的穩(wěn)定性。
[0103]S205、擴大每個小檢測區(qū)域,返回步驟S203重新檢測車道線。
[0104]具體地,當(dāng)車道線區(qū)域進(jìn)入整個車輛前方圖像的中間范圍里,就把所有小平行四邊形寬度M加倍,這樣整個車道線區(qū)域的寬度也會加倍。但因為小平行四邊形點的數(shù)量加倍,所以相應(yīng)的閾值亦需要降低一半。中間區(qū)域的寬度小于等于車輛前方圖像寬度的1/2,優(yōu)選為1/5圖像寬度。
[0105]S206、檢測車道寬度是否突變,如果是,執(zhí)行步驟S208,否則執(zhí)行步驟S207。
[0106]具體地,我們假設(shè)車道的寬度短時間內(nèi)不會發(fā)生較大的變化。計算當(dāng)前幀前若干幀(如100幀)的車道寬度平均值。其中,通過在線更新的方法計算寬度平均值,從而提高運算速度。即通過前一幀對應(yīng)的若干幀的車道寬度之和減去時間最早的一幀的車道寬度再加上前一幀的車道寬度,然后除以幀數(shù)量(如100)即得到當(dāng)前幀前若干幀的寬度均值wavg。如果當(dāng)前幀的寬度w>r Xwavg,則判定為車道寬度突變,進(jìn)入初始化/更新模式。參數(shù)r大于1,比如可取值為1.5。
[0107]S207、檢測是否連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線,如果是,執(zhí)行步驟S208,否則執(zhí)行步驟S209。
[0108]具體地,在實際應(yīng)用上,路況會很復(fù)雜,車輛前方圖像中可能出現(xiàn)沒有車道線的情況,因此需要增加一個判斷車輛前方圖像中有沒有車道線的步驟,具體可以通過設(shè)定一個閾值來區(qū)分有車道線和無車道線兩種情況,當(dāng)每個小檢測區(qū)域中所有像素點的邊緣圖平均數(shù)值大于預(yù)設(shè)的閾值則為有車道線,小于預(yù)設(shè)的閾值則為無車道線,即檢測區(qū)域里找不到車道線。預(yù)設(shè)的閾值可以通過經(jīng)驗得到,也可以通過機器學(xué)習(xí)的方法得到。當(dāng)當(dāng)前幀沒有獲取到車道線時,當(dāng)前幀的下一幀在確定初始車道線檢測區(qū)域時是依據(jù)當(dāng)前幀的前一幀獲取到的車道線的位置在邊緣圖中確定初始車道線檢測區(qū)域,直到啟動初始化/更新模式。
[0109]此外,對于虛線的情況,有些虛線比較短,短到不在初始車道線檢測區(qū)域里,因此不能單純以一個視頻幀圖像來判斷有沒有車道線,故通過檢測到連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線時,才判定為沒有車道線,啟動初始化/更新模式。
[0110]S208、重新確定初始車道線檢測區(qū)域,步驟S203重新檢測車道線。
[0111]當(dāng)用在車道偏離預(yù)警時、換道時,發(fā)出警告之后,可以自動發(fā)出更新指令以重新搜尋和追蹤新的車道。重新確定初始車道線檢測區(qū)域,是指根據(jù)初始幀的車道線的位置,在邊緣圖中確定當(dāng)前幀的左、右初始車道線檢測區(qū)域。
[0112]S209、根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
[0113]實施例三
[0114]如圖8所示為本發(fā)明優(yōu)選實施例提供的卷積核訓(xùn)練方法的流程圖,該方法包括:
[0115]S301、獲取訓(xùn)練車道的樣本視頻圖像集。
[0116]具體地,該車道視頻集中應(yīng)包含不同光照,不同天氣條件,不同車道類型(包括不同完整度)的車道視頻。
[0117]S302、對樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖。
[0118]具體地,以采用Sobel為卷積核得到的車道線檢測上的點為中心,提取長為1( 一般不大于車道的像素寬度),寬為w ( —般取3到4個像素點,以圖像的分辨率為依據(jù)進(jìn)行選擇,分辨率越高所取的像素點越多)。
[0119]S303、對樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理。
[0120]具體地,對步驟S302得到的樣本邊緣圖進(jìn)行人工篩選,去除檢測錯誤的結(jié)果,并加入一定數(shù)量漏檢的樣本,對篩選后的樣本進(jìn)行歸一化處理??梢圆捎靡韵職w一化方法包括但不限于:(I)每個像素點值除以255 ; (2)減去樣本區(qū)域像素點值的均值。
[0121]S304、對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類。
[0122]其中,I為長,w為寬。舉例來說,可以采用K-means,自組織神經(jīng)網(wǎng)絡(luò)等聚類方法對樣本歸一化的像素點值展開得到的向量(向量維度為IXw)進(jìn)行聚類。
[0123]S305、將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核。
[0124]其中,聚類中心的數(shù)目可以采用貝葉斯信息準(zhǔn)則進(jìn)行估計。
[0125]本發(fā)明實施例,通過對半自動標(biāo)定得到的車道邊緣圖進(jìn)行非監(jiān)督學(xué)習(xí),獲取不同光照條件、不同天氣條件以及不同車道類型(包括不同完整度)下的多個邊緣卷積核,替換傳統(tǒng)的卷積核,能提高檢測效果。
[0126]實施例四
[0127]如圖9所示為本發(fā)明實施例提供的車道線追蹤系統(tǒng)的模塊結(jié)構(gòu)圖,該系統(tǒng)包括:
[0128]視頻采集模塊10,用于獲取車輛前方視頻幀圖像。
[0129]邊緣檢測模塊20,用于根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對視頻幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖。
[0130]具體地,首先把從視頻采集設(shè)備采集的彩色圖像轉(zhuǎn)換成灰度圖,然后通過訓(xùn)練好的邊緣卷積核進(jìn)行橫向邊緣檢測,對于車道左邊緣的檢測,使用卷積核Ku,KL2, L, KLn,而對于車道右邊緣的檢測,使用以下卷積核KK1,KE2, L, IV。采用以上卷積核與灰度圖進(jìn)行卷積后,取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值,例如:灰度圖1經(jīng)過左邊緣卷積核卷積后的值為L = max(I*Ku,I*KL2, L, I*Kj,其中max取矩陣中逐點最大值;接著把每一點的數(shù)值歸一化,得到一幅邊緣圖。邊緣圖可以點陣圖表示,或以矩陣表示,每個元素是O至I之間的實數(shù),代表該點屬于邊緣的概率。其中,歸一化可以是以線性函數(shù)轉(zhuǎn)換y =(x-MinValue)/ (MaxValue-MinValue),也可以用非線性函數(shù)來先排除數(shù)值小的邊緣,此處可使用所有能進(jìn)行歸一化的方法對數(shù)值進(jìn)行歸一化處理。
[0131]車道線獲取模塊30,用于根據(jù)前一幀獲取的車道線的位置和邊緣圖獲取當(dāng)前幀的車道線;
[0132]橫向位置輸出模塊40,用于根據(jù)當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
[0133]請參閱圖10所示的邊緣檢測模塊20的模塊結(jié)構(gòu)圖,邊緣檢測模塊20進(jìn)一步包括灰度圖獲取單元201、卷積單元202、數(shù)值獲取單元203和歸一化單元204,其中:
[0134]灰度圖獲取單元201,用于獲取幀圖像的灰度圖;
[0135]卷積單元202,用于分別使用所有邊緣卷積核與灰度圖進(jìn)行卷積;
[0136]數(shù)值獲取單元203,用于取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值;
[0137]歸一化單元204,用于將每一個像素點的數(shù)值歸一化,得到邊緣圖。
[0138]需要說明的是,上述實施例一中的技術(shù)特征在本實施例四中的系統(tǒng)同樣對應(yīng)適用,這里不再重述。
[0139]實施例五
[0140]如圖11為本發(fā)明優(yōu)選實施例提供的車道線追蹤系統(tǒng)的模塊結(jié)構(gòu)圖,本實施例在實施例四的基礎(chǔ)上,增加了學(xué)習(xí)模塊50、檢測區(qū)域擴大模塊60和重新初始化模塊70,其中:
[0141]學(xué)習(xí)模塊50,用于事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核。
[0142]請參閱圖12,學(xué)習(xí)模塊50包括:
[0143]樣本圖像獲取單元501,用于獲取訓(xùn)練車道的樣本視頻圖像集;
[0144]樣本邊緣檢測單元502,用于對樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖;
[0145]歸一化單元503,用于對樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理;
[0146]聚類單元504,用于對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類,其中,I為長,W為寬;
[0147]變換單元505,用于將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核。
[0148]具體地,樣本圖像獲取單元501獲取的車道視頻集中應(yīng)包含不同光照,不同天氣條件,不同車道類型(包括不同完整度)的車道視頻。樣本邊緣檢測單元502以采用Sobel為卷積核得到的車道線檢測上的點為中心,提取長為I ( 一般不大于車道的像素寬度),寬為w( —般取3到4個像素點,以圖像的分辨率為依據(jù)進(jìn)行選擇,分辨率越高所取的像素點越多)。歸一化單元503得到的樣本邊緣圖進(jìn)行人工篩選,去除檢測錯誤的結(jié)果,并加入一定數(shù)量漏檢的樣本,對篩選后的樣本進(jìn)行歸一化處理??梢圆捎靡韵職w一化方法包括但不限于:(1)每個像素點值除以255 ; (2)減去樣本區(qū)域像素點值的均值。聚類單元504對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類。其中,I為長,w為寬。舉例來說,可以采用K-means,自組織神經(jīng)網(wǎng)絡(luò)等聚類方法對樣本歸一化的像素點值展開得到的向量(向量維度為IXw)進(jìn)行聚類。變換單元505將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核。其中,聚類中心的數(shù)目可以采用貝葉斯信息準(zhǔn)則進(jìn)行估計。檢測區(qū)域擴大模塊60,用于當(dāng)檢測到當(dāng)前幀的車道線位于車輛前方圖像的中間區(qū)域時,擴大每個小檢測區(qū)域,其中,中間區(qū)域的寬度小于等于車輛前方圖像寬度的1/2。
[0149]重新初始化模塊70,用于當(dāng)檢測到車道寬度突變或者連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線后,重新確定初始車道線檢測區(qū)域。
[0150]具體地,我們假設(shè)車道的寬度短時間內(nèi)不會發(fā)生較大的變化。計算當(dāng)前幀前若干幀(如100幀)的車道寬度平均值。其中,通過在線更新的方法計算寬度平均值,從而提高運算速度。即通過前一幀對應(yīng)的若干幀的車道寬度之和減去時間最早的一幀的車道寬度再加上前一幀的車道寬度,然后除以幀數(shù)量(如100)即得到當(dāng)前幀前若干幀的寬度均值wavg。如果當(dāng)前幀的寬度W>r X wavg,則判定為車道寬度突變,進(jìn)入初始化/更新模式。參數(shù)r大于1,比如可取值為1.5。
[0151]具體地,在實際應(yīng)用上,路況會很復(fù)雜,車輛前方圖像中可能出現(xiàn)沒有車道線的情況,因此需要增加一個判斷車輛前方圖像中有沒有車道線的步驟,具體可以通過設(shè)定一個閾值來區(qū)分有車道線和無車道線兩種情況,當(dāng)每個小檢測區(qū)域中所有像素點的邊緣圖平均數(shù)值大于預(yù)設(shè)的閾值則為有車道線,小于預(yù)設(shè)的閾值則為無車道線,即檢測區(qū)域里找不到車道線。預(yù)設(shè)的閾值可以通過經(jīng)驗得到,也可以通過機器學(xué)習(xí)的方法得到。當(dāng)當(dāng)前幀沒有獲取到車道線時,當(dāng)前幀的下一幀在確定初始車道線檢測區(qū)域時是依據(jù)當(dāng)前幀的前一幀獲取到的車道線的位置在邊緣圖中確定初始車道線檢測區(qū)域,直到啟動初始化/更新模式。
[0152]此外,對于虛線的情況,有些虛線比較短,短到不在初始車道線檢測區(qū)域里,因此不能單純以一個視頻幀圖像來判斷有沒有車道線,故通過檢測到連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線時,才判定為沒有車道線,啟動初始化/更新模式。
[0153]本發(fā)明實施例,通過對半自動標(biāo)定得到的車道邊緣圖進(jìn)行非監(jiān)督學(xué)習(xí),獲取不同光照條件、不同天氣條件以及不同車道類型(包括不同完整度)下的多個邊緣卷積核,替換傳統(tǒng)的卷積核,能提高檢測效果。此外,還充分考慮路況的復(fù)雜性,調(diào)整每個小檢測區(qū)域或者重新確定初始車道線,進(jìn)一步提高檢測效果。
[0154]需要說明的是,上述實施例二中的技術(shù)特征在本實施例四中的系統(tǒng)同樣對應(yīng)適用,這里不再重述。
[0155]本發(fā)明提供的車道線追蹤方法及系統(tǒng),通過對半自動化標(biāo)定得到的車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí),獲取不同光照條件、天氣條件、以及不同的車道線類型(包括清晰及破損程度)下的多個邊緣卷積核。再利用多個邊緣卷積核對圖像進(jìn)行卷積,取多個卷積核的最大值作為邊緣檢測的結(jié)果。使得車道邊緣檢測在不同光照、天氣條件、不同的車道類型下均有良好的檢測效果,從而提聞車道線追蹤的精確度。
[0156]以上參照【專利附圖】
【附圖說明】了本發(fā)明的優(yōu)選實施例,并非因此局限本發(fā)明的權(quán)利范圍。本領(lǐng)域技術(shù)人員不脫離本發(fā)明的范圍和實質(zhì),可以有多種變型方案實現(xiàn)本發(fā)明,比如作為一個實施例的特征可用于另一實施例而得到又一實施例。凡在運用本發(fā)明的技術(shù)構(gòu)思之內(nèi)所作的任何修改、等同替換和改進(jìn),均應(yīng)在本發(fā)明的權(quán)利范圍之內(nèi)。
【權(quán)利要求】
1.一種車道線追蹤方法,其特征在于,該方法包括: 獲取車輛前方視頻幀圖像; 根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖; 根據(jù)前一幀獲取的車道線的位置和所述邊緣圖獲取當(dāng)前幀的車道線; 根據(jù)所述當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
2.根據(jù)權(quán)利要求1所述的車道線追蹤方法,其特征在于,事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核包括: 獲取訓(xùn)練車道的樣本視頻圖像集; 對所述樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖; 對所述樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理; 對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類; 將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核; 其中,I為長,W為寬。
3.根據(jù)權(quán)利要求1所述的車道線追蹤方法,其特征在于,所述根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖包括: 獲取所述幀圖像的灰度圖; 分別使用所有邊緣卷積核與所述灰度圖進(jìn)行卷積; 取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值; 將每一個像素點的數(shù)值歸一化,得到邊緣圖。
4.根據(jù)權(quán)利要求1所述的車道線追蹤方法,其特征在于,所述根據(jù)前一幀獲取的車道線的位置和所述邊緣圖獲取當(dāng)前幀的車道線包括: 根據(jù)前一幀獲取的車道線的位置,在所述邊緣圖中確定當(dāng)前幀的左、右初始車道線檢測區(qū)域; 將所述左、右初始車道線檢測區(qū)域分別劃分為至少兩個小檢測區(qū)域; 根據(jù)每個小檢測區(qū)域的邊緣圖數(shù)值和每個小檢測區(qū)域的像素點的總數(shù),確定精確車道線檢測區(qū)域; 從所述精確車道線檢測區(qū)域中獲取當(dāng)前幀的車道線。
5.根據(jù)權(quán)利要求4所述的車道線追蹤方法,其特征在于, 所述初始車道線檢測區(qū)域為前一幀獲取的車道線的兩端點分別在上邊和下邊上的平行四邊形; 所述小檢測區(qū)域為將所述初始車道線檢測區(qū)域的上邊和下邊分別分割為N個小線段,將所述上邊的小線段分別與所述下邊的小線段相連形成NXN個面積相等的平行四邊形,其中,N大于2。
6.根據(jù)權(quán)利要求5所述的車道線追蹤方法,其特征在于,所述從所述精確車道線檢測區(qū)域中獲取當(dāng)前幀的車道線包括:將確定為精確車道線檢測區(qū)域的小檢測區(qū)域的上下邊的中線作為當(dāng)前幀的車道線的邊緣線。
7.根據(jù)權(quán)利要求4-6任意一項權(quán)利要求所述的車道線追蹤方法,其特征在于,所述方法還包括: 當(dāng)檢測到所述當(dāng)前幀的車道線位于所述車輛前方圖像的中間區(qū)域時,擴大所述每個小檢測區(qū)域,所述中間區(qū)域的寬度小于等于所述車輛前方圖像寬度的1/2 ; 當(dāng)檢測到車道寬度突變或者連續(xù)超過預(yù)設(shè)的幀數(shù)找不到車道線后,重新確定左、右初始車道線檢測區(qū)域。
8.一種車道線追蹤系統(tǒng),其特征在于,該系統(tǒng)包括: 視頻采集模塊,用于獲取車輛前方視頻幀圖像; 邊緣檢測模塊,用于根據(jù)事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核,對所述視頻幀圖像進(jìn)行橫向邊緣檢測,得到邊緣圖; 車道線獲取模塊,用于根據(jù)前一幀獲取的車道線的位置和所述邊緣圖獲取當(dāng)前幀的車道線; 橫向位置輸出模塊,用于根據(jù)所述當(dāng)前幀的車道線的位置,計算并輸出當(dāng)前車輛相對追蹤車道的橫向位置。
9.根據(jù)權(quán)利要求8所述的車道線追蹤系統(tǒng),其特征在于,所述系統(tǒng)還包括學(xué)習(xí)模塊,用于事先采用半自動化標(biāo)定車道邊緣圖像進(jìn)行非監(jiān)督學(xué)習(xí)得到的至少兩個邊緣卷積核;所述學(xué)習(xí)模塊包括: 樣本圖像獲取單元, 用于獲取訓(xùn)練車道的樣本視頻圖像集; 樣本邊緣檢測單元,用于對所述樣本視頻圖像進(jìn)行邊緣檢測,得到樣本邊緣圖; 歸一化單元,用于對所述樣本邊緣圖進(jìn)行人工篩選,并進(jìn)行歸一化處理; 聚類單元,用于對樣本歸一化的像素點值展開得到的向量IXw進(jìn)行聚類,其中,I為長,W為寬; 變換單元,用于將各個聚類中心點的向量變換為對應(yīng)的IXw的矩陣作為卷積核。
10.根據(jù)權(quán)利要求8所述的車道線追蹤系統(tǒng),其特征在于,所述邊緣檢測模塊包括: 灰度圖獲取單元,用于獲取所述幀圖像的灰度圖; 卷積單元,用于分別使用所有邊緣卷積核與所述灰度圖進(jìn)行卷積; 數(shù)值獲取單元,用于取所有卷積核在該像素點卷積的最大值作為該點的數(shù)值; 歸一化單元,用于將每一個像素點的數(shù)值歸一化,得到邊緣圖。
【文檔編號】G06T7/00GK104036253SQ201410280085
【公開日】2014年9月10日 申請日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】覃劍釗, 胡景強, 丁寧, 閻鏡予, 黃卜夫 申請人:智慧城市系統(tǒng)服務(wù)(中國)有限公司