劉 剛,凌 強(qiáng),李 峰,王 嵩
(中國(guó)科學(xué)技術(shù)大學(xué) 自動(dòng)化系,安徽 合肥 230027)
基于DSP的交通視頻穩(wěn)像算法設(shè)計(jì)與實(shí)現(xiàn)*
劉 剛,凌 強(qiáng),李 峰,王 嵩
(中國(guó)科學(xué)技術(shù)大學(xué) 自動(dòng)化系,安徽 合肥 230027)
針對(duì)因交通監(jiān)控設(shè)備抖動(dòng)而引起的視頻圖像序列不穩(wěn)定問題,提出了一種在設(shè)備內(nèi)的DSP上直接工作的快速穩(wěn)像方法。該方法采用Harris算子提取參考幀圖像的特征點(diǎn),利用金字塔LK光流在當(dāng)前幀跟蹤參考幀的特征點(diǎn),從而獲得運(yùn)動(dòng)矢量。通過(guò)RANSAC剔除匹配錯(cuò)誤或前景物體的特征點(diǎn)對(duì),篩選出全局運(yùn)動(dòng)矢量。采用描述復(fù)雜運(yùn)動(dòng)的單應(yīng)性模型估算全局運(yùn)動(dòng)參數(shù),用單純形法和模板相似性微調(diào)參數(shù)優(yōu)化整體效果。最后進(jìn)行全局運(yùn)動(dòng)補(bǔ)償,實(shí)現(xiàn)圖像的穩(wěn)定。依賴TI公司C674X系列DSP的優(yōu)化方法,實(shí)現(xiàn)了對(duì)720×480交通視頻精確、實(shí)時(shí)的圖像穩(wěn)定處理。
視頻穩(wěn)定;全局運(yùn)動(dòng)估計(jì);單應(yīng)性;運(yùn)動(dòng)補(bǔ)償;DSP
交通安防監(jiān)控車輛??吭诼愤叡O(jiān)視路況信息時(shí),安裝在車輛頂部的監(jiān)控設(shè)備易受到載重車輛經(jīng)過(guò)等因素影響而抖動(dòng),導(dǎo)致監(jiān)控視頻不穩(wěn)定。不穩(wěn)定的圖像序列干擾交通內(nèi)容的觀察,同時(shí)也會(huì)影響后期視頻信息處理其他環(huán)節(jié)(如車速估計(jì)、目標(biāo)識(shí)別與跟蹤等)的準(zhǔn)確性。因此,發(fā)展基于采集交通信息設(shè)備的視頻圖像穩(wěn)定技術(shù)變得越來(lái)越重要。
穩(wěn)像算法主要包括兩個(gè)部分:運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償。運(yùn)動(dòng)估計(jì)是提取圖像序列的幀間變化量,為運(yùn)動(dòng)補(bǔ)償提供可靠參數(shù)。常用于提取幀間變化量的方法有塊匹配[1]、灰度投影法[2]、特征匹配等。抖動(dòng)視頻圖像幀間的運(yùn)動(dòng)形式主要為旋轉(zhuǎn)和平移,因而設(shè)定運(yùn)動(dòng)模型為平移的塊匹配、灰度投影等方法不適用于本場(chǎng)景。特征匹配法能夠準(zhǔn)確地估算任意形式抖動(dòng)的運(yùn)動(dòng)矢量,是主流的研究方向和發(fā)展趨勢(shì)。估算幀間運(yùn)動(dòng)參數(shù)的模型主要有4參數(shù)的相似變換模型[3]、6參數(shù)的仿射模型[4]和8參數(shù)的單應(yīng)性模型。模型參數(shù)越多,描述場(chǎng)景變化越充分,相似變換和仿射模型在交通場(chǎng)景的表現(xiàn)力不夠,單應(yīng)性是此場(chǎng)景的理想模型。運(yùn)動(dòng)補(bǔ)償是依據(jù)運(yùn)動(dòng)參數(shù)對(duì)當(dāng)前幀圖像像元重組實(shí)現(xiàn)視頻圖像的穩(wěn)定。
針對(duì)交通視頻穩(wěn)像的需求,本文提出一種均衡準(zhǔn)確度和實(shí)時(shí)性的基于TI公司C674x系列DSP的快速視頻穩(wěn)像方法。首先,在運(yùn)動(dòng)估計(jì)環(huán)節(jié)用Harris算子和金字塔LK光流獲得粗略的運(yùn)動(dòng)矢量。然后通過(guò)RANSAC剔除匹配錯(cuò)誤或前景物體的特征點(diǎn)對(duì),篩選出反映監(jiān)控設(shè)備抖動(dòng)量的全局運(yùn)動(dòng)矢量。接著,采用單應(yīng)性模型估算全局運(yùn)動(dòng)參數(shù),用單純形法和模板相似性微調(diào)參數(shù)以優(yōu)化整體效果。再通過(guò)全局運(yùn)動(dòng)參數(shù)對(duì)當(dāng)前幀圖像進(jìn)行全局運(yùn)動(dòng)補(bǔ)償,實(shí)現(xiàn)視頻穩(wěn)像。依賴TI公司C6000系列DSP的優(yōu)化方法,實(shí)現(xiàn)了720×480交通視頻精確、實(shí)時(shí)的圖像穩(wěn)定處理。
1.1 穩(wěn)像原理
在視頻拍攝過(guò)程中,由于攝像機(jī)受到外界干擾發(fā)生抖動(dòng),原本靜止的物體在視頻中小幅抖動(dòng)。穩(wěn)像技術(shù)就是找出背景運(yùn)動(dòng)矢量,對(duì)其進(jìn)行校正,使第I+1幀特征點(diǎn)與匹配的第I幀特征點(diǎn)重合,實(shí)現(xiàn)靜止的物體在視頻中依然保持位置不變的視覺效果,其基本原理如圖1所示。圖中的網(wǎng)格,每一格代表一個(gè)像素,圓圈代表圖像的特征點(diǎn)。
圖1 穩(wěn)像原理示意圖
1.2 穩(wěn)像算法
基于特征匹配的穩(wěn)像算法可分為特征點(diǎn)提取、特征點(diǎn)匹配、全局運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償四個(gè)環(huán)節(jié),每一環(huán)節(jié)又有若干種方法可以使用。綜合穩(wěn)定性、準(zhǔn)確性和實(shí)時(shí)性的考慮,本文形成以Harris算子、金字塔LK光流、單應(yīng)性模型為主的視頻穩(wěn)像方法。
1.2.1 特征點(diǎn)提取
在圖像處理中,通常以描述圖像特殊位置的特征點(diǎn)來(lái)建立圖像間的對(duì)應(yīng)關(guān)系。特征點(diǎn),有時(shí)又叫角點(diǎn),指的是圖像灰度值發(fā)生劇烈變化的點(diǎn)或者在圖像邊緣上曲率較大的點(diǎn)。Harris算子作為檢測(cè)角點(diǎn)的常用方法,因其具有穩(wěn)定性好、速度快等特點(diǎn),得到了廣泛的應(yīng)用。
Harris算子的原理:將窗口w在所處理的灰度圖像上沿任意方向移動(dòng)微小距離(u,v), 則灰度改變量可定義為:
(1)
其中,I(x,y)表示像素的灰度值。將其展開整理近似可得:
(2)
式中,Ix、Iy表示灰度值x方向和y方向的一階梯度。由此可以看出,表示角點(diǎn)強(qiáng)弱的灰度值劇烈變化程度取決于矩陣M。Harris算子的角點(diǎn)響應(yīng)函數(shù)定義為:
R=det(M)-k*trace2(M)>T
(3)
式中,det為矩陣的行列式;trace為矩陣的跡;k為默認(rèn)常數(shù),通常設(shè)為 0. 04;T為角點(diǎn)響應(yīng)閾值。
提取角點(diǎn)的通常做法是,設(shè)定一個(gè)窗口,選出其中角點(diǎn)響應(yīng)值最大的點(diǎn),將其與給定閾值比較,若大于閾值則判為角點(diǎn),窗口向后平移繼續(xù)比較。這種做法對(duì)閾值設(shè)定要求比較高,不能解決相鄰窗口特征點(diǎn)可能很近的問題,也不能均衡特征突出區(qū)域和平坦區(qū)域特征點(diǎn)的比例。為此,本文提出一種二級(jí)篩選角點(diǎn)的方法。首先,設(shè)定一個(gè)相對(duì)寬容的閾值和較小的窗口,如通常做法一樣提取候選角點(diǎn);接著,對(duì)候選角點(diǎn)按照角點(diǎn)響應(yīng)值大小進(jìn)行排序;然后,從角點(diǎn)響應(yīng)值最大的點(diǎn)開始,取消其窗口內(nèi)其他候選角點(diǎn)的資格。如此篩選,獲得的特征點(diǎn)分布更加均勻合理,能有效地提高視差對(duì)運(yùn)動(dòng)估計(jì)精度的影響。
1.2.2 特征點(diǎn)匹配
雖然類似于SIFT的特征點(diǎn)提取與匹配算子有最優(yōu)的配對(duì)效果,但是這類在每一幀都提取特征點(diǎn)的方法耗時(shí)嚴(yán)重,滿足不了實(shí)時(shí)性的要求。LK光流算法只需在當(dāng)前幀計(jì)算每個(gè)參考幀提取的特征點(diǎn)位置周圍小窗口的局部信息,判定當(dāng)前幀特征點(diǎn)的位置,具有更少的時(shí)間開銷。圖像金字塔的加入,使得小窗口能夠捕獲較大的運(yùn)動(dòng)量,很好地實(shí)現(xiàn)特征點(diǎn)的跟蹤。該方法穩(wěn)定、準(zhǔn)確、快速,適合本場(chǎng)景的需求。
金字塔LK光流算法的原理如圖2所示。首先,構(gòu)建參考幀和當(dāng)前幀圖像的金字塔,特征點(diǎn)坐標(biāo)u滿足uL=u/2L,L=0,1,2,…,L,底層為0,頂層為L(zhǎng)m;然后,假設(shè)參考幀頂層圖像特征點(diǎn)坐標(biāo)為當(dāng)前幀頂層圖像特征點(diǎn)的初始坐標(biāo),用LK光流估計(jì)出其準(zhǔn)確位置,光流為dm;接著,將求出的頂層圖像特征點(diǎn)坐標(biāo)乘以2作為下一層特征點(diǎn)的初始位置,繼續(xù)用LK光流估算特征點(diǎn)位置,光流為2dm+dm-1;自上而下依次迭代,找出底層特征點(diǎn)的位置,光流為(2Lmdm+2Lm-1dm-1+…+d0)。匹配成功的特征點(diǎn)對(duì)之間的位移即為要求的運(yùn)動(dòng)矢量。
圖2 金字塔LK光流法原理圖
1.2.3 全局運(yùn)動(dòng)估計(jì)
RANSAC的思想是:先從集合中隨機(jī)選取4個(gè)點(diǎn)對(duì),利用單應(yīng)性模型粗估全局運(yùn)動(dòng)參數(shù),衡量集合中全部點(diǎn)對(duì)的匹配情況。由于背景特征點(diǎn)占大多數(shù),參數(shù)越能反映背景變化,則匹配上的特征點(diǎn)對(duì)越多。多次粗估運(yùn)動(dòng)參數(shù),選出匹配成功最多的一組參數(shù),作為參數(shù)優(yōu)化的初始值。
(1)運(yùn)動(dòng)模型
單應(yīng)性揭示了同一場(chǎng)景不同視角的兩幀圖像間的像素坐標(biāo)的投影關(guān)系。為將當(dāng)前幀圖像變換到參考幀圖像視角,設(shè)psrc為某當(dāng)前幀圖像的特征點(diǎn),pdst為參考幀圖像上對(duì)應(yīng)的特征點(diǎn),則有:
(4)
H稱為單應(yīng)性矩陣。
(2)參數(shù)求解
(5)
將該方程組整理為齊次方程組的形式,得:
(6)
式中,h33通常取1,h中含有8個(gè)未知數(shù)。因此,取四個(gè)點(diǎn)對(duì)聯(lián)立方程組,用奇異值分解(SVD)求解齊次線性最小二乘問題的方法可以得到H中的參數(shù)。
(3)參數(shù)優(yōu)化
由于視差的存在,同屬背景的特征點(diǎn)的運(yùn)動(dòng)矢量也會(huì)有微小差異。在RANSAC篩選內(nèi)點(diǎn)的時(shí)候,應(yīng)該容許一定誤差范圍內(nèi)的特征點(diǎn)被保留為內(nèi)點(diǎn),以反映圖像不同區(qū)域的變化。由于已知的運(yùn)動(dòng)參數(shù)并非完全適合所有內(nèi)點(diǎn),需要對(duì)運(yùn)動(dòng)參數(shù)進(jìn)行擬合以提高內(nèi)點(diǎn)的匹配度。
文中采用了單純形算法優(yōu)化運(yùn)動(dòng)參數(shù)。單純形算法采用反射、擴(kuò)展、壓縮、收縮四種手段將所有內(nèi)點(diǎn)的殘差盡量降低,以實(shí)現(xiàn)更好擬合的目的。由于觀察圖像的注意力都集中在中心區(qū)域,因此希望在殘差較低的基礎(chǔ)上,中心區(qū)域擬合得最好。為此,本文加入了模板相似性的比較。擬合出多組備選運(yùn)動(dòng)參數(shù),比較每組參數(shù)變換后與參考幀圖像指定區(qū)域的差異,將差異最小的單應(yīng)性矩陣作為最終確定的運(yùn)動(dòng)參數(shù)。
1.2.4 運(yùn)動(dòng)補(bǔ)償
運(yùn)動(dòng)補(bǔ)償是減弱或消除靜止物體由于相機(jī)抖動(dòng)而在視頻中晃動(dòng)的運(yùn)動(dòng)量,實(shí)現(xiàn)穩(wěn)定圖像序列的目的。依據(jù)單應(yīng)性模型求出的反映背景物體抖動(dòng)的全局運(yùn)動(dòng)參數(shù),計(jì)算當(dāng)前幀圖像各個(gè)像素矯正后的位置。由于變換前像素的位置是整型的,運(yùn)動(dòng)參數(shù)是浮點(diǎn)型的,因而變換后的像素位置極可能也是浮點(diǎn)型的。由于變換后的像素位置需要取整,四舍五入會(huì)造成偏差,因此必須對(duì)該位置的像素灰度值進(jìn)行插值以實(shí)現(xiàn)變換的平滑。
設(shè)(x′,y′)是源點(diǎn)O變換后的浮點(diǎn)型像素位置,a、b、c、d是點(diǎn)O最近鄰的四個(gè)點(diǎn)的像素值,有:
(7)
其中,floor()是對(duì)浮點(diǎn)數(shù)向下取整。雙線性插值的過(guò)程如下:
(8)
則點(diǎn)O變換后整型像素的灰度值為:
p=p12+(y′-y1)(p34-p12)
(9)
本文采用的硬件平臺(tái)是TI公司的達(dá)芬奇數(shù)字多媒體處理器TMS320DM8168。TMS320DM8168是一款多核處理器,內(nèi)含一個(gè)Cortex-A8型ARM處理器和一個(gè)C674x浮點(diǎn)型DSP處理器。視頻穩(wěn)像的實(shí)現(xiàn)過(guò)程是:C674x內(nèi)核從雙口RAM中讀取不穩(wěn)定圖像數(shù)據(jù),經(jīng)過(guò)穩(wěn)像算法處理,然后將穩(wěn)定的圖像數(shù)據(jù)存儲(chǔ)到原RAM空間。
2.1 C674x內(nèi)核簡(jiǎn)介
C674x的CPU采用基于超長(zhǎng)指令字(VLIW)的結(jié)構(gòu),擁有高達(dá)9 000 MIPS和6 750 MFLOPS的處理能力。C674x有6個(gè)ALU功能單元和2個(gè)乘法功能單元,具有強(qiáng)大的并行處理能力。
C674x采用二級(jí)緩存器架構(gòu),第一級(jí)是各為32 KB相互獨(dú)立的程序(L1P)和數(shù)據(jù)(L1D)RAM, 其只能作為高速緩存使用;第二級(jí)256 KB的L2是一個(gè)統(tǒng)一映射的程序、數(shù)據(jù)空間,可以整體作為SRAM映射到存儲(chǔ)空間或作為第二級(jí)Cache,或是將二者按比例組合起來(lái)使用。L2的這一特點(diǎn)可以有效提高外設(shè)的數(shù)據(jù)傳輸速度。
2.2 基于DSP的程序優(yōu)化
DSP的特點(diǎn)決定了程序的運(yùn)行效率,在用C語(yǔ)言實(shí)現(xiàn)算法后,需要進(jìn)一步針對(duì)DSP進(jìn)行優(yōu)化。參考TI公司提供的TMS320C6000系列技術(shù)文檔[5-6],本文進(jìn)行了針對(duì)C674x內(nèi)核的優(yōu)化工作。從效果來(lái)看,提速顯著的方法主要有優(yōu)化編譯器、使用DMA[7]和使用內(nèi)聯(lián)函數(shù)。
2.2.1 優(yōu)化編譯器
(1)選擇最高優(yōu)化等級(jí)。優(yōu)化等級(jí)分為O1、O2、O3共三個(gè)等級(jí),等級(jí)越高優(yōu)化效果越好。為了使處理速度盡可能提高,本文選中O3等級(jí)。
(2)勾除-g調(diào)試選項(xiàng)。-g選項(xiàng)是程序的調(diào)試模式,在生成可執(zhí)行文件時(shí)關(guān)閉調(diào)試模式可以明顯提高程序的運(yùn)行效率。
2.2.2 使用DMA
由于需處理的圖像數(shù)據(jù)通常存儲(chǔ)在DDR中,CPU直接讀取和寫入的速度很慢,并且搬移數(shù)據(jù)時(shí)阻礙了CPU的計(jì)算功能。通過(guò)DMA控制器和L2 RAM的使用,有效提高了數(shù)據(jù)的搬移速度。
圖3 DMA數(shù)據(jù)搬移路徑
首先DMA從DDR中搬移數(shù)據(jù)到L2 RAM上;CPU直接從L2 RAM中讀取需要處理的數(shù)據(jù);處理結(jié)果保存在L2 RAM中;DMA再把處理結(jié)果搬移到DDR上對(duì)應(yīng)的存儲(chǔ)位置。具體的DMA數(shù)據(jù)搬移路徑如圖3所示。
2.2.3 使用內(nèi)聯(lián)函數(shù)
C6000編譯器提供了許多內(nèi)聯(lián)函數(shù)intrinsics,利用它們可以快速提高C代碼的執(zhí)行效率。intrinsics是能直接與匯編指令相映射的在線函數(shù),可以在C語(yǔ)言代碼中直接嵌入,達(dá)到與匯編指令相類似的性能。
3.1 處理結(jié)果
以一段交通監(jiān)控視頻的圖像序列為例來(lái)說(shuō)明文中穩(wěn)像算法的效果。圖4是從序列中抽取的6個(gè)關(guān)鍵幀,通過(guò)圖像中心方框的定位可以發(fā)現(xiàn)攝像機(jī)存在明顯的抖動(dòng)。圖5是6個(gè)關(guān)鍵幀運(yùn)動(dòng)補(bǔ)償后的效果圖,比較定位方框周邊的內(nèi)容可以看出,圖像得到了精確的校正。校正后的圖像周邊會(huì)有黑邊,這是因?yàn)槲灰茖?dǎo)致的部分內(nèi)容缺失。在進(jìn)行穩(wěn)像后,通常要對(duì)圖像做切邊處理以保證主要內(nèi)容的視覺效果。
圖4 抖動(dòng)的交通視頻序列
圖5 校正后的交通視頻序列
3.2 優(yōu)化結(jié)果
以720×480的圖像為例來(lái)說(shuō)明優(yōu)化的效果。將程序直接移植到DSP的開發(fā)工具CCS5.4進(jìn)行仿真,經(jīng)過(guò)調(diào)試通過(guò)后,處理單幀圖像的耗時(shí)需要20 s以上。經(jīng)過(guò)程序本身的優(yōu)化和基于DSP特點(diǎn)的優(yōu)化,處理一幀圖像的平均耗時(shí)為40 ms,實(shí)現(xiàn)了實(shí)時(shí)處理的要求。
本文針對(duì)交通視頻抖動(dòng)復(fù)雜、存在前景物體的特點(diǎn),實(shí)現(xiàn)了基于特征匹配和單應(yīng)性模型的視頻穩(wěn)像算法。依據(jù)DSP的特點(diǎn)并利用相應(yīng)的優(yōu)化方法,實(shí)現(xiàn)了對(duì)720×480視頻的實(shí)時(shí)穩(wěn)像處理。該方法兼具了精度、速度和穩(wěn)定度的要求,達(dá)到了較好的穩(wěn)定效果,可用于監(jiān)控固定背景交通路況的安防設(shè)備上。
[1] 遆曉光,靳萬(wàn)鑫,余穎. 大運(yùn)動(dòng)前景和旋轉(zhuǎn)抖動(dòng)視頻的快速數(shù)字穩(wěn)定[J]. 光學(xué)精密工程,2014,22(1):177-185.
[2] 趙志強(qiáng),陳盈. 一種基于灰度投影與塊匹配的視頻序列快速穩(wěn)像算法[J]. 光電工程,2011,38(6):146-150.
[3] 李慧娟,郭寶龍.基于DM642的電子穩(wěn)像的研究與實(shí)現(xiàn)[J]. 微電子學(xué)與計(jì)算機(jī),2009,26(11):120-123.
[4] 王兆軍,田裕鵬. 基于Harris-LM全局運(yùn)動(dòng)估計(jì)的電子穩(wěn)像算法研究[J].應(yīng)用科技,2010, 37(1):32-35.
[5] Texas Instruments. TMS320C6000 optimizing compiler user’s guide[EB/OL].(2000-xx-xx)[2017-02-20]http://www.ti.com/litv/pdf/spru187u.
[6] Texas Instruments.TMS320C6000 programmer’s guide [EB/OL]. (2007-02-20) [2017-02-20]http://www.ti.com/litv/pdf/spru198k.
[7] 朱學(xué)俊,凌強(qiáng),李博倫,等. 基于DSP的實(shí)時(shí)去霧優(yōu)化與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2015, 34(22):96-98.
Design and realization of traffic video stabilization based on DSP
Liu Gang, Ling Qiang, Li Feng, Wang Song
(Deptartment of Automation, University of Science and Technology of China, Hefei 230027, China)
Aiming at removing the jitter of video sequences caused by traffic monitoring equipment, a fast image stabilization method based on DSP in the device is proposed. The feature points of reference image frame are extracted by Harris corner, and the LK optical flow of Pyramid is used to track them in the current frame. The feature point pairs that are matching error or belong to foreground objects are eliminated by RANSAC. The homography model which is always used for describing the complex motion is used to estimate the global motion parameters. The overall effect is improved by trimming parameters with simplex method and template similarity. Finally, the global motion compensation is performed and the stabilization and reconstruction of image are implemented. The accurate and real-time image stabilization system of 720×480 traffic video is implemented based on the optimization method of C674X series DSP.
video stabilization; global motion estimation; homography; motion compensation; DSP
國(guó)家重點(diǎn)研發(fā)計(jì)劃(2016YFC0201003)
TP391
A
10.19358/j.issn.1674- 7720.2017.16.005
劉剛,凌強(qiáng),李峰,等.基于DSP的交通視頻穩(wěn)像算法設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2017,36(16):15-18.
2017-02-21)
劉剛(1987-),男,碩士研究生,主要研究方向:嵌入式、圖像處理。
凌強(qiáng)(1975-),通信作者,男,博士,副教授,博士生導(dǎo)師,主要研究方向:網(wǎng)絡(luò)化控制、嵌入式系統(tǒng)。E-mail:qling@ustc.edu.cn。
李峰(1976-),男,博士,主要研究方向:圖像處理。