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