基于FPGA的實時移動目標(biāo)的追蹤
掃描二維碼
隨時隨地手機看文章
基于FPGA的實時移動目標(biāo)的追蹤
01
背景知識
如圖1所示,交通攝像頭對公路上移動的汽車進(jìn)行實時的定位,隨著小汽車的移動,紅色框也跟隨小汽車移動,實時將小汽車框起來。
基于實時物體移動的靜態(tài)圖像背景中移動目標(biāo)檢測是計算機視覺領(lǐng)域的研究熱點,在安防、監(jiān)控、智能交通、機器智慧、以及軍事領(lǐng)域等社會生活和軍事防御等諸多領(lǐng)域都有較大的實用價值。移動目標(biāo)檢測的實質(zhì)是從實時圖像序列中將圖像的變化區(qū)域從整體圖像中分割提取出來。由于圖像的后期處理,比如移動目標(biāo)的分類、跟蹤、測距、判斷大小以及行為動作分析等,主要考慮的是移動目標(biāo)區(qū)域的像素信息,所以對移動目標(biāo)的準(zhǔn)確檢測和有效分割是整個檢測跟蹤系統(tǒng)的重要基礎(chǔ)。
圖1 公路上的運動汽車
目前逐漸形成三種運動目標(biāo)的檢測算法:
1)幀間差分法 是采用視頻序列中的相鄰兩幀圖像做差的方法,來檢測視頻序列中的移動目標(biāo)。但是受運動目標(biāo)和背景變化的影響,檢測過程中有可能出現(xiàn)偽目標(biāo)或者目標(biāo)中出現(xiàn)“空洞”,在目標(biāo)運動不是太快時可以有效的檢測到目標(biāo)。
2)背景減除法首先在沒有目標(biāo)的場景中獲取背景圖像,然后利用實時視頻序列和背景圖像做差,來實現(xiàn)地移動目標(biāo)的檢測。如何獲得背景是背景減除法的關(guān)鍵。
3)光流法是通過給圖像中每個像素點賦予一個速度矢量的方法建立光流場,利用光流場中矢量運動的連續(xù)性來檢測移動目標(biāo)。該方法的計算量通常很大,難以實現(xiàn)實時性的檢測。
02
FPGA實現(xiàn)
本節(jié)實驗將實現(xiàn)對鏡頭內(nèi)移動物體(無論變大變小左右移動)的實時邊界進(jìn)行跟蹤,為后期基于FPGA的人臉位置識別,字符識別(字符在鏡頭內(nèi)任意位置)等打下基礎(chǔ)。本節(jié)顆也是走向人工智能,機器識別的重要一課。
算法實現(xiàn):對于彩色圖像直接使用FPGA進(jìn)行邊界查找難度比較大,所以我們一般對圖像傳感器采集來的圖像進(jìn)行預(yù)處理。如圖2所示,首先進(jìn)行灰度化來減少圖像數(shù)據(jù)量,然后使用幀差法對兩幅不同時刻的圖像進(jìn)行差值(此步暫未進(jìn)行)。然后我們對得到的圖像二值化。最終對二值圖像進(jìn)行邊界查找將結(jié)果顯示到lcd顯示屏上。
圖2 基于FPGA的移動目標(biāo)追蹤系統(tǒng)
FPGA部分源碼
結(jié)果展示
圖3 實驗圖1
圖4 實驗圖2
圖5 對6的邊界追蹤
圖6 對圓的邊界跟蹤
圖7 對菱形的邊界追蹤
結(jié)果分析
如圖5,6,7所示我們完成了對數(shù)字6、圖形圓、以及菱形的最大邊界的實時定位,無論圖像形狀大小,均準(zhǔn)確定位到了圖像的上下左右邊界。對目標(biāo)成功進(jìn)行了實時的定位。這將為我們后期的各種準(zhǔn)確識別打下堅實的基礎(chǔ)。