尹藝玲,李明璐
(西華大學機械工程學院,四川 成都610039)
機器視覺中的一個重要研究方向是目標物體的跟蹤,目標物體的跟蹤技術廣泛應用于民用領域、軍工領域等,例如無人機飛行器的實時跟蹤、安防報警系統、海底探測、車輛跟蹤等等,可見目標跟蹤技術與我們的生活密不可分。
目標跟蹤對于系統的精度、實時性以及穩定性要求很高,傳統的PC機、圖像處理器以及單片機等由于其串行處理方式、消耗大、成本高等方面的限制而無法滿足對目標的快速實時跟蹤。因此,為了提高目標跟蹤的精度、實時性以及其穩定性,人們開始利用FPGA的并行處理、低功耗、成本低等特點來實現高速的目標跟蹤,并且越來越多的復雜圖像處理算法在FPGA上得以實現。比如COngyi Lyu等人所提出的High-speed Target Tracking base on FPGA采用的是一個基于Xilinx Zynq(FPGA+ARM)系統的圖像處理設備,他們通過攝像頭采集圖像數據輸入FPGA然后將數據復制分為三個通道,三個處理通道分別完成幀差法處理、顏色轉換(RGB轉HSV)處理和邊緣檢測處理,最終將計算得到的目標點坐標傳入到ARM中進行舵機PWM控制,來實現目標的跟蹤[1],再比如張凡輝等人所提出來的多發光目標的高速跟蹤,通過對采集到的多發光點的圖像數據進行開窗迭代算法來完成對多個目標的高速實時跟蹤[2]。他們采用不同的圖像處理算法與系統構架實現了高速多目標跟蹤。本文提出一種基于FPGA的高速單光源定位跟蹤系統,該系統在滿足穩定性、實時性、精準性的前提下,采用一種簡單的圖像處理以及控制算法來實現實時目標跟蹤。
FPGA(Field Programmable Gate Array)即現場可編程門陣列,目前全球的FPGA市場主要為Xilinx和Altera,國內FPGA在軍工航天領域,主要企業有紫光同創、復旦微電子、華微電子、中電科58所、航天772所等;在民品領域,主要企業包括廣東高云、上海安路等。
本次提出的系統高速單光源定位跟蹤系統由本團隊制作的PCB板、ov7676 CMOS攝像頭、雙自由度舵機云臺以及一個液晶顯示屏組成,本團隊自主研制的PCB板采用的主要芯片有Altera公司的Cyclone II系列芯片EP2C5T144C8N、海力士公司的SDRAM芯片HY57V256GTR以及VGA顯示芯片ADV7123。通過CMOS攝像頭采集圖像信息,將圖像數據傳輸到FPGA,利用FPGA完成圖像預處理操作、目標點坐標計算操作、圖像數據緩存、VGA顯示操作、PWM控制舵機操作等,以實現高速目標跟蹤。圖1為單光源定位跟蹤系統結構圖,圖2為系統實現框圖。

圖1 單光源定位跟蹤系統結構圖

圖2 系統實現框圖
在攝像頭采集到數據后傳入到FPGA,此時所得到的圖像數據為RGB色系,進行圖像處理時數據量過大,因而進行RGB顏色模型轉YUV顏色模型的處理,為簡便后續的圖像處理運算,然后采用中值濾波算法對圖像數據進行濾波,在一定程度上削弱噪聲。經過初始的處理后將數據分為兩個通道,一個通道進行圖像數據的緩存顯示,一個通道進行實時的目標跟蹤計算。采用流水線的處理方式完成圖像的預處理,以加快圖像處理的過程。流水線的處理方式流程如圖3所示。

圖3 流水線式處理流程圖
將得到的RGB565圖像模型轉化為RGB888形式然后再轉化為YUV565形式。此處采用量化補償的方式將RGB565轉為RGB888,其量化補償的轉化思想如下。
量化補償的方法:
將原數據填充至高位
對于低位,用原始數據的低位進行補償
如果仍然有未填充的位,繼續使用原始數據的低位進行循環補償
實際的補償實現操作如圖4 RGB565轉RGB888所示。

圖4 R G B565轉R G B888
要完成目標的跟蹤需要計算出目標物的質心坐標,然后依據計算出來的坐標點,驅動云臺完成實時的快速跟蹤。

FPGA的除法計算需要花費較多時間,因此本系統采用了移位算法來替代除法,加快質心坐標點計算的速度,以實現快速的目標跟蹤[3]。
通過讀、寫異步FIFO,以及SDRAM的兩個BANK共同配合以實現乒乓操作,使讀寫操作分開,使數據傳輸更加流暢,完成目標跟蹤速度進一步提高,不會出現圖像幀卡頓的情況。圖像緩存處理的框圖如圖5所示。

圖5 圖像緩存處理框圖
根據上述的系統設計方案搭建系統模型,模型包括CMOSOV7670攝像頭,自主制作的FPGA電路板,雙自由度的舵機云臺,以及顯示屏,所搭建的系統模型如圖6所示。

圖6 系統模型圖
首先完成實驗模型的搭建,利用手機的閃光燈作為目標單光源點,在較暗的環境下進行實驗測試。
打開手機的閃光燈開始進行系統測試,在已知屏幕寬度的情況下,根據記錄的目標光源從屏幕的最左邊移動到屏幕最右邊的時間,可在確定的跟蹤范圍內計算出光源的移動速度。根據在相同的移動范圍內,改變目標的移動速度,觀察系統的跟蹤情況以及效果,效果如圖7所示。

圖7 不同速度下系統的跟蹤情況
根據多次測試及計算,當以0~0.54 m/s移動目標,在移動過程中,包圍框實時緊密包圍目標,圖像顯示流暢無卡頓的情況,同時云臺實時跟隨目標的移動,當以0.54 m/s~0.82 m/s移動目標,在移動過程中,包圍框依舊包圍目標,圖像流暢,云臺緊跟目標的移動,當以大于1.08 m/s移動目標,在移動過程中,部分包圍框能夠包圍住目標,云臺依然緊跟目標的移動。
根據實驗測試結果顯示,在目標光源點快速移動時,系統能完成快速的復雜圖像處理計算,達到快速、實時跟蹤目標的目的,同時系統模型能夠快速、簡單的在使用工作環境下搭建起來,也方便攜帶和轉移。本系統可以替代傳統的PC機完成實時目標跟蹤,解決了復雜圖形處理算法在傳統PC機上無法進行快速并行計算的問題以及其構成的跟蹤系統體積龐大、不便攜帶和搭建的問題,為安防系統的實現提供了一種簡單的實現方法,使過去龐大且復雜的安防設備變得簡單化,同時節約了其實現成本。
本文研究了基于FPGA的高速實時單光源定位跟蹤系統,在滿足穩定性、快速性、精準性的要求下,以較為簡單的方式完成了該系統,該系統利用移位處理來等效除法運算,提高了系統運算的快速性,同時采用異步FIFO與SDRAM的兩個BANK來實現乒乓操作,讓數據傳輸更加流暢,使得系統能夠完成快速的目標定位追蹤與顯示。上述的測試結果,很好地顯示了本系統快速、穩定、準確的目標跟蹤性能以及便于攜帶和搭建的特點。