張 佳,陳 杰,竇麗華
(北京理工大學(xué) 自動(dòng)化學(xué)院,北京 100081)
光電跟蹤系統(tǒng)是光電跟蹤設(shè)備的重要組成部分[1],是以激光傳感器和光電傳感器為核心,將光學(xué)技術(shù)、電子、微電子技術(shù)、計(jì)算機(jī)技術(shù)以及精密機(jī)械技術(shù)等融合一體的具有特定信息功能的高科技設(shè)備。視頻圖像跟蹤技術(shù)充分利用了高分辨率圖像信息,具有無(wú)源工作隱蔽性好、抗電磁干擾[2]、目標(biāo)分辨力強(qiáng)、跟蹤精度高以及靈活性好等特點(diǎn)[3]。
近年來(lái),結(jié)合前沿實(shí)驗(yàn)研究來(lái)提高學(xué)生的實(shí)際動(dòng)手能力和理論水平[4]是實(shí)驗(yàn)課程建設(shè)的一個(gè)重要方向。因此,本文結(jié)合光電跟蹤系統(tǒng)所涉及到的圖像處理[5]和智能控制[6]等方面的問(wèn)題開設(shè)了光電跟蹤系統(tǒng)實(shí)驗(yàn)課程[7]。
光電跟蹤系統(tǒng)實(shí)驗(yàn)課所用的實(shí)驗(yàn)設(shè)備是深圳市元?jiǎng)?chuàng)興科技有限公司設(shè)計(jì)制作的REVS-50M小型光電跟蹤系統(tǒng)。該系統(tǒng)是一個(gè)開放的實(shí)驗(yàn)平臺(tái),采用通用運(yùn)動(dòng)控制器和計(jì)算機(jī)作為控制系統(tǒng),對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)與跟蹤。光電跟蹤系統(tǒng)由圖像采集設(shè)備、激光測(cè)距設(shè)備、轉(zhuǎn)臺(tái)和手動(dòng)靶標(biāo)4部分組成。操作人員控制手動(dòng)靶標(biāo)進(jìn)行前后、左右、上下3個(gè)自由度的運(yùn)動(dòng),攝像頭對(duì)圖像進(jìn)行采集并將信息傳送到計(jì)算機(jī)中進(jìn)行處理,然后將得到的控制信號(hào)輸入到轉(zhuǎn)臺(tái),實(shí)現(xiàn)轉(zhuǎn)臺(tái)對(duì)黑色圓形手動(dòng)靶標(biāo)的實(shí)時(shí)跟蹤。手動(dòng)靶標(biāo)如圖1所示。
該系統(tǒng)軟件初始部分中圖像處理模塊使用顏色閾值[8]的方法來(lái)檢測(cè)手動(dòng)靶標(biāo)以實(shí)現(xiàn)目標(biāo)跟蹤。即對(duì)采集到的圖像進(jìn)行二值化處理,得到黑白圖像,當(dāng)二值圖像中僅存在圓形靶標(biāo)時(shí),通過(guò)掏空該二值圖像內(nèi)部點(diǎn)的方式實(shí)現(xiàn)輪廓提取而得到圓的輪廓,再通過(guò)質(zhì)心法對(duì)輪廓上所有點(diǎn)的坐標(biāo)求平均值,得到圓心坐標(biāo),從而實(shí)現(xiàn)圓心定位并達(dá)到跟蹤的目的。該方法對(duì)圖像背景的要求非常高,因此很容易受到干擾。因?yàn)橹挥挟?dāng)背景圖像中所有其他物體的顏色與靶標(biāo)的顏色存在較大對(duì)比時(shí),才能通過(guò)調(diào)節(jié)二值化閾值、攝像頭的快門參數(shù)以及對(duì)比度使得采集到的圖像經(jīng)過(guò)二值化處理后只留下黑色實(shí)心圓,并得到圓心坐標(biāo)。如果光照條件很差、對(duì)比不明顯,或者在跟蹤過(guò)程中有相同或相近顏色的物體進(jìn)入圖像檢測(cè)區(qū)時(shí),就很有可能造成誤檢測(cè),從而引起誤跟蹤。尤其是人操作手動(dòng)靶標(biāo)時(shí)會(huì)經(jīng)常進(jìn)入到圖像檢測(cè)的區(qū)域,由于人的頭發(fā)顏色與靶標(biāo)顏色非常相近,轉(zhuǎn)臺(tái)經(jīng)常會(huì)錯(cuò)誤地跟蹤人的頭發(fā)而造成誤跟蹤,為實(shí)驗(yàn)操作帶來(lái)很大的麻煩。本文為解決這個(gè)問(wèn)題,對(duì)系統(tǒng)的軟件部分進(jìn)行了改進(jìn),提出采用Hough變換檢測(cè)圓形的方法來(lái)檢測(cè)手動(dòng)靶標(biāo)。
圖1 手動(dòng)靶標(biāo)
邊緣是圖像局部亮度變化最顯著的部分,是圖像的最基本特征。邊緣檢測(cè)被視作圖像分析和理解所要做的第一步[9]。本系統(tǒng)中,采用 Canny[10]算子來(lái)進(jìn)行邊緣檢測(cè)。Canny算子從本質(zhì)上來(lái)看,在判斷一個(gè)像素點(diǎn)是否為邊緣時(shí)考慮了其他像素對(duì)該像素的影響,并不是只通過(guò)簡(jiǎn)單的梯度計(jì)算來(lái)決定。而且,其對(duì)邊緣點(diǎn)進(jìn)行搜索時(shí)還會(huì)充分考慮前面處理過(guò)的像素,所以Canny算子并不是簡(jiǎn)單的邊界跟蹤。應(yīng)用Canny算子對(duì)靶標(biāo)進(jìn)行邊緣檢測(cè)的結(jié)果如圖2所示。
Canny算子比Roberts算子、Sobel算子和拉普拉斯算子更能平衡好去噪聲和邊緣檢測(cè)之間的關(guān)系,能夠檢測(cè)到較弱的邊緣而且得到的邊緣寬度很細(xì)。
Hough變換[11]利用圖像空間到參數(shù)空間的映射關(guān)系來(lái)進(jìn)行幾何形狀識(shí)別。點(diǎn)與線的對(duì)偶性是傳統(tǒng)Hough變換的基本思想。
圖2 用Canny算子對(duì)靶標(biāo)進(jìn)行邊緣檢測(cè)的結(jié)果
對(duì)圓的Hough變換可以從對(duì)直線的Hough變換推廣得來(lái)[12]。圓的基本參數(shù)則是圓心坐標(biāo)和半徑。若待確定的圓上點(diǎn)的集合為{(xi,yi)|i=1,2,…,n},且該圓圓心為(a,b)、半徑為r,則在圖像空間中該集合滿足方程:
如果(x,y)是上述集合中一點(diǎn),那么這點(diǎn)在參數(shù)坐標(biāo)系(a,b,r)中的方程為
上式確定了一個(gè)三維錐面,如圖3(a)所示。因此,在圖像空間中圓上的每一點(diǎn)(xi,yi)在參數(shù)空間中都有一個(gè)三維圓錐與之對(duì)應(yīng)。而這些三維圓錐都交于同一點(diǎn)(a0,b0,r0),如圖3(b)所示。該交點(diǎn)中的a0、b0對(duì)應(yīng)圖像空間中的圓心坐標(biāo),而r0對(duì)應(yīng)圓的半徑。
圖3 圖像空間中圓上的點(diǎn)在參數(shù)空間中的表示
由上述圓的Hough變換基本原理可知,圖像空間中圓上的每一點(diǎn)在參數(shù)空間中都是一個(gè)圓錐面,且所有圓上點(diǎn)對(duì)應(yīng)的圓錐面在參數(shù)空間中交于一點(diǎn),且該點(diǎn)對(duì)應(yīng)圖像空間中圓的3個(gè)參數(shù)。因此,可以利用這個(gè)性質(zhì)得到Hough變換檢測(cè)圓的算法。
首先考慮圓半徑已知的情況。當(dāng)圓半徑r是已知量的時(shí)候,三維累加器降為二維的?;静襟E為:
(1)獲取邊緣圖像的指針;
(2)開辟一塊相同大小的數(shù)據(jù)緩沖區(qū)作為累加器,且初始化為0,即累加器初始值全部為0;
(3)對(duì)圖像的每個(gè)像素點(diǎn)進(jìn)行循環(huán),判斷當(dāng)前像素點(diǎn)灰度值是否為0。若為255則不是邊緣點(diǎn),直接跳過(guò)此次循環(huán);若為0表示是邊緣點(diǎn),以當(dāng)前點(diǎn)為圓心,以已知半徑畫圓(注意此處要做特殊處理防止越界)。同時(shí)將數(shù)據(jù)緩沖區(qū)中與該圓上每一點(diǎn)對(duì)應(yīng)的每一個(gè)累加器的數(shù)值都加1。當(dāng)每一個(gè)邊緣點(diǎn)都作為圓心畫過(guò)圓后循環(huán)結(jié)束;
(4)找出數(shù)值最大的累加器,其對(duì)應(yīng)的坐標(biāo)即為圖像空間中的圓心坐標(biāo);
(5)將數(shù)據(jù)緩沖區(qū)所有數(shù)據(jù)置255,作為圖像緩沖區(qū)。以第4步中求得的圓心坐標(biāo)為圓心,以已知半徑為半徑畫圓(即把離圓心坐標(biāo)的距離為半徑長(zhǎng)度的點(diǎn)的灰度值置0);
(6)用數(shù)據(jù)緩沖區(qū)覆蓋原來(lái)的邊緣圖像,最后刪除數(shù)據(jù)緩沖區(qū)。
已知半徑圓的Hough變換,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 已知半徑圓的Hough變換實(shí)驗(yàn)結(jié)果圖
由圖4可知,經(jīng)過(guò)已知半徑圓的Hough變換處理后,能夠從邊緣圖像中提取出圓形靶標(biāo)。但是圖像區(qū)域的圓形存在很明顯的波動(dòng),圖中右邊的圓形實(shí)際上是在不斷上下小幅度跳動(dòng)的,如果邊緣效果再差一些,則會(huì)出現(xiàn)更為嚴(yán)重的跳動(dòng),因此定位的精確度并不是很高。
對(duì)于未知半徑圓的Hough變換,則累加器是三維的,實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 未知半徑圓的Hough變換實(shí)驗(yàn)結(jié)果圖
由圖5可知,經(jīng)過(guò)未知半徑圓的Hough變換處理后,能很好地從邊緣圖像中提取出圓形靶標(biāo)。和已知半徑圓的Hough變換不同,此次提取出來(lái)的圓形幾乎不存在波動(dòng),準(zhǔn)確性大大提升,不過(guò)代價(jià)是處理過(guò)程更加繁瑣,代碼運(yùn)行時(shí)間變長(zhǎng)。在背景較為簡(jiǎn)單的情況下,對(duì)未知半徑圓的Hough變換處理的準(zhǔn)確性和快速性都完全符合要求。
首先,打開光電跟蹤系統(tǒng)的攝像頭,默認(rèn)畫面為原始圖像;用手轉(zhuǎn)動(dòng)攝像頭對(duì)靶標(biāo)進(jìn)行調(diào)焦,直到畫面變得清晰。此時(shí)可以在圖像中清楚地看到黑色實(shí)心圓形靶標(biāo),如圖6所示。
圖6 原始圖像
然后,在圖像處理區(qū)域中選擇邊緣檢測(cè)按鈕,并調(diào)整快門,直到得到較好邊緣圖像,如圖7所示。
圖7 邊緣檢測(cè)圖像
選擇Hough變換按鈕,檢測(cè)出圖中的圓形如圖8所示。單擊圖像處理按鈕,并選擇原始圖像按鈕,得到的圖像如圖9。
圖8 Hough變換檢測(cè)圓形
如圖9所示,圖像顯示區(qū)中的圖像上會(huì)出現(xiàn)一個(gè)白色的十字分劃,該十字分劃用來(lái)標(biāo)定檢測(cè)出的圓的圓心位置。當(dāng)圓形靶標(biāo)進(jìn)行上、下、左、右、前、后6個(gè)方向上的移動(dòng)時(shí),十字分劃會(huì)一直跟隨圖像上的圓形靶標(biāo)運(yùn)動(dòng),實(shí)現(xiàn)準(zhǔn)確的跟蹤,即使人因?yàn)椴僮魇謩?dòng)靶標(biāo)進(jìn)入圖像檢測(cè)區(qū)域,也不會(huì)像以前一樣造成誤跟蹤。
圖9 圖像處理后圖像
采用常規(guī)Hough變換對(duì)圓形手動(dòng)靶標(biāo)進(jìn)行檢測(cè),消除了由于顏色閾值檢測(cè)方法產(chǎn)生的誤跟蹤問(wèn)題,實(shí)現(xiàn)了轉(zhuǎn)臺(tái)的準(zhǔn)確跟蹤,為光電跟蹤系統(tǒng)實(shí)驗(yàn)課程創(chuàng)造了良好的實(shí)驗(yàn)條件。但是該方法仍存在目標(biāo)定位精度不夠高的問(wèn)題,需要繼續(xù)進(jìn)行完善和改進(jìn)。
(
)
[1]包啟亮.光電跟蹤系統(tǒng)高精度控制技術(shù)[D].成都:電子科技大學(xué),2004.
[2]盧國(guó)良.綜合自動(dòng)化系統(tǒng)的抗電磁干擾[J].科技資訊,2013(12):111-112.
[3]深圳市元?jiǎng)?chuàng)興科技有限公司.光電跟蹤成像系統(tǒng)使用說(shuō)明書[M].深圳:深圳市元?jiǎng)?chuàng)興科技有限公司,2011.
[4]閆連山,潘煒,羅斌,等.結(jié)合前沿實(shí)驗(yàn)研究提高研究生培養(yǎng)質(zhì)量的探索[J].實(shí)驗(yàn)技術(shù)與管理,2011,28(3):5-6.
[5]蔣偉,楊庭庭,劉亞威,等.數(shù)字圖像處理研究性實(shí)驗(yàn)教學(xué)的改革與實(shí)踐:基于分?jǐn)?shù)階偏微分的圖像邊緣檢測(cè)[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(6):124-128.
[6]羅兵,甘俊英,張建民.智能控制技術(shù)[M].北京:清華大學(xué)出版社,2011.
[7]張佳,竇麗華,陳杰.基于光電跟蹤系統(tǒng)的系列實(shí)驗(yàn)開發(fā)[J].實(shí)驗(yàn)室科學(xué),2012,15(6):40-43.
[8]李云紅,屈海濤.數(shù)字圖像處理[M].北京:北京大學(xué)出版社,2012.
[9]賈云得.機(jī)器視覺[M].北京:科學(xué)出版社,2000.
[10]焦玉斌,徐艷蕾,陳喜龍.圖像分割研究綜述[J].科技創(chuàng)新導(dǎo)報(bào),2009(13):11.
[11]Hough PVC.Method and means for recognizing complex:United States,3069654[P].1962.
[12]朱桂英,張瑞林.基于 Hough變換的圓檢測(cè)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(6):1462-1464.