胡 亮 楊德貴 王 行 廖祥紅
(1.中南大學(xué)航空航天學(xué)院,湖南長沙 410083;2.中南大學(xué)自動化學(xué)院,湖南長沙 410083)
隨著無人機技術(shù)的不斷發(fā)展,小型無人機在國民生產(chǎn)領(lǐng)域發(fā)揮越來越重要的作用[1-3],但同時也給社會公共安全等方面帶來了相當(dāng)大的潛在威脅,因此對低空無人機實行穩(wěn)定跟蹤與監(jiān)測是十分有必要的。
目前目標(biāo)跟蹤算法大致可以分為基于濾波數(shù)據(jù)關(guān)聯(lián)度和基于目標(biāo)表示和定位兩類,前者的主要代表算法有卡爾曼濾波[4]、粒子濾波[5]以及貝葉斯濾波[6],后者中最具代表性的當(dāng)屬MeanShift[7]與CamShift[8]。
在低空無人機跟蹤領(lǐng)域,國內(nèi)外學(xué)者開展了大量的研究工作。文獻(xiàn)[9]利用CNN 網(wǎng)絡(luò)識別無人機目標(biāo),然后基于離散卡爾曼濾波算法對識別到的無人機目標(biāo)建立跟蹤模型,實現(xiàn)了在視場中的長期跟蹤,但是算法采用CNN 網(wǎng)絡(luò)作為檢測手段,泛化能力不強。文獻(xiàn)[10]提出了一種有效的針對小型飛行目標(biāo)跟蹤的再定位跟蹤(TRL)框架,以解決復(fù)雜背景下運動目標(biāo)丟失的問題,算法對目標(biāo)的尺度變化較敏感,對于尺度變化頻繁的目標(biāo)會導(dǎo)致額外的時間開銷,并且在跟蹤過程中會積累目標(biāo)尺度變化帶來的誤差導(dǎo)致跟蹤失敗。文獻(xiàn)[11]設(shè)計基于鷹眼視覺通路原理的探測器,通過構(gòu)建目標(biāo)顯著圖,實現(xiàn)對目標(biāo)的粗定位,然后結(jié)合目標(biāo)HOG特征[12]與貝葉斯分類器實現(xiàn)小目標(biāo)的精確定位與跟蹤,但是算法對復(fù)雜場景的適應(yīng)性較弱,且單單依靠HOG特征的貝葉斯分類器對目標(biāo)的鑒別能力有限。
由于低空小型無人機目標(biāo)具有慢速、易機動以及尺度變化劇烈等特點,考慮到MeanShift算法[13]在行人跟蹤、人臉識別等方面優(yōu)秀的表現(xiàn),本文在經(jīng)典MeanShift 算法的基礎(chǔ)上提出了一種基于多特征融合與區(qū)域生長[14]Meanshift 低小慢目標(biāo)跟蹤算法,算法針對經(jīng)典MeanShift 算法對無人機目標(biāo)描述模板性能差,提出了一種融合HOG特征與灰度特征的二維目標(biāo)描述模板,其次針對無人機目標(biāo)強機動以及易形變所導(dǎo)致的經(jīng)典MeanShift 算法定位不精確問題,本文加入Hu 不變矩[15]特征建立新的算法收斂判據(jù),最后針對經(jīng)典MeanShift算法在跟蹤過程中不進(jìn)行模板更新的問題,本文結(jié)合區(qū)域生長方法建立了目標(biāo)模板更新機制。
Meanshift 算法是一種非參數(shù)核密度估計算法,圖1 所示為Meanshift 算法的基本原理圖,算法確定當(dāng)前點,算出其偏移均值,然后將當(dāng)前點加上該偏移均值作為第二次迭代的起始點,如此循環(huán)往復(fù),直到滿足收斂條件結(jié)束算法,確定終點。Meanshift算法在目標(biāo)跟蹤方面主要步驟為:構(gòu)建目標(biāo)模型和候選模型、相似性度量、Meanshift迭代。
經(jīng)典的Meanshift 算法因其快速、高效等特點,在人臉識別以及行人檢測等方面有廣泛的應(yīng)用。但是低小慢目標(biāo)跟蹤上,目標(biāo)在圖像中像素點占比少,采用單一統(tǒng)計特征對低小慢目標(biāo)進(jìn)行建模不穩(wěn)定;同時由于目標(biāo)的強機動性,僅采用目標(biāo)模板與候選模板之間的Bhattacharyya系數(shù)作為算法的收斂條件會導(dǎo)致定位精度較差,而且隨著誤差的累積可能會導(dǎo)致跟蹤器失效;并且傳統(tǒng)的Meanshift 算法不能更新檢測框大小,因此當(dāng)目標(biāo)發(fā)生大尺度變化時,檢測框中目標(biāo)的有效信息會大大降低,魯棒性較差?;谏鲜鰡栴},本文將算法模型改進(jìn)為模型構(gòu)建、MeanShift 迭代以及模型更新三個方面,以期能夠魯棒的處理低小慢目標(biāo)跟蹤問題。
針對傳統(tǒng)Meanshift 算法采用單一統(tǒng)計特征建模對低小慢目標(biāo)描述能力不足的問題,本文提出了一種融合灰度直方圖特征和HOG特征的目標(biāo)模板,以期建立可靠的目標(biāo)表示模型。
方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征是一種在計算機視覺和圖像處理中用來進(jìn)行物體檢測的特征描述子,在一幅圖像中,局部目標(biāo)的表象和形狀能夠被梯度或邊緣的方向密度分布很好地描述,HOG 就是通過計算和統(tǒng)計圖像局部區(qū)域的梯度方向直方圖來構(gòu)成特征。
圖2為融合HOG特征和灰度直方圖的目標(biāo)模型構(gòu)建流程,首先,對截取區(qū)域分別進(jìn)行灰度直方圖和HOG特征的提取,得到兩個長度分別為M,N的向量,然后分別對兩向量進(jìn)行歸一化處理,由于兩描述向量相互獨立,根據(jù)聯(lián)合概率可以得到一個M*N的二維目標(biāo)描述模型。于是,目標(biāo)模型可以表示為:其中,zi*表示以目標(biāo)中心為原點的歸一化像素位置,(x0,y0)為目標(biāo)中心坐標(biāo)。α(zij)表示目標(biāo)區(qū)域中像素位置zij處的灰度值在灰度直方圖中區(qū)間索引值,β(zij)表示目標(biāo)區(qū)域中像素位置zij處的HOG 值在HOG 直方圖中區(qū)間索引值,u表示灰度直方圖所劃分區(qū)間索引值向量,v表示HOG 直方圖所劃分的區(qū)間索引值向量。
相應(yīng)的候選目標(biāo)區(qū)域得描述模板p的表達(dá)式具體為:
其中,f表示為候選目標(biāo)中心位置,h為核函數(shù)窗口大小,核函數(shù)決定著候選區(qū)域內(nèi)像素點的權(quán)重分布,其他參數(shù)同目標(biāo)模型描述相同。
為了描述目標(biāo)模型和候選目標(biāo)之間的相似程度,算法引入Bhattacharyya系數(shù)作為相似性函數(shù),其定義為:
對其進(jìn)行泰勒展開有:
于是隨f變化的只有第二項,ρ(p,q)的最大值主要受其影響,因此其最大化過程就可以通過候選區(qū)域向真實區(qū)域中心的Meanshift迭代方程完成:
其中,qij表示候選模板中灰度索引值為i,HOG索引值為j的特征值,pij表示目標(biāo)模板中灰度索引值為i,HOG索引值為j的特征值。
但是經(jīng)典MeanShift 算法的收斂條件只依賴于候選區(qū)域與ROI 區(qū)域之間的模板相似度系數(shù)而建立,使得算法對低小慢目標(biāo)定位精度差的問題沒有得到有效地改善,為了彌補算法的這一不足,本文結(jié)合Hu 不變矩與模板相似度系數(shù)建立了新的迭代收斂條件。
Hu 矩是由M.K.Hu 在1962 年所提出的,利用圖像歸一化以后的二階、三階中心矩構(gòu)成了7 個不變矩特征向量,其具有旋轉(zhuǎn)、尺度、平移不變性,在圖像匹配、目標(biāo)表示等方面有大量的應(yīng)用。
參考圖像的歸一化二階、三階中心矩,可定義如下的7個Hu矩:
如表1 所示,一個面積為10*15 像素的小面目標(biāo),對其做平移、翻轉(zhuǎn)、伸縮變換、旋轉(zhuǎn)等操作以后,與原圖像的Hu 特征值相比,證明Hu 矩對圖像的上述變化具有良好的不變性,因此采用Hu 不變矩特征來構(gòu)建算法收斂判據(jù)是可行的。
表1 10*15像素小面目標(biāo)多種變換以后Hu值表Tab.1 Hu moment value of a 10*15 pixel facet target after multiple transformations
于是,采用Hu 不變矩和候選模板與目標(biāo)模板之間的相似度系數(shù)可以構(gòu)建新的算法收斂判據(jù):
其中Pu和Qu分別表示基于灰度和HOG特征融合的候選模型和目標(biāo)模型,Ph和Qh分別表示候選模型與目標(biāo)模型的Hu矩向量,dist(Ph(f)Qh)表示Hu不變矩向量之間的歐氏距離。
由于低空小目標(biāo)具有強機動性,因此目標(biāo)極易發(fā)生形變,且經(jīng)典MeanShift算法使用固定大小的檢測框,對目標(biāo)的尺度變化仍較為敏感,因此,提出一種能夠自適應(yīng)的更改檢測框大小,及時剔除檢測框中的背景信息的模板更新策略是十分有必要的?;诖?,本文提出了一種基于區(qū)域生長方法的模型更新策略,具體做法如下:
首先,對首幀獲得的目標(biāo)進(jìn)行分割,獲取目標(biāo)面積大小,設(shè)其值為flagarea,在后續(xù)的跟蹤過程中,以每一幀得到的目標(biāo)位置作為區(qū)域生長的初始種子點,獲取當(dāng)前幀目標(biāo)的面積信息,記為area,當(dāng)滿足
如圖4 所示為本文算法的流程圖,其具體步驟為:
1)獲取第一幀圖片,通過人工標(biāo)注獲取目標(biāo)位置y0,同時計算flagarea;
2)根據(jù)目標(biāo)的位置y0,截取ROI 區(qū)域。根據(jù)式(9)計算ROI 區(qū)域的Hu 向量,計算截取的ROI 區(qū)域灰度直方圖和HOG 向量,根據(jù)式(1)建立目標(biāo)描述模板;
3)讀取下一幀圖片,在位置y0處截取候選目標(biāo)區(qū)域,同時根據(jù)式(1)計算截取的候選區(qū)域描述模板,根據(jù)式(8)計算候選區(qū)域的權(quán)重矩陣,根據(jù)式(9)計算候選區(qū)域的Hu 向量,根據(jù)式(7)計算當(dāng)前幀目標(biāo)的下一個位置y1;
4)根據(jù)式(5)計算ROI 區(qū)域與候選區(qū)域之間的Bhattacharyya 系數(shù),使用歐式距離計算ROI 區(qū)域與候選區(qū)域之間Hu向量之間的相似度;
5)根據(jù)式(10),對算法進(jìn)行收斂判斷,獲取目標(biāo)在當(dāng)前幀中的最佳位置;
6)根據(jù)目標(biāo)當(dāng)前的最佳位置,使用區(qū)域生長法計算當(dāng)前幀目標(biāo)面積,根據(jù)式(11)判斷是否進(jìn)行模板更新,同時計算此時的Bhattacharyya系數(shù),根據(jù)T3判斷是否更新模型,若是,轉(zhuǎn)到步驟2);
7)判斷是否處理完視頻,是的話轉(zhuǎn)到第步驟3)步,否則結(jié)束算法。
為了驗證本文所提出算法的有效性,本節(jié)實驗分為兩部分,3.1 節(jié)介紹了相關(guān)評價指標(biāo),3.2 節(jié)根據(jù)對傳統(tǒng)Meanshift 算法的三個改進(jìn)點進(jìn)行了消融實驗,3.3節(jié)將本文算法與改進(jìn)卡爾曼濾波、改進(jìn)粒子濾波以及基于鷹眼仿生的小目標(biāo)探測跟蹤算法進(jìn)行了對比,3.2 節(jié)與3.3 節(jié)均采用3.1 節(jié)所提出的精確度評價指標(biāo)對算法性能進(jìn)行評估,并且在3.3節(jié)當(dāng)中對算法的運行時間進(jìn)行了分析。
實驗數(shù)據(jù)為自行采集的4個含無人機目標(biāo)的視頻以及LaSOT 數(shù)據(jù)集中符合算法要求的airplane6、airplane8、airplane9、airplane13、airplane15、airplane16 中的圖片。試驗測試平臺為:Intel(R)Core(TM)i7-9700,3.00 GHz,8 GB 內(nèi)存,Windows10 系統(tǒng)臺式機,采用MATLAB2018b 軟件對算法進(jìn)行驗證。
(1)精確度圖
精確度是指跟蹤算法估計的目標(biāo)位置的中心點與人工標(biāo)注的目標(biāo)的中心點兩者之間的距離小于給定值的視頻幀所占百分比,設(shè)視頻序列中目標(biāo)位置中心與人工標(biāo)注的目標(biāo)中心之間的距離小于指定閾值的幀數(shù)為correctframes,設(shè)視頻的總幀數(shù)為totalframes,則在對應(yīng)的閾值下,跟蹤精確度定義為:
精確度圖則是橫坐標(biāo)為誤差值,縱坐標(biāo)為精確度的二維曲線圖。
(2)運行時間
運行時間是指特定的算法處理完某個視頻所需要的時間,對于同一個視頻,在同一試驗平臺下,使用相同的編程語言,視頻處理時間越短的算法實時性更好,更適合于實時監(jiān)控場景。表2 介紹了所截取的實驗圖像序列幀數(shù)及大小信息。
表2 實驗圖像序列幀數(shù)及大小信息Tab.2 Frame number and size information of experimental image sequence
本小節(jié)將本文算法與Meanshift 改進(jìn)算法進(jìn)行對比實驗,分析了本文算法的優(yōu)點,其中改進(jìn)算法1不建立新的收斂條件,改進(jìn)算法2不進(jìn)行模板更新,改進(jìn)算法3不改變目標(biāo)描述模板。
按照3.1 節(jié)中所提到的精確度圖指標(biāo),本文設(shè)定的人工標(biāo)注位置中心與算法獲得的目標(biāo)位置中心的最大誤差值為10像素距離,距離量度采用歐幾里得距離。從圖5 可以看出來,在實驗所測試的6個圖像序列上,在相同的最大允許誤差下,本文算法性能總是最優(yōu)的,但是對于序列Airplane8 和Airplane9 中,在當(dāng)中的一段序列中目標(biāo)的尺寸增大,導(dǎo)致算法的最高精度只能到達(dá)80%~90%,對于序列Airplane6 和Airplane15,算法達(dá)到某個值精確度不再增加是由于在算法處理時,序列的少數(shù)幾幀未進(jìn)行處理,序列Airplane13 是由于少數(shù)幾幀中目標(biāo)與背景的區(qū)分度極低,使得算法對目標(biāo)的定位錯誤導(dǎo)致精度較低,因此在恰當(dāng)?shù)臈l件下,本文算法能夠很好地對目標(biāo)進(jìn)行跟蹤。采用單一特征的改進(jìn)算法在進(jìn)行目標(biāo)跟蹤時,當(dāng)背景與目標(biāo)相似度高的時候會使算法失效,魯棒性差,因此在四種算法中的效果最差。不建立新的收斂條件的改進(jìn)算法在大部分視頻序列上的表現(xiàn)要優(yōu)于不更新模板的改進(jìn)算法。
本小節(jié)將本文算法與改進(jìn)卡爾曼濾波[16]、粒子濾波[17]、基于鷹眼視覺仿生的小目標(biāo)跟蹤算法[11]以及經(jīng)典的MeanShift算法[18]進(jìn)行了對比,首先演示了本文算法模板更新的效果,然后展示了各算法在本文所選取的視頻序列上的運行時間,最后本文以UAV2中視頻2為例,截取了同類算法以及本文算法在不同圖像幀上的表現(xiàn),通過本文算法與同類算法在數(shù)據(jù)集上的精確度圖表現(xiàn),分析了算法的性能。
表3為實驗所選取的對比算法與本文算法處理視頻數(shù)據(jù)所需要的時間,其中“--”表示算法在處理過程中失效,未處理完對應(yīng)圖像序列,由表3 可知,本文算法對于序列Airplane6處理速度最快,達(dá)到了18.5 幀/秒,且在大多數(shù)情況下,本文算法對表2 中的圖像序列處理時間要少于其他幾種算法,只有在處理序列Airplane8時,本文算法的處理時間多于卡爾曼算法處理時間,原因可能是由于該序列后期目標(biāo)在圖像中所占的像素點增加,導(dǎo)致算法使用區(qū)域生長進(jìn)行模型更新判決時增加了額外的時間開銷所導(dǎo)致,而基于鷹眼仿生的小目標(biāo)探測方法在處理實驗圖像序列所需要的時間是本文算法和卡爾曼濾波算法的3~4 倍,原因是因為復(fù)雜背景所導(dǎo)致的算法的顯著性圖提取困難,從而增加了圖像中的疑似目標(biāo)區(qū)域,加大了分類器的壓力。
表3 5種算法對圖像序列的處理時間Tab.3 Processing time of five algorithms for experimental image sequence
參考3.2 節(jié)實驗標(biāo)準(zhǔn),本小節(jié)距離量度依舊采用歐幾里得距離,且誤差最大值仍設(shè)置為10。UAV1 為采集的視頻1,UAV2 為采集的視頻2、3,UAV3 為采集的視頻4,視頻1 為簡單場景,干擾物較少,背景變化比較緩慢,目標(biāo)尺度變化、形變較??;視頻2、3 背景比較復(fù)雜,干擾物較多,且目標(biāo)的尺度變化、形變比較嚴(yán)重;視頻4 背景變化大,目標(biāo)距離拍攝平臺較遠(yuǎn),尺度變化較大。
圖6 所示為采用本文算法對Airplane6 進(jìn)行處理的部分截圖,該視頻圖片大小為720*1280,截圖的大小為40*57像素,從圖中可以看出,由于目標(biāo)發(fā)生了一系列機動、轉(zhuǎn)彎等操作,使得目標(biāo)在序列上的形狀發(fā)生了較大的變化,對目標(biāo)的跟蹤帶來了較大的挑戰(zhàn),但是本文算法在該目標(biāo)發(fā)生一系列動作時,能夠根據(jù)目標(biāo)的面積變化調(diào)整檢測框的大小,盡可能多地剔除了檢測框中背景信息,準(zhǔn)確地確定目標(biāo)的位置,具有較高的跟蹤精度。
為了直觀地展示本文算法的可靠性,本文將序列UAV2 中視頻2 作為參考序列,選取每種對比算法在該序列上的失效幀以及本文算法對應(yīng)幀的處理效果來證明。如圖7 所示,采用灰度特征進(jìn)行跟蹤的粒子濾波算法在序列第298 幀處,目標(biāo)處于檢測框邊緣,算法計算的目標(biāo)中心與目標(biāo)的實際中心位置相差超過10 個像素距離,此時目標(biāo)尺寸為12*5 像素點,該誤差難以接受,在第301 幀,目標(biāo)已經(jīng)有一部分脫離檢測框,且中心位置與實際位置誤差進(jìn)一步增加,到第308幀時,目標(biāo)已經(jīng)完全脫離了檢測框。而本文算法在上述粒子濾波檢測錯誤幀中有著良好的跟蹤效果,且目標(biāo)基本處于檢測框中心位置,算法獲得的目標(biāo)中心與實際標(biāo)注的目標(biāo)中心基本能夠重合。
如圖8 所示,在序列第316 幀,目標(biāo)存在于檢測框邊緣,且算法得到的目標(biāo)中心位置與目標(biāo)實際標(biāo)注的和中心位置大于5 個像素距離,當(dāng)目標(biāo)距離較遠(yuǎn)時,該誤差會導(dǎo)致算法獲得目標(biāo)位置與實際位置相差很大,致使跟蹤失效,同樣,在第497 幀、第498幀以及第568 幀,算法的跟蹤效果也不理想。而使用本文算法時,得到的目標(biāo)位置與實際標(biāo)注的目標(biāo)位置相差較小,并且在上述的316 幀、497 幀、498 幀和568 幀中,計算得到的目標(biāo)位置與實際位置基本重合。
如圖9 所示,在使用基于鷹眼仿生機制的小目標(biāo)跟蹤處理序列時,在第43 幀雖然跟蹤到目標(biāo),但是目標(biāo)很大一部分已經(jīng)超出檢測框,且此時實際目標(biāo)中心與算法所得到的目標(biāo)中心之間誤差也在5個像素點以上,并且在第60幀出現(xiàn)目標(biāo)跟蹤錯誤的情況,且在該視頻處理當(dāng)中,這種情況出現(xiàn)幀數(shù)達(dá)到40%以上,在復(fù)雜背景環(huán)境下,采用顏色、方向以及亮度特征得到的顯著性圖較為復(fù)雜,容易在判決時將疑似度高的小背景區(qū)域判定為目標(biāo),導(dǎo)致該算法的魯棒性較低,對比本文算法,在上述圖像幀中目標(biāo)基本位于檢測框中心,且算法處理的得到的目標(biāo)中心與目標(biāo)實際中心相差很小。
圖10(a)~(i)分別為本文算法與四種對比算法在9 個視頻序列上的精確度圖,距離量度依舊采用歐氏距離,且最大誤差仍設(shè)定為10。從圖中可知,在實驗所測試的9 個圖像序列上,在相同的允許誤差下,本文算法在序列airplane13 上的表現(xiàn)稍差于基于鷹眼仿生機制的跟蹤算法,Airplane13 是由于少數(shù)幾幀中目標(biāo)與背景的區(qū)分度極低,使得本文算法對目標(biāo)的定位錯誤導(dǎo)致精度較低,且該序列相對來說背景比較單一,因此基于鷹眼仿生機制的跟蹤算法在該序列會有較好的表現(xiàn)。但是在其他序列的處理上,本文算法的性能總是最優(yōu)的。在使用本文算法對上述序列進(jìn)行處理時,序列Airplane8和Airplane9中,存在較長一段序列,目標(biāo)尺寸增大,導(dǎo)致算法的最高精度只能到達(dá)80%~90%,序列Airplane6和Airplane15,算法達(dá)到某個值精確度不再增加是由于在算法處理時,序列的少數(shù)幾幀未進(jìn)行處理,使得精度達(dá)到某個值以后就不再提高。同時從圖中可以看出經(jīng)典的MeanShift算法在五種算法中表現(xiàn)極差,基本不能有效跟蹤目標(biāo)?;邡椦鄯律鷻C制對背景要求比較高,復(fù)雜背景下該算法精確度比較低。改進(jìn)卡爾曼濾波與粒子濾波要求目標(biāo)與背景的對比度高,相對于其他四種算法,本文算法在跟蹤過程中能夠較為精確的定位目標(biāo)中心,且在多數(shù)情況下,能夠使得跟蹤精度達(dá)到95%以上。
本文提出的一種改進(jìn)Meanshift 的低空小機動目標(biāo)的跟蹤算法,算法融合灰度信息與HOG特征來建立目標(biāo)描述模板,通過融合候選模板與目標(biāo)模板之間的Bhattacharyya 系數(shù)以及候選區(qū)域與ROI區(qū)域之間的Hu 矩的歐氏距離建立新的算法迭代收斂條件,并且采用區(qū)域生長計算目標(biāo)的面積變化來控制模板更新,通過實驗證明,本文算法對低空小機動目標(biāo)強機動、畸變等變化不敏感,具有較強的魯棒性。但是針對MeanShift 算法難以應(yīng)對目標(biāo)被遮擋的問題,本文算法并未提出一個好的解決方法,因此在后續(xù)的研究中值得深入思考。