吳國(guó)棟,張愛梅,黃 曉,姚鵬威
(鄭州大學(xué) 機(jī)械工程學(xué)院,河南 鄭州 450001)
隨著計(jì)算機(jī)視覺和視頻監(jiān)控的廣泛應(yīng)用,智能交通得到了快速發(fā)展,在目前的智能交通視頻監(jiān)控中,檢測(cè)車輛運(yùn)動(dòng)狀態(tài)是主要任務(wù)之一.在檢測(cè)車輛時(shí),由于車輛的陰影跟車輛本身具有相同的運(yùn)動(dòng)屬性,車輛的陰影也常常被誤檢測(cè)為車輛本身,造成運(yùn)動(dòng)目標(biāo)的合并、幾何變形、消失等,從而影響檢測(cè)結(jié)果,降低了目標(biāo)檢測(cè)準(zhǔn)確率,給后續(xù)的工作帶來麻煩.因此車輛的陰影去除對(duì)正確檢測(cè)車輛目標(biāo)至關(guān)重要,也是目前研究的熱點(diǎn)之一.
目前已經(jīng)有很多國(guó)內(nèi)外學(xué)者對(duì)陰影去除進(jìn)行了深入的研究,文獻(xiàn)[1]給出了基于圖像序列的陰影檢測(cè)方法綜述,將現(xiàn)有的檢測(cè)方法按照所使用的特征進(jìn)行分類,其中最常見的是基于陰影特征的檢測(cè)方法,它直接利用陰影的顏色、紋理等固有屬性特征來識(shí)別陰影區(qū)域.文獻(xiàn)[2-3]利用陰影在顏色空間的特征來進(jìn)行檢測(cè),但當(dāng)車輛顏色和陰影顏色較為近似時(shí),容易造成誤檢.文獻(xiàn)[4-5]利用陰影的紋理不變性進(jìn)行陰影檢測(cè),但對(duì)于紋理特征不明顯的車輛,誤檢率較高.文獻(xiàn)[6-7]利用陰影的邊緣特征進(jìn)行陰影檢測(cè),但是在陰影區(qū)域內(nèi)包含復(fù)雜背景時(shí),檢測(cè)效果就不太理想.雖然檢測(cè)陰影的方法很多,但因?yàn)榈缆方煌ǖ膹?fù)雜性,基于單一特征的檢測(cè)方法很難做到精確檢測(cè),陰影檢測(cè)率較低.文獻(xiàn)[8-10]通過將兩種陰影特征融合的方法實(shí)現(xiàn)陰影消除,但檢測(cè)率提升有限.因此筆者應(yīng)用一種多特征融合的陰影檢測(cè)方法,來解決單一特征陰影檢測(cè)率較低的問題.應(yīng)用多特征檢測(cè)可以結(jié)合多種特征的優(yōu)點(diǎn),對(duì)誤檢部分進(jìn)行抑制,能更好地適應(yīng)多種復(fù)雜環(huán)境,進(jìn)一步提升陰影檢測(cè)率.
首先,通過高斯混合背景建模的方法進(jìn)行背景建模和前景運(yùn)動(dòng)目標(biāo)提?。蝗缓?,根據(jù)陰影在HSI(hue-saturation-intensity)顏色空間的特點(diǎn),將前景中像素點(diǎn)的H、S、I分量分別與背景中對(duì)應(yīng)像素點(diǎn)的三個(gè)分量進(jìn)行比較,初步檢測(cè)出目標(biāo)的疑似陰影區(qū)域,再對(duì)前景運(yùn)動(dòng)目標(biāo)進(jìn)行紋理和邊緣提取.由于一種方法都只能提取部分運(yùn)動(dòng)目標(biāo),而兩種方法結(jié)合可以得出真實(shí)的運(yùn)動(dòng)目標(biāo).最后,再與前面提取出的疑似陰影區(qū)域結(jié)合,剔除非陰影的真實(shí)目標(biāo)區(qū)域,得出全部的真實(shí)陰影區(qū)域,從而實(shí)現(xiàn)消除目標(biāo)陰影得到真實(shí)運(yùn)動(dòng)目標(biāo).這種算法通過對(duì)廣為使用的陰影檢測(cè)基準(zhǔn)視頻進(jìn)行測(cè)試,測(cè)試結(jié)果良好,證明該方法是可行的.本文算法框圖如圖1所示.
圖1 本文算法框圖
針對(duì)運(yùn)動(dòng)車輛圖像序列,在讀入原始圖像Fr后,如圖2(a)所示,首先進(jìn)行混合高斯背景建模,提取前景運(yùn)動(dòng)目標(biāo),再經(jīng)過形態(tài)學(xué)濾波操作后,尋找并繪制填充前景輪廓,得到前景運(yùn)動(dòng)目標(biāo)區(qū)域,包括車輛本身和車輛陰影區(qū)域F,如圖2(b)所示.
圖2 運(yùn)動(dòng)目標(biāo)檢測(cè)
在研究物體陰影時(shí),按照人們的視覺感知系統(tǒng)對(duì)陰影的認(rèn)識(shí),可以知道陰影區(qū)域的像素點(diǎn)的亮度明顯降低,色調(diào)和飽和度變化不大.根據(jù)陰影在HSI顏色空間的特點(diǎn),首先將圖像轉(zhuǎn)換到HSI顏色空間,然后將前景像素的H、S、I分量按公式(1)分別與背景中對(duì)應(yīng)像素的三個(gè)分量進(jìn)行比較.
(1)
圖3 基于HSI顏色空間的候選陰影檢測(cè)S1
紋理是一種反映圖像中同質(zhì)現(xiàn)象的視覺特征,當(dāng)背景區(qū)域被陰影所覆蓋時(shí),雖然像素值發(fā)生改變,但其紋理特征仍然保持不變.局部二值模式(LBP)是一個(gè)具有很強(qiáng)局部紋理描述能力的算子[10].它的原理是選取一個(gè)局部區(qū)域,以它為中心定義一個(gè)鄰域,將其中心像素的灰度值作為閾值,然后將其鄰域像素與閾值進(jìn)行比較,大于閾值記為1,否則記為0,將鄰域像素二值化后,按照一定順序?qū)⒍祷慕Y(jié)果轉(zhuǎn)化成一個(gè)8位二進(jìn)制數(shù),其數(shù)學(xué)公式定義為:
(2)
其中,
(3)
式中:R為鄰域的半徑;P為以R為半徑的鄰域像素的個(gè)數(shù);(xc,yc)為鄰域的中心像素C的坐標(biāo);像素值為gc;i為鄰域內(nèi)按順序標(biāo)記的第i個(gè)像素.算法取P=8,R=1.
但是,當(dāng)鄰域內(nèi)像素的灰度值非常接近中心像素值時(shí),LBP算子便不能很好地處理這些平面區(qū)域.為了使其能夠處理平面區(qū)域內(nèi)這些可忽略的像素值的變化,修改了算子的閾值化方案,使其鑒別能力更加穩(wěn)定且具有更強(qiáng)的魯棒性.將S(gi-gc)改進(jìn)為S(gi-gc+a),其中a是一個(gè)常數(shù).本文中分別取a=0,5,7,10,做LBP處理,如圖4所示.從結(jié)果可以看出,a的絕對(duì)值越大,則算子對(duì)像素灰度值的變化越不敏感,在復(fù)雜光照條件的情況下具有較強(qiáng)的適應(yīng)性.為有效檢測(cè)紋理特征同時(shí)保證算子的有效性,本文中選取a=7對(duì)前景運(yùn)動(dòng)區(qū)域進(jìn)行LBP紋理檢測(cè),再經(jīng)過圖像處理得出車輛本身的部分區(qū)域C1,如圖4(c)所示.
圖4 基于紋理特征的車輛區(qū)域檢測(cè)C1
車輛陰影的邊緣相比于車輛自身的邊緣更清晰簡(jiǎn)潔,而且陰影的邊緣密度小,車輛的邊緣密度大,因此,將陰影邊緣去掉即得到車輛的部分內(nèi)部邊緣信息.本文算法采取Canny算子對(duì)前景目標(biāo)區(qū)域進(jìn)行邊緣檢測(cè).
2.4.1 前景區(qū)域邊緣檢測(cè)
根據(jù)前面的算法,已經(jīng)得到原始圖像和前景運(yùn)動(dòng)區(qū)域,圖5(a)表示原始圖像Fr,圖5(b)表示前景運(yùn)動(dòng)區(qū)域F.對(duì)前景區(qū)域進(jìn)行Canny算子邊緣檢測(cè),得到前景區(qū)域內(nèi)所有的邊緣E1,如圖5(c)所示.
2.4.2 車輛內(nèi)部邊緣獲取
對(duì)圖5(b)獲得的前景運(yùn)動(dòng)區(qū)域F進(jìn)行腐蝕處理,縮小區(qū)域獲得Fs,如圖5(d)所示.E1減去Fs即可得到外輪廓邊緣E2,如圖5(e)所示.為保證后續(xù)的刪除外輪廓邊緣操作準(zhǔn)確,防止外輪廓?jiǎng)h除不充分,將得到的外輪廓邊緣E2進(jìn)行膨脹處理,擴(kuò)大外輪廓邊緣目標(biāo)得到E3,如圖5(f)所示.為獲取車輛內(nèi)部邊緣,將E1邊緣去掉E3邊緣即可得到內(nèi)部邊緣E4,如圖5(g)所示.
2.4.3 車輛內(nèi)部邊緣填充
在提取出車輛內(nèi)部邊緣后,對(duì)E4分別進(jìn)行水平填充和垂直填充,填充方法為在內(nèi)部邊緣區(qū)域內(nèi),進(jìn)行逐行掃描,找出每行的第1個(gè)像素點(diǎn)和最后1個(gè)像素點(diǎn),把兩者之間所有的像素點(diǎn)都設(shè)置成1,同理進(jìn)行逐列掃描并垂直填充.在經(jīng)歷了先水平填充后垂直填充和先垂直填充后水平填充兩次填充后,取兩次填充結(jié)果的交集即可得到填充好的車輛內(nèi)部區(qū)域C2,如圖5(h)所示.
圖5 基于邊緣特征的車輛區(qū)域檢測(cè)C2
在進(jìn)行基于邊緣特征的目標(biāo)檢測(cè)后,得到車輛內(nèi)部區(qū)域C2,但在得到過程中,我們刪除了外輪廓邊緣,導(dǎo)致C2區(qū)域不是完整的車輛區(qū)域,特別是缺失車輛邊緣的信息.車輛邊緣部分就是車輛與背景像素變化較大的區(qū)域,而紋理檢測(cè)對(duì)局部區(qū)域內(nèi)像素的變化特別敏感,所以通過LBP算子可得到車輛邊緣信息C1,在基于HSI顏色空間的陰影檢測(cè)中,已經(jīng)得到候選陰影區(qū)域S1,刪除掉S1中屬于C1和C2的像素點(diǎn),即可得到最終的陰影區(qū)域ST,再將前景區(qū)域F減去陰影區(qū)域ST,即可得到完整的運(yùn)動(dòng)車輛目標(biāo)FC,如圖6所示.
筆者使用OpenCV3.2進(jìn)行編程實(shí)驗(yàn),采用三段含有陰影干擾的運(yùn)動(dòng)車輛視頻測(cè)試:Highway1、Highway2和Road,這三段視頻包含的陰影面積分別為較大、較小、中等,陰影強(qiáng)度分別為中等、較強(qiáng)、較弱,可以比較全面地測(cè)試本文算法.對(duì)三段測(cè)試視頻進(jìn)行實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)結(jié)果如圖7所示.圖中A為原始圖像;B為陰影去除前車輛目標(biāo);C為檢測(cè)出的陰影;D為陰影去除后車輛目標(biāo).
圖7 本文算法測(cè)試過程
從圖7測(cè)試結(jié)果來看,前兩組Highway1的測(cè)試結(jié)果:整體上陰影檢測(cè)和消除效果較好,但部分陰影存在于車輛底部,導(dǎo)致小部分陰影未檢測(cè)到或小部分車輛底部被認(rèn)為陰影區(qū)域獲取不完整.中間兩組Highway2的測(cè)試結(jié)果:圖像中汽車較多且面積較小,陰影顏色較深且與車輛本身顏色相近.從測(cè)試結(jié)果來看,算法成功檢測(cè)并消除大部分陰影,但車輛底部因與陰影顏色較為接近,被誤檢為陰影而消除.算法對(duì)這段測(cè)試視頻檢測(cè)整體效果良好,但誤檢率較高.最后兩組Road的測(cè)試結(jié)果:車輛陰影的顏色與路面顏色幾乎一致,陰影面積較大但邊界不明顯,算法對(duì)視頻中車輛的陰影檢測(cè)和去除效果明顯,車輛本身一小部分及輪胎部分被誤檢去除,兩輛白色車輛之間的連接部分未被去除.
從這三段測(cè)試視頻的檢測(cè)結(jié)果來看,陰影在不同強(qiáng)度及不同面積下,本文算法都能將陰影檢測(cè)出來并消除陰影.但針對(duì)車輛底部的陰影,檢測(cè)效果不佳.為保證實(shí)驗(yàn)測(cè)試結(jié)果的可靠性,筆者采用文獻(xiàn)[11]提出的性能評(píng)價(jià)公式進(jìn)行性能分析,具體定義為:
(4)
(5)
表1 本文算法的實(shí)驗(yàn)結(jié)果
由實(shí)驗(yàn)結(jié)果的對(duì)比可以看出,在基于特征的陰影檢測(cè)方面,本文算法優(yōu)于近年出現(xiàn)的優(yōu)秀算法.文獻(xiàn)[13]提出的卷積神經(jīng)網(wǎng)絡(luò)對(duì)陰影的檢測(cè)率可達(dá)到95%,略高于本文算法.但基于深度學(xué)習(xí)的方法需要大量的原始圖像數(shù)據(jù)集來進(jìn)行模型訓(xùn)練,前期訓(xùn)練工作較為復(fù)雜;而基于特征的陰影檢測(cè)不需要尋找大量樣本進(jìn)行訓(xùn)練,可以直接對(duì)待檢測(cè)對(duì)象進(jìn)行陰影檢測(cè),所以,本文算法在基于特征的陰影檢測(cè)方面,優(yōu)于近年出現(xiàn)的優(yōu)秀算法.雖然檢測(cè)率略低于基于深度學(xué)習(xí)的方法,但二者檢測(cè)率差距很小,檢測(cè)結(jié)果差距可以忽略不計(jì);同時(shí),本文算法不需要大量數(shù)據(jù)集進(jìn)行訓(xùn)練模型,可直接對(duì)目標(biāo)進(jìn)行檢測(cè),工作量較少,具有一定優(yōu)勢(shì).
基于多特征融合的車輛陰影去除算法,在基于HSI顏色空間陰影檢測(cè)的基礎(chǔ)上,又加入了紋理特征和邊緣特征的檢測(cè),多種特征能更加準(zhǔn)確地消除陰影,使檢測(cè)率進(jìn)一步提高.通過實(shí)驗(yàn)分析,該算法能夠有效處理復(fù)雜道路情況下的車輛陰影去除,陰影消除效果良好,彌補(bǔ)了基于單一特征陰影檢測(cè)識(shí)別率低的缺陷,具有良好的準(zhǔn)確性和魯棒性.