廖延娜, 胡雪敏, 吳成茂
(1.西安郵電大學(xué) 理學(xué)院, 陜西 西安 710121; 2.西安郵電大學(xué) 電子工程學(xué)院, 陜西 西安 710121)
紅外小目標(biāo)的檢測(cè)與跟蹤是作戰(zhàn)預(yù)警和和精確制導(dǎo)的關(guān)鍵。在盡可能遠(yuǎn)的距離上對(duì)紅外小目標(biāo)實(shí)施精準(zhǔn)檢測(cè)與跟蹤,能夠?yàn)楹罄m(xù)主動(dòng)攻擊贏取更多的反應(yīng)時(shí)間。但紅外小目標(biāo)距離成像器越遠(yuǎn),面積和亮度越小,形狀和紋理特征越微弱,就越容易受到系統(tǒng)和背景噪聲的干擾。在天空、陸地、海天三種戰(zhàn)區(qū)環(huán)境中,海天環(huán)境的背景噪聲最為復(fù)雜,大氣輻射,海面雜波,以及該環(huán)境下特有的海天線現(xiàn)象都會(huì)對(duì)紅外小目標(biāo)的識(shí)別產(chǎn)生影響。
傳統(tǒng)的基于濾波[1-3]和基于圖像分割[4-5]的紅外點(diǎn)目標(biāo)檢測(cè)方法都需要對(duì)圖像進(jìn)行預(yù)處理,目的是剔除背景噪聲,提高目標(biāo)信噪比,但在預(yù)處理的過(guò)程中可能會(huì)將小目標(biāo)連同背景一同剔除或者使得小目標(biāo)的特征信息更加微弱,從而產(chǎn)生漏檢情況,這在軍事戰(zhàn)爭(zhēng)中可能會(huì)產(chǎn)生嚴(yán)重的后果?;谀J阶R(shí)別理論的目標(biāo)檢測(cè)方法由于不需要預(yù)處理就能實(shí)現(xiàn)目標(biāo)檢測(cè),已被成功地應(yīng)用于紅外小目標(biāo)的檢測(cè)與跟蹤領(lǐng)域[6-7]。
非線性子空間方法是模式識(shí)別理論的一個(gè)分支,其中的核主成分分析(kernel principal component analysis, KPCA)算法[8]已被成功地應(yīng)用于紅外小目標(biāo)的檢測(cè)中[9],該算法檢測(cè)紅外小目標(biāo)的過(guò)程是首先用核函數(shù)將原始低維空間的訓(xùn)練樣本升維到高維空間,在高維空間中利用核技巧計(jì)算出高維訓(xùn)練樣本的協(xié)方差矩陣;其次對(duì)求得的協(xié)方差矩陣進(jìn)行奇異值分解,得到所有的特征值和特征向量,選出大于平均值的特征值所對(duì)應(yīng)的特征向量作為紅外小目標(biāo)的主元向量,即紅外小目標(biāo)模型;最后在整幅紅外圖像上尋找與目標(biāo)模式最為匹配的候選區(qū)域,該候選區(qū)域就是目標(biāo)的位置區(qū)域。由于在整幅紅外圖像上尋找與目標(biāo)模式匹配的候選區(qū)域時(shí),需要遍歷圖像中的每個(gè)像素,因此檢測(cè)過(guò)程用時(shí)較長(zhǎng)[10];同時(shí),在進(jìn)行模式匹配的過(guò)程中,每個(gè)候選區(qū)域在提取出的紅外小目標(biāo)主元向量上進(jìn)行投影時(shí),都要計(jì)算其與每個(gè)訓(xùn)練樣本的核函數(shù)值。為了確保檢測(cè)算法的精確性通常需要大量的訓(xùn)練樣本,導(dǎo)致算法復(fù)雜度較高,運(yùn)行時(shí)間較長(zhǎng)[11]。進(jìn)行目標(biāo)檢測(cè)時(shí),基于KPCA的紅外小目標(biāo)檢測(cè)方法識(shí)別速度不高,實(shí)時(shí)性較低。
基于卡爾曼濾波(Kalman filtering, KF)[12-13]的目標(biāo)跟蹤方法是一種利用目標(biāo)的運(yùn)動(dòng)特征預(yù)測(cè)目標(biāo)在每一幀中位置的方法。該方法將目標(biāo)狀態(tài)方程和觀測(cè)方程進(jìn)行修正,得到一組與目標(biāo)狀態(tài)相關(guān)的方程,對(duì)這組方程不斷進(jìn)行迭代,即可得到目標(biāo)在每幀中的狀態(tài)信息。這些狀態(tài)信息包括目標(biāo)的位置、速度等信息。該方法不需要遍歷每幀圖像的每個(gè)像素,僅通過(guò)一組公式的迭代計(jì)算就可得到每幀圖像中目標(biāo)的估計(jì)位置,算法復(fù)雜度低,跟蹤時(shí)長(zhǎng)較短。同時(shí),卡爾曼迭代公式在給出每幀中目標(biāo)的估計(jì)位置時(shí),還根據(jù)這組迭代公式中預(yù)測(cè)誤差的協(xié)方差矩陣,計(jì)算出估計(jì)位置的誤差值。每幀圖像對(duì)應(yīng)目標(biāo)的位置必定處于目標(biāo)的估計(jì)位置和該估計(jì)位置的誤差值所界定的范圍內(nèi)。稀疏核主成分分析(sparse kernel principal component analysis, SKPCA)[14-15]算法與核主成分分析算法的不同之處在于,SKPCA算法先給所有正常訓(xùn)練樣本進(jìn)行加權(quán),通過(guò)極大似然原理保留少數(shù)權(quán)值較大的樣本(這些訓(xùn)練樣本對(duì)目標(biāo)模型的貢獻(xiàn)更大),稀化了樣本數(shù)據(jù),再根據(jù)稀化后的樣本建立紅外小目標(biāo)的KPCA模型,與直接使用所有訓(xùn)練樣本建立的KPCA模型相比,計(jì)算量較小。
為了在確保檢測(cè)精確性的前提下提高識(shí)別速度,本文擬提出一種基于稀疏核主成分分析結(jié)合卡爾曼濾波的紅外小目標(biāo)檢測(cè)與跟蹤方法。首先在當(dāng)前幀幅中應(yīng)用卡爾曼濾波器,預(yù)測(cè)出下一幀中目標(biāo)可能出現(xiàn)的估計(jì)位置,并結(jié)合預(yù)測(cè)誤差協(xié)方差矩陣給出每一幀中目標(biāo)可能出現(xiàn)的范圍,然后,在目標(biāo)可能出現(xiàn)的范圍內(nèi),使用SKPCA檢測(cè)算法,將檢測(cè)算法的檢測(cè)結(jié)果作為最終目標(biāo)位置進(jìn)行輸出。
設(shè)低維空間的一組向量X=[x1,x2,…,xm],非線性映射函數(shù)φ:xi→φ(xi),該函數(shù)可將向量組X映射到核空間V中[14],即
Φ=[φ(x1),φ(x2),…,φ(xm)]。
假設(shè)Φ服從高斯分布模型,定義協(xié)方差矩陣
(1)
其中,σ2是高維空間中各向同性的噪聲成分的誤差方差值,I是單位矩陣,ω1,ω2,…,ωm是可調(diào)權(quán)值,W是由ωi構(gòu)成的權(quán)值矩陣。在理想情況下,似然最大化該模型,可得到σ2=0,所有權(quán)值ωi=1/m。假設(shè)此時(shí)的協(xié)方差矩陣
如果σ2為某確定常數(shù),則僅僅需要優(yōu)化權(quán)值ωi。在這種情況下,許多ωi的最大似然估計(jì)均為0,則可得到Cv的稀化表示。若φ(xi)是任意向量,則可以得到一個(gè)概率主成分。若Sv的特征值為λi,則對(duì)應(yīng)的特征向量為ui。在該模型下,利用φ(xi)=ui和ωi=(λi-σ2)1/2最大化似然,當(dāng)λi≥σi時(shí),ωi=0,對(duì)于任意的i,λi≥σi。
對(duì)式(1)的行列式取對(duì)數(shù),可得
(2)
lg |σ2I+ΦTWΦ|=Dlgσ2+lg |W-1+σ-2ΦΦT|+lg |W|。
(3)
其中,D是向量φ(xi)的維數(shù),只在式(3)第一項(xiàng)出現(xiàn),且σ2是一個(gè)常數(shù),故式(3)第一項(xiàng)不影響對(duì)數(shù)似然最大化過(guò)程。考慮到式(3)中的ΦΦT可以由一個(gè)核函數(shù)矩陣K替換,其中Kij=k(xi,xj),則
W-1+σ-2ΦΦT=W-1+σ-2K。
因此
其中,kn=[k(xn,x1),k(xn,x2),…,k(xn,xn)]T。
為了優(yōu)化權(quán)值,對(duì)式(2)中的每個(gè)ωi求偏導(dǎo),得到
(4)
其中,uni為列向量un中第i個(gè)元素,Hii是矩陣H對(duì)角線上第i元素。
矩陣H和列向量un分別定義為
H=(W-1+σ-2K)-1,un=σ-2Hkn。
(5)
參考關(guān)聯(lián)向量機(jī)[16]的方法,可以得到一個(gè)比式(5)收斂更快的權(quán)值迭代表示式
(6)
(7)
(8)
(9)
(10)
卡爾曼濾波(Kalman filtering)一種利用線性系統(tǒng)狀態(tài)方程,通過(guò)系統(tǒng)輸入輸出觀測(cè)數(shù)據(jù),對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)的算法,狀態(tài)方程和觀測(cè)方程[12]分別為
Mk=Ak-1Mk-1+Uk-1,Yk=CkMk+Vk。
其中,Ak-1是系統(tǒng)k-1時(shí)刻的狀態(tài)轉(zhuǎn)移矩陣,Ck是系統(tǒng)k時(shí)刻的觀測(cè)矩陣,系統(tǒng)噪聲{Uk}和觀測(cè)噪聲{Vk}是互不相關(guān)的白噪聲序列,且Uk∈(0,Rk),Vk∈(0,Qk)。對(duì)狀態(tài)方程和觀測(cè)方程進(jìn)行修正,可以得到一組卡爾曼遞推公式
(11)
假設(shè)有m幅紅外小目標(biāo)訓(xùn)練樣本圖像,即局部目標(biāo)圖像,將其轉(zhuǎn)化為d×d維的8位圖像灰度矩陣{P1,P2,…,Pm},再將每個(gè)灰度矩陣按行首尾相接,分別轉(zhuǎn)換成d2維列向量,并構(gòu)成X=[x1,x2,…,xm]。通過(guò)φ函數(shù)將X映射到核空間V中
Φ=[φ(x1),φ(x2),…,φ(xm)]。
Φ的維數(shù)為d2×m。φ(xi)在高維空間的向量?jī)?nèi)積
〈φ(xi)·φ(xi)〉=φ(xi)[φ(xi)]T=k(xi,xi)。
(12)
其中,σ2為一個(gè)常數(shù),核函數(shù)k選為高斯核函數(shù),即
定義核函數(shù)矩陣K,其元素Kij=k(xi,xj)(i,j=1,2,…,m)。在高維空間中所有映射數(shù)據(jù)含權(quán)值ωi的協(xié)方差矩陣為
(13)
則φ(xi)的概率密度為
(14)
對(duì)式(14)取對(duì)數(shù)并對(duì)所有φ(xi)求和,可得
(15)
根據(jù)極大似然定理,對(duì)式(15)中每一個(gè)權(quán)值求導(dǎo),并令各權(quán)值導(dǎo)數(shù)均為0,可得權(quán)值迭代式為
(16)
反復(fù)迭代式(16),得到第i個(gè)權(quán)值ωi,利用同樣的方法可以得到所有的m個(gè)權(quán)值。只保留權(quán)值不為零的映射數(shù)據(jù)作為建模數(shù)據(jù),即完成了樣本的稀化訓(xùn)練。假設(shè)稀化后的樣本數(shù)為t,設(shè)為
Ψ=[φ(x1),φ(x2),…,φ(xt)]。
(17)
(18)
(19)
在進(jìn)行紅外小目標(biāo)跟蹤時(shí),令狀態(tài)向量
目標(biāo)的狀態(tài)轉(zhuǎn)移矩陣
其中的T為兩幀之間的間隔時(shí)間。
觀測(cè)矩陣
綜合考慮目標(biāo)的機(jī)動(dòng)性,以及攝像系統(tǒng)的抖動(dòng)因素,卡爾曼濾波的系統(tǒng)噪聲和觀測(cè)噪聲協(xié)方差矩陣分別給定為Rk=Qk=25Ik。為了簡(jiǎn)化,初始誤差協(xié)方差矩陣取P2=I4×4。首先,使用SKPCA檢測(cè)算法得到目標(biāo)在前兩幀中的位置(x1,y1)和(x2,y2)然后,使用前兩幀位置坐標(biāo)對(duì)卡爾曼濾波方法進(jìn)行初始化,構(gòu)建目標(biāo)的初始狀態(tài)向量
將M2和P2代入式(11)進(jìn)行反復(fù)迭代,可得到第k幀中紅外小目標(biāo)的估計(jì)位置(xk,yk)和Pk。
SKPCA-KF的跟蹤過(guò)程如下。
步驟1在第一幀和第二幀圖像中使用SKPCA進(jìn)行檢測(cè),將檢測(cè)結(jié)果作為最終結(jié)果輸出,并記錄下檢測(cè)到的目標(biāo)位置(x1,y1)和(x2,y2)。
步驟2利用步驟1記錄的位置數(shù)據(jù)作為卡爾曼濾波的初始條件,開始卡爾曼預(yù)測(cè)。
步驟4在步驟3給出的范圍中使用SKPCA算法進(jìn)行檢測(cè),并將檢測(cè)結(jié)果作為最終結(jié)果輸出。
步驟5令k=k+1,將步驟4中的結(jié)果作為第k幀的觀測(cè)數(shù)據(jù),并返回步驟3。
實(shí)驗(yàn)選取大小為275×245的60幀海天背景紅外圖像序列,作為待測(cè)試圖像序列。使用GIM[17]仿真數(shù)學(xué)模型隨機(jī)生成121個(gè)大小均為11×11的紅外小目標(biāo)訓(xùn)練圖像。
使用SKPCA-KF,每間隔20幀輸出一次計(jì)算結(jié)果,如圖2所示。
圖2 SKPCA-KF輸出結(jié)果
在圖2中,虛線框表示KALM跟蹤算法預(yù)測(cè)出的目標(biāo)可能出現(xiàn)的范圍,實(shí)線框是SKPCA檢測(cè)算法輸出的最終檢測(cè)結(jié)果。圖2中(e)、(f)、(g)、(h)為對(duì)應(yīng)檢測(cè)結(jié)果曲面圖,曲面圖中峰值所在位置即為紅外小目標(biāo)所在位置。
由圖2可見,SKPCA-KF在目標(biāo)所處位置有較大的輸出,在背景處幾乎沒(méi)有響應(yīng),表明了該方法檢測(cè)紅外小目標(biāo)的有效性。從第20、40、60幀的跟蹤結(jié)果可以看出,卡爾曼濾波算法所給出的跟蹤結(jié)果,即虛線框的中心位置,并不在小目標(biāo)的中心位置處,甚至偏離程度很大,說(shuō)明僅僅依靠小目標(biāo)的運(yùn)動(dòng)特征預(yù)測(cè)其位置的方法并不是十分準(zhǔn)確。在該虛線框的范圍內(nèi)再次使用SKPCA檢測(cè)算法就能夠比較精確的給出目標(biāo)位置。
為了更直觀的比較KPCA和SKPCA-KF兩種方法檢測(cè)紅外小目標(biāo)的性能,分別使用信噪比(signal-to-noise ratio,SNR)、信噪比增益(signal-to-noise ratio gain,SNRG)、背景抑制因子(background suppression factor,BSF)[18]三個(gè)經(jīng)常被用來(lái)衡量紅外小目標(biāo)檢測(cè)性能的評(píng)價(jià)指標(biāo)。KPCA和SKPCA-KF算法對(duì)應(yīng)的平均檢測(cè)結(jié)果,如表1所示。
表1 KPCA和SKPCA-KF算法的平均檢測(cè)結(jié)果
表1給出的是KPCA和SKPCA-KF兩種檢測(cè)算法在60幀圖像上的平均檢測(cè)指標(biāo)。從中可以看出,兩種檢測(cè)算法的三個(gè)指標(biāo)值都非常接近,主要原因是SKPCA算法對(duì)每個(gè)訓(xùn)練樣本進(jìn)行加權(quán)處理,通過(guò)極大似然原理保留下少數(shù)權(quán)值較大的訓(xùn)練樣本,這些樣本基本能夠代表全部樣本的特征信息。
為了驗(yàn)證SKPCA-KF方法在識(shí)別速度上的優(yōu)勢(shì),分別使用KPCA和SKPCA-KF兩種方法進(jìn)行測(cè)試,同時(shí)記錄在每幀圖像上兩種方法的識(shí)別時(shí)間,并進(jìn)行對(duì)比,KPCA和SKPCA-KF的平均檢測(cè)時(shí)間,其結(jié)果如表2所示。
表2 KPCA和SKPCA-KALM的平均檢測(cè)時(shí)間
從表2中可以看出,SKPCA-KF算法平均每幀的檢測(cè)時(shí)間比KPCA算法小一個(gè)數(shù)量級(jí)以上。SKPCA-KF算法速度較快有兩個(gè)主要原因:其一是卡爾曼濾波使用圖像中小目標(biāo)的運(yùn)動(dòng)信息將待檢測(cè)圖像區(qū)域從整副圖像縮小到一個(gè)小的矩形框,SKPCA只需在該矩形框范圍進(jìn)行檢測(cè),避免了直接檢測(cè)整副圖像,所以減少了檢測(cè)時(shí)間。其二是KPCA算法使用了全部121個(gè)訓(xùn)練樣本作為建模數(shù)據(jù),而采用SKPCA方法將一部分對(duì)目標(biāo)特征貢獻(xiàn)不大的樣本,通過(guò)稀疏方式去掉,僅剩余71個(gè)訓(xùn)練樣本作為建模數(shù)據(jù),大大簡(jiǎn)化了核矩陣的計(jì)算量,因此也縮短了檢測(cè)時(shí)間。
為了提高海天背景下KPCA算法檢測(cè)紅外小目標(biāo)識(shí)別速率,提出一種新的SKPCA-KF紅外小目標(biāo)檢測(cè)與跟蹤的方法。該算法使用卡爾曼濾波算法將每一幀中目標(biāo)可能出現(xiàn)的范圍從整幅圖像縮小到一個(gè)較小的矩形范圍內(nèi),并在該范圍內(nèi)使用SKPCA檢測(cè)算法進(jìn)行檢測(cè),得到目標(biāo)位置。由于避免了對(duì)整幀圖像直接使用檢測(cè)算法,從而降低了檢測(cè)時(shí)間;另外,由于SKPCA檢測(cè)算法的原理是將所有訓(xùn)練樣本中對(duì)目標(biāo)模型的構(gòu)建貢獻(xiàn)相對(duì)較大的樣本保留下來(lái),因此,相比于KPCA算法來(lái)說(shuō)不僅沒(méi)有降低檢測(cè)精確性,而且訓(xùn)練樣本的減少也降低了運(yùn)算復(fù)雜性,縮短了檢測(cè)時(shí)間。在海天背景的紅外圖像序列上的測(cè)試結(jié)果表明,卡爾曼濾波結(jié)合稀疏核主成分分析算法的平均檢測(cè)時(shí)間是核主成分分析算法的0.03倍,在保證檢測(cè)精度的前提下,提高了識(shí)別速度。