CCD測量系統中基於自適應相關演算法的動態目標跟蹤的論文
CCD測量系統中基於自適應相關演算法的動態目標跟蹤的論文
摘要:相關匹配是目標跟蹤和模式識別的一種重要方法。介紹了CCD(電荷耦合器件)誤差測量系統光學原理;針對該測量系統實際情況,提出了用相關演算法實現目標位置的測量;使用自適應相關匹配的方法,實現了對連續影片影象中動態目標的跟蹤;給出了實驗結果,並對演算法提出了改進的意見。
關鍵詞:CCD測量 影象處理 自適應相關 目標跟蹤
基於相關演算法的目標跟蹤是利用從以前影象中獲得的參考模板,在當前影象中尋找最相似的區域來估計當前目標位置的方法。它對於背景複雜、會有雜波噪聲的情況具有良好的效果。CCD(電荷耦合器件)測量技術是近年來發展迅速的一種非接觸式測量技術。CCD攝像器件在解析度、動態範圍、靈敏度、實時傳輸方面的優越性是其它器件無法比擬的,在動態飛行目標跟蹤測量中發揮著重要的作用。作者在CCD測量系統中使用相關匹配的方法,實現了對連續影片影象中動態目標的跟蹤。
1 CCD誤差測量系統原理
在同一觀測位置佈置兩臺CCD,其視軸平行。其中CCD1用於瞄準,CCD2用於跟蹤飛行目標。CCD1瞄準線和視軸重合,獲得瞄準線和靶標之間的偏差角α。CCD2獲得飛行目標和靶標之間的偏差角β。系統要求得到瞄準線和飛行目標之間的水平和垂直方向上的偏差角ψx、ψy。因此規定CCD的視場中均以靶標十字中心為原點,向左和向上為正方向,將α、β分別投影到座標軸上得到水平和垂直方向上的偏差角αx、αy、βx、βy。兩臺CCD的影片軸平行,視軸間距遠遠小於CCD到目標的距離,因此可以認為兩CCD的視軸重合。所以有:
ψx=αx-βx,ψy=αy-βy (1)
圖1是系統的原理圖,圖中靶板上的黑十字是靶標,(收集整理)虛線十字為瞄準分劃板在靶板上的投影(由於實際靶板上沒有,所以用虛線表示)。
2 影象處理演算法的選擇
從系統的原理分析可知,要完成偏差角度的測量首先應當從影象中提取出各個目標在影象中的位置,再根據CCD當量(每像元對應的弧度數)算出水平和垂直方向的偏差角。從CCD1的影象中的最靶標十字和瞄準分劃板的位置,從CCD2的影象中提取靶標十字和飛行目標的位置。
由於飛行目標幾乎貼地飛行,CCD視場中有複雜的地面背景。而且靶標是不發光的暗目標,與背景灰度反差不大,很難將目標從背景中分離出來,因此只有採用相關處理技術來進行目標識別,才能實現瞄準誤差和飛行軌跡的測量。相關演算法非常適合在複雜背景下識別和跟蹤執行目標。由於系統圖像處理是事後處理,處理連續的大量影片影象,實時性要求不高,而對處理精度和自動處理程度要求較高,因此採用該演算法。
本系統中相關處理將預先選定的目標或目標特定位置作為匹配樣板,求取模板和輸入影象間的相關函式,找出相關函式的峰值及所在位置,求判斷輸入影象是否包括目標影象及目標位置。
3 相關演算法的原理及改進
在機器識別事務的過程中,常把不同感測器或同一感測器在不同時間、成像條件下對同一景物獲取的兩幅或多幅影象在空間上對準,或根據已知模式在另一幅影象中尋找相應的模式,這就叫做匹配。如果被搜尋圖中有待尋的目標,且同模板有一樣的尺寸和方向,在影象匹配中使用相關匹配,就是透過相關函式找到它及其在被搜尋圖中的位置。
3.1 相關演算法
基於相關的目標跟蹤尋找最佳匹配點,需要一個從以前影象中得以的模板。在圖2中設模板T為一個M×M的參考影象,搜尋圖S為一個N×N影象(M<N),T在S上平移,模板下覆蓋的那塊搜尋圖叫做子圖Si,j,(i,j)為子圖左上角點在S中的'座標,叫參考點。比較T和Si,j的內容。若兩者一致,則它們的差為0。用誤差的平方和作為它們相似程度的測度:
展開公式(2),則有:
公式(3)右邊的第三項表示模板的總能量,是一個常數。第一項是模板覆蓋下的子圖能量,隨(i,j)位置而緩慢改變。第二項是子圖和模板的互相關,隨(i,j)改變。當模板和子圖匹配時刻值最大。因此可以用以下相關函式做相似性測度:
根據柯西-施瓦茲不等式可知公式(4)中0<R(i,j)≤1,並且僅在Si,j(i,j)/為常數時,R(i,j)取最大值(等於1)。相關法求匹配計算量很大,如圖2所示的情況,要在(N-M+1)×(N-M+1)個參考位置上做相關計算,每次相關計算要做3M2次加法、3M2次乘法、1次除法、2次開方運算。由於乘除法運算量最大,整個演算法的時間複雜度大約為o((N-M+1) ×2×(3M2+1))。整個運算過程中,除了匹配點一點以外,都是在非匹配點上做無用功。但是,模板匹配演算法準確度較高,適合對大量的連續影片影象做自動處理。
3.2 自適應的相關匹配
在相關匹配過程中目標的大小、形狀等或者連續幀中的原點位置發生變化,都會引起影象相關偏離。一旦模板不能和目標嚴格地匹配,那麼最佳匹配點就不是目標的中心。這會給相關演算法造成誤差。雖然這個誤差是隨機的,但是它會隨著相關處理逐幀積累。如果積累了足夠的幀數,模板會完全偏離目標。增大模板也會引入誤差。這是因為,當模板大於目標時,模板中將有部分背景資訊。每幀中背景的變化,便引入了誤差。為了消除誤差,必須儘可能地減少模板中的背景資訊。
為了解決以上問題,引入了自適應的相關演算法。首先在影象的灰度直方圖中尋找一個閾值,使大多數的畫素,特別是背景畫素都在閾值之下。在影象中定出模板的位置,尋找一個區域使其邊界的畫素灰度從閾值之上變為閾值之下,作為目標的邊界,這樣,目標的位置是目標區域中的一個點,目標被一個矩形視窗框住,可以認為矩形的中心是目標的中心。這樣,系統補償了逐幀匹配引起的偏離誤差,減小了誤差的積累。自適應的視窗減小了引入過多背景元素而在相關過程中造成的影響。
3.3 減少運算量
在CCD誤差測量系統中,即使是事後處理,如果對每一幀影象進行全圖搜尋,其運算量仍然是巨大的。從前面的分析可知,運算量同搜尋圖和模板的大小均有關係。在本系統中,模板的大小基本是固定的,在這種情況下,減小搜尋力瓣大小就成為了如何減少運算量的關鍵。經過對系統實際的影象分析,發現連續的每一幀中同一目標的位置改變緩慢。對演算法進行改進,對於連續影片影象的第一幀做全圖搜尋,找出匹配點;對於後續各帖,在前一幀影象目標位置的基礎上進行模板匹配,將當前幀搜尋圖定義為前一幀目標位置周圍一個邊長為N的正方形區域(目標位置不一定正方形的中心),在此較小的搜尋圖中進行相關匹配。同時設定一個閾值R,如果相關係數量大值R(i,j)MAX<R,那麼認為在該搜尋圖中沒有找到目標,則進行整幀影象的搜尋,否則接受匹配點為目標位置。
CCD誤差測量系統跟蹤動態目標,在對連續影片影象處理時,搜尋圖的大小應和運動速度有關。如果圖太小,有可能使目標不在搜尋圖內,而必須進行全圖的匹配,如果圖較大,又會增加運算的開銷。可以增加運動趨勢的估計,使搜尋圖向運動趨勢的方向平移。對於當前幀搜尋圖區域的確定可以根據前兩幀位置間的關係來確定,求前兩幀位置水平和垂直座標的差Δx和Δy來決定偏移的方向。在有效的測量階段,目標的運動基本是勻速的執行,在水平方向和垂直方向的速度變化不大。因此,搜尋圖的平移量可以根據|Δx|、|Δy|來確定。在當前幀中以前一幀的目標位置為新搜尋圖的中心,在各方向分別平移|Δx|、|Δy|個畫素,得到當前的搜尋圖。
4 軟體實現和處理結果
由於軟體和系統硬體的關係緊密,資料處理量大,對系統的可靠性要求高,因此採用Visual C++程式設計實現。實驗中影象為768×576的256級灰度圖,模板的大小為40×40,搜尋圖的大小為80×80。圖3是實際測試時得到的影象匹配後的搜尋圖。圖中黑白相間的方框是匹配得到的目標,圖中依次為模板、第4、46、74幀匹配的結果。黑白相間的方框十字中心是目標中心。
對匹配的結果同影象中目標的實際位置進行比較得出:在連續的140幀影象中,85%的結果和實際目標位置誤差在10個畫素以內,只有兩次的誤差大於20個畫素。這是由於影象質量誤差,幾乎無法檢測到目標所致。沒有發生模板完全偏離目標的情況。
經過實驗證明,系統軟體執行可靠、效率高,跟蹤演算法的準確高,能在複雜背景下實現對目標的準確匹配。但是模板匹配演算法運算量驚人,在應用中選擇的模板通常為40×40畫素,搜尋圖為80×80畫素,連續處理1000幀影象,要進行8.07×10 9次乘除法運算。因此對於模板匹配演算法有進一步改進的必要,可以引入SSDA(序貫相似性檢測演算法)來提高演算法的效率;對於背景比較簡單,信噪比高的影象可以先二值化,再透過異或運算來進行匹配。這樣沒有了複雜的乘除運算,代之以異或和加法運算,可以進一步提高效率。