基於FPGA的多目標影象跟蹤技術
前言:一篇自己曾發表過的文章,記錄自己過去的一門技術(FPGA),開啟新的篇章(軟體開發)。
摘 要 為解決複雜背景下,隨機選定多目標的跟蹤問題,構建了一個跨顏色空間、基於決策樹的複合演算法跟蹤系統。該系統充分利用FPGA的高速並行運算特徵,分析一幀資料在RGB顏色空間和灰度顏色空間的特徵,並結合連通域分析、自適應演算法、質心跟蹤等演算法,給出目標位置的最優解,多雲臺控制機構以此控制各攝像關的軸向,實現對多目標的實時穩定跟蹤。
1.引言
基於視訊影象的跟蹤系統中,目標捕獲能力及跟蹤系統的敏捷度是衡量系統性能的重要指標。隨著電子技術及自動化控制等相關技術的進步,影象跟蹤系統在多行業尤其是在軍事、安保等相關領域得到了廣泛應用,使用者對跟蹤系統的效能也提出了更高的要求。從“簡單背景下固定灰度值的單一目標跟蹤”到“複雜背景下彩色多目標同時捕獲與跟蹤”;從“對低速目標的近實時跟蹤”到“實現對高速運動目標的實時跟蹤”……這些要求使得影象處理的資料量急劇增加,同時對跟蹤、控制的演算法及系統資料的運算與儲存能力提出了更高的要求,驅使我們對相關技術研究投入更多的精力。本文通過對多種常見影象跟蹤演算法優缺點的研究分析,將多種統計學概念引入到影象跟蹤中,提出並實現了一種適用範圍廣、實時性強、可靠性高的多目標影象跟蹤技術。
2.平臺介紹
該系統選用ALTERA公司的CYCLONE IV系列的EP4CGX110CF23 FPGA晶片作為運算處理單元。平臺選取充分遵循實時性、精確性和可靠性的要求,該晶片擁有多個微DSP核,具有很好的資料運算處理能力,結合FPGA並行性優勢,使演算法的並行性及多流水線操作方式得到了很好的實現;儲存單元使用靈活且易擴充套件,通過外掛一片128Mbit的DDR2,滿足系統對大資料量突發處理的需求。後續可以使用基於其GX口的PCIE或者光纖介面將影象及處理結果傳到PC等裝置上,實現資料共享等功能。
3.系統工作原理
該影象跟蹤系統的工作原理如圖1所示。
首先各攝像頭拍攝的畫面傳到FPGA之後,利用中值濾波和影象區域分解技術對影象進行預處理。中值濾波可以有效減小視訊影象中顆粒噪點對畫像質量的影響,提高後續環節尤其是統計特徵值提取環節資料計算的準確度。影象區域分解是將解析度為320*240格式為RGB565的原始影象分解為大小為16*12的共400個區域塊的集合,並分別儲存到片外DDR2對應儲存單元中。
預處理後的影象送入特徵向量分析模組。在RGB及灰度兩個顏色空間分別對400個區域塊資料進行分析,給出兩個不同的特徵向量矩陣,壓縮後續處理的資料量。在目標檢測及連通域分析模組中,將兩個特徵向量矩陣中各元素與目標特徵向量進行比較,統計目標的個數,輸出RGB顏色空間及灰度顏色空間的目標矩陣A1、A2(矩陣中的每一個元素是目標編號或背景編號0)。目標軌跡判定模組通過對之前各幀中目標偏移位置做環路濾波,計算出目標可能的位置。決策樹模組根據目標軌跡的返回值,比較目標矩陣A1和A2 中的元素,給出最優的目標矩陣。利用質心跟蹤演算法給出各目標最終質心位置,雲臺控制模組對目標做出反應。由於目標軌跡判定模組已經對目標運動做出了估計,因此在雲臺控制模組中並沒有再重複使用諸如PID等控制演算法,而是著重對伺服系統的驅動方式做出了優化,將控制引數由目標的相對角度換算為伺服系統的轉動速度,減小平臺的振動對視訊質量及跟蹤系統魯棒性的影響。
圖1 多目標影象跟蹤系統工作原理圖
3.1 RGB顏色空間處理模組
遍歷各畫素點,通過“行拼接”的方式將各個區域塊視為一個一維序列,依據公式(1)對 RGB三個分量分別做差分運算,找出顏色相對穩定的區域,實現區域顏色組合分析。該系統記錄了各區域所佔比例最大的三種顏色,最後將結果存入RGB顏色空間的特徵向量矩陣中。由於該模組只需遍歷一次影象資料,因此作者將其安排在了預處理之後,影象資料在儲存的同時進行相關計算以壓縮系統延時。預處理之後影象資料以整行的方式輸出,為了與之匹配,模組中開設了20條流水線對一行所跨的20個區域塊同時進行解算,大大提高了系統的並行性,實現了從預處理模組到該模組無延時的資料傳輸。
3.2灰度顏色空間處理模組
先依據公式(2)將原始的RGB565格式的影象資料轉化為8bit的灰度值影象。設計開發過程中作者發現,單純的對灰度值影象中各區域求方差等特徵向量並不能有效地將背景與目標區分開,特別是光照強度的改變會對計算結果造成很大的影響。為此作者提出了以下解決方案:對於區域G(n,m)做如公式(3)的運算,得到G2。依據公式(4)求得區域的變異係數C.V作為其特徵向量可以更好的適應光照強度的變化,更準確的將目標與背景區分開。
在灰度影象資料的儲存上,考慮到統計特徵值的計算需要對樣本資料進行多次遍歷,作者採用了暫存器矩陣(在VERILOG中體現為暫存器變數陣列的形式)儲存的形式,可以通過設計組合邏輯電路實現統計特徵值的單時鐘計算,避免了DDR2讀寫過程造成的時間上的浪費。經過上述處理,該模組達到了與RGB顏色空間處理模組相同的幀處理速度,因此也以開設20條流水線的方式實現了預處理模組到該模組無延時的資料傳輸。
3.3目標檢測及連通域分析模組
在此模組中,首先將特徵向量模組送過來的兩個特徵向量矩陣與目標特徵向量進行比較,如果匹配則在目標矩陣A1、A2中將該區域塊標記為目標編號n;如果不符則將該區域塊標記為背景編號0。然後進行連通域分析,對不同位置的相同目標編號做出進一步處理,輸出RGB顏色空間及灰度顏色空間的目標矩陣A1、A2。
3.4決策樹模組
步驟一:根據各目標軌跡,忽略與該目標運動方向相反方向上視場邊緣目標點,如圖2.所示,兩目標運動方向如兩箭頭所示,因此只保留在目標對應顏色方框內的目標點。
步驟二:比較RGB顏色空間及灰度顏色空間的目標矩陣A1、A2,保留結果一致的部分。
步驟三:對兩個顏色空間中的目標特徵向量進行分析,判斷目標特徵向量的判定效果是否易受環境影響,對A1、A2中不同的部分做出取捨。
步驟四:整合資料、輸出最優目標矩陣。
圖2
4.實驗結果與系統評測
經驗證,在日常生活環境下,該系統可以對多個具有較均勻紋理的目標實現持續跟蹤,當目標被遮擋或移出視場後再次出現時,系統可以很好地捕捉到目標,很好的實現了預期設計指標。經完整的系統測試作者也發現該系統存在的幾個問題:單一顏色目標的跟蹤中雖有目標軌跡判定的輔助,但是依然存在易受環境顏色干擾的問題;由於該系統是建立在區域分析的相關演算法之上,因此在有效畫素數不足填滿一個區域塊的小目標跟蹤測試中,系統頻繁出現失鎖、誤判目標等問題。為解決以上問題,我們提出:新增基於畫素點顏色跟蹤演算法,實現對小目標的跟蹤;並引入加權決策樹,優化系統對單一顏色目標及小目標跟蹤效果。即在決策樹中賦與影響目標檢測的各因素不同的權值,當目標為單一顏色目標或者小目標時,系統將加大基於畫素點顏色跟蹤演算法及目標軌跡判定在決策樹中的權值,決策樹將以此在步驟一的基礎上進一步縮小目標可能的範圍,減小目標誤判的機率。後續測試中,改進後的系統對單一顏色目標及小目標的跟蹤效果得到明顯改善。