高玉鵬,何明一
(西北工業(yè)大學 電子信息學院,陜西 西安 710072)
動態(tài)背景下基于幀間差分與模板匹配相結(jié)合的運動目標檢測
高玉鵬,何明一
(西北工業(yè)大學 電子信息學院,陜西 西安 710072)
基于圖形處理器單元(GPU)提出了一種幀間差分與模板匹配相結(jié)合的運動目標檢測算法。在CUDA-SIFT(基于統(tǒng)一計算設備架構的尺度不變特征變換)算法提取圖像匹配特征點的基礎上,優(yōu)化隨機采樣一致性算法(RANSAC)剔除圖像中由于目標運動部分產(chǎn)生的誤匹配點,運用背景補償?shù)姆椒▽㈧o態(tài)背景下的幀間差分目標檢測算法應用于動態(tài)情況,實現(xiàn)了動態(tài)背景下的運動目標檢測,通過提取目標特征與后續(xù)多幀圖像進行特征匹配的方法最終實現(xiàn)自動目標檢測。實驗表明該方法對運動目標較小、有噪聲、有部分遮擋的圖像序列具有良好的目標檢測效果。
信號與信息處理;CUDA-SIFT;目標檢測;圖像配準
目標檢測是將感興趣區(qū)域從背景中分離出來,它將目標的分割和識別合二為一,是運動圖像分析、智能監(jiān)控、月球探測中巡游導航、軍事目標檢測、人機交互技術中的一個重要環(huán)節(jié)。國內(nèi)外對目標檢測的研究已經(jīng)取得了一定的成果。但對于動態(tài)背景、目標部分遮擋及光照變化較大的圖像序列的檢測效果還有待于提高。
按照目標和背景的相對運動差異,可以將目標識別分為靜態(tài)背景和動態(tài)背景兩種基本情況。目前研究相對成熟的方法是針對靜態(tài)背景下的背景模型法、光流法和多幀差分法。以上方法能夠有效地分割出運動目標,但多適用于靜態(tài)背景[1]。背景模型方法將多幀圖像與背景模型進行比較,通過判定灰度等特征的變化或用直方圖等統(tǒng)計信息的變化分割出運動目標,因此首先要求背景不變。光流法給圖像中每一個像素點賦予一個速度矢量,圖像上的點與三維物體上的點一一對應,根據(jù)各個像素點的速度矢量特征對圖像進行動態(tài)分析。這種方法計算量大、易受噪聲影響。
文中利用在通用并行計算架構CUDA平臺上開發(fā)的SIFT算法 (下文簡稱CUDA-SIFT)[2],來提取兩幀圖像特征點,實現(xiàn)圖像的準確配準。改進的RANSAC算法濾除目標運動帶來的誤匹配點,用過濾后的點來提取兩圖像中背景匹配部分,對其進行差分提取得到含有部分噪聲的差值圖像。通過背景補償改進的兩幀差分方法能夠?qū)⒀芯肯鄬Τ墒斓撵o態(tài)背景目標檢測應用于動態(tài),該方法不僅計算量小、目標檢測效果好而且通過對差分圖像進行適當?shù)奶幚砟軌蜻_到比較理想的魯棒性。再采用形態(tài)學方法剔除噪聲提取出運動目標部分。在目標特征已知的基礎上對余下多圖像序列通過目標特征模板匹配來尋找目標,從而大大節(jié)省檢測時間。因目標可能發(fā)生變化,故采用每20幀通過兩幀差分的方法更新一次目標實現(xiàn)模板的自動更新,進而實現(xiàn)動態(tài)背景下的全自動目標檢測。
文中算法采用CUDA-SIFT算法對兩幀相鄰圖像進行特征提取,構建特征向量描述特征點信息,采用優(yōu)先K-D樹算法對特征向量進行搜索以進行特征點間的匹配,保證了特征點位置的精確性與匹配的準確性;然后采用改進的RANSAC算法去除因目標運動導致的誤匹配,確保了圖像配準的準確性,使圖像配準的達到了亞像素精度,提高圖像差分的魯棒性;隨后對精確配準的兩幅圖像進行差分,由于兩幀圖像中存在亮度變換以及采用線性放射變換處理非線性問題使得某些非目標區(qū)域像素點仍存在于差分圖像中,致使差分圖像中存在較大噪聲,使用圖像二值化和形態(tài)學的濾波處理方法濾除這些非目標像素點以解決差分圖像噪聲大的問題,處理后的圖像中只存在前景的運動目標,至此完成了運動目標的檢測。通過保留的目標特征模板與余下的幀圖像進行特征匹配,從而實現(xiàn)剩余多幀圖像中目標檢測的目的,每20幀更新一次目標以達到運動目標自動檢測。采用此方法避免了連續(xù)幀間差分需要不斷配準導致檢測效率低的問題,同時客服了特征匹配方法需要預先給定目標的缺點。流程如圖1所示。
圖1 目標檢測流程圖Fig.1 Target detection flow diagram
CUDA是一種通過使用并行編程模型,充分利用GPU硬件架構來對可并行化處理的數(shù)據(jù)及任務進行并行處理的軟件環(huán)境,通過并行計算大大提高處理速度[3]。本文通過對特征提取中經(jīng)典的SIFT算法進行并行化設計,并對算法進行改進從而達到快速目標檢測的目的。CUDA執(zhí)行流程如圖2所示。首先將圖像從內(nèi)存中傳入到GPU的Global Memory中,將圖像分成的block塊,通過設定并行處理函數(shù)將每個圖像塊并行的轉(zhuǎn)化為灰度圖像進行圖像的預處理。使用唯一的線性高斯核對圖像進行并行的卷積處理,由以下兩個公式可知可以將高斯濾波進行X方向和Y方向的分塊并行處理,進而得到圖像大小的尺度空間。
圖2 GPU-SIFT特征點提取流程圖Fig.2 GPU-SIFT feature point extraction flow diagram
通過公式進行差分得到DOG圖像層:
其中(x,y)代表圖像的像素位置;σ為尺度空間因子,大尺度對應于圖像的蓋帽特征;小尺度對應于圖像的細節(jié)特征。L表示圖像的尺度空間;G(x,y,σ)為尺度變換唯一變換核的二維高斯函數(shù)[4-5]。
將圖像的尺度空間存儲到紋理存儲器內(nèi),并通過快速的圖像縮放來完成高斯金字塔的建立 (紋理內(nèi)存能夠享受GPU[6]內(nèi)部針對二維數(shù)據(jù)訪問優(yōu)化的紋理緩存,從而在隨機存取的環(huán)境下保持較高的性能,另外,紋理內(nèi)存還能享受硬件的雙線性插值,從而完成需要的圖像縮放操作[7]。)并行檢測差分金字塔的每一個像素,通過檢測局部極值點近似確定關鍵點,通過一個的Hessian矩陣計算特征值的比率,檢測關鍵點主曲率是否超過閾值,從而確定關鍵點為特征點并記錄關鍵點的位置及尺度,傳回Host端進行進一步處理。為了提高運算速度同時盡量減少匹配誤差,利用文獻 的方法提取更有效的特征點從而減少不必要的冗余特征點的計算,節(jié)省運算時間。
采用優(yōu)先K-D樹進行特征點的匹配,對于某一特征向量,比較最近鄰到它距離與次近鄰到它的距離,如果距離之比小于預先設定的閾值,認為該最近鄰是較好的匹配。將閾值設為0.7時匹配的正確率較高保證了特征點位置的精確性與匹配的準確性。
動態(tài)背景下的運動目標檢測難點在于問題中含有多種運動,由于相機的移動使得背景發(fā)生變化,背景變化的同時運動目標也在相對于背景運動,這是問題的難點所在。單純的特征點匹配只是解決了背景區(qū)域的匹配問題,但由于背景區(qū)域內(nèi)也同時存在物體移動,因此傳統(tǒng)的目標匹配方法無法實現(xiàn)圖像的配。因此本文針對這個問題采用比較典型的具有魯棒性估算的RANSAC算法對匹配點對進行提純,剔除匹配區(qū)域內(nèi)運動目標帶來的誤匹配點,從而實現(xiàn)良好的圖像匹配效果,為接下來的工作奠定基礎。RANSAC算法首先給定N個數(shù)據(jù)點組成的數(shù)據(jù)集合P,其中大多數(shù)是由一個參數(shù)未知的特定模型產(chǎn)生的,該模型的參數(shù)至少需要n個數(shù)據(jù)點求出(N>n)。算法的目的就是求出這個模型的參數(shù)。將下述過程運行k次:
1)從P中隨機選取含有n個數(shù)據(jù)點的子集S1。
2)由所選取的n個數(shù)據(jù)點計算出一個模型H1。
3)對數(shù)據(jù)集合中其余的N-n個數(shù)據(jù)點,計算出它們與模型H1之間的距離,記錄在H1的某個誤差允許范圍內(nèi)的P中數(shù)據(jù)點的個數(shù)c。
重復上述步驟直到對應最大c值的模型即為所求模型,數(shù)據(jù)集合P中的這個數(shù)據(jù)即為內(nèi)點 (所謂內(nèi)點就是在RANSAC算法下認為是正確匹配的點),其余的N-c個數(shù)據(jù)點即為外點(所謂內(nèi)點就是在RANSAC算法下認為是沒有正確匹配的點包括:背景不重疊的部分及運動物體部分)[7]。至此完成了對特征點對的提純。
從RANSAC提取的穩(wěn)定的特征點對中任意從內(nèi)點中選取兩個特征點對(x,y)與(x′,y′)利用公式:
計算出ai共7個自由度,就可以確定一個變換矩陣H。求得的變換矩陣H,通過公式:
就把第二幅圖像通過放射變換矩陣一一對應地映射到一幅新圖像上。從而去除了由相機平移和旋轉(zhuǎn)等給圖像帶來的幾何變換,最后通過特征區(qū)域的計算提取出兩幅圖像上包含運動物體的相同背景區(qū)域,至此完成了圖像匹配。
對上一節(jié)中提取包含運動目標區(qū)域的背景重疊部分兩幅圖像采用公式:
進行差分,D(X,Y)為差分后的圖像, f1(x,y)和 f2(x,y)分別為從兩幅原始圖像中提取出來的匹配部分。通常經(jīng)過差分后會得到比較明顯的運動目標區(qū)域,然后再通過公式:
對圖像進行二值化,其中T為給定閾值,差分圖像D(X,Y)經(jīng)過閾值分割得到二值化后的圖像D′(X,Y)。由于二值圖像中含有噪聲點干擾目標提取,因此對圖像進行核大小為的中值濾波從而消除小噪聲,達到對圖像平滑的目的。再使用正方形的結(jié)構元素通過公式:
掃描二值圖像中的每一個像素,用結(jié)構元素與其覆蓋的二值圖像做“與”操作,如果都為0結(jié)果圖像的該像素為0,否則為1。對二值圖像進行膨脹操作,其中為的結(jié)構元素,為圖像元素,使結(jié)構元素沿著圖像移動,若有交集則為白色像素,用以清除目標中不連續(xù)的空洞,使運動目標區(qū)域更加明顯。隨后對二值圖像中像素為的點進行輪廓提取并記錄輪廓的大小和位置,由于在二值圖像中可能還會存在小區(qū)域的噪聲,因此在運動目標標示的時候選擇大于16的區(qū)域進行標示。至此完成了動態(tài)背景下的運動目標檢測。將檢測到的運動目標作為模板一一保存起來,應用到后續(xù)幀中的目標進行檢測,從而大大提高圖像序列運動目標檢測速度,降低算法復雜度。
模板匹配是在一幅尺寸比較大的實時圖像中尋找一幅尺寸較小的參考圖像的過程,實現(xiàn)在圖像中實時定位目標的目的。
本文通過保存經(jīng)過背景差分提取的目標的SIFT特征向量與在圖像序列中提取的SIFT特征向量進行匹配來提取運動目標,經(jīng)過RANSAC[8]誤匹配點的剔除提高匹配精度。通過權值平均法進行中心點定位、標示運動目標。如果剩余的圖像中匹配點少于3個直接對特征點坐標求均值得到近似目標中心;對于匹配點較多的情況時,從第一個點開始進行聚類,在其的鄰域內(nèi)查找是否有其他特征點,有幾個特征點則權值設為幾求出橫、縱坐標均值,對剩下的點依此類推進行計算,通過權值平均最終求得中心。此方法有效克服了由于個別匹配點離中心較遠而造成的標示不準確問題。下表為對最典型的3種特征匹配方法進行的研究,分別使用這3種方法對同樣兩幅圖片進行特征匹配,得到其運行時間及提取的特征點數(shù)目,分析比較最適合于本系統(tǒng)的方法。
表1 各算法進行特征匹配的時間Tab.1 Time of various feature matching algorithms cost
本實驗在曙光W580I服務器上調(diào)試運行,對的圖像進行特征檢測與匹配。由實驗可知,CUDA-SIFT算法特征匹配速度最快、特征點穩(wěn)定,而且目標提取算法過程中以對目標部分特征進行提取并保存,因此本部分同樣采用CUDA-SIFT算法進行模板匹配從而達到良好的系統(tǒng)一致性及實時性。
為了驗證本文提出的基于特征點的動態(tài)背景下序列圖像運動目標提取的有效性,在Microsoft VS2008開發(fā)平臺下通過CUDA、OPENCV及C語言的混合編程實現(xiàn)了本文中的相關算法。我們也用真實的圖像序列驗證了系統(tǒng)的可行性。
圖3 兩幀差分目標提取部分的檢測結(jié)果Fig.3 Results of object extraction from two differential frames
實驗1與2均為相機水平方向拍攝,實驗1為攝像機只有平移變換情況下的運動目標檢測,檢測效果比較理想。實驗2為攝像機同時具有平移和旋轉(zhuǎn)變換而且運動目標有部分遮擋情況下的識別,對目標有部分遮擋及攝像機各種運動魯棒性較高。由實驗1和2的結(jié)果可知該算法可應用于車載攝像設備也可應用于反坦克導彈等武器裝備中的運動目標檢測。實驗3為高空拍攝的圖像。該實驗表明本方法可應用于高空監(jiān)視中地物目標鎖定,在武器裝備中的精確制導領域具有較強的實用價值。
圖4 目標匹配檢測結(jié)果Fig.4 Target matching results
文中實現(xiàn)了一種基于兩幀差分及特征匹配方法的目標檢測方法。該方法可以實現(xiàn)動態(tài)背景下圖像序列的自動目標檢測,并且在較短的時間內(nèi)達到了比較良好的檢測效果。SIFT算法保證了提取特征點位置的精確性與匹配的準確性,改進的RANSAC算法保證了圖像配準差分的穩(wěn)健性。采用目標特征匹配的方法大大節(jié)省目標檢測時間并提高了部分遮擋目標提取的魯棒性,從而實現(xiàn)了通過兩幀差分更新并保存目標,再進行特征匹配提取目標的動態(tài)背景下序列圖像自動目標檢測。該算法采用兩幀差分方法與模板匹配相結(jié)合的方法進行目標檢測,克服了兩幀差分法檢測效果不穩(wěn)定圖像質(zhì)量要求高及模板匹配方法對目標先驗知識的要求,從而實現(xiàn)動態(tài)背景下的運動目標自動檢測。
[1]Liao S K,Liu B Y.An edge-based approach to improve optical flow algorithm[C]//The 3rd International Conference on Advanced Computer Theory and Engineering,2010:45-51.
[2]田文,徐帆,王宏遠.基于CUDA的尺度不變特征變換快速算法[J].計算機工程,2010,36(8);219-221.
TIAN Wen,XU Fan,WANG Hong-yuan.Fast algorithm of Scale-invariant feature transform base on CUDA[J].Computer Engineering,2010,36(8);219-221.
[3]王瑞,梁華,蔡宣平.基于GPU的SIFT特征提取算法研究[J].現(xiàn)代電子技術,2010(15);41-43.
WANG Rui,LIANG Hua,CAIXuan-ping.SIFT feature extraction algorithm research based on the GPU [J].Modern Electronic Technology,2010(15):41-43.
[4]Lowe D G.Distinctive image features from scale-invariant key-points[J].International Journal of Computer Vision,2004,60(2):91-110.
[5]韓龍,郭立,李玉龍.SIFT算法的并行實現(xiàn)及應用[J].計算機工程與應用,2010,46(20):57-67.
HAN Long,GUO Li,LI Yu-long.SIFT parallel implementation and application of the algorithm[J].Computer Engineering and Application,2010,46(20):57-67.
[6]張曉東,孔祥輝,張歡陽.利用GPU實現(xiàn)SAR圖像的并行處理[J].電子科技,2011(11):94-95.
ZHANG Xiao-dong,KONG Xiang-hui,ZHANG Huan-yang.Parallel imaging algorithm of synthetic aperture radar based on GPU[J].Electronic Science and Technology,2011(11):94-95.
[7]NVidia CUDA C Programming Guide 3.2[EB/OL].[2010-10-22].http://developer.download.nvidia.com.
[8]Ondrej C,Jiri M.Optimal randomized RANSAC[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,30(8):1472.
Moving target detection combined two frame differences with template matching methods under dynamic background
GAO Yu-peng,HE Ming-yi
(College of Electronics andInformation,Northwestern Polytechnical University,Xi’an710072,China)
A moving target detection algorithm is presented which combined frames difference with template matching methods based on Graphic Processing Unit (GPU).The method firstly utilizes CUDA-sift (a fast SIFT algorithm based on Compute Unified Device)algorithm to extract feature point of the matching image.Then, Random Sample Consensus (RANSAC) is optimized to remove the false matching points due to the part of the moving target.Put frames difference method under static background into dynamic setting using backdrop compensation method.Achieved the moving target detection method under dynamic background,extracting the feature of target to process character mating with the follow-up graphic finally realize automatic target detection.Experiments show that the method has favorable result of target detection for small moving target,little noise,some occlusion of image sequence.
signal and information processing; CUDA-SIFT; target detection; image registration
TP391.4
A
1674-6236(2012)05-0142-04
2012-01-17稿件編號:201201072
高玉鵬(1985—),男,黑龍江綏化人,碩士研究生。研究方向:信號與信息處理。