基于元學習的紅外弱小點狀目標跟蹤算法
關注微信公眾號:人工智能技術與咨詢。了解更多咨詢!
人工智能技術與咨詢 昨天
本文來自《激光技術》,作者熱孜亞·艾沙等
引言
紅外點狀目標的跟蹤是紅外搜索和跟蹤(infrared search and track, IRST)系統中的關鍵技術之一[1],在紅外目標跟蹤、遙感制圖等多個方面占據主要的位置[2]。在紅外背景的圖像中,目標占據像素小、無具體的形狀、缺少紋理呈點狀[3-4], 在復雜的紅外背景下,跟蹤階段常常存有如目標遮蔽、背景雜波、迅速移動等困難,這些因素增加了紅外點狀目標跟蹤的難度。目前所使用的大多數都是常規的一些手工設計的特征提取方法,使得傳統方法無法很好地用于紅外點狀目標跟蹤。因此,在復雜背景下準確地跟蹤紅外點狀目標成為一項具有挑戰性的研究。
目前機器學習的算法被廣泛應用于目標跟蹤,通常需求大量的訓練數據[5]。過度依賴于訓練數據使得跟蹤模型存在以下問題:(1)需要耗費大量人力進行數據標注,這給算法的計算帶來很多困難;(2)這種依賴大量訓練數據的模型在訓練數據上可以取得較小的誤差,但是在測試中遇到新狀態下的視頻序列時跟蹤性能比較差,無法精確跟蹤到目標。機器學習的算法需要足夠的訓練數據,但紅外點狀目標自身弱和小的特點,而且在點狀目標的跟蹤領域,公開的、大規模的點狀小目標的視頻數據十分有限,由于沒有大數據的支撐,因而機器學習的算法不能直接用在紅外點狀目標的跟蹤[6]。因此,如何根據紅外弱小點狀目標的特點,能夠讓模型盡量用少量的數據,建立具有代表性的、結合深度學習的紅外點狀目標跟蹤算法是一個很大的難題。
將機器學習的方法運用在紅外點狀目標跟蹤中,作者提出基于改進的元學習紅外點狀目標跟蹤算法,該算法使用靜態紅外圖像通過元學習的方法對卷積神經網絡做離線訓練,學習點狀目標的通用特征表示,有效解決紅外點狀目標訓練數據不足的問題。其次將靜態紅外圖像傳入預訓練的卷積神經網絡中提取特征[7],將紅外點狀目標跟蹤問題轉化為二元分類問題的判別模型,通過基于深度特征學習分類器來區分背景與前景信息。在跟蹤階段,依據點狀目標的運動的特征,運用基于運動模型的目標位置預測的方法來除去后續的幀中非目標點和噪聲點對跟蹤結果的影響,定位精確的目標位置。結果表明,該實驗方法能夠穩定地、精確地跟蹤到紅外點狀目標。
1.?? 相關工作
1.1?? 網絡結構
牛津大學視覺幾何組(visual geometry group, VGG) 提出分類任務預訓練網絡[8]。
如圖 1所示,網絡模型包含3個卷積層(convolutional)conv 1~conv 3,3個全連接層(fully connected, FC)FC 4~FC 6。輸入圖像的大小為C×W×H,其中C為圖像的通道數,W為圖像的寬度,H為圖像的高度。卷積層1有96個卷積核,卷積層2有256個卷積核,卷積層3有512個卷積核,其中卷積核的大小為3×3。兩個全連接層(FC 4,FC 5)分別有512個神經元節點。首先通過網絡中的卷積層提取目標的特征,其次將得到的特征作為全連接層的輸入,最后一層全連接層FC 6的輸出是二分類分支,判別目標和背景。
Figure?1.? The architecture of VGG network
1.2?? 元學習
現存的大部分基于深度學習的方法都依賴于大規模的訓練數據,這要求人工標注很多數據標簽,這是極其浪費時間的,使得只有少量標注數據的任務難以進一步發展,如紅外點狀目標跟蹤。元學習是解決訓練數據不足的有效方法。元學習的主要目的是使模型能夠用盡量少的訓練數據獲得盡量大的泛化能力。
盡管元學習在如圖像分類等很多領域取得了不錯的效果,但是基于元學習的單目標跟蹤算法卻很少見。運用元學習的離線訓練和在線更新的方式,達到準確地跟蹤點狀目標。元學習又稱為學會學習[9-10]。基于優化更新的元學習的主要思想是將跟蹤問題當作二元分類問題。
使用初始幀數據(X1,?Y1)和網絡模型的參量θ,通過對損失函數Lθ經過一次或少量幾次梯度下降得到模型f的參量θ*。采用隨機梯度下降的方法對參量進行更新[11]:
θ?=θ?α?Lθ(X1,Y1)?θθ?=θ?α?Lθ(X1,Y1)?θ |
(1) |
式中,X1為初始幀圖像,Y1為X1所對應的標簽,θ為網絡模型的參量,α為學習率。
更新后的參量θ*滿足:
θ?=argminθ∑i=1nLθ(Xn,Yn)θ?=argminθ∑i=1nLθ(Xn,Yn) |
(2) |
式中,(Xn,?Yn)為后續幀的數據,Xn為第n幀圖像,Yn為對應的標簽,Lθ(X,?Y)為損失函數。
將紅外點狀目標跟蹤問題看作為二元分類問題的判別模型,其常用的損失函數為交叉熵損失:
L=?[YilnPi+(1?Yi)ln(1?Pi)]L=?[YilnPi+(1?Yi)ln(1?Pi)] |
(3) |
式中,Yi表示樣本i的標簽,正樣本為1,負樣本為0,Pi表示樣本i預測為目標的概率。
2.?? 本文中提出的算法
2.1?? 模型初始化
目前深度學習的算法被廣泛應用于目標跟蹤,通常需要大量的訓練數據。由于紅外點狀小目標視頻數據十分有限,因此運用預訓練跟蹤模型,將元學習運用到卷積神經網絡中,在共享域中使用包含紅外點狀目標的靜態圖片對模型進行離線的預訓練,充分的表示點狀目標的外觀特征,使得模型學習目標的通用屬性,如時序性、空間特性等。本文中采用對VGG網絡模型進行訓練,來初始化跟蹤模型。
首先,隨機初始化網絡模型參量θ并將Xn輸入到VGG網絡中提取目標特征f(Xn),利用網絡模型參量θ在f(Xn)上做卷積操作,得到目標位置的響應圖像,響應圖像與真實標簽Yn之間的差異來計算損失L,然后求得損失L對初始參量θ的導數并將其送到優化網絡U(?)中,獲得更新后的參量θ*,訓練過程如圖 2所示。
L=l(θ?f(Xn),Yn)L=l(θ?f(Xn),Yn) |
(4) |
l(S,Y)=ln[1+exp(?SY)]l(S,Y)=ln[1+exp(?SY)] |
(5) |
Figure?2.? Meta-learning training process
式中,l為分類損失函數,*為卷積操作,S是響應圖像,Y為訓練數據的標簽。
利用損失函數L來更新優化器參量?與網絡模型參量θ,如下式所示[12]:
{??=??α?L?θ?=θ+U(?Lθ,??){??=??α?L?θ?=θ+U(?Lθ,??) |
(6) |
通過隨機梯度下降算法(stochastic gradient descent, SGD)[13]對網絡參量θ和優化器參量?進行優化,得到更新后的網路模型參量θ*和優化器參量?*,學習率α=0.0001,?Lθ?Lθ表示損失梯度,更新網絡U(·)為隨機梯度下降算法。
圖 3a為俯拍海面船舶的場景,受海面的反光,海面波浪等的影響。圖 3b為田野背景模糊小目標紅外圖像序列,受到不同背景雜波的影響,如光照強度、樹木遮擋、形狀變化等。圖 3c為海天背景紅外圖像序列。由于高亮的云層的影響,目標通常被淹沒在雜波中。圖像以“.jpg”格式存儲,數據集獲取場景涵蓋了天空、海面等多種場景,背景相對復雜。
Figure?3.? Some examples of static data and dynamic video data in the pre-training stage
通過網絡的卷積層在離線訓練階段學習包含紅外點狀目標的靜態圖像中的通用屬性,如時序性、空間特性等。特定屬性是目標在不同的紅外場景下所具有的明顯差異目標特征的信息,通過初始幀中的目標來學習目標的特定表示,如尺度。
圖 4a是原圖,圖 4b是卷積層1,圖 4c是卷積層2,圖 4d是卷積層3的卷積層的特征可視化顯示的圖。從圖 4中可以看出,紅外點狀目標占較小的像素,因此淺層特征更多地偏向于對圖像邊緣的信息,包含較多的位置信息和豐富的運動信息,同時會保留圖像更多的空間特性,這有利于目標定位。隨著層數的加深,空間信息逐漸減少,從而影響分類器的定位精確度。
Figure?4.? Features of different layers extracted using VGG network
2.2?? 模型更新
在長時目標跟蹤過程中,跟蹤目標的相關特性可能會發生變化,如目標的形狀,目標被遮擋,以及背景變化等。如果沒有根據目標最新狀態進行采樣來更新模型,會導致目標跟蹤失敗。因此,為了適應目標在跟蹤過程中外觀的變化,避免跟蹤器產生漂移,更精確地跟蹤目標,因而根據跟蹤目標和背景的變化來更新樣本和模型。
在后續幀中,當第t幀候選樣本中前3幀的最大響應值的平均值大于設定的閾值Tth,認為當前幀跟蹤結果可靠,則把R作為當前幀中目標的位置。若R小于閾值Tth(其中Tth=0.5為經驗值)時,說明目標被遮擋,發生形變和光照變化,目標和背景產生較大的變化(如圖 5所示),此時重新獲取當前幀目標信息,這時啟動重檢測,使用多尺度局部梯度強度評估算法[14]來檢測出當前幀的目標位置信息,當檢測算法定位到目標在當前測試幀的位置時,會按照模型初始化時的方式將檢測算法定位得到的目標區域的基礎上采集樣本。通過檢測得到的目標位置作為正樣本,其周圍區域作為負樣本來構成樣本集合,將在線獲得的樣本作為訓練數據來訓練網絡,對模型進行訓練更新,直到成功預測目標位置。通過這種方式,使得模型能夠及時適應目標的外觀變化。
Figure?5.? The target is occlusion, deformation, back-ground clutter
給定視頻幀中第t幀的圖像,以t-1幀圖像中目標的預測位置為中心獲得搜索區域圖像Xt,利用網絡獲得響應圖像St:
St=θ??f(Xt)St=θ??f(Xt) |
(7) |
從St中通過響應值最大的位置來估計出目標所在的位置。
2.3?? 跟蹤模型
本文中算法以對卷積神經網絡(convolutional neural networks, CNN)進行離線訓練和在線模型更新相結合的方式對紅外點狀目標進行跟蹤。跟蹤過程的整體框架如圖 6所示。
Figure?6.? Flow chart of the entire algorithm
圖 6中,紫色的實線框1為初始幀給定的目標區域,紅色的虛線框2為前一幀目標區域,藍色虛線框3為待搜索區域,綠色實線框4為當前幀目標區域,藍色實線框5為最后一幀目標區域。
當前視頻幀將前一幀的目標位置作為輸入,根據前一幀的目標位置為中心,在它的周圍用多維高斯分布的形式進行采樣,將采集的樣本輸入到模型中獲得輸出結果,輸出結果為輸入圖像塊的響應值,取其中前3個具有最大響應值的平均值的圖像塊位置作為預測目標位置。如果將最大響應值作為目標位置,因測試和訓練樣本之間的差異,背景變化等這些原因,響應值最高的點不一定是最優的目標位置。因此,為了解決這個問題,本文中從多個響應值中選擇前3個最高的響應值,然后對它求平均值作為目標的預測位置。
根據設定的閾值Tth來判斷目標是否進行重檢測。將取平均值后的響應值R與設定的閾值Tth進行比較,若R>Tth,認為跟蹤準確,則把R作為當前幀中目標的位置; 若R?Tth,那么認為目標發生了遮擋,本文中檢測方法使用多尺度局部梯度強度評估算法,再次檢測到目標。通過檢測得到的目標位置作為正樣本,其周圍區域作為負樣本組成一個小批量數據,使用在線獲得的樣本作為訓練數據,對模型進行更新。
在紅外視頻序列中,紅外點狀目標在前后兩幀中的像素是相接近的,而且在相鄰的多幀圖像中,目標位置信息有相關性,而背景雜波沒有這個特性。卡爾曼濾波根據前幾幀目標狀態來預測當前幀目標可能的運動方向和運動速度。
當目標運動速度過快或者過慢時,初步設定的以目標區域大小的3倍的搜索框就不合理,在搜索框內可能不存在目標,導致目標的丟失。根據卡爾曼濾波預測的目標運動速度自適應調節搜索框的大小,根據預測的目標運動方向把搜索框選擇在目標可能存在的區域。因此在卡爾曼濾波預測的位置范圍內,用模型來確定最終的目標位置。
在復雜的紅外背景下,目標與背景的灰度差較小,當目標消失在雜波中或者重新出現時,跟蹤算法會失去目標,采用重檢測使跟蹤算法發生跟蹤失敗時,能夠讓跟蹤算法重新檢測到目標是非常重要的。若逐幀都進行重檢測,那么計算量較大,因此通過閾值來判斷是否進行重檢測。本文中檢測方法使用多尺度局部梯度強度評估算法,達到再次檢測到目標的目的。首先計算前3幀的最大響應值的平均值R。當前3幀的最大響應值的平均值R?Tth時,認為目標發生了遮擋,需要進行重檢測; 當R≥Tth時,認為跟蹤準確,作為新的目標位置。
Rˉ=Rt?1+Rt?2+Rt?33Rˉ=Rt?1+Rt?2+Rt?33 |
(8) |
式中,Tth=0.5為經驗值,Rt-1,?Rt-2,?Rt-3為前3幀的最大響應值,R為平均響應值。
3.?? 實驗結果和分析
3.1?? 實驗環境和數據集
為了測試本文中所提出算法的跟蹤性能,在不同的數據集上進行了對比實驗。這5幅紅外點狀圖像序列的詳細信息如表 1所示。本文中通過對具有不同背景的5幅紅外序列的數據集上對本文中提出的算法進行了跟蹤對比實驗。本文中所有的實驗都是在一臺具有一個3.6GHz Intel Core i7 CPU、8G內存的計算機上進行的,并使用MatConvNet工具箱。
Table?1.? Data set for the test tracking
databases | back-ground | image size | frame?numbers | target size/pixel(n×n) |
---|---|---|---|---|
seq.1 | sunny-sky | 256×200 | 30 | 8×8 |
seq.2 | missile | 504×396 | 381 | 9×9 |
seq.3 | could-sky 1 | 250×250 | 170 | 7×7 |
seq.4 | sea-sky | 250×250 | 342 | 8×8 |
seq.5 | could-sky 2 | 250×250 | 270 | 7×7 |
|?顯示表格
3.2?? 評價指標
在本文實驗中采用3個評價指標來測試跟蹤算法的性能。
(1) 重疊率(intersection-over-union, IOU),它主要度量通過跟蹤算法估計的目標位置框與目標真實位置框之間的重疊部分[15]:
UIOU=A1∩A2A1∪A2UIOU=A1∩A2A1∪A2 |
(9) |
式中,A1為標注的目標框,A2為跟蹤的跟蹤框,∩為交集操作,∪為并集操作。
(2) 中心位置誤差(center location error, CLE),通過計算跟蹤框的中心位置之間的歐氏距離,ECLE的值越小,說明該方法更加有效[16]:
ECLE=(x0?x1)2+(y0?y1)2??????????????????√ECLE=(x0?x1)2+(y0?y1)2 |
(10) |
式中,(x0,?y0)為目標真實位置的中心坐標,(x1,?y1)為跟蹤到的目標位置中心坐標。
(3) 準確率(precision plots,PRE),它的定義為:
EPRE=rsEPRE=rs |
(11) |
式中,s為紅外圖像序列總的幀數,r為中心位置誤差的值小于閾值的圖像幀數[17]。比值越大,說明該算法的跟蹤結果越準確。
3.3?? 實驗結果和分析
為了檢驗本文中提出的算法跟蹤紅外點狀目標的性能,選擇了中值光流算法[18]、在線學習及檢測(tracking learning detection, TLD)算法[19]、多實例學習(multiple instance learning, MIL)算法[20]等3種常規的跟蹤算法作為本文中算法的對比實驗。本文中的實驗是計算機環境Windows10,3.6GHz Intel Core i7 CPU、8G內存,基于Python實現的。實驗中采用的軟件開發平臺是Microsoft Visual Studio 2015,使用MatConvNet庫的MATLAB2014軟件。本文中的實驗通過對具有不同背景的5幅紅外序列的數據集上對4種跟蹤算法進行了跟蹤。
圖 7~圖 11中顯示了4個跟蹤算法在5個不同的紅外視頻序列上的跟蹤結果。綠色框表示目標真實位置框(ground-truth, GT),紅色框通過本文中算法得到的跟蹤結果坐標框,深藍色、橙色、紫色框依次分別是通過中值光流算法、TLD算法、MIL算法得到的跟蹤結果坐標框。
Figure?7.? Representative visual results of four tracking algorithms on seq.1 dataset
Figure?8.? Representative visual results of four tracking algorithms on seq.2 dataset
Figure?9.? Representative visual results of four tracking algorithms on seq.3 dataset
Figure?10.? Representative visual results of four tracking algorithms on seq.4 dataset
Figure?11.? Representative visual results of four tracking algorithms on seq.5 dataset
在紅外視頻序列1中(如圖 7所示),在第1幀(如圖 7a所示),目標與背景的灰度差較小,當點狀目標最先從云層中出現時,TLD算法偏移較大,出現丟幀現象,失去了目標。中值光流算法、MIL算法偏移較小。在第10幀(如圖 7b所示),中值光流算法偏移較大。從第20幀開始(如圖 7c所示),TLD算法和中值光流算法在不同的階段都失去了目標, 無法再次檢測到目標。在信噪比較低的情況下,本文中算法能夠準確跟蹤到目標。
在紅外視頻序列2中(如圖 8所示),在第180幀(如圖 8b所示),中值光流算法、TLD算法和MIL算法偏移較大、失去了目標。在第280幀(如圖 8c所示),MIL和中值光流算法都失去目標。在第381幀(如圖 8d所示),中值光流算法、MIL算法、TLD算法失去了目標,無法恢復。本文中算法一直穩定地跟蹤到目標,而其它3種算法跟蹤失敗,失去目標。
在紅外視頻序列3中(如圖 9所示),在第1幀(如圖 9a所示),MIL算法發生微小的偏移。在第60幀(如圖 9b所示),MIL算法和TLD算法初始發生偏移,目標并不處于跟蹤區域的中心。在第110幀(如圖 9c所示),紅外點狀目標初步進去云層中,這時中值光流算法、MIL算法中,目標并不處于跟蹤區域的中心。在第170幀(如圖 9d所示), 目標消失在云層被遮擋時,背景與目標之間的灰度差比較小并且紅外背景相對較復雜,中值光流算法失去了目標。盡管是在復雜背景下,本文中算法依然能夠有效地準確跟蹤到紅外點狀目標。
在紅外視頻序列4中(如圖 10所示),在第140幀(如圖 10b所示),中值光流算法偏移變大,失去目標,無法再次檢測到目標,MIL算法偏移較小。在第240幀(如圖 7c所示),TLD算法、MIL算法跟蹤效果并不穩定,而本文中算法一直穩定地跟蹤到目標。
在紅外視頻序列5中(如圖 11所示),在第100幀(如圖 11b所示),目標重現在云層中出來,目標區域發生了變化,中值光流算法失去了目標,無法恢復。在第170幀(如圖 11c所示),目標開始重新進入云層中,TLD算法、MIL算法中的目標并不在跟蹤區域的中心位置。在第270幀(如圖 11d所示),目標消失在云層中被遮擋,MIL算法偏移較小,中值光流算法和TLD算法偏移較大,失去了目標,無法再次檢測到目標。當目標從非云層區域移動到云層區域時,中值光流算法和TLD算法跟蹤失敗,MIL算法開始發生偏移,而本文中算法保持了較強的跟蹤性能。
綜上所述,通過對5幅圖像序列的對比,本文中提出的算法在不同的紅外場景下穩定地跟蹤到目標的同時,還可以保證對整個視頻序列的準確跟蹤,抗干擾能力較強。中值光流算法和TLD算法的跟蹤性能較差,對跟蹤過程常存在的如目標遮擋、背景雜波和快速運動等問題解決較差。在突然變化的背景或背景雜波的環境中,本文中算法不僅準確跟蹤到目標,而且跟蹤結果坐標更加貼近真實目標框。
表 2顯示,將本文中算法與中值光流算法、TLD算法、MIL算法的跟蹤結果來評價算法的性能, 展現幾種跟蹤算法準確跟蹤的幀數。其中occlusion表示目標被遮擋的總幀數。實驗表明,中值光流算法和TLD算法對目標被局部遮擋的情況下跟蹤效果比較差,MIL算法有部分未跟蹤成功的情況,而本文中算法對整個視頻序列準確跟蹤。
Table?2.? Number of successfully tracked frames(ours in comparison to medianflow, TLD, MIL results)
sequence | frames | occlusion | medianflow | TLD | MIL | ours |
---|---|---|---|---|---|---|
sunny-sky | 30 | 10 | 10 | 1 | 25 | 30 |
missile | 381 | 0 | 15 | 253 | 43 | 381 |
could-sky 1 | 170 | 57 | 63 | 165 | 161 | 170 |
sea-sky | 342 | 0 | 65 | 340 | 277 | 342 |
could-sky 2 | 270 | 124 | 5 | 217 | 250 | 270 |
|?顯示表格
圖 12~圖 16是本文中提出的算法、中值光流算法、TLD算法、MIL算法等4種跟蹤算法在不同背景下的紅外圖像序列上的重疊率(IOU)、中心位置誤差圖(CLE)和基于中心位置誤差的精確度圖(PRE)。從圖 12~圖 16中清楚地看到,本文中算法的跟蹤結果受到的背景雜波和非目標點的影響較小,表明該方法是比較有效的。還可以看出,與其它3種算法相比,本文中算法在不同背景下的性能都是較好的,這表明本文中算法具有更好的跟蹤性能。
Figure?12.? IOU, CLE, PRE plots of the four tracking algorithms on the seq. 1
Figure?13.? IOU, CLE, PRE plots of the four tracking algorithms on the seq.2
Figure?14.? IOU, CLE, PRE plots of the four tracking algorithms on the seq. 3
Figure?15.? IOU, CLE, PRE plots of the four tracking algorithms on the seq.4
Figure?16.? IOU, CLE, PRE plots of the four tracking algorithms on the seq.5
4.?? 結論
本文中把機器學習的方法運用在紅外點狀目標跟蹤中,使用元學習的線下訓練,使得模型可以學習到跟蹤目標的通用特征,有效解決了紅外點狀目標訓練數據不足的問題。此外,在長時跟蹤過程中,目標可能存在被遮擋、跟蹤可能會發生漂移等情況,從而丟失目標,因此,本文中提出重檢測機制,重新跟蹤到目標,實現穩定跟蹤。與此同時,通過卡爾曼濾波算法預測目標運動模型,得到最優的搜索區域。為了驗證本文中算法的有效性,對不同背景下的紅外圖像序列上進行測試,均表現出了良好的性能,實驗結果表明了此方法的有效性。同時,與現有方法進行了比較,該算法優于其它幾種紅外點狀目標跟蹤算法。在后續的研究中,將在此基礎上,結合使用優化算法來進一步提高算法的實時性。
?【轉載聲明】轉載目的在于傳遞更多信息。如涉及作品版權和其它問題,請在30日內與本號聯系,我們將在第一時間刪除!
關注微信公眾號:人工智能技術與咨詢。了解更多咨詢!
編輯:fqj
評論
查看更多