本發(fā)明涉及艦船檢測及跟蹤技術領域,尤其涉及一種基于紅外視頻的艦船檢測及跟蹤方法。
背景技術:
艦船作為海上運輸主體和重要的軍事目標,其自動檢測和識別具有非常重要的現(xiàn)實意義。隨著對地觀測技術的飛速發(fā)展,衛(wèi)星遙感圖像可以為艦船目標監(jiān)視提供非常豐富的數(shù)據(jù)源。目前,基于遙感圖像的艦船檢測研究大多是圍繞sar(合成孔徑雷達)圖像開展的,而對基于紅外視頻進行的艦船檢測及跟蹤技術的研究較少。實際上,紅外視頻檢測跟蹤技術在其它領域已比較成熟,但直接將其用在艦船檢測上還存在很多問題。例如,在艦船分割方面,由于在近岸的環(huán)境中存在很多干擾項,如海岸和海域的分割可能是不規(guī)則的,海域中可能會有海島等干擾物,海岸或海島在紅外視頻中亮度較高,容易導致誤判。普通圖像的分割目前依然是個難題,艦船和海面之間的灰度差異以及航跡等給艦船的分割帶來較大的困難。另外,在艦船跟蹤方面,紅外視頻畫幅中出現(xiàn)的可能是半個或一部分目標,視頻可能會有電磁干擾、物理抖動等原因,視野中出現(xiàn)的可能不止一艘船,因此跟蹤艦船時要克服以上干擾。
技術實現(xiàn)要素:
為解決上述問題,本發(fā)明提供了一種檢測和跟蹤效果良好的紅外艦船檢測和跟蹤方法。
本發(fā)明采用的技術方案如下:
一種基于紅外視頻的艦船檢測及跟蹤方法,包括以下步驟:
步驟1、采用梯度算子法和霍夫變換法檢測并提取海天線,利用海天線從視頻畫面中分割出海面區(qū)域;
步驟2、基于改進的vibe算法進行紅外視頻前景提取,從視頻海面區(qū)域提取疑似目標,同時對提取圖像進行修復;
步驟3、基于統(tǒng)計直方圖分析圖像紋理特征,進行目標的捕獲;
步驟4、基于多特征和顯著性檢測的meanshift算法跟蹤運動目標。
步驟1的具體步驟如下:
首先,采用梯度算子法提取海天線;使用sobel算子進行水平梯度檢測,得出水平梯度gx,使用sobel算子進行垂直梯度檢測,得出垂直梯度gy;根據(jù)
同時,利用霍夫變換法提取海天線;設定提取角度范圍,提取圖像中較長的幾條水平方向的直線,對直線進行延長并與圖像邊緣相交,分別取直線與兩側邊緣交點的平均值,將左右兩側的平均值相連,畫出的直線視為海天線;
將兩個方法獲得的兩條海天線進行對照,若兩者之間相差較大則視為提取失敗;若提取行號相差閾值不超過5,則根據(jù)容錯要求取兩者均值或行號最小值作為最終的海天線。
步驟3中改進的vibe算法過程如下:
(1)定義背景模型:背景模型中的每一個像素由n個背景樣本組成,記v(x)表示在給定的歐式顏色空間中圖像在x處的像素值,vi表示在x處周圍的背景像素值,i為索引號;m(x)表示x處的背景模型,該模型中包含所有的vi,公式如下:
m(x)={v1,v2,…,vn-1,vn}(1);
(2)背景模型初始化:從x的24鄰域ng(x)中隨機選取20個樣本值用于初始化背景模型,公式如下:m0(x)={v0(y|y∈ng(x))}(2),m0(x)表示背景模型的初始值,v0表示初始化時選取的抽樣點;
(3)像素分類:采用2-d空間中的歐氏距離對像素進行分類,記sr(v(x))表示以v(x)為中心,半徑為r的2-d歐式空間,若sr(v(x))與m(x)的交集滿足一定的基數(shù),則認為v(x)是背景像素;
(4)背景模型更新:隨機地從背景模型m(x)中選取一個值用新的背景像素p(x)代替,對背景模型進行更新;
(5)信息傳播:在對背景模型更新的同時,同時采用新的像素p(x)更新鄰域ng(x)中像素的樣本。
原有的vibe算法在初始化背景m(x)時,隨機從8鄰域中選取20個樣本,則每一個樣本至少被重復選取2到3次。樣本的選取過于集中,會導致像素的錯誤分類。假設下式成立
如果v1和v2原本是錯誤的像素,那么這種樣本的重復選取會增加像素錯誤分類的概率。針對該問題,本發(fā)明在更大范圍內采用均勻分布的隨機數(shù)生成算法,從24鄰域中選取20個樣本用于初始化背景模型,從而有效避免像素的重復選取,降低了錯誤分類的概率。這種隨機選擇技術也保證了鄰域中的每一個樣本都有同等的概率被選中,從而使得構造出的背景模型不存在主觀偏見因素,保證了背景模型的真實可靠。
在對背景模型進行更新時,隨機選取一個值進行更新,這種統(tǒng)一分布的隨機選取法保證了樣本集合中每一個樣本的生命周期成指數(shù)遞減,避免了像素長期保留在背景模型中影響模型的精確性。
為保證像素鄰域空間的一致性,vibe算法在對背景模型中的樣本進行更新的同時,也采用像素v(x)對鄰域中像素的樣本模型進行更新,因此,像素分類的準確性對背景模型的精確性有很大的影響。假設v(x)被錯誤的分類為背景像素,采用v(x)對m(x)進行更新時,如果存在2次錯誤,在第3次就可能將前景像素分類為背景像素,出現(xiàn)前面所述的鬼影現(xiàn)象。為使像素的分類更加準確,采用codebook算法的顏色扭曲度評價函數(shù)對像素進行分類,提高像素分類的精確性。
本發(fā)明對vibe的像素分類方法進行改進。由于擴大了樣本的選取范圍,為了更精確地對像素進行分類,將像素分類的匹配數(shù)設置為3(原始vibe算法的匹配數(shù)為2),即當有3個像素匹配時才將v(x)分類為背景像素,提高了算法的正確識別率。同時,本發(fā)明采用隔行更新方式對像素鄰域更新,從而避免錯誤的信息傳播及鬼影現(xiàn)象的出現(xiàn)。
另外,由于背景中噪聲的干擾,檢測結果中會出現(xiàn)一些虛假的小目標,且運動目標會出現(xiàn)殘缺現(xiàn)象,應用系統(tǒng)中會產(chǎn)生虛警或漏檢問題。針對該問題,本發(fā)明采取對一些小目標進行丟棄,并修復運動目標周圍空洞的方法對提取的圖像進行修復。對提取圖像修復的具體步驟如下:
(1)求取前景圖像上的連通區(qū)域bi,得到連通區(qū)域集合b1{b1,b2,…,bn};
(2)如果某個連通區(qū)域bi內的像素數(shù)小于10,則丟棄此連通區(qū)域,得到新的連通區(qū)域集合b2{b1,b2,…,bm};
(3)對b2{b1,b2,…,bm}中每個連通區(qū)域進行統(tǒng)計,如果某個連通區(qū)域bi像素數(shù)大于10而小于60,則認為此連通區(qū)域內存在漏洞,應該對其用1值進行填充。
在對直方圖進行分析過程中,常用的方法是統(tǒng)計直方圖的均值與方差信息,但這種特征僅能夠反映圖像塊的部分特征,對存在反色的情況及直方圖偏移等問題無法進行有效處理。為了提高直方圖的分辨能力,本發(fā)明對直方圖進行聚類分析。通過分類可以有效減少相近灰度級像素數(shù)隨機性,且基于聚類的直方圖特征對灰度級偏移具有較好的分類效果。
直方圖聚類分析的具體過程如下:
(1)直方圖聚類初始化:在初始化過程中,首先需要對圖像直方圖進行標準化,即將質心質量由百分數(shù)來表示,從而生成具有51個元素的百分數(shù)直方圖;
(2)進行直方圖聚類:首先,選擇初始類心,將標準化直方圖中極大值點作為聚類的初始聚類中心;然后,進行基本類合并,對初始類心分別向其鄰域擴展;若初始類達到擴展極限則擴展停止,完成初始類構建;在建立直方圖初始類后,各初始類聚集了極值點鄰近的質心,對產(chǎn)生的小分類進行合并處理并進行檢測,對符合條件的相鄰類進行統(tǒng)一合并;根據(jù)直方圖的特征閾值即可判斷出目標和背景。
在完成直方圖的分類后,可以由直方圖整體信息、單個類信息以及類間信息對所獲得的特征進行劃分。本發(fā)明將其劃分為三類:一是全局特征表示直方圖的整體特征;二是局部特征,即僅針對直方圖中的一個類產(chǎn)生的特征;三是特殊特征,即僅當直方圖中出現(xiàn)多個類時產(chǎn)生的特征。
將vibe算法提取的前景目標與直方圖分類方法提取的目標進行對照,若兩者一致,則認為是正確的運動目標并加以跟蹤,否則不跟蹤。當有多個運動目標時選取其中一個進行跟蹤。
步驟4中的meanshift跟蹤算法步驟如下:
(1)在當前幀,根據(jù)給定的目標中心位置x0和核窗半徑h0,由公式(3)計算
(2)在下一幀,以x0為初始位置,h為核窗半徑,計算
(3)將
其中,
(4)對公式(6)右側關于x求導并令導數(shù)等于0得:
根據(jù)公式(7)計算目標在當前幀新位置x1;
(5)若||x1-x0||<ε,則停止迭代,x1即為目標的新位置,其中ε是預先給定的很小的正數(shù);否則用x1替代x0,返回步驟(1),進行迭代。
本發(fā)明的有益效果:
1、本發(fā)明采用梯度算子法和霍夫變換法分別檢測并提取海天線,將視頻畫面進行分割,單獨在海面區(qū)域進行搜索,減小了搜索范圍。
2、本發(fā)明綜合利用幀間信息,基于改進的vibe算法進行背景的減除,可以去除島岸背景的影響,對視野中運動的艦船目標的位置進行大致定位。
3、本發(fā)明先對直方圖進行聚類,然后再基于統(tǒng)計直方圖進行目標的捕獲,提高了目標捕獲的準確性。
4、本發(fā)明采用meanshift算法進行目標跟蹤,跟蹤速度快,并且對目標變形和遮擋有一定魯棒性。
附圖說明
圖1是本發(fā)明方法的整體流程示意圖;
圖2是vibe算法的流程示意圖;
圖3是直方圖判斷流程圖;
圖4是2-d歐式空間像素分類示意圖;
圖5是直方圖分類示意圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明的方案進行詳細描述。
一種基于紅外視頻的艦船檢測及跟蹤方法,如圖所示,步驟如下:
步驟1、采用梯度算子法和霍夫變換法從紅外視頻圖像中檢測并提取海天線,利用海天線從視頻畫面中分割出海面區(qū)域。
首先,采用梯度算子法提取海天線;使用sobel算子進行水平梯度檢測,得出水平梯度gx,使用sobel算子進行垂直梯度檢測,得出垂直梯度gy;根據(jù)
同時,利用霍夫變換法提取海天線;設定提取角度范圍,提取圖像中較長的幾條水平方向的直線,對直線進行延長并與圖像邊緣相交,分別取直線與兩側邊緣交點的平均值,將左右兩側的平均值相連,畫出的直線視為海天線;
將兩個方法獲得的兩條海天線進行對照,若兩者之間相差較大則視為提取失敗;若提取行號相差閾值不超過5,則根據(jù)容錯要求取兩者均值或行號最小值作為最終的海天線。
步驟2、基于改進的vibe算法進行紅外視頻前景提取,提取疑似目標,同時對提取圖像進行修復。
改進的vibe算法過程如下:
(1)定義背景模型:背景模型中的每一個像素由n個背景樣本組成,記v(x)表示在給定的歐式顏色空間中圖像在x處的像素值,vi表示在x處周圍的背景像素值,i為索引號;m(x)表示x處的背景模型,該模型中包含所有的vi,公式如下:
m(x)={v1,v2,…,vn-1,vn}(1);
(2)背景模型初始化:從x的24鄰域ng(x)中隨機選取20個樣本值用于初始化背景模型,公式如下:m0(x)={v0(y|y∈ng(x))}(2),m0(x)表示背景模型的初始值,v0表示初始化時選取的抽樣點;
(3)像素分類:采用2-d空間中的歐氏距離對像素進行分類(參照圖4),記sr(v(x))表示以v(x)為中心,半徑為r的2-d歐式空間,若sr(v(x))與m(x)的交集滿足一定的基數(shù),則認為v(x)是背景像素;一般基數(shù)設為2;
(4)背景模型更新:隨機地從背景模型m(x)中選取一個值用新的背景像素p(x)代替,對背景模型進行更新;
(5)信息傳播:在對背景模型更新的同時,同時采用新的像素p(x)更新鄰域ng(x)中像素的樣本。例如,采用p(x)替換樣本模型m(x)中的一個樣本,同時采用p(x)更新ng(v(x))中某一個像素的樣本。
為避免產(chǎn)生虛警或漏檢問題,采取對一些小目標進行丟棄并修復運動目標周圍空洞的方法對圖像進行修復。具體步驟如下:
(1)求取前景圖像上的連通區(qū)域bi,得到連通區(qū)域集合b1{b1,b2,…,bn};
(2)如果某個連通區(qū)域bi內的像素數(shù)小于10,則丟棄此連通區(qū)域,得到新的連通區(qū)域集合b2{b1,b2,..,bm};
(3)對b2{b1,b2,...,bm}中每個連通區(qū)域進行統(tǒng)計,如果某個連通區(qū)域bi像素數(shù)大于10而小于60,則認為此連通區(qū)域內存在漏洞,應該用1值進行填充。二值圖中連通區(qū)域外是黑色,像素值為0,連通區(qū)域為目標檢測區(qū)域,其內如果有黑色漏洞,需用值為1的像素值替代,稱之為連通區(qū)域的填充。
步驟4、基于統(tǒng)計直方圖分析圖像紋理特征,進行目標的捕獲。
本發(fā)明對直方圖進行聚類分析,關于直方圖聚類的相關定義如下:
在聚類過程中,將灰度級看作一個位置為di、質量為mi的無體積質心。因此可以有如下定義:
任意兩質心之間存在引力
其中mi、mj分別為質心i和j的質量,這里質量定義為質心所對應的像素統(tǒng)計值;di,j=|di-dj|即為灰度級i到灰度級j之間距離的絕對值。
將灰度級間的引力矩陣定義為f{f1,f2,…,fn},其中fi為灰度級為i的質心相對于其它各灰度級引力值的向量。
針對各目標間的引力關系,可將相互間的加速度定義如下:
灰度級i受灰度級j引力的作用,會產(chǎn)生加速度
并在單位時間t內產(chǎn)生有效位移為
當兩質心間距離小于s時,兩質心將被劃為一類。文中g=10。
(1)直方圖聚類初始化:在對直方圖聚類前必須先進行初始化處理,在初始化過程中,首先需要對圖像直方圖進行標準化,即將質心質量由百分數(shù)來表示,從而生成具有51個元素的百分數(shù)直方圖;處理質量缺失產(chǎn)生的零值問題,將n級灰度級進行歸并計算。
(2)進行直方圖聚類:在初始化基礎上可以將引力聚類劃分為初始類選擇和基本類合并兩個部分進行處理。首先,選擇初始類心,將標準化直方圖中極大值點作為聚類的初始聚類中心;然后,進行基本類合并,對初始類心分別向其鄰域擴展;若初始類達到擴展極限則擴展停止,完成初始類構建;在建立直方圖初始類后,各初始類聚集了極值點鄰近的質心,對產(chǎn)生的小分類進行合并處理并進行檢測,對符合條件的相鄰類進行統(tǒng)一合并;根據(jù)直方圖的特征閾值即可判斷出目標和背景。
在完成直方圖的分類后,可以由直方圖整體信息、單個類信息以及類間信息對所獲得的特征進行劃分。根據(jù)直方圖的特征列表(表1)計算不同類的特征,并進行分組。直方圖判斷流程參照圖3,直方圖分類后的示意圖參照圖5。
表1
將vibe算法提取的前景目標與直方圖分類方法提取的目標進行對照,若兩者一致,則認為是正確的運動目標并加以跟蹤,否則不跟蹤。當有多個運動目標時選取其中一個進行跟蹤。
步驟5、基于多特征和顯著性檢測的meanshift算法跟蹤運動目標。
(1)在當前幀,根據(jù)給定的目標中心位置x0和核窗半徑h0,由公式(3)計算
(2)在下一幀,以x0為初始位置,h為核窗半徑,計算
(3)將
其中,
(4)對公式(6)右側關于x求導并令導數(shù)等于0得:
根據(jù)公式(7)計算目標在當前幀新位置x1;
(5)若||x1-x0||<ε,則停止迭代,x1即為目標的新位置,其中ε是預先給定的很小的正數(shù);否則x0←x1,返回步驟(1),進行迭代,從而完成對目標的跟蹤。