呂禾豐,陸華才,高文根
(安徽工程大學(xué) 電氣傳動與控制安徽普通高校重點(diǎn)實(shí)驗(yàn)室,安徽 蕪湖 241000)
在經(jīng)濟(jì)發(fā)展迅速的今天,汽車給人們帶來了巨大的便利。自動駕駛,輔助駕駛等技術(shù)逐漸進(jìn)入人們的視野,而交通標(biāo)志在駕駛過程中有著重要的地位,它關(guān)系到了駕駛過程中的安全問題,所以想要發(fā)展輔助駕駛等技術(shù)就必須先解決交通標(biāo)志的識別問題。但對交通標(biāo)志的識別過程中會有多種因素的干擾[1-4]。
在對不同環(huán)境中交通標(biāo)志檢測識別的研究中舒維安[5]通過采用一種處理交通標(biāo)志顏色的概率模型,再結(jié)合最大穩(wěn)定極值區(qū)域分割算法進(jìn)行分割完成對復(fù)雜情況的交通標(biāo)志識別。黎家超[6]通過Retinex理論的去霧算法以及RGB差值法對圖像處理實(shí)現(xiàn)了對有霧情況下交通標(biāo)志的識別。孫朝陽[7]通過研究“黑暗通道法”以及在YIQ顏色空間內(nèi)進(jìn)行色彩分割對圖像去模糊、去霧。雖然對不同環(huán)境下的交通標(biāo)志的檢測識別率有了明顯的提升,但是目前多數(shù)研究都是針對白天的交通標(biāo)志識別的研究。白天與夜晚的識別是有所不同的,夜晚因?yàn)楣饩€不足等問題導(dǎo)致對交通標(biāo)志的檢測難度大大增加。因此針對這種情況提出一種改進(jìn)限制對比度自適應(yīng)直方圖均衡算法的夜間交通標(biāo)志檢測識別技術(shù)。圖1為提出算法的流程圖。首先使用改進(jìn)的限制對比度自適應(yīng)直方圖均衡的方法對采集到的夜間的圖像進(jìn)行預(yù)處理,提高夜間圖像的亮度和對比度,然后通過色彩空間分割對圖像中的交通標(biāo)志進(jìn)行定位,最后通過支持向量機(jī)對采集的樣本識別分類建立訓(xùn)練模型從而完成對交通標(biāo)志的識別。
圖1 本文算法流程圖
傳統(tǒng)提升圖像對比度算法直方圖均衡化算法(HE)通過變換圖像的直方圖使其均勻分布來達(dá)到提高對比度的效果。但是HE算法使用變換函數(shù)是對圖像直方圖整體進(jìn)行調(diào)整,無法對局部對比度進(jìn)行有效提高,并且有可能使圖像中明亮部分或者較暗部分的細(xì)節(jié)丟失,因此HE算法只適用于少量場合。改進(jìn)后的自適應(yīng)直方圖均衡化算法先將圖像平均分成多個(gè)部分,再對每個(gè)部分進(jìn)行直方圖均衡化。這種方法雖然可以對圖像局部的對比度進(jìn)行調(diào)整,但是可能會使圖像某些部分的對比度增加過大從而放大噪音。所以采用限制對比度自適應(yīng)直方圖均衡(CLAHE)算法[8-10]來提升圖像的對比度。但CLAHE算法只能有效提升圖像的對比度,在調(diào)整圖像亮度方面效果并不理想。所以采用在CLAHE算法中加入伽馬校正的方法對CLAHE算法進(jìn)行改進(jìn)。
理想的顯示系統(tǒng)、采像設(shè)備與輸入的視頻信號(真實(shí)的圖像信息)成正比,但顯示系統(tǒng)或采像設(shè)備存在一個(gè)硬件特性指數(shù),這個(gè)硬件特性指數(shù)會讓輸出圖像與原圖像之間產(chǎn)生非線性失真。所以為了使輸出圖像有更合適的亮度且更加真實(shí),通??梢詫υ紙D像進(jìn)行一次預(yù)補(bǔ)償,讓原始真實(shí)圖像產(chǎn)生與硬件特性指數(shù)相反的反向失真,將產(chǎn)生反向失真后的圖像再輸出到顯示系統(tǒng)顯示則可以達(dá)到線性輸出的目的,這一過程稱為伽馬矯正[11-12]。伽馬校正的公式如式(1)所示。
f=Iγ
(1)
式中γ為硬件特征指數(shù)。當(dāng)γ<1時(shí)灰度值較低的部分圖像對比度增加,在灰度值較高部分圖像對比度降低,同時(shí)整個(gè)圖像的灰度值會增大。所以對γ<1的情況適用于調(diào)整偏暗圖像的亮度。當(dāng)γ>1時(shí)圖像灰度值較低的部分對比度降低,灰度值較高部分對比度增加,與此同時(shí)整個(gè)圖像的灰度值減小,圖像的各個(gè)部分亮度降低。所以對于γ>1的情況適用于光照過強(qiáng)時(shí)降低圖像的亮度。
綜上所述本文選擇γ=0.5調(diào)整夜間的交通標(biāo)志圖像的亮度,通過伽馬校正的圖像如圖2所示。
(a)原圖 (b)伽馬校正圖2 原圖與伽馬校正圖像
從圖2中可以看出使用伽馬校正提高了圖像的亮度。
CLAHE算法通過限制圖像灰度直方圖的幅度達(dá)到限制對比度的目的,再通過引入線性插值的方法降低了算法的計(jì)算量,減少了算法的耗時(shí)。經(jīng)過伽馬校正調(diào)整之后的圖像明顯提高了較暗區(qū)域的亮度。所以在CLAHE算法中加入伽馬校正后再進(jìn)行圖像預(yù)處理可以有效減輕夜間光照不足而造成的影響。進(jìn)一步提高對夜間交通標(biāo)志的檢測與識別的準(zhǔn)確率及精度,圖3是改進(jìn)CLAHE算法處理后的夜間交通標(biāo)志的圖像。可以看出圖像整體的亮度以及對比度明顯提高,適合進(jìn)行下一步的交通標(biāo)志檢測定位處理。
圖3 改進(jìn)CLAHE處理后圖像
為了能更好的對交通標(biāo)志進(jìn)行識別需要先對圖像中的交通標(biāo)志進(jìn)行定位。交通標(biāo)志作為交通警示提示標(biāo)志具有較為統(tǒng)一的顏色。根據(jù)交通標(biāo)志的分類大致分為黃色的警告標(biāo)志,紅色的禁令標(biāo)志和藍(lán)色的指示標(biāo)志。因此可以采用色彩空間的方法對交通標(biāo)志進(jìn)行分割,去除不感興趣的部分,提高對圖像中的交通標(biāo)志的定位,從而提高識別的精度。
所謂色彩空間就是一種數(shù)字化的立體模型,通過數(shù)學(xué)的方法去描述一個(gè)顏色。傳統(tǒng)的RGB色彩空間以紅黃藍(lán)三種原色為基礎(chǔ),進(jìn)行相互疊加就可以產(chǎn)生其他各種顏色[13]。而在圖像分割時(shí)RGB空間會丟失圖像的色彩信息,HSV空間則可以充分利用圖像顏色的特點(diǎn)。HSV三個(gè)字母中H代表色調(diào),S代表飽和度,V代表亮度。HSV色彩空間模型通常表示為一種六角的錐體形狀,HSV中色調(diào)是通過角度來表示,它描述的是色彩的信息,代表了色彩在光譜中所處的位置,可以更加直觀的對顏色進(jìn)行描述。所以在使用色彩空間對夜間交通標(biāo)志圖像定位時(shí)先將RGB空間轉(zhuǎn)換為HSV空間,再完成對交通標(biāo)志的顏色分割。RGB空間轉(zhuǎn)換為HSV空間的公式如式(2)、式(3)、式(4)所示。
V=max(R,G,B)
(2)
(3)
(4)
根據(jù)HSV色彩空間的顏色閾值分布,交通標(biāo)志對應(yīng)的黃、紅、藍(lán)三色對應(yīng)的區(qū)間如下所示。
黃:min[26,43,46],max[34,255,255];
紅:min1[156,43,46],max1[180,255,255],
min2[0,43,46],max2[10,255,255];
藍(lán):min[100,43,46],max[124,255,255]
圖4為經(jīng)過HSV空間分割的圖像。
圖4 HSV色彩空間分割圖像
經(jīng)過HSV色彩空間分割后的二值圖像中已經(jīng)可以看出交通標(biāo)志的輪廓,但是圖像中仍有噪點(diǎn)會影響對交通標(biāo)志的定位,因此需要對圖像進(jìn)行形態(tài)學(xué)操作處理[14]。先對圖像進(jìn)行開操作去除圖像中的小的干擾塊,再對圖像進(jìn)行閉操作填充圖像中閉合區(qū)域。經(jīng)過開閉操作的圖像如圖5所示。
圖5 開閉操作圖像
開閉操作之后的圖像已經(jīng)可以看出交通標(biāo)志的輪廓,而且噪音也被很好的去除了。再對圖像中感興趣的區(qū)域進(jìn)行選擇完成對交通標(biāo)志的定位[16-17],如圖6所示。
圖6 交通標(biāo)志檢測結(jié)果
本文采用HOG+SVM支持向量機(jī)對交通標(biāo)志進(jìn)行分類識別[18-20]。通過SVM對訓(xùn)練集樣本中利用HOG提取的特征進(jìn)行訓(xùn)練分類得到模型與測試集匹配完成交通標(biāo)志的識別過程。
SVM本質(zhì)上是在空間中求出一個(gè)最優(yōu)解作為界限將樣本分類隔開,從而使測試樣本與訓(xùn)練樣本之間的誤差達(dá)到最小,得到最優(yōu)分類。
式(5)為計(jì)算虛線之間最大幾何分類間隙公式。
(5)
在實(shí)際情況下幾乎不存在完全線性可分的數(shù)據(jù)。所以就需要允許某些點(diǎn)的不滿足條件在分類器中加入松弛變量。引入表示樣本不滿足約束的程度的松弛變量,相應(yīng)的需要增加一個(gè)懲罰因子C,C值越大對分類的懲罰越大。式(6)為用拉格朗日乘子法得到的拉格朗日函數(shù)。
(6)
(7)
式(7)為化簡后的函數(shù)由此可得最優(yōu)解。當(dāng)輸入為非線性時(shí)需要對新的空間進(jìn)行映射,此時(shí)引入核函數(shù)如式(8)所示。
k(a,b)=(a·b+1)2=φ(a)·φ(b)
(8)
用核函數(shù)代替內(nèi)積,可以得到分類函數(shù)如式(9)所示。
(9)
進(jìn)而實(shí)現(xiàn)在輸入為非線性時(shí)對輸入的分類。
為驗(yàn)證本文提出的夜間交通標(biāo)志識別技術(shù)的效果還需進(jìn)行實(shí)驗(yàn)驗(yàn)證。本次實(shí)驗(yàn)使用的硬件設(shè)備是2.9GHz的Intel i5-9400CPU計(jì)算機(jī),程序調(diào)試環(huán)境為Windows10操作系統(tǒng)下的Pycharm平臺,使用Python語言完成。
實(shí)驗(yàn)將采集到的1200張樣本圖片裁剪出目標(biāo)區(qū)域作為SVM分類的正樣本,同時(shí)裁剪出其他的區(qū)域作為負(fù)樣本。為避免訓(xùn)練樣本不足,通過將樣本圖片翻轉(zhuǎn)、鏡像、剪裁等方法擴(kuò)充數(shù)據(jù)集,通過SVM訓(xùn)練出模型。再采集400張夜間圖片作為測試集,用來測試本文算法對于夜間圖片的識別率。實(shí)驗(yàn)的最終結(jié)果如圖7所示。
(a)原圖 (b)識別結(jié)果圖7 交通標(biāo)志識別結(jié)果
對比原圖不難看出本文設(shè)計(jì)夜間交通標(biāo)志識別技術(shù)對交通標(biāo)志的識別效果很好。
經(jīng)試驗(yàn)對算法測試情況如表1所示,本次實(shí)驗(yàn)的訓(xùn)練集中總共有五類交通標(biāo)志,分別是人行橫道,禁停標(biāo)志,禁止鳴笛,限速標(biāo)志和前方慢行。同樣測試集也由這五類構(gòu)成。
表1中檢測率為檢測出圖像中含有交通標(biāo)志的概率,識別率為識別檢測出的交通標(biāo)志的成功率??梢钥闯霰疚乃惴▽σ归g交通標(biāo)志的識別有著較高的準(zhǔn)確率,在光線不足的情況下仍然可以較為準(zhǔn)確的識別出圖像中的交通標(biāo)志。
表1 本文算法測試結(jié)果
本文提出了通過改進(jìn)CLAHE算法來對夜間交通標(biāo)志的識別方法。首先對夜間交通標(biāo)志圖像進(jìn)行預(yù)處理,通過在CLAHE算法中加入伽馬校正的方法對夜間圖像中的深色部分以及淺色部分進(jìn)行檢測,使兩部分的比例增大提高夜間圖像的亮度以及對比度,減少夜間光照不足對交通標(biāo)志檢測識別帶來的影響。然后對經(jīng)過預(yù)處理后的圖像進(jìn)行HSV色彩空間分割,提取出感興趣的區(qū)域完成交通標(biāo)志的檢測。最后通過與支持向量機(jī)訓(xùn)練得到的模型進(jìn)行匹配,完成對檢測出的交通標(biāo)志的識別。實(shí)驗(yàn)結(jié)果表明經(jīng)過改進(jìn)CLAHE算法處理的夜間交通標(biāo)志圖像大大減少了夜間光照不足因素的干擾并且可以很好被檢測識別出,因此,本文方法對以后夜間的交通標(biāo)志檢測識別有著一定的研究價(jià)值。但是由于本文采用的是傳統(tǒng)的機(jī)器學(xué)習(xí)方法對交通標(biāo)志進(jìn)行識別,所以可識別的交通標(biāo)志類別較少,在后續(xù)的試驗(yàn)中可使用深度學(xué)習(xí)的算法訓(xùn)練更龐大的數(shù)據(jù)集,完成更多類別的交通標(biāo)志識別。