廖延娜, 胡雪敏, 吳成茂
(1.西安郵電大學 理學院, 陜西 西安 710121; 2.西安郵電大學 電子工程學院, 陜西 西安 710121)
紅外小目標的檢測與跟蹤是作戰預警和和精確制導的關鍵。在盡可能遠的距離上對紅外小目標實施精準檢測與跟蹤,能夠為后續主動攻擊贏取更多的反應時間。但紅外小目標距離成像器越遠,面積和亮度越小,形狀和紋理特征越微弱,就越容易受到系統和背景噪聲的干擾。在天空、陸地、海天三種戰區環境中,海天環境的背景噪聲最為復雜,大氣輻射,海面雜波,以及該環境下特有的海天線現象都會對紅外小目標的識別產生影響。
傳統的基于濾波[1-3]和基于圖像分割[4-5]的紅外點目標檢測方法都需要對圖像進行預處理,目的是剔除背景噪聲,提高目標信噪比,但在預處理的過程中可能會將小目標連同背景一同剔除或者使得小目標的特征信息更加微弱,從而產生漏檢情況,這在軍事戰爭中可能會產生嚴重的后果。基于模式識別理論的目標檢測方法由于不需要預處理就能實現目標檢測,已被成功地應用于紅外小目標的檢測與跟蹤領域[6-7]。
非線性子空間方法是模式識別理論的一個分支,其中的核主成分分析(kernel principal component analysis, KPCA)算法[8]已被成功地應用于紅外小目標的檢測中[9],該算法檢測紅外小目標的過程是首先用核函數將原始低維空間的訓練樣本升維到高維空間,在高維空間中利用核技巧計算出高維訓練樣本的協方差矩陣;其次對求得的協方差矩陣進行奇異值分解,得到所有的特征值和特征向量,選出大于平均值的特征值所對應的特征向量作為紅外小目標的主元向量,即紅外小目標模型;最后在整幅紅外圖像上尋找與目標模式最為匹配的候選區域,該候選區域就是目標的位置區域。由于在整幅紅外圖像上尋找與目標模式匹配的候選區域時,需要遍歷圖像中的每個像素,因此檢測過程用時較長[10];同時,在進行模式匹配的過程中,每個候選區域在提取出的紅外小目標主元向量上進行投影時,都要計算其與每個訓練樣本的核函數值。為了確保檢測算法的精確性通常需要大量的訓練樣本,導致算法復雜度較高,運行時間較長[11]。進行目標檢測時,基于KPCA的紅外小目標檢測方法識別速度不高,實時性較低。
基于卡爾曼濾波(Kalman filtering, KF)[12-13]的目標跟蹤方法是一種利用目標的運動特征預測目標在每一幀中位置的方法。該方法將目標狀態方程和觀測方程進行修正,得到一組與目標狀態相關的方程,對這組方程不斷進行迭代,即可得到目標在每幀中的狀態信息。這些狀態信息包括目標的位置、速度等信息。該方法不需要遍歷每幀圖像的每個像素,僅通過一組公式的迭代計算就可得到每幀圖像中目標的估計位置,算法復雜度低,跟蹤時長較短。同時,卡爾曼迭代公式在給出每幀中目標的估計位置時,還根據這組迭代公式中預測誤差的協方差矩陣,計算出估計位置的誤差值。每幀圖像對應目標的位置必定處于目標的估計位置和該估計位置的誤差值所界定的范圍內。稀疏核主成分分析(sparse kernel principal component analysis, SKPCA)[14-15]算法與核主成分分析算法的不同之處在于,SKPCA算法先給所有正常訓練樣本進行加權,通過極大似然原理保留少數權值較大的樣本(這些訓練樣本對目標模型的貢獻更大),稀化了樣本數據,再根據稀化后的樣本建立紅外小目標的KPCA模型,與直接使用所有訓練樣本建立的KPCA模型相比,計算量較小。
為了在確保檢測精確性的前提下提高識別速度,本文擬提出一種基于稀疏核主成分分析結合卡爾曼濾波的紅外小目標檢測與跟蹤方法。首先在當前幀幅中應用卡爾曼濾波器,預測出下一幀中目標可能出現的估計位置,并結合預測誤差協方差矩陣給出每一幀中目標可能出現的范圍,然后,在目標可能出現的范圍內,使用SKPCA檢測算法,將檢測算法的檢測結果作為最終目標位置進行輸出。
設低維空間的一組向量X=[x1,x2,…,xm],非線性映射函數φ:xi→φ(xi),該函數可將向量組X映射到核空間V中[14],即
Φ=[φ(x1),φ(x2),…,φ(xm)]。
假設Φ服從高斯分布模型,定義協方差矩陣

(1)
其中,σ2是高維空間中各向同性的噪聲成分的誤差方差值,I是單位矩陣,ω1,ω2,…,ωm是可調權值,W是由ωi構成的權值矩陣。在理想情況下,似然最大化該模型,可得到σ2=0,所有權值ωi=1/m。假設此時的協方差矩陣
如果σ2為某確定常數,則僅僅需要優化權值ωi。在這種情況下,許多ωi的最大似然估計均為0,則可得到Cv的稀化表示。若φ(xi)是任意向量,則可以得到一個概率主成分。若Sv的特征值為λi,則對應的特征向量為ui。在該模型下,利用φ(xi)=ui和ωi=(λi-σ2)1/2最大化似然,當λi≥σi時,ωi=0,對于任意的i,λi≥σi。
對式(1)的行列式取對數,可得

(2)

lg |σ2I+ΦTWΦ|=Dlgσ2+lg |W-1+σ-2ΦΦT|+lg |W|。
(3)
其中,D是向量φ(xi)的維數,只在式(3)第一項出現,且σ2是一個常數,故式(3)第一項不影響對數似然最大化過程。考慮到式(3)中的ΦΦT可以由一個核函數矩陣K替換,其中Kij=k(xi,xj),則
W-1+σ-2ΦΦT=W-1+σ-2K。
因此

其中,kn=[k(xn,x1),k(xn,x2),…,k(xn,xn)]T。
為了優化權值,對式(2)中的每個ωi求偏導,得到
(4)
其中,uni為列向量un中第i個元素,Hii是矩陣H對角線上第i元素。
矩陣H和列向量un分別定義為
H=(W-1+σ-2K)-1,un=σ-2Hkn。
(5)
參考關聯向量機[16]的方法,可以得到一個比式(5)收斂更快的權值迭代表示式
(6)

(7)

(8)
(9)

(10)

卡爾曼濾波(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法,狀態方程和觀測方程[12]分別為
Mk=Ak-1Mk-1+Uk-1,Yk=CkMk+Vk。
其中,Ak-1是系統k-1時刻的狀態轉移矩陣,Ck是系統k時刻的觀測矩陣,系統噪聲{Uk}和觀測噪聲{Vk}是互不相關的白噪聲序列,且Uk∈(0,Rk),Vk∈(0,Qk)。對狀態方程和觀測方程進行修正,可以得到一組卡爾曼遞推公式
(11)

假設有m幅紅外小目標訓練樣本圖像,即局部目標圖像,將其轉化為d×d維的8位圖像灰度矩陣{P1,P2,…,Pm},再將每個灰度矩陣按行首尾相接,分別轉換成d2維列向量,并構成X=[x1,x2,…,xm]。通過φ函數將X映射到核空間V中
Φ=[φ(x1),φ(x2),…,φ(xm)]。
Φ的維數為d2×m。φ(xi)在高維空間的向量內積
〈φ(xi)·φ(xi)〉=φ(xi)[φ(xi)]T=k(xi,xi)。
(12)
其中,σ2為一個常數,核函數k選為高斯核函數,即
定義核函數矩陣K,其元素Kij=k(xi,xj)(i,j=1,2,…,m)。在高維空間中所有映射數據含權值ωi的協方差矩陣為

(13)
則φ(xi)的概率密度為
(14)
對式(14)取對數并對所有φ(xi)求和,可得
(15)

根據極大似然定理,對式(15)中每一個權值求導,并令各權值導數均為0,可得權值迭代式為
(16)
反復迭代式(16),得到第i個權值ωi,利用同樣的方法可以得到所有的m個權值。只保留權值不為零的映射數據作為建模數據,即完成了樣本的稀化訓練。假設稀化后的樣本數為t,設為
Ψ=[φ(x1),φ(x2),…,φ(xt)]。

(17)
(18)


(19)

在進行紅外小目標跟蹤時,令狀態向量

目標的狀態轉移矩陣
其中的T為兩幀之間的間隔時間。
觀測矩陣
綜合考慮目標的機動性,以及攝像系統的抖動因素,卡爾曼濾波的系統噪聲和觀測噪聲協方差矩陣分別給定為Rk=Qk=25Ik。為了簡化,初始誤差協方差矩陣取P2=I4×4。首先,使用SKPCA檢測算法得到目標在前兩幀中的位置(x1,y1)和(x2,y2)然后,使用前兩幀位置坐標對卡爾曼濾波方法進行初始化,構建目標的初始狀態向量
將M2和P2代入式(11)進行反復迭代,可得到第k幀中紅外小目標的估計位置(xk,yk)和Pk。
SKPCA-KF的跟蹤過程如下。
步驟1在第一幀和第二幀圖像中使用SKPCA進行檢測,將檢測結果作為最終結果輸出,并記錄下檢測到的目標位置(x1,y1)和(x2,y2)。
步驟2利用步驟1記錄的位置數據作為卡爾曼濾波的初始條件,開始卡爾曼預測。

步驟4在步驟3給出的范圍中使用SKPCA算法進行檢測,并將檢測結果作為最終結果輸出。
步驟5令k=k+1,將步驟4中的結果作為第k幀的觀測數據,并返回步驟3。
實驗選取大小為275×245的60幀海天背景紅外圖像序列,作為待測試圖像序列。使用GIM[17]仿真數學模型隨機生成121個大小均為11×11的紅外小目標訓練圖像。
使用SKPCA-KF,每間隔20幀輸出一次計算結果,如圖2所示。

圖2 SKPCA-KF輸出結果
在圖2中,虛線框表示KALM跟蹤算法預測出的目標可能出現的范圍,實線框是SKPCA檢測算法輸出的最終檢測結果。圖2中(e)、(f)、(g)、(h)為對應檢測結果曲面圖,曲面圖中峰值所在位置即為紅外小目標所在位置。
由圖2可見,SKPCA-KF在目標所處位置有較大的輸出,在背景處幾乎沒有響應,表明了該方法檢測紅外小目標的有效性。從第20、40、60幀的跟蹤結果可以看出,卡爾曼濾波算法所給出的跟蹤結果,即虛線框的中心位置,并不在小目標的中心位置處,甚至偏離程度很大,說明僅僅依靠小目標的運動特征預測其位置的方法并不是十分準確。在該虛線框的范圍內再次使用SKPCA檢測算法就能夠比較精確的給出目標位置。
為了更直觀的比較KPCA和SKPCA-KF兩種方法檢測紅外小目標的性能,分別使用信噪比(signal-to-noise ratio,SNR)、信噪比增益(signal-to-noise ratio gain,SNRG)、背景抑制因子(background suppression factor,BSF)[18]三個經常被用來衡量紅外小目標檢測性能的評價指標。KPCA和SKPCA-KF算法對應的平均檢測結果,如表1所示。

表1 KPCA和SKPCA-KF算法的平均檢測結果
表1給出的是KPCA和SKPCA-KF兩種檢測算法在60幀圖像上的平均檢測指標。從中可以看出,兩種檢測算法的三個指標值都非常接近,主要原因是SKPCA算法對每個訓練樣本進行加權處理,通過極大似然原理保留下少數權值較大的訓練樣本,這些樣本基本能夠代表全部樣本的特征信息。
為了驗證SKPCA-KF方法在識別速度上的優勢,分別使用KPCA和SKPCA-KF兩種方法進行測試,同時記錄在每幀圖像上兩種方法的識別時間,并進行對比,KPCA和SKPCA-KF的平均檢測時間,其結果如表2所示。

表2 KPCA和SKPCA-KALM的平均檢測時間
從表2中可以看出,SKPCA-KF算法平均每幀的檢測時間比KPCA算法小一個數量級以上。SKPCA-KF算法速度較快有兩個主要原因:其一是卡爾曼濾波使用圖像中小目標的運動信息將待檢測圖像區域從整副圖像縮小到一個小的矩形框,SKPCA只需在該矩形框范圍進行檢測,避免了直接檢測整副圖像,所以減少了檢測時間。其二是KPCA算法使用了全部121個訓練樣本作為建模數據,而采用SKPCA方法將一部分對目標特征貢獻不大的樣本,通過稀疏方式去掉,僅剩余71個訓練樣本作為建模數據,大大簡化了核矩陣的計算量,因此也縮短了檢測時間。
為了提高海天背景下KPCA算法檢測紅外小目標識別速率,提出一種新的SKPCA-KF紅外小目標檢測與跟蹤的方法。該算法使用卡爾曼濾波算法將每一幀中目標可能出現的范圍從整幅圖像縮小到一個較小的矩形范圍內,并在該范圍內使用SKPCA檢測算法進行檢測,得到目標位置。由于避免了對整幀圖像直接使用檢測算法,從而降低了檢測時間;另外,由于SKPCA檢測算法的原理是將所有訓練樣本中對目標模型的構建貢獻相對較大的樣本保留下來,因此,相比于KPCA算法來說不僅沒有降低檢測精確性,而且訓練樣本的減少也降低了運算復雜性,縮短了檢測時間。在海天背景的紅外圖像序列上的測試結果表明,卡爾曼濾波結合稀疏核主成分分析算法的平均檢測時間是核主成分分析算法的0.03倍,在保證檢測精度的前提下,提高了識別速度。