耿 磊
(中國(guó)船舶重工集團(tuán)有限公司第七一七研究所華之洋科技有限公司 湖北·武漢 430073)
高速目標(biāo)跟蹤技術(shù)要應(yīng)用于智能視頻監(jiān)控、軍事研究、人機(jī)交互、機(jī)器人視覺導(dǎo)航、智能交通等應(yīng)用場(chǎng)景。為了更好的適應(yīng)如今實(shí)際場(chǎng)景對(duì)高效、長(zhǎng)時(shí)間、快速反應(yīng)等的要求,機(jī)器視覺對(duì)目標(biāo)物體的高速追蹤監(jiān)控能力被提了出來(lái)。本文主要對(duì)單一移動(dòng)物體的快速跟蹤并對(duì)其同步圖像進(jìn)行顯示做出研究。
系統(tǒng)通過CMOS傳感器收集圖像信息,經(jīng)過FPGA實(shí)時(shí)處理,同步跟蹤并傳輸顯示攝像視頻畫面。其中主要有攝像模塊、存儲(chǔ)BRAM模塊、色彩格式轉(zhuǎn)換模塊、色彩檢測(cè)模塊、坐標(biāo)計(jì)算、VGA顯示和舵機(jī)控制模塊等。硬件結(jié)構(gòu)如圖1所示。
Artix 7平臺(tái)屬于 28nm 工藝,搭載的是XC7A35TCPG236,擁有5200個(gè)slice資源,相當(dāng)于33280個(gè)邏輯單元,容量為1800Kbits的RAM塊,5個(gè)時(shí)鐘管理單元,每個(gè)單元帶有一個(gè)鎖相環(huán)(PLL),90個(gè)DSPSlices,內(nèi)部時(shí)鐘速率超過450MHz,一個(gè)片內(nèi)模數(shù)轉(zhuǎn)換器(XADC)。
攝像部分應(yīng)用的是OV7725模塊,OV7725芯片內(nèi)置圖像處理單元,速度60fps,外部通過SCCB接口控制芯片的曝光調(diào)整、白平衡、色彩飽和度調(diào)節(jié)以及gamma調(diào)整等,OV7725的紅、綠、藍(lán)三基色通道用同一個(gè)十位AD,工作頻率12MHz。廣泛應(yīng)用于數(shù)字視頻系統(tǒng)、高分辨率的彩色圖片圖像處理、視頻信號(hào)再現(xiàn)等,因此,能夠滿足我們的應(yīng)用需求。
云臺(tái)舵機(jī)共分為水平方向和豎直方向各一個(gè),共同組成一個(gè)二自由度平臺(tái)。平臺(tái)兩個(gè)舵機(jī)分別對(duì)應(yīng)屏幕的橫坐標(biāo)和縱坐標(biāo)的修正控制,用以接收應(yīng)對(duì)坐標(biāo)的調(diào)整,以達(dá)到對(duì)攝像模塊水平和豎直方向的運(yùn)動(dòng)動(dòng)作需求。
本平臺(tái)舵機(jī)采用的是四線舵機(jī),型號(hào)為FB5317M,每個(gè)舵機(jī)包含電源線、地線、PWM控制信號(hào)線和一根舵機(jī)位置角度反饋線。舵機(jī)采取6V電源供電,靜態(tài)電流為5mA,空載電流達(dá)到150mA,堵轉(zhuǎn)電流最高為1500mA,空載速度可達(dá)0.2sec/60o,完全能夠達(dá)到攝像跟蹤目標(biāo)物的需求。
首先實(shí)現(xiàn)SCCB協(xié)議驅(qū)動(dòng)OV7725的攝像芯片,圖像采集后,由于QVGA時(shí)序與VGA時(shí)序存在差距,所以對(duì)于實(shí)時(shí)VGA顯示功能不能直接把攝像模塊的數(shù)據(jù)直接接入VGA,需要通過將采集數(shù)據(jù)存儲(chǔ)后,再讀取,于是我們把每幀畫面像素?cái)?shù)據(jù)轉(zhuǎn)存于BRAM中。
圖2:系統(tǒng)測(cè)試圖
BRAM中圖像的格式為RGB,由于本次研究中使用的目標(biāo)物體為單一色塊,色彩比較穩(wěn)定,因此檢測(cè)方案以色彩為主,故HSV格式更加契合。HSV格式把圖像的飽和度、色調(diào)和亮度屬性分離。我們采取了調(diào)用低延遲的除法器實(shí)現(xiàn)顏色飽和度分量和色調(diào)色彩分量之間的快速計(jì)算,從而能夠在現(xiàn)有的硬件和算法優(yōu)化下達(dá)到預(yù)期的RGB和HSV的高速轉(zhuǎn)換。
系統(tǒng)在識(shí)別之前,需要通過學(xué)習(xí),記住目標(biāo)色彩特征,然后再在攝像區(qū)域?qū)ふ遗c目標(biāo)物體的HSV分量相似高的像素,最終通過過濾和標(biāo)注,獲取相近像素點(diǎn)的坐標(biāo)進(jìn)行求平均計(jì)算,計(jì)算結(jié)果作為最終舵機(jī)模塊對(duì)于攝像區(qū)域修正的依據(jù),以及控制舵機(jī)運(yùn)動(dòng)的參數(shù)值。
舵機(jī)控制模塊主要分舵機(jī)反饋信號(hào)處理與舵機(jī)控制數(shù)據(jù)轉(zhuǎn)PWM波組成。舵機(jī)的實(shí)時(shí)位置通過電壓形式反饋接入xadc模塊,通過模數(shù)轉(zhuǎn)換,將舵機(jī)反饋的位置坐標(biāo)與來(lái)自色彩轉(zhuǎn)換得來(lái)的目標(biāo)物體中心坐標(biāo)對(duì)比,計(jì)算出差值,分解為x和y坐標(biāo)值控制信號(hào)輸出,輸入到后續(xù)的PWM發(fā)生模塊,進(jìn)行數(shù)據(jù)轉(zhuǎn)PWM波輸出,以驅(qū)動(dòng)云臺(tái)跟蹤目標(biāo)。
要把存儲(chǔ)器里的圖像在VGA顯示器中顯示,掃描時(shí)序是需要VGA驅(qū)動(dòng)模塊產(chǎn)生的。將存儲(chǔ)在BRAM中的圖像像素?cái)?shù)據(jù)通過AD轉(zhuǎn)換器生成R、G、B三原色信號(hào)和行、場(chǎng)同步信號(hào),然后通過VGA接口傳輸給顯示設(shè)備所需的模擬信號(hào)。本系統(tǒng)從緩存中讀出的圖像大小為640×480,掃描頻率60 Hz。
該系統(tǒng)依照如下步驟進(jìn)行測(cè)試:
第一步:準(zhǔn)備工作,將系統(tǒng)各模塊連接并接上電源;
第二步:調(diào)整攝像焦距與連接檢查,通過VGA顯示畫面,查看狀態(tài),畫面是否模糊,是否存在雪花等噪音。若畫面模糊,通過手動(dòng)將攝像模塊的焦距調(diào)整到合適情況;
第三步:目標(biāo)學(xué)習(xí),生成系統(tǒng)記憶,把目標(biāo)物放入屏幕畫面中心黃色框內(nèi),按下學(xué)習(xí)按鈕,提取目標(biāo)物像素。然后將撥動(dòng)撥碼開關(guān),此時(shí)系統(tǒng)進(jìn)入對(duì)目標(biāo)物跟蹤狀態(tài);
第四步:進(jìn)行目標(biāo)跟蹤實(shí)驗(yàn),記錄延時(shí)信息;
第五步:系統(tǒng)清除記憶像素,重復(fù)設(shè)定。
圖2為系統(tǒng)測(cè)試圖,目標(biāo)物體的特征像素采集后,屏幕中繪畫出紅色十字架,十字架中心焦點(diǎn)即為目標(biāo)物體像素中心坐標(biāo)點(diǎn),同時(shí)把目標(biāo)物體像素標(biāo)綠顯示。測(cè)試結(jié)果良好,畫面清晰,跟蹤穩(wěn)定,達(dá)到了設(shè)計(jì)目標(biāo)。
本文實(shí)現(xiàn)了一個(gè)對(duì)單一目標(biāo)物體的快速跟蹤系統(tǒng),并能夠同步把目標(biāo)圖像進(jìn)行VGA顯示。在跟蹤狀態(tài)下,能適應(yīng)目標(biāo)物體速度的變化,實(shí)時(shí)性好、圖像顯示清晰,達(dá)到了預(yù)期要求,有很強(qiáng)的實(shí)用性和推廣性。