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