曹晨潔,王夏黎,趙嘉興,王麗紅
(1.長安大學(xué) 信息工程學(xué)院,陜西 西安 710000; 2.長安大學(xué) 智能交通與圖像處理實驗室,陜西 西安 710000)
智能交通系統(tǒng)(Intelligent Transport System,ITS)的研究及其發(fā)展中,不管是對車輛行駛的自動控制還是輔助駕駛員的安全駕駛,對于道路標(biāo)線信息的獲取分析以及識別都是一個重要的研究方向[1]?,F(xiàn)有的道路地圖,雖然可以對車輛駕駛進行道路指引,但無法提供道路上面標(biāo)線的信息,同時,因為分辨率的限制,無法提供清楚明了的道路圖像,因此,快速有效且準(zhǔn)確地實現(xiàn)道路標(biāo)線的識別仍是ITS領(lǐng)域中需解決的難題之一。此外,由于交通標(biāo)線的類型較多,圖像背景復(fù)雜,多種不同類型的標(biāo)線有相似之處,同類型標(biāo)線的差異很小,道路交通標(biāo)線識別仍存在很大挑戰(zhàn)。因此對道路交通標(biāo)線的準(zhǔn)確識別的研究是很有必要的[2]。
目前使用較多的有關(guān)圖像識別的算法有FAST算法、SIFT算法、SURF算法、CNN和支持向量機等,通過實驗對比,SURF算法的執(zhí)行速度在視頻道路標(biāo)線識別中較為合適。然而在實際應(yīng)用中該算法存在車載視頻圖像紛繁復(fù)雜、光照條件不定等問題,對識別結(jié)果的準(zhǔn)確性造成了很大的影響,對視頻的整幅截圖進行特征點檢測的速度和準(zhǔn)確率較低。因此本文提出了先對圖片進行顏色模式轉(zhuǎn)換處理,再通過標(biāo)線顏色及其輪廓信息粗定位標(biāo)識所在位置后再做分割處理,在此基礎(chǔ)上檢測SURF特征點并利用基于快速近似最近鄰搜索算法進行標(biāo)線識別,提高在視頻中對道路標(biāo)線特征點識別的速度和準(zhǔn)確率。
首先進行采集處理系統(tǒng)的搭建,基于MFC搭建系統(tǒng)界面如圖1所示,包括視頻選擇及打開模塊、截屏顯示模塊、圖片處理顯示模塊、特征點提取顯示模塊、匹配模塊等,便于實驗結(jié)果效果的展示和對比。
圖1 搭建系統(tǒng)界面
考慮對比圖像在RGB顏色空間和HSL顏色空間中實現(xiàn)道路交通標(biāo)線的圖像分割處理效果,選取對后期圖像分割效果好的顏色空間進行處理。并利用各種分割方法將標(biāo)線所在圖像中的位置進行粗略檢測標(biāo)定,從而確定感興趣區(qū)域ROI[3]。
圖像標(biāo)定完成后,對標(biāo)定的圖像通過對比各種形態(tài)學(xué)方法(黑帽、頂帽、開運算、閉運算、形態(tài)學(xué)梯度、腐蝕、膨脹等)選取最優(yōu)方法進行圖像增強處理,提高后期圖像分割結(jié)果的準(zhǔn)確性。
最后進行特征提取及目標(biāo)識別,在定位分割后的圖像中檢測SURF特征點后使用快速近似最近鄰搜索算法進行匹配。
本研究的處理流程是首先進行圖片采集,然后進行圖像處理,對處理后的圖像進行基于ROI的定位與分割,最后進行圖像識別,輸出識別結(jié)果。處理流程如圖2所示。
圖2 處理流程
采用車載攝像頭在西安市小寨街區(qū)部分街道進行道路交通標(biāo)線的采集,針對不同的道路交通標(biāo)線分別進行采集,共采集道路視頻5組,選取圖像樣本150個,采集到的道路交通標(biāo)線樣本如圖3所示。
2.2.1 圖像顏色模式轉(zhuǎn)換
在圖像的采集過程中,由于光照條件的復(fù)雜性,會導(dǎo)致道路交通標(biāo)線提取的顏色失真,光照強弱容易引起對道路交通標(biāo)志信息識別的偏差,加大識別難度,因此對圖像進行顏色轉(zhuǎn)換,來提高圖像的顏色識別精度,將圖片由GRB彩色模式轉(zhuǎn)換為HSL模式從而削弱光照因素對識別準(zhǔn)確率的影響[4]。
HSL的H(hue)分量表示的是人類眼睛可以感知的顏色范圍,這些顏色分布在色相環(huán)上,取值范圍是0°~360°的圓心角,每個角度可以代表一種顏色。HSL的S(saturation)分量代表色彩的飽和度,數(shù)值越大,顏色中的灰色越少,顏色越鮮艷[5]。HSL的L(lightness)分量代表色彩的明度,作用是控制色彩的明暗變化。其數(shù)值越小,色彩越暗,越接近于黑色;數(shù)值越大,色彩越亮,越接近于白色。采用HSL的圖像轉(zhuǎn)換能夠有效地減弱光照對于圖像的影響。
RGB到HSL的轉(zhuǎn)換首先設(shè)(r,g,b) 分別是一個顏色的紅、綠、藍坐標(biāo),它們的值是在 0~1之間的實數(shù)。設(shè)max等價于r、g和b中的最大者,設(shè)min等于這些值中的最小者。要找到在HSL空間中的(h,s,l) 值,這里的h∈ [0,360)是角度的色相角,而s,l∈ [0,1] 是飽和度和亮度,計算如下:
(1)
(2)
(3)
經(jīng)過顏色模式轉(zhuǎn)換后得到的道路交通標(biāo)線圖如圖4所示。
圖4 顏色轉(zhuǎn)換處理圖
2.2.2 圖像信息提取
通過圖像顏色的轉(zhuǎn)換,圖像相比于原圖像削弱了光照對標(biāo)線提取的影響,接下來需將圖中主要的標(biāo)線進行提取。本文采用閾值化分割與邊緣檢測相結(jié)合的方法進行提取。
圖像閾值化分割是常用的圖像分割方法,因其實現(xiàn)簡單、計算量小、性能較穩(wěn)定而成為圖像分割中最基本和應(yīng)用最廣泛的分割技術(shù)[6]。它特別適用于目標(biāo)和背景占據(jù)不同灰度級范圍的圖像?;驹硎牵和ㄟ^設(shè)定不同的特征閾值,把圖像像素點分為若干類。常用的特征有來自原始圖像的灰度或彩色特征,本文通過標(biāo)線的顏色特征設(shè)定相應(yīng)閾值對標(biāo)線進行分割。
圖像的邊緣是指圖像局部區(qū)域亮度變化顯著的部分,該區(qū)域的灰度剖面一般可以看作是一個階躍,即從一個灰度值在很小的緩沖區(qū)域內(nèi)急劇變化到另一個灰度相差較大的灰度值。圖像的邊緣部分集中了圖像的大部分信息,圖像邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,同時也是圖像分割所依賴的重要特征。邊緣檢測主要包括圖像的灰度變化的度量、檢測和定位。而實現(xiàn)圖像的邊緣檢測,就是要用離散化梯度逼近函數(shù)根據(jù)二維灰度矩陣梯度向量來尋找圖像灰度矩陣的灰度躍變位置,然后在圖像中將這些位置的點連起來就構(gòu)成了所謂的圖像邊緣(圖像邊緣在這里是一個統(tǒng)稱,包括了二維圖像上的邊緣、角點、紋理等基元圖)[7]。
在對傳統(tǒng)的幾種邊緣檢測算法進行實驗后,選取CANNY算法為本實驗的邊緣檢測方法。CANNY邊緣檢測是從不同視覺對象中提取有用的結(jié)構(gòu)信息并大大減少要處理的數(shù)據(jù)量的一種技術(shù)。利用CANNY算法檢測出被分割出來的標(biāo)線輪廓信息,為后期圖像處理做好鋪墊工作。本文實現(xiàn)的CANNY算法中所采用的卷積表達式如下:
(4)
其x向、y向的一階偏導(dǎo)數(shù)矩陣、梯度幅值以及梯度方向的數(shù)學(xué)表達式分別為:
P[i,j]=(f[i,j+1]-f[i,j]+f[i+1,j+1]-f[i+1,j])/2
(5)
Q[i,j]=(f[i,j]-f[i+1,j]+f[i,j+1]-f[i+1,j+1])/2
(6)
(7)
θ[i,j]=arctan(Q[i,j]/P[i,j])
(8)
根據(jù)式(5)~式(8)對梯度幅值進行非極大值抑制,圖像梯度幅值矩陣中的元素值越大,圖像中該點的梯度值越大,由于圖像增強的原因,不能確定該點就是邊緣。在CANNY算法中,非極大值抑制是進行邊緣檢測的重要步驟,其原理圖如圖5所示,即尋找像素點局部最大值,將非極大值點所對應(yīng)的灰度值置為0,這樣可以剔除掉一大部分非邊緣的點[7]。
圖5 非極大值抑制原理圖
進行非極大值抑制,目的是排除非邊緣像素,僅僅保留一些細線條,其工作原理首先要確定像素點C的灰度值在其8值鄰域內(nèi)是否為最大。圖5中過點dTmp1和點dTmp2的線條方向為C點的梯度方向,這樣就可以確定其局部的最大值分布在這條線上,即除了C點外,梯度方向的交點dTmp1和dTmp2這兩個點的值也可能會是局部最大值[8]。CANNY算法中減少假邊緣數(shù)量的方法是采用雙閾值法,本研究閾值選擇為20和60,根據(jù)高閾值得到一個邊緣圖像,這樣一個圖像含有很少的假邊緣,但是由于閾值較高,產(chǎn)生的圖像邊緣可能不閉合,因此采用了另外一個低閾值[9]。高閾值圖像中把邊緣連接成輪廓,當(dāng)?shù)竭_輪廓的端點時,該算法會在斷點的8鄰域點中尋找滿足低閾值的點,再根據(jù)此點收集新的邊緣,直到整個圖像邊緣閉合[10]。
使用CANNY算法進行邊緣檢測會得到如圖6所示效果。
圖6 邊緣檢測圖
從圖6可看到在直行標(biāo)線內(nèi)部仍存在著干擾性邊緣,車道線邊緣也不平滑,因此要進行去噪處理。
在實驗中通過對比均值濾波、自適應(yīng)維納濾波、中值濾波、小波濾波,以及其他的濾波方法,小波去噪方法保留了大部分包含信號的小波系數(shù),因此可以較好地保持圖像細節(jié)[11],故本文最終選取小波濾波作為圖片去噪的方法。經(jīng)過上述系列操作得到如圖7所示效果。
圖7 去噪后邊緣檢測圖
對視頻中的標(biāo)線進行識別需要對視頻各幀截圖做快速處理,因此選取速度較快的算法對特征點進行檢測[12]。本文對兩種方法進行了實驗對比,一種是傳統(tǒng)的結(jié)合SURF(Speeded Up Robust Features)和快速近似最近鄰搜索算法對交通標(biāo)線進行識別,另一種是改進后的匹配方法,即將圖片先進行圖像ROI定位再進行識別的方法。
圖8為傳統(tǒng)的結(jié)合SURF的識別方法匹配結(jié)果,可以看到,在傳統(tǒng)方法中,除了直行標(biāo)線的特征點被檢測到以外,車道線上的特征點也被檢測到并被誤匹配到標(biāo)準(zhǔn)模塊庫中的直行標(biāo)識中。
圖8 對整幅圖進行匹配
此外,傳統(tǒng)方法對整張圖片進行處理會影響處理效率,過大的圖片傳輸速度明顯小于較小圖片的速度[13],這會延長從視頻中提取照片再對照片進行處理的時間,因此改進方法只對圖像中需要的重點部分進行處理[14]。圈定這個重點區(qū)域,以便進行下一步的處理,提高了精度。本文通過包圍輪廓的最小矩形邊界對原始圖像進行分割來實現(xiàn)。將經(jīng)過上述處理的圖片創(chuàng)建出包圍輪廓的最小矩形邊界并進行截取,得到的效果如圖9所示。
圖9 分割后效果圖
將經(jīng)過處理、ROI定位及分割的圖片繼續(xù)進行SURF特征點檢測,減少了對冗余特征點的檢測和描畫[15],精確定位分割后的圖片更小,加快了對圖片特征點的檢測速度。實驗結(jié)果如圖10所示。
圖10 對ROI進行匹配
將150個樣本對象通過上述兩種方法進行圖像處理,得到結(jié)果對比如表1所示。
表1 兩種識別方法實驗對比
由表1可知,本文提出的方法識別率比傳統(tǒng)方法高且平均識別時間少,能夠快速有效地提取出交通道路標(biāo)線區(qū)域并實現(xiàn)視頻中道路標(biāo)線的檢測。
通過實驗對比表明,基于CANNY算法提取圖像邊緣信息對自然道路條件下的標(biāo)線識別有很好的效果,并有效減少了SURF算法對與目標(biāo)物無關(guān)的特征點的檢測,有效提升了后期匹配的正確率;基于ROI定位的標(biāo)線識別方法相對于直接對整個視頻截圖進行SURF特征點檢測及匹配效果更好、速度更快,更適用于在視頻中實現(xiàn)對道路交通標(biāo)線的檢測。
在智能駕駛的交通標(biāo)線識別中,圖像的特征提取十分重要,用CANNY算法對圖像進行特征提取有效地提高了后期識別效率;此外,對道路上的標(biāo)線進行定位也很重要,處理整幅圖片會影響算法的處理速度,本研究采用了ROI定位的方法,將整幅圖片分割開來進行圖片的精確處理,這種方法更適用于現(xiàn)實場景中道路環(huán)境復(fù)雜、干擾物較多的情況,并有效減少了SURF算法對于和目標(biāo)物無關(guān)的特征點檢測,有效提升了后期匹配的正確率。通過實驗證明,本文方法能夠快速有效地提取出交通道路標(biāo)線區(qū)域并實現(xiàn)視頻中道路標(biāo)線的檢測,但依然存在問題,比如對特別模糊或周圍環(huán)境極度復(fù)雜下的交通標(biāo)線不能很好地檢測等,設(shè)計出實時性好和準(zhǔn)確率高的算法是下一步的研究方向。