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