?

基于 FPG A的嵌入式穩像系統設計

2010-10-30 09:14蔡耀儀
湖南人文科技學院學報 2010年2期
關鍵詞:分塊矢量投影

蔡耀儀

(中南大學信息科學與工程學院,湖南長沙 410083)

基于 FPG A的嵌入式穩像系統設計

蔡耀儀

(中南大學信息科學與工程學院,湖南長沙 410083)

針對傳統電子穩像平臺的缺陷,設計基于 FPGA的實時穩像系統,運用基于圖像分塊投影匹配的穩像算法,此系統能夠適應存在平移運動同時帶有旋轉與縮放的運動畫面,提高算法的精度與適應性。對此算法與傳統算法所消耗時間進行對比研究,結果證明,此系統基本能消除隨機抖動。

實時穩像系統;現場可編程門陣列;全局運動估算

在成像過程中,攝像機載體的運動和載體機座的運動導致圖像的晃動,從而造成拍攝的圖像出現抖動現象[1],電子穩像系統的目的是去除這種不必要的抖動而獲得清晰的圖像。電子穩像的過程包括運動估計和運動補償兩部分:運動估計是得到幀間全局運動矢量,而運動補償是完成抖動分量的校正。運動估計模塊處理簡單平移運動常用算法有塊匹配法[2]、位平面匹配法[3]、灰度投影法[4],處理旋轉及縮放常用方法有特征法[5]等,這些方法都比較容易受局部運動和噪聲的干擾。運動補償模塊主要分為兩種:順向補償和反向補償。

傳統基于“攝像機—圖像采集卡—計算機”模式的穩像系統中,圖像檢測和匹配算法全部由計算機完成,然而計算機屬于單指令周期的串行處理數據方式難以適應目前基于多傳感器視頻處理系統的穩像任務,其次系統占用體積較大,難以滿足某些特殊場合對處理系統的體積要求,所以采用新型的 FPGA器件,研制專用的穩像處理系統成為既有意義又有實際需求的工作。

本文以 Xilinx公司的 VirtexⅡPro系列為目標器件,建立了包含高速視頻采集模塊、圖像預處理模塊、數據存儲模塊和圖像輸出模塊等部分的高速電子穩像系統[6]并重點提出了一種基于圖像分塊投影的運動估計算法。實驗證明:研制的電子穩像系統既能高速采集數據,又能較好地實現穩像功能,既有實際意義又有工程價值。

1 基于分塊投影匹配的穩像算法

1.1 攝像機參數模型

視頻序列圖像產生抖動的原因來自于攝像機的運動,這種運動主要包括平移和旋轉。要對視頻幀序列進行穩像,首先必須分析攝像機參數模型。

攝像機坐標系中,假設在三維物體上一點從時刻 tk的坐標 (X,Y,Z)運動到時刻 tk+1的坐標 (X′,Y′,Z′),可以用帶有矩陣 R描述的旋轉和矢量 T描述的平移來合成,如式:

由于圖像視頻序列是三維物體在二維平面的投影,此運動從時刻 tk的坐標 (X,Y)運動到時刻 tk+1的坐標 (X′,Y′),本文選用 6參數仿射模型從相鄰幀圖像中估計相應坐標點的變換關系。

6參數估計模型如圖 1所示。

圖1 六參數估計模型示意圖

由圖 1所示,假設所有從三維實體觸發到圖像平面的光線互相平行,二維成像平面上目標點 (x,y)和目標三維實體對應點 (X,Y,Z)的關系如式 2所示:

由公式 1、公式 2可以聯立推導如下計算式:

即可以表示為:

1.2 分塊投影匹配的運動估計算法

抖動視頻幀序列中若存在旋轉和縮放運動,由于畫面中個像素的運動矢量并不一致,不能單靠圖像中某塊區域的運動矢量來估算全局運動矢量,投影法及代表點匹配法無法對復雜運動進行估計,而分塊匹配法和直線變換法雖能估計復雜運動但計算量大,無法滿足系統實時處理要求,本文采用基于分塊投影匹配的運動估計算法,其流程如下:

圖2 分塊投影匹配法框圖

算法中圖像分塊的大小需適中,劃分過大會使得區域內旋轉或運動矢量不能被忽略,而劃分過小則使得區域內包含信息太小。算法的核心部分在于子區域運動矢量計算和全局運動矢量計算。子區域向水平和垂直方向投影,公式如下:

公式 (5)中,Grayk(i,j)是第 K幀圖像上坐標為 (i,j)處的灰度值,Colk(j)、Rowk(i)分別表示第 k幀圖像第 j列、第 i行的灰度值,其值分別為此幀圖像上該列、行的所有像素點的灰度和。

在得到子區域的投影曲線后,可以將當前幀的子區域的行、列投影曲線和參考幀的行、列投影曲線進行相關計算,以水平相關 (列投影)為例說明相關計算公式如下:

其中 Rowt(j)、Rowt+i(j)分別表示當前幀和參考幀第j列投影,m值設定為所預估的運動矢量的最大偏移值。當C(i)最小時,i的取值為 Imin,則當前幀子區域相對于參考幀的水平方向的位移為:

1.3 最小二乘估計法計算全局運動矢量

得到圖像中等大小的 n小塊在上一幀的位移,即:

其中 i為圖像塊的編號,Δxi、Δyi分別為對應塊圖像在 x軸和 y軸上的運動矢量。定義函數ρx,ρy如下:

根據最小二乘法,當ρx,ρy取得最小值時,即:

對比公式 4的矩陣形式,可以得到幀間旋轉角度為:

1.4 存在運動前景影響時算法的改進

當場景中出現運動的前景目標時,前景目標所在子區域的運動矢量與全局運動矢量不符,會使得估計出來的全局運動矢量不精確,例如,車載拍攝一段視頻時,當汽車刮雨器刮過時,會造成穩像結果發生偏差。本文采用迭代的最小二乘估計,每次將誤差值較大的運動矢量進行剔除,算法如下:

1)將各子區域通過灰度投影法求取的運動矢量歸入初始數據集合中。

3)由數據集合中所有運動矢量和全局運動參數所求得的運動矢量的平均誤差 E:

式中,Δxi、Δyi為第 i小塊經過塊匹配計算出的運動矢量為用運動參數恢復出的運動矢量

4)將計算得到的運動矢量集合誤差大于 E的數據剔除,根據剩余數據重新計算全局運動矢量,若新數據和上次迭代得到的數據集合一致則停止迭代,否則繼續迭代。

2 嵌入式穩像系統硬件設計

FPGA是現場可編程門陣列的英文縮寫,作為專用集成電路中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程邏輯器件門電路數有限的缺點。系統使用 Xilinx公司的新一代 VirtexⅡpro X2VP30系列可編程邏輯器件并借助 ISE和 EDK開發工具設計實時穩像系統。

2.1 系統設計框圖

系統整體設計的框圖如圖 4所示,穩像算法實現模塊是整個系統的核心模塊,預處理和主要算法的實現全部在穩像算法實現模塊中完成。當完成穩像處理后,系統將數據儲存到內部存儲器中并可由系統上的 PLB總線訪問數據,從而能夠隨時將實時處理后的數據傳輸給后續處理系統。

圖3 FPGA穩像系統框圖

2.2 基于數據流方式的領域提取電路

系統采集的實時圖像需要進行一定的預處理才能進行投影計算。預處理能一定程度上減少噪聲干擾,提高系統的準確性?;陬I域的處理算法復雜度較大,計算次數為圖像尺寸與領域模板尺寸的乘積,采用基于通用串行處理方式的計算機系統無法滿足實時性要求,而純硬件實現的領域提取電路基于并行處理結構并屬于純硬件實現,具有極高的實時性,其實現結構如圖 4所示。

對視頻圖像數據的存儲是觸發器和行延時存儲器存儲,由于采用數據流方式,對寄存器資源的需求只與模板尺寸有關。每個像素時鐘周期內,系統采集輸入一個新的像素點的值,相應的緩存器模塊中的數據值都從左到右移動一位。

圖4 領域提取電路

2.3 采用硬件加速的分塊投影電路

系統最關鍵的步驟是對采集的每幀圖像進行分塊并在此基礎上獲得行、列投影值,基于硬件加速的分塊投影電路實際為圖像特定行、列上灰度值累加電路。

由于對每塊圖像行、列投影計算方法相同,系統設計了兩套獨立的分別對圖像行、列進行投影計算的電路,電路結構如圖 5所示。電路由一個寬度為 19 bit深度為 128的雙口 RAM,一個加法器,一個讀寫時序模塊和一個數據選擇模塊組成。雙口 RAM的特點是 A口可供硬件讀寫的同時,B口能供總線訪問,19bit保證的是數據不會溢出,而深度為 128是系統默認將每幀圖像按照圖像大小 64×64進行分塊,并進行雙倍 RAM空間下的乒乓操作,從而保證在統計過程中與總線訪問互不沖突,這種乒乓操作的空間切換由高位地址決定。雙口 RAM的 A口存在兩種操作:清空和統計。在圖像有效數據傳輸的間隙,數據選擇模塊MUX選擇清空時序,對雙口 RAM內數據進行清空,在有效數據到來時選擇統計時序。這種設計避免了統計中的漏統現象,并能將結果輸出給后續模塊計算。

圖5 高速分塊投影電路

3 實驗與分析

系統采用的是線陣 CCD攝像頭,攝像頭為 PAL制式,經過 FPGA處理后的視頻數據送到顯示控制器中進而在液晶觸摸顯示屏上顯示。系統裝置在小車上,針對一段公路場景進行實時穩像后得到的視頻幀序列圖像如圖 6所示:

圖7給出了某段車載視頻拍攝圖像穩定前后兩幀視頻的差圖像,可以看出穩像前視頻幀序列前后兩幀差異很大,經過穩像后前后兩幀之間像素值差異明顯變小,兩幀重合度變大,視覺效果明顯改善,穩像后兩幀差圖像會出現白色邊框的原因是運動補償后圖像的邊界在不斷改變。

圖7 穩像前后兩幀圖像差

算法在主頻為 1.4GHZ的 CORE雙核處理器,內存為1024MB的筆記本電腦上,使用 V ISUAL C++,穩定 640×480的圖像序列的平均時間為 30.3ms,與傳統分塊匹配法和特征點匹配法進行比較,如表1所示:

表1 算法時間比較

可以看出,在同樣能解決旋轉和變形能復雜抖動情況下,采用分塊投影匹配法所耗費的時間明顯低于其他兩種傳統穩像算法。

表2 系統硬件資源消耗

由 FPGA系統內部的時鐘管理單元可以得到,其對PAL制式彩色攝像頭拍攝的實時視頻數據進行穩像所耗費的時間為 306μs,而 PAL制每秒為 25幀,即每 40ms采集一幀圖像,即采用 FPGA實現穩像系統能夠實時對采集視頻幀序列進行穩像。

4 結束語

本文對現有穩像算法進行了改進,提出了一種分塊投影匹配的算法,使其能夠滿足算法處理速度及穩像精度雙重要求,并基于 FPGA設計了實時穩像系統,實驗表明,穩像系統效果較好,能夠達到高速實現穩像的要求。由于本文對運動補償部分并沒有太多研究,因此對于得到運動估計結果后的運動補償部分還需進一步改進。

[1]賀順.運動估計與運動補償在電子穩像中的應用[J].計算機工程,2007,33(15):224-226.

[2]TAO Tangfei,KOO J C,CHO IH R.A fast block matching algorthim for stereo correspondence[C]. Cybernetics and Intelligent Systems,2008 IEEE Conference on 21-24 Sept.2008 Page(s):38-41.

[3]CEIEB IA,AKBULUTO,URHAN O.Truncated graycoded bitplane matching based motion estimation and its hardware architecture[J].IEEE Trans.on Consumer Electronics,2009,55(3):1530-1536.

[4]陳躍庭,李奇,許東暉,等.投影算法與塊匹配法結合的實時數字穩像方法 [J].浙江大學學報:工學版,2007,41(9):1537-1540.

[5]宋永江,夏正良,楊世周.基于多直線特征的電子圖像穩定算法[J].東南大學學報,2002,32(2):211~217.

[6]時永剛,周渝斌,趙躍進.實時電子數字穩像系統并行處理的快速實現[J].電子與信息學報,2006,28(7):114-117.

(責任編校:光明)

Design about Embedded Stabilization Image System Based on FPGA

CAI Yao-yi

(School of Infor mation Science and Engineering,Central South University,Changsha,410083,China)

In accordance with the shortcomings of traditional electronic stabilization image platform,real-time stabilization image system based on FPGA is designed.Stabilization image based on image block-matching algorithm is applied.Time-consuming algorithms are compared with the traditional algorithm.The results show that this system can basically eliminate random jitter.

real-time stabilization image system;FPGA;globalmotion estimation

TP391

A

1673-0712(2010)02-0017-04

2010-02-05.

蔡耀儀 (1984-),男,湖南長沙人,中南大學信息科學與工程學院碩士研究生,研究方向:圖像處理。

猜你喜歡
分塊矢量投影
矢量三角形法的應用
解變分不等式的一種二次投影算法
基于最大相關熵的簇稀疏仿射投影算法
分塊矩陣在線性代數中的應用
找投影
找投影
反三角分塊矩陣Drazin逆新的表示
基于矢量最優估計的穩健測向方法
三角形法則在動態平衡問題中的應用
基于自適應中值濾波的分塊壓縮感知人臉識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合