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





