孫維廣
摘要:對(duì)運(yùn)動(dòng)車(chē)輛的車(chē)輪視覺(jué)檢測(cè)方法進(jìn)行了研究。首先采用實(shí)時(shí)背景更新的背景差分法和輪廓檢測(cè)方法獲得運(yùn)動(dòng)車(chē)輛的位置和范圍,然后根據(jù)車(chē)輛輪廓信息截取下半部圖像,以縮小車(chē)輪的搜索范圍。再對(duì)截取的圖像進(jìn)行邊緣檢測(cè),提取其輪廓,最后對(duì)輪廓采用直接最小二乘橢圓擬合算法檢測(cè)橢圓,并根據(jù)橢圓長(zhǎng)短軸比率和中心間距等信息排除誤檢橢圓,得到車(chē)輪的中心位置和大小。實(shí)驗(yàn)表明,本方法檢測(cè)車(chē)輪有很高的正確率。
關(guān)鍵詞:Canny算法,輪廓檢測(cè),橢圓擬合,車(chē)輪
中圖分類(lèi)號(hào):TU723.3 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1672-3791(2015)04(a)-0000-01
基于計(jì)算機(jī)視覺(jué)的車(chē)輪自動(dòng)檢測(cè)在智能交通、工業(yè)生產(chǎn)等領(lǐng)域有重要的應(yīng)用價(jià)值。由于實(shí)際環(huán)境復(fù)雜,車(chē)輪的有效檢測(cè)是一項(xiàng)困難的工作。在車(chē)輪檢測(cè)時(shí)本文利用了Andrew Fitzgibbon提出的直接最小二乘橢圓擬合法[1]進(jìn)行橢圓檢測(cè),此算法優(yōu)點(diǎn)是簡(jiǎn)單高效,但缺點(diǎn)是會(huì)出現(xiàn)較多的誤檢橢圓。因此,本文根據(jù)運(yùn)動(dòng)圖像的特點(diǎn)縮小車(chē)輪的檢測(cè)范圍,以盡可能排除干擾。本文首先運(yùn)用背景差分法和輪廓分析方法檢測(cè)運(yùn)動(dòng)車(chē)輛位置,然后針對(duì)車(chē)輛的下半部圖像采用Canny算法提取邊緣,進(jìn)而對(duì)其進(jìn)行輪廓檢測(cè),最后采用橢圓擬合算法完成車(chē)輪的檢測(cè)。
1 運(yùn)動(dòng)目標(biāo)檢測(cè)
由于背景有較多干擾,會(huì)導(dǎo)致最終車(chē)輪提取變的復(fù)雜。因此,本文首先運(yùn)用背景差法將運(yùn)動(dòng)目標(biāo)提取出來(lái),為了排除場(chǎng)景變化的影響, 并獲得較純凈的背景,對(duì)背景進(jìn)行了實(shí)時(shí)更新[2]。本文研究的原始視頻幀如圖1所示,背景如圖2所示。背景差分并二值化的效果如圖3所示。
2 輪廓檢測(cè)
對(duì)于二值化圖像,本文利用OpenCV的cvFindContours函數(shù)提取輪廓,將檢測(cè)出的輪廓保存到鏈表中[3]。根據(jù)車(chē)輛的長(zhǎng)寬信息可以排除小的干擾輪廓。對(duì)圖3所示的二值圖進(jìn)行輪廓檢測(cè)結(jié)果如圖4所示,可見(jiàn)車(chē)輛被正確檢測(cè)出來(lái)。
圖1 原始視頻幀 圖2 實(shí)時(shí)更新的背景
圖3 背景差分并二值化效果 圖4 目標(biāo)檢測(cè)結(jié)果
3 邊緣檢測(cè)
上節(jié)將運(yùn)動(dòng)車(chē)輛檢測(cè)出來(lái)后,為了排除干擾,減少計(jì)算時(shí)間,本文針對(duì)其下半部進(jìn)行邊緣檢測(cè)。這里采用Canny算法提取邊緣,其原理是先用高斯濾波器平滑圖像,再用一階偏導(dǎo)的有限差分計(jì)算梯度幅值和方向,對(duì)梯度幅值進(jìn)行非極大值抑制,最后用雙閾值法檢測(cè)并連接邊緣[3]。由于輪轂和輪胎分界明顯,因此邊緣檢測(cè)效果對(duì)閾值選取不是很敏感,可以選取稍大的閾值,以減少非車(chē)輪邊緣的檢出。檢測(cè)效果如圖5所示。
4 車(chē)輪檢測(cè)
為了便于后續(xù)的車(chē)輪檢測(cè),本文首先針對(duì)邊緣檢測(cè)后的圖像用第3節(jié)介紹的方法進(jìn)行輪廓提取。輪廓信息保存在序列中,序列中的每一個(gè)元素是曲線中的一個(gè)點(diǎn)的位置。圖5中有較長(zhǎng)的邊緣和較短的邊緣,顯然不符合車(chē)輪特征??梢愿鶕?jù)第3節(jié)獲得的車(chē)輛長(zhǎng)高信息推測(cè)車(chē)輪的尺寸,排除一部分不符合條件的輪廓,輪廓提取的效果如圖6所示。
圖5 對(duì)目標(biāo)區(qū)域邊緣檢測(cè) 圖6 輪廓檢測(cè)結(jié)果
車(chē)輪圖像近似于橢圓,因此可以通過(guò)橢圓檢測(cè)的方法檢測(cè)車(chē)輪。本文對(duì)輪廓提取結(jié)果采用直接最小二乘橢圓擬合法[1]進(jìn)行橢圓檢測(cè)。雖然已經(jīng)縮小了橢圓擬合范圍,但仍可能會(huì)將少量非橢圓輪廓檢測(cè)出來(lái),或同一車(chē)輪檢出多個(gè)橢圓,如圖7(a)- (d)所示。其中,圖7(a)為圖6的橢圓擬合結(jié)果,其橢圓信息如表1所示。圖7(b)- (d)列舉了其它3種車(chē)輪的橢圓檢測(cè)結(jié)果。
(a) (b)
(c) (d)
圖7 橢圓檢測(cè)結(jié)果
表1 對(duì)圖7(a)檢測(cè)出的橢圓信息
左側(cè)橢圓 右側(cè)橢圓
中心坐標(biāo) 短軸 長(zhǎng)軸 中心坐標(biāo) 短軸 長(zhǎng)軸
(17, 31) 6 13 (218, 32) 7 11
(42, 28) 9 11 (220, 32) 13 15
(43, 27) 11 14 (220, 30) 16 16
文獻(xiàn)[4]根據(jù)橢圓內(nèi)外的灰度值區(qū)分橢圓是否為車(chē)輪邊界,但不適用于輪轂顏色本身較暗或受到污染的情況。本文研究的車(chē)輪有如下特點(diǎn):
(1)兩車(chē)輪大小、中心縱向坐標(biāo)相近;
(2)車(chē)輪圖像接近圓形,長(zhǎng)短軸比接近1;
(3)兩車(chē)輪對(duì)稱(chēng),與車(chē)輛邊緣距離接近。
本文根據(jù)以上特點(diǎn)排除誤檢橢圓,并且根據(jù)剩余橢圓中心的距離將多個(gè)近似橢圓歸并,歸并時(shí)優(yōu)先保留長(zhǎng)短軸比最接近1的,長(zhǎng)軸最長(zhǎng)的橢圓,最終相應(yīng)車(chē)輪的檢測(cè)結(jié)果如圖8所示??梢?jiàn)車(chē)輪被正確檢測(cè)出來(lái)。
圖8 車(chē)輪檢測(cè)結(jié)果
5 結(jié)論
本文對(duì)車(chē)輪的視覺(jué)檢測(cè)進(jìn)行了研究,并利用VC++和OpenCV視覺(jué)庫(kù)進(jìn)行了編程實(shí)驗(yàn),結(jié)果表明本方法能實(shí)時(shí)有效的檢測(cè)出車(chē)輪位置。但當(dāng)輪轂和輪胎顏色分界不明顯時(shí)會(huì)出現(xiàn)車(chē)輪中心提取準(zhǔn)確度不高的現(xiàn)象。另外,實(shí)際環(huán)境復(fù)雜,車(chē)輪的污染程度,相機(jī)擺放角度,光線都會(huì)影響最終的車(chē)輪檢測(cè)效果。如要適應(yīng)更復(fù)雜的情況需要做進(jìn)一步的研究。
參考文獻(xiàn)
[1] Andrew Fitzgibbon, Maurizio Pilu, Robert B. Fisher. Direct Least Square Fitting of Ellipses. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1999, 21(5): 253-257.
[2] Dr Alan M. Mclvor. Background Subtraction Techniques[J]. IVCNZ00, Hamilton, New Zealand, 2000
[3] Gary Bradski, Adrian Kaehler著.于仕琪,劉瑞禎譯.學(xué)習(xí)OpenCV(中文版)[M].北京:清華大學(xué)出版社,2009,10,173-256..
[4] 陳旭,林國(guó)余.一種基于立體視覺(jué)的車(chē)輪中心測(cè)量方法[J]. 南京信息工程大學(xué)學(xué)報(bào):自然科學(xué)版,2011,3(1):84-90.