張 嵐
(廣東省高級(jí)技工學(xué)校,廣東 惠州 516100)
智能小車目標(biāo)識(shí)別跟蹤系統(tǒng)的設(shè)計(jì)
張 嵐
(廣東省高級(jí)技工學(xué)校,廣東 惠州 516100)
隨著經(jīng)濟(jì)水平的飛速發(fā)展和科學(xué)技術(shù)的不斷提高,電子設(shè)備的智能化將成為當(dāng)今時(shí)代的發(fā)展趨勢。本文首先介紹了智能小車目標(biāo)識(shí)別跟蹤系統(tǒng)的組成,在此基礎(chǔ)上詳細(xì)介紹了智能小車對(duì)目標(biāo)的識(shí)別以及跟蹤系統(tǒng)的設(shè)計(jì)。
智能小車;識(shí)別;追蹤
隨著科學(xué)技術(shù)在工業(yè)智能控制領(lǐng)域的不斷應(yīng)用,對(duì)特定目標(biāo)的識(shí)別和跟蹤技術(shù)日漸趨近成熟。通過使用單片機(jī)、ARM等高速控制芯片對(duì)車載攝像模塊進(jìn)行配置,即可實(shí)現(xiàn)圖像的快速捕獲;再將捕獲的圖像信息通過無線通訊的方式傳送到計(jì)算機(jī),對(duì)其進(jìn)行信息處理和判斷,即可判定出小車的運(yùn)動(dòng)方向。此過程實(shí)現(xiàn)了通過無線通訊的方式下發(fā)運(yùn)動(dòng)方向指令,從而達(dá)到對(duì)特定目標(biāo)的識(shí)別和跟蹤的目的。
系統(tǒng)主要由智能小車(包含攝像頭模塊)、數(shù)據(jù)收發(fā)終端和計(jì)算機(jī)三個(gè)部分組成。其中,智能小車和數(shù)據(jù)接收終端采用2.4GHz的無線進(jìn)行通訊,數(shù)據(jù)收發(fā)終端采用網(wǎng)口和計(jì)算機(jī)進(jìn)行通訊,計(jì)算機(jī)上安裝有C++開發(fā)的圖像處理和控制界面。智能小車識(shí)別跟蹤系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
1.1 智能小車通訊模塊
目前無線通訊模塊有很多,如紅外、藍(lán)牙、Zigbee和NRF24L01的無線模塊等幾種。紅外技術(shù):紅外是家庭無線控制網(wǎng)絡(luò)可以選擇的一個(gè)技術(shù),設(shè)備簡單,價(jià)格低廉,很容易推廣。由于波長短,障礙物衍射能量差,必須使控制器和接收機(jī)在可視范圍內(nèi),并且通信角度不大于35°。另外一個(gè)特點(diǎn)是通信距離短,一般最大10m,因此,這種模式僅適用于點(diǎn)對(duì)點(diǎn)的溝通、無障礙、短距離,不容易建立廣泛的家庭通信網(wǎng)絡(luò)。藍(lán)牙技術(shù):藍(lán)牙技術(shù)是一種低成本,短距離,點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)通信的技術(shù),支持無線通信技術(shù)。藍(lán)牙技術(shù)的主要目的是交換數(shù)據(jù)和語音信號(hào),傳輸協(xié)議過于復(fù)雜,芯片成本較高。ZigBee技術(shù):ZigBee是一種短距離、低功率、低速率、低成本的無線通信技術(shù),通訊距離幾百米內(nèi)。以上幾種通訊方式都不適合在本設(shè)計(jì)系統(tǒng)中使用,小車控制系統(tǒng)選擇NRF24L01無線模塊,此模塊功耗低,價(jià)格便宜,傳輸距離最大可以達(dá)到2000米,控制器通過串口和模塊間進(jìn)行通訊,實(shí)現(xiàn)無線傳輸功能。
1.2 智能小車圖像采集和控制模塊
控制芯片選用ST公司的STM32F407,它工作主頻可達(dá)168MHz,自帶攝像頭接口,便于外部擴(kuò)展,內(nèi)含6個(gè)串口,通訊速率最高可達(dá)10.5Mbit/s,利用這樣的高速串口完全可以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)傳輸。攝像頭模塊采用OV7620,它的工作電壓支持3.3V和5V,每秒可以產(chǎn)生60幀格圖像,有效分辨率為640×480,能夠很好的滿足設(shè)計(jì)智能小車對(duì)圖像采集的要求。小車的運(yùn)動(dòng)控制通過步進(jìn)電機(jī)的驅(qū)動(dòng)來完成,當(dāng)小車接收到計(jì)算機(jī)發(fā)來的動(dòng)作命令,單片機(jī)通過控制前后電機(jī)的動(dòng)作實(shí)現(xiàn)小車移動(dòng)。控制前端的兩個(gè)電機(jī)可實(shí)現(xiàn)小車左右動(dòng)作,控制后端的兩個(gè)電機(jī)可實(shí)現(xiàn)小車前后動(dòng)作。
1.3 數(shù)據(jù)收發(fā)終端
數(shù)據(jù)收發(fā)終端的功能是接收智能小車發(fā)送的數(shù)據(jù),并完成和電腦之間的信息傳輸。電腦和終端之間可以采用CAN通訊、485通訊、串口通訊和網(wǎng)口通訊。其中CAN和485都需要中間的轉(zhuǎn)接板,串口通訊雖然不需要轉(zhuǎn)接,但通訊速率和通訊的穩(wěn)定性不能保證,而網(wǎng)絡(luò)通訊具有接入點(diǎn)方便、傳輸穩(wěn)定、便于擴(kuò)展等優(yōu)點(diǎn),由此看來網(wǎng)絡(luò)通訊非常適合在本系統(tǒng)中使用。網(wǎng)絡(luò)通訊芯片選擇W5500,它和控制器間采用SPI方式,操作間便于編程和硬件設(shè)計(jì)。
1.4 數(shù)據(jù)圖像處理和動(dòng)作控制模塊
系統(tǒng)中數(shù)據(jù)圖像處理的功能利用計(jì)算機(jī)實(shí)現(xiàn),計(jì)算機(jī)通過接收智能小車采集的圖像數(shù)據(jù)進(jìn)行分析,將圖像轉(zhuǎn)換成白色和黑色兩種顏色,利用數(shù)學(xué)算法和軟件編程完成對(duì)特定目標(biāo)的識(shí)別和跟蹤。運(yùn)動(dòng)控制模塊的四個(gè)步進(jìn)電機(jī)分別控制小車的前、后輪動(dòng)作。硬件電路設(shè)計(jì)選取ULN2003電機(jī)驅(qū)動(dòng)芯片,單片機(jī)通過操作IO口的高低電平輸出,控制步進(jìn)電機(jī)動(dòng)作,實(shí)現(xiàn)小車向各方向運(yùn)動(dòng)的控制。要完成實(shí)時(shí)的追蹤,需要采集圖像的清晰。當(dāng)目標(biāo)被識(shí)別后,進(jìn)行目標(biāo)追蹤需要控制智能小車和被跟蹤目標(biāo)保持一定的距離,因此,采用超聲傳感器實(shí)現(xiàn)距離的檢測。超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲傳波具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點(diǎn)。超聲波對(duì)液體、固體的穿透本領(lǐng)很大,尤其是在陽光不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質(zhì)或分界面會(huì)產(chǎn)生顯著反射形成回波,碰到活動(dòng)物體能產(chǎn)生多普勒效應(yīng)。因此超聲波檢測非常適合對(duì)距離測試。
圖1智能小車系統(tǒng)組成結(jié)構(gòu)示意圖
圖2目標(biāo)識(shí)別系統(tǒng)結(jié)構(gòu)圖
圖3 定位流程圖
2.1 目標(biāo)識(shí)別系統(tǒng)結(jié)構(gòu)
目標(biāo)的識(shí)別首先要檢測出目標(biāo),即判斷視頻鏡頭中有無運(yùn)動(dòng)目標(biāo)的出現(xiàn)。如果有運(yùn)動(dòng)目標(biāo)出現(xiàn),就把它的圖像抽取出來,進(jìn)行二值化處理,然后利用投影法進(jìn)行投影,經(jīng)過運(yùn)算實(shí)現(xiàn)對(duì)特定目標(biāo)的識(shí)別,系統(tǒng)結(jié)構(gòu)如圖2所示。
2.2 目標(biāo)識(shí)別原理
(1)利用攝像頭采集圖像, 監(jiān)視特定目標(biāo)的運(yùn)動(dòng), 定時(shí)收集場景信息,將格式刷轉(zhuǎn)化為真彩色位圖進(jìn)行儲(chǔ)存,同時(shí)調(diào)用控件在計(jì)算機(jī)上實(shí)時(shí)監(jiān)控小車的運(yùn)行情況。
(2)將真彩色位圖進(jìn)行二值化處理后整體的像素會(huì)呈現(xiàn)出黑和白兩種狀態(tài),根據(jù)現(xiàn)場環(huán)境的光照條件、顏色飽和度和對(duì)比度的實(shí)際情況進(jìn)行調(diào)整,設(shè)置適和的閥值,將被識(shí)別目標(biāo)的圖像轉(zhuǎn)換為白色,其它轉(zhuǎn)換為黑色,實(shí)現(xiàn)對(duì)監(jiān)測目標(biāo)的識(shí)別。
(3)圖像定位法大體上有基于神經(jīng)網(wǎng)絡(luò)的圖像定位法、基于模板匹配的圖像定位法、直線邊緣檢測法、統(tǒng)計(jì)直方圖及投影法,以上幾種方法中前三種方法計(jì)算量很大,而最后一種對(duì)噪聲特別的敏感,都不能使系統(tǒng)達(dá)到最佳的定位效果,故本設(shè)計(jì)采用投影法來實(shí)現(xiàn)對(duì)目標(biāo)的定位。利用水平投影檢測待測目標(biāo)的水平位置,利用垂直投影檢測目標(biāo)的垂直位置,定位流程如圖3所示。
對(duì)目標(biāo)的跟蹤使用Mean Shift算法實(shí)現(xiàn)。它的基本思想是將視頻圖像的所有幀作MeanShift運(yùn)算,并將上一幀的結(jié)果作為下一幀MeanShift算法的初始值,反復(fù)的迭代下去,對(duì)采集視頻圖像進(jìn)行分析。
3.1 MeanShift算法實(shí)現(xiàn)
MeanShift算法首先將圖像的矩與直方圖反向投影,利用數(shù)學(xué)公式計(jì)算出運(yùn)動(dòng)區(qū)域的質(zhì)心;然后根據(jù)質(zhì)心對(duì)運(yùn)動(dòng)物體中心點(diǎn)進(jìn)行追蹤。
(1)圖像的矩與直方圖反向投影
圖像的矩可以被理解為像素密度,所謂的像素密度就是指圖像的顏色數(shù)值。在數(shù)學(xué)領(lǐng)域最常使用的是零階矩,一階矩,二階矩等等,計(jì)算方法如下:
計(jì)算二值圖像的零階矩:分別計(jì)算二值圖像x和y的一階矩:運(yùn)動(dòng)區(qū)域的質(zhì)心:
其中,I (x , y)是二值圖像中位于( x, y)點(diǎn)的像素值。
(2)中心點(diǎn)追蹤
利用圖像的矩和給定ROI直方圖反向投影信息可以粗略計(jì)算出ROI區(qū)域的中心點(diǎn)、尺寸等等信息。a ,b ,c代表運(yùn)動(dòng)物體的質(zhì)心,計(jì)算公式如下:
圖4 跟蹤算法流程圖
3.2 智能小車控制算法
在CAMShift的輸出數(shù)據(jù)中獲得一個(gè)Box數(shù)據(jù),根據(jù)Box中的尺寸、中心點(diǎn)、旋轉(zhuǎn)角的屬性可實(shí)現(xiàn)對(duì)小車的控制,根據(jù)矩形框的面積大小控制小車的直線運(yùn)行速度,根據(jù)矩形中心點(diǎn)和視場中心點(diǎn)的左右偏差大小來計(jì)算出偏轉(zhuǎn)角度。
STM32F407對(duì)小車的控制采用PID算法。以攝像機(jī)視場1/4 的面積作為加減速閾值,以視場1/2的水平處作為左右偏轉(zhuǎn)閾值。將CAMShift的數(shù)據(jù)結(jié)果與閾值相減,計(jì)算出控制指令并發(fā)送出去。將CAMShift輸出的Box的大小與加減速閾值做差值運(yùn)算,如果差值是正值則發(fā)送前進(jìn)指令,如果差值為負(fù)值則發(fā)送倒車指令。跟蹤算法流程圖如圖4所示。
圖6 目標(biāo)跟蹤軟件實(shí)現(xiàn)流程圖
3.3 系統(tǒng)算法流程
智能小車目標(biāo)識(shí)別與跟蹤系統(tǒng)算法流程如圖5所示。系統(tǒng)開始首先對(duì)圖像進(jìn)行采集,對(duì)采集后的圖像進(jìn)行YUV建模,計(jì)算出運(yùn)動(dòng)點(diǎn)總數(shù)是否大于設(shè)定的閥值,如果小于設(shè)置閥值,返回,系統(tǒng)重新執(zhí)行;如果大于設(shè)置的閥值,根據(jù)3.1中公式計(jì)算出運(yùn)動(dòng)區(qū)域的質(zhì)心,根據(jù)質(zhì)心設(shè)置出初始搜索窗中心、大小,進(jìn)一步計(jì)算。判斷計(jì)算結(jié)果是否滿足收斂條件,滿足收斂條件后,發(fā)送小車的運(yùn)動(dòng)指令;不滿足則重新計(jì)算。小車運(yùn)行指令執(zhí)行完成后,算法從視頻采集圖像到執(zhí)行小車運(yùn)動(dòng)指令這部分程序中循環(huán)執(zhí)行。
3.4 小車運(yùn)動(dòng)控制的實(shí)現(xiàn)
根據(jù)跟蹤算法可以實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤功能,要完成對(duì)目標(biāo)的實(shí)時(shí)跟蹤,智能小車需要清晰的采集圖像信息,因此智能小車攝像頭需要和目標(biāo)保持一定的距離,距離太大容易丟失目標(biāo),距離太小會(huì)導(dǎo)致拍照不清晰,因此選擇小車和被監(jiān)測目標(biāo)保持距離在30cm之間。實(shí)現(xiàn)方法是當(dāng)目標(biāo)位于小車前方30cm時(shí)得出目標(biāo)的坐標(biāo)(X,Y)。小車的運(yùn)動(dòng)中常常有抖動(dòng)現(xiàn)象出現(xiàn),因此需要進(jìn)行去抖處理。當(dāng)目標(biāo)的坐標(biāo)范圍在(X±ΔX,Y±ΔY),認(rèn)為被跟蹤目標(biāo)處于靜止?fàn)顟B(tài),否則小車根據(jù)計(jì)算機(jī)的命令隨著目標(biāo)一起運(yùn)動(dòng)。實(shí)現(xiàn)目標(biāo)的跟蹤需要小車的控制系統(tǒng)各部分功能模塊進(jìn)行協(xié)調(diào)工作,通過讀取超聲傳感器的值進(jìn)行計(jì)算,計(jì)算出小車和被跟蹤目標(biāo)的實(shí)際距離大小。小車需要執(zhí)行的動(dòng)作命令有7種,分別用0~7表示(其中1代表左上、2代表右上、3代表左后、4代表右后、5代表前進(jìn)、6代表后退、7代表停止),根據(jù)計(jì)算結(jié)果發(fā)出相應(yīng)的動(dòng)作命令。小車動(dòng)作實(shí)現(xiàn)原理:判斷目標(biāo)坐標(biāo)和小車自身坐標(biāo)距離是否大于30cm,如果大于30cm計(jì)算機(jī)發(fā)送動(dòng)作命令。流程圖如圖6所示。
本文在對(duì)目標(biāo)識(shí)別和跟蹤進(jìn)行理論分析的基礎(chǔ)上,設(shè)計(jì)了一套智能小車目標(biāo)識(shí)別和跟蹤系統(tǒng)。該系統(tǒng)可以實(shí)現(xiàn)對(duì)特定目標(biāo)的識(shí)別和跟蹤,能夠滿足基本的設(shè)計(jì)要求。然而,目標(biāo)識(shí)別和跟蹤技術(shù)是結(jié)合了多門學(xué)科的綜合課題,想達(dá)到高度的智能化和高精度的定位功能還需要長期的研究,識(shí)別和跟蹤技術(shù)的發(fā)展與數(shù)字圖像處理技術(shù)、模式識(shí)別技術(shù)發(fā)展有密切的聯(lián)系,需要在以后工作中在這兩方面不斷的學(xué)習(xí)和提高。
[1]蒙建波,梁錫昌.機(jī)械智能學(xué)[M].重慶,重慶出版社,1997.
[2]齊舒創(chuàng)作室.Visual C + +6 .0 開發(fā)技巧及實(shí)例分析[M].北京:清華大學(xué)出版社,1999.
[3]林福宗.圖像文件格式大全[M].北京:清華大學(xué)出版社,1998.
[4]黎洪松.數(shù)字圖像壓縮編碼技術(shù)及其C 語言程序范例[M].北京:學(xué)苑出版社,1998.
[5]陳先煌,陳新,趙音頻.基于DSP的運(yùn)動(dòng)目標(biāo)檢測與匹配[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2003.
[6]魏玉虎,石琛宇,姜建釗.基于視覺的智能車轉(zhuǎn)向控制策略[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2009.
[7]陳建峰,孫志鋒.基于NRF2401的智能車無線調(diào)試系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2009.
[8] 王熹微. 基于TMS320DM642的視頻編碼CACHE優(yōu)化策略. 微計(jì)算機(jī)信息2005.
TP23
A