楊 勇,吳 洋
(中國航天空氣動力技術(shù)研究院,北京100074)
均值漂移算法(mean shift)在無人機(jī)偵察目標(biāo)圖像跟蹤中應(yīng)用廣泛,可以將要跟蹤目標(biāo)的特征信息與其環(huán)境信息有效的結(jié)合起來,并根據(jù)計算、分析得到的數(shù)據(jù),做到及時、準(zhǔn)確的對無人機(jī)偵察目標(biāo)圖像跟蹤進(jìn)行定位。本文針對比較復(fù)雜的偵察目標(biāo)圖像跟蹤需要使用改進(jìn)的均值漂移算法進(jìn)行研究,以期對無人機(jī)偵察目標(biāo)圖像跟蹤提供參考依據(jù)。
均值漂移(mean shift)算法最早來源于一篇估計概率密度梯度函數(shù)的重要文獻(xiàn),后來Yizong Cheng對其做了兩個方面的推廣:第一,定義了一族核函數(shù);第二,設(shè)定了一個權(quán)重系數(shù),使得均值漂移算法的適用范圍進(jìn)一步擴(kuò)大,被廣泛應(yīng)用到到圖像分割、特征空間分析、模式分類、目標(biāo)跟蹤以及圖像平滑等相關(guān)領(lǐng)域。
均值漂移算法的計算步驟如下:概率密度函數(shù)即滿足一定統(tǒng)計約束條件的核函數(shù)H(x),若由密度函數(shù)g(x)經(jīng)過n次抽樣得到的樣本集,那么得到的密度估計值為:
其中,wi為權(quán)重系數(shù),且滿足約束條件∑iwi=1。如果核函數(shù)H(x)是某核函數(shù)K(x)的影子集,那么其均值漂移向量為:
其中,m(x)是樣本x處的樣本均值。在上述過程中我們規(guī)定,如果‖m(x)-x‖<ε,則循環(huán)結(jié)束;否則,把m(x)的值賦予x,繼續(xù)循環(huán)。在上述迭代過程中,樣本x經(jīng)過的一系列位置稱為樣本x的軌跡,可表示為{x,m(x),m(m(x)),…}。
通過公式(2)可以看出:均值漂移算法總是沿著概率密度的梯度方向移動,這就是說均值漂移算法一定會收斂到樣本x處附近的峰值。
所謂的無人機(jī)目標(biāo)圖像跟蹤是指通過分析目標(biāo)圖像序列中各幀圖像的特征,鎖定并找出被跟蹤的目標(biāo)圖像。圖像的坐標(biāo)空間(位形空間)我們用χ來表示;在圖像中出現(xiàn)的可能是跟蹤目標(biāo)的區(qū)域我們用跟蹤窗口來表示;被跟蹤的目標(biāo)用目標(biāo)模型表示;與之相關(guān)的變量用上帶短波浪線的字符表示。跟蹤窗口的信息與目標(biāo)模型的信息可分別表示為和,其中表示跟蹤窗口的個數(shù),表示目標(biāo)模型中像素點的個數(shù)。
由于被跟蹤目標(biāo)的外部顏色及形狀往往會比較復(fù)雜,所以對跟蹤目標(biāo)進(jìn)行有效的建模變得十分困難。為有效地對目標(biāo)進(jìn)行建模我們引入了基于均值漂移算法的目標(biāo)跟蹤。
基本的均值漂移算法對所關(guān)心的圖像區(qū)域通常使用統(tǒng)計直方圖進(jìn)行建模,并且對應(yīng)圖像區(qū)域內(nèi)的概率密度函數(shù)也可以近似的用直方圖表示。用表示目標(biāo)模型的直方圖;用(z)表示另外一個變量的直方圖。如果用作為描述以上兩個變量的相似性函數(shù),那么使得(z)達(dá)到最大值(局部最大值)的觀測窗口的坐標(biāo)就是我們所要求的目標(biāo)位置。為方便計算,通常對搜集到的圖像特征進(jìn)行m級量化,其中ui和的量化結(jié)果分別用bi和表示。
由于初始的直方圖沒能抓住自身在位形空間中的分布情況,因此,需要用統(tǒng)計直方圖的特征點與目標(biāo)中心之間的距離來對初始特征進(jìn)行修正:
其中,Cq和Cp為歸一化常數(shù);σ代表窗寬,具體表示跟蹤窗口的大小,經(jīng)過修正的直方圖信息則比較全面,即包含了其特征在位形空間中的分布情況,又包含了自身及目標(biāo)的特征信息。在相似性方面使用巴氏系數(shù),即使用公式進(jìn)行計算,對進(jìn)行最大值求解,我們就可以得出被跟蹤目標(biāo)位置的計算公式(迭代算式):
2.3.1 自動調(diào)整跟蹤窗口尺度的改進(jìn)算法
由于在跟蹤過程中,目標(biāo)的尺寸會發(fā)生變化,所以,自動調(diào)整跟蹤窗口的尺度顯得尤為重要,跟蹤窗口過大或者過小都有可能導(dǎo)致跟蹤失敗。基于以上原因,我們可以根據(jù)目標(biāo)區(qū)域內(nèi)顏色直方圖或者灰度質(zhì)心的計算結(jié)果,并依據(jù)窗口尺寸與質(zhì)心已有的數(shù)量關(guān)系,自動地調(diào)整跟蹤窗口的尺度。具體的改進(jìn)過程如下:
(1)在給定的、初始的目標(biāo)圖像中,對目標(biāo)的大小和位置進(jìn)行人為的初始化,以固定搜索窗口W的尺寸大小(其中用s來表示搜索窗口的大小)。
(2)令搜索窗口W中任一坐標(biāo)(x,z)的像素顏色概率分布函數(shù)為I(x,z),并計算零階矩陣:
繼續(xù)計算x的一階矩陣和z的一階矩陣:
(4)循環(huán)過程(2)和(3),直到質(zhì)心的變化小于已經(jīng)設(shè)置的迭代次數(shù)或閾值,停止計算。
2.3.2 有效解決目標(biāo)遮擋問題的改進(jìn)算法
當(dāng)被跟蹤目標(biāo)出現(xiàn)絕大部分或者全部圖像被遮擋的情況時,當(dāng)前幀中的目標(biāo)圖像已經(jīng)找不到被跟蹤的目標(biāo)區(qū)域,但是按照要求,基本的均值漂移算法必須找到目標(biāo)區(qū)域,由于自身的跟蹤能力有限,當(dāng)前找到的目標(biāo)區(qū)域的特征已經(jīng)發(fā)生了較大的變化,在遮擋結(jié)束以后,基本的均值漂移算法仍然把已經(jīng)發(fā)生較大變化的目標(biāo)特征作為跟蹤的目標(biāo),從而造成跟蹤失敗。跟蹤失敗根本的原因是基本的均值漂移算法只有對確定的數(shù)據(jù)進(jìn)行估計的能力,無法解決概率密度分布函數(shù)出現(xiàn)多個峰值的情況,可通過加入粒子濾波算法來解決上述問題。
粒子濾波跟蹤算法的主要過程為:
(1)隨機(jī)選取一組初始粒子的權(quán)值和位置,當(dāng)被跟蹤目標(biāo)的位置確定后,便可通過粒子集得到被跟蹤目標(biāo)的初始化顏色直方圖q贊u。
(2)在目標(biāo)圖像的變化過程中,粒子按照預(yù)先設(shè)定的經(jīng)驗傳播,借此估計被跟蹤目標(biāo)的下一個狀態(tài)。盡可能多的使用之前所有的觀測值是一個好的傳播模型所必須具有特點,二階自回歸模型就具有這一特點:
(3)對比每個粒子此時和初始值的顏色直方圖,把得到的二者的相似度賦予每個粒子,并以此作為每個粒子的權(quán)值。把傳播后粒子和參考粒子的顏色直方圖(分別用(z)和來表示)進(jìn)行對比,并利用Bhattacharyya系數(shù)來測量二者的相似度:
假設(shè)Bhattacharyya系數(shù)與粒子的相似度成正比例關(guān)系,對于粒子賦予的權(quán)重,相似度越大賦予的權(quán)重就越大;相似度越小賦予的權(quán)重就越小。
(4)篩選經(jīng)過上述傳播過程之后得到的新的粒子,為避免把計算時間浪費在無用的粒子上,最大可能的保留權(quán)重大的粒子,丟掉權(quán)重較小的粒子。
為保證能在更大的區(qū)域內(nèi)搜索被跟蹤目標(biāo),粒子濾波算法通過增加預(yù)測目標(biāo)的數(shù)目來實現(xiàn),與此同時,根據(jù)相似度更新粒子,使得跟蹤算法不斷收斂,最終收斂到與被跟蹤目標(biāo)最相似的粒子上。因次,粒子濾波算法可以在發(fā)生遮擋時和發(fā)生遮擋后,重新在目標(biāo)圖像中搜索被跟蹤目標(biāo),大大提高了遮擋結(jié)束后成功跟蹤目標(biāo)的可能性。所以,在均值漂移算法中加入粒子濾波算法,可解決目標(biāo)被遮擋后出現(xiàn)的目標(biāo)丟失問題。
2.3.3 改進(jìn)算法的計算步驟
(1)選擇被跟蹤的目標(biāo)區(qū)域,創(chuàng)建被跟蹤的目標(biāo)模型q贊u;
(3)通過使用均值漂移算法中的迭代計算方法計算(預(yù)測)當(dāng)前幀中的跟蹤目標(biāo)位置;
(4)利用公式來計算當(dāng)前幀中跟蹤目標(biāo)模型與跟蹤目標(biāo)區(qū)域的相似度系數(shù);
(5)若(4)中的相似度系數(shù)小于預(yù)設(shè)的閾值,則轉(zhuǎn)到第(6)步;否則,轉(zhuǎn)到第(7)步;
(6)啟用粒子濾波目標(biāo)跟蹤算法;
(7)把計算出的結(jié)果用作下一幀的目標(biāo)模型,然后返回到上述過程中的第(2)步。
在上述的過程中,第(5)步中預(yù)設(shè)閾值的選取相當(dāng)重要,若閾值選取的較小,則會導(dǎo)致產(chǎn)生較大的誤差;如若閾值選取的較小,則很難收斂,在實際的應(yīng)用中,閾值一般預(yù)設(shè)在0.8~0.9之間。在第(6)步中,通常只用簡化的粒子濾波算法。
通過多次的實驗證明:此改進(jìn)算法(有效解決目標(biāo)遮擋問題的改進(jìn)算法),能夠有效地解決最復(fù)雜的多目標(biāo)互相遮擋的情況,實現(xiàn)對目標(biāo)的實時、準(zhǔn)確地跟蹤。
運用均值漂移算法對無人機(jī)目標(biāo)圖像跟蹤,其算法簡單、快捷、易操作、實用功能強大,能夠?qū)唵苇h(huán)境中的視頻目標(biāo)進(jìn)行實時跟蹤,而對于較復(fù)雜的情況下(如目標(biāo)的尺寸不斷發(fā)生變化或者目標(biāo)的絕大部分或全部被遮擋)的無人機(jī)目標(biāo)圖像跟蹤則需要利用改進(jìn)的算法。目前,很多的專家、學(xué)者正進(jìn)一步研究該算法在無人機(jī)目標(biāo)圖像發(fā)生較大形變或者旋轉(zhuǎn)的情況下如何進(jìn)行有效地跟蹤等課題,期待他們早日取得豐厚的科研成果。
[1]李鄉(xiāng)儒,吳福朝,胡占義.均值漂移算法的收斂性[J].軟件學(xué)報,2009,16(3):365.
[2]卞 麗.基于改進(jìn)的IMM目標(biāo)跟蹤算法研究卞麗[J].科技通報,2012(04):49-51.
[3]Comaniciu D,Ramesh V,Meer P.Kernel-based Object Tracking[J].IEEE Trans.on Pattern Anal.Machine Intell.,2009,25(5):564.
[4]彭寧嵩,楊 杰,劉 志,等.Mean-shift跟蹤算法中核函數(shù)窗寬的自動選取[J].軟件學(xué)報,2010,16(9):1542.