于雯越,安博文,趙明
(上海海事大學信息工程學院,上海201306)
紅外成像[1]是通過目標的紅外熱輻射進行成像的,紅外成像系統(tǒng)可晝夜工作,能對距離較遠的目標進行檢測,應用范圍比較廣,紅外圖像目標檢測等經(jīng)常應用在軍事和民用方面。本文中區(qū)域生態(tài)及海表時空監(jiān)測系統(tǒng)主要針對安全監(jiān)測和海表觀測需求開展載荷研制與應用處理技術研究。安全監(jiān)視系統(tǒng)的研究主要針對背景干擾嚴重、圖像信噪比低、晝夜連續(xù)監(jiān)測預警的特點,發(fā)揮紅外信息獲取優(yōu)勢,從而實現(xiàn)基于熱紅外載荷圖像序列進行海面敏感目標檢測。在復雜的背景中,圖像噪聲、海面雜波、圖像運動、攝像機晃動等都會影響目標檢測的效果。目前,背景減除法[2]、幀間差分法[3]和光流法[4]等應用在紅外圖像檢測上是比較經(jīng)典的方法。背景減除法的優(yōu)點是在運動情況復雜的環(huán)境中能較為完整地檢測出運動的物體,關鍵是如何建立較好的背景模型;目前最為廣泛的是混合高斯背景建模算法,但是缺點是當背景突變時會導致檢測失敗,使得檢測結果出現(xiàn)錯誤;幀間差分法在檢測紅外運動目標時,能夠較為快速地得到目標的運動區(qū)域,這能使目標快速呈現(xiàn)在圖像中,并進行大致判斷,但是當目標的運動速度比較緩慢時,幀差法檢測出的結果較差,“空洞”現(xiàn)象會存在于前景結果中;光流法目標檢測能夠針對獨立運動的物體,當攝像機運動時,也可對目標進行檢測,背景差分法和幀間差分法在此種情況下,效果就較差,但是對于背景光線的狀態(tài)比較敏感,實時性較差,比較耗時;針對此種情況,提出改進的算法,采用RPCA算法提取前景,再利用光流法進行目標檢測,避免了耗時,改善了幀間差分法的“空洞”檢測效果,同時也降低了光照等因素影響。當背景產(chǎn)生突變時,例如,突然的光照,或者抖動,檢測效果影響不大。
本文提出基于RPCA[5]的運動目標檢測算法,首先獲得稀疏前景矩陣,主要是通過主成分追蹤方法。對于RPCA算法的求解的方法主要有IT法、APG法、EALM法、IALM法等,生成稀疏矩陣S,正則化參數(shù)的λ值固定為0.05。表1為各個算法的比較:
表1 RPCA算法比較
精確增廣拉格朗日乘子(Exact Augmented Lagrange Multiplier Method,EALM)算法需要求解優(yōu)化問題的精確解,非精確增廣拉格朗日乘子(Inexact Augmented La?grange Multiplier Method,IALM)算法[9]不需要對其求解,并且是EALM算法的改進版,其計算速度也更快,所以使用非精確拉格朗日乘法求解RPCA來進行計算。
用ALM方法求解可定義為:
其拉格朗日函數(shù)為:
為了得到RPCA最優(yōu)解,非精確增廣拉格朗日乘子算法對優(yōu)化目標Lk和Sk進行計算,如下是IALM算法:
輸入:矩陣M∈Rm×n,正則化參數(shù)λ
2:當未達到收斂條件時通過 3、4及等式(2)Lk+1=argminLf(L,Sk,Yk,μk)
輸出:(L,S)的估計值(Lk,Sk)。求得背景矩陣及稀疏矩陣。
針對RPCA與光流法結合[6]的紅外運動目標檢測分為三個部分。第一部分:讀取紅外運動圖像序列。第二部分:通過RPCA算法提取稀疏矩陣,得到運動區(qū)域。第三部分,對運動區(qū)域進行目標檢測,此處使用金字塔LK光流法,提取出運動目標。主要實驗流程如圖1所示。
圖1 實驗流程圖
(1)Harris角點檢測[7-8]
角點常見的兩種定義方式:一、角點的鄰域內(nèi)具有兩個主方向的特征點。二、兩個邊緣的交點為角點。角點是圖像亮度發(fā)生劇烈變化,例如:突然產(chǎn)生的光照等或者圖像邊緣曲線上曲率極大值的點。
Harris角點算法是通過自相關矩陣和微分運算檢測的。定義一個二階導數(shù) (?2x,?2y,?x?y)矩陣,是一個二維Hessian矩陣:
自相關矩陣[9],定義如公式(4):
其中,wi,j代表可歸一化的權重比例。圖像的M(x,y)的兩個最大特征值[10]處是Harris角點。矩陣H(p)的跡和H(p)的行列式相減得到的值,再與給出的閾值比較,得到角點。Harris角點計算比較簡單,目標檢測之前進行角點的檢測,主要是檢測大量的有用的特征點[11],但是閾值T的選擇也會影響到所要提取的特征點的數(shù)量,而且尺度不變性較差。Tomasi角點檢測是改進后的Harris特征檢測算法,是由Shi和Toma?si發(fā)現(xiàn)的,比較兩個特征值,把較小的特征值與最小的閾值進行比較,就能得到強角點。本文中用到了函數(shù)cvGoodFeaturesToTrack(),該函數(shù)在圖像或選定的區(qū)域中檢測最顯著的角點[12-13],具體步驟如下:
(1)該函數(shù)在輸入圖像的每個像素點上使用cor?nerHarris()函數(shù)和 cornerMinEigenVal()函數(shù)計算角點質(zhì)量數(shù)值。
(2)該函數(shù)使用非極大值抑制算法,3×3鄰域內(nèi)的局部極大值被保留。
(3)角點的最小特征值如果小于設定的最小閾值則被忽略
(4)步驟(3)篩選后剩下的角點按照質(zhì)量數(shù)值從高到低排序。
(5)在每個檢測到的角點周圍最小距離的范圍內(nèi),如果有更顯著的角點被檢測到,則這個角點被忽略。這樣也是為了保證最顯著的角點被保留下來。
運動目標具有隨時間變化的光流特性,光流法[13]利用此特性進行運動目標檢測。光流法是運動的物體在觀察成像平面上的像素運動的瞬時速度,尋找到當前幀和上一幀之間存在的對應關系。
本文中用到了稀疏光流法[14],亦稱LK光流法,LK光流法針對圖像特征點進行光流計算,而稠密光流對圖像每個像素點都進行光流計算,得到光流矢量的計算結果,但是圖像特征點[12]提取的準確度對其會有影響。故為了得到強角點,本文中運用了Shi-Tomasi角點檢測,效果高于Harris角點檢測,能夠檢測出效果更好的特征點。
Lucas-Kanade算法原理。
(1)亮度恒定。視頻圖像序列中不論時間如何變化目標的像素保持基本一致:
(2)時間連續(xù),指相鄰幀之間的運動較小。
一維空間中光流速度等式為:
其中Ix是圖像的偏導數(shù),It是圖像隨時間的導數(shù),v是速度。
二維空間算法等式為:
結合(3)中內(nèi)容以及上述過程解出的光流方向進行下一步運算。
(3)空間一致。定義矩陣A,最終得到方程的解如下:
對于一些目標會產(chǎn)生不連貫的運動且比較大的時候,LK光流在實際中的跟蹤效果不是很好,則要求一個大的窗口來捕獲運動,圖像金字塔光流法可以解決這個問題。
(1)在較大的空間上進行跟蹤。
(2)在圖像金字塔的最高層計算光流
(3)設定下一層的金字塔的起始點,即步驟2中得到的運動估計。
(4)重復(1)-(3)過程直到到達金字塔的最底層,實現(xiàn)對運動的跟蹤。
LK算法針對特征點鄰近范圍,只需要每個感興趣點周圍小面積的局部信息,若待檢測的目標突然轉向,或者產(chǎn)生物體遮擋的時候,即發(fā)生較大的運動的時候,感興趣點會離開所需小面積的范圍,會無法再找到這些感興趣點,所以當有較大運動的情況下,會產(chǎn)生丟失跟蹤點的現(xiàn)象。金字塔LK算法可以避免此問題,當目標產(chǎn)生較大的運動時,也能夠檢測到所需角點,不會跟蹤丟失。
對于圖像序列,每幀中的特征點的位置都不同,需要對其進行跟蹤,如果兩幀中目標的特征點無明顯變化,定義一個偏移量(u,v):
其中,It是當前幀的值,It+1是下一幀的值。這個微小偏移量(u,v)使用于拍攝時間相近的圖像。使用泰勒展開式來近似方程式(8):
若強度不變假設成立,可以推出下式:
即基礎光流約束方程式,獨特未知偏移量(u ,v)的點都可以利用光流約束進行LK特征跟蹤。在實踐中可通過迭代的方式求解,默認情況下,圖像的層數(shù)是3,搜索窗口的尺寸是15。
Top-Hat算子[15]是基于數(shù)學形態(tài)學的目標分割方法。設f(x,y)是輸入圖像,g(x,y)是結構元素,其運算定義如式(11)和(12)所示。
膨脹就是求局部最大值的操作:
腐蝕是求局部最小值的操作:
開運算和閉運算操作是腐蝕和膨脹的組合,開運算是消除高于其鄰近點的孤立點,是先腐蝕后膨脹,閉運算是消除低于其鄰近點的孤立點,是先膨脹后腐蝕。其定義如式(13)和(14)所示。
形態(tài)學的Top-Hat運算是一個經(jīng)典的高通濾波算法,其用于暗背景上的亮物體,結構元素的選取對目標檢測有很大影響,選好結構元素會影響目標的提取。
形態(tài)學Top-Hat運算的定義是原信號與開運算后的圖像作差,使用結構元素g對圖像f進行形態(tài)學Top-Hat運算的結果可表述為:
Top-Hat算法對圖像 f中具有如下特征的區(qū)域進行分割并保留:
(1)該區(qū)域的灰度高于其鄰域;
(2)該區(qū)域在某一方向的范圍足夠小,在這個方向上被核腐蝕。
本仿真實驗所用的軟件是Visual Studio 2010配置OpenCV 2.4.9[16]。為了檢測本文算法的有效性,對來源于區(qū)域生態(tài)及海表要素時空監(jiān)測系統(tǒng)的熱紅外波段海面視頻進行了仿真實驗。該視頻總共1000幀,每幀的大小為360×256。在RPCA背景提取時,正則化參數(shù)由公式得到,值為λ=0.05。Top-Hat目標分割中閾值T=50,在目標檢測時當閾值小于50時,部分背景像素被誤檢為運動前景,當閾值大于50時,運動前景檢測結果不完整;因此本文將閾值T取為50。
該運動目標檢測算法在視頻集上檢測的效果圖如圖2所示。
圖2 視頻圖片序列原圖
(Ⅰ)第200幀原圖(Ⅱ)第400幀原圖(Ⅲ)第600幀原圖(Ⅳ)第650幀原圖
圖3 視頻圖片序列效果圖
(a)-(d)目標區(qū)域的角點檢測效果圖;(e)-(h)框定目標;(i)-(l)目標分割;(m)-(p)目標跟蹤
從前景檢測效果圖的對比中可以看到,結合RPCA的金字塔光流法檢測效果可以檢測到所需運動目標,通過RPCA獲取到稀疏矩陣,得到前景區(qū)域,再利用光流法檢測,避免了光流法檢測耗時的問題,通過形態(tài)需Top-Hat目標分割,使得分割得到的目標更完整,最終完成對目標的跟蹤。
本文提出了一種基于RPCA進行前景提取,并通過金字塔光流法進行的運動目標檢測算法。該算法消除了背景像素點對前景檢測效果的影響,解決復雜背景及光照等影響檢測的問題,也避免了傳統(tǒng)的光流法的耗時問題。實驗表明,針對本文中的紅外圖像,所提算法要優(yōu)于光流法的運動目標檢測,可以在較為復雜的背景環(huán)境中較為準確的提取出運動的目標,并進行跟蹤。