解云嬌,楊大偉,毛 琳
(大連民族大學(xué) 機電工程學(xué)院,遼寧 大連 116605)
基于深度學(xué)習(xí)的目標(biāo)跟蹤算法無法適應(yīng)視頻圖像中目標(biāo)外觀的劇烈變化,導(dǎo)致神經(jīng)網(wǎng)絡(luò)難以捕獲目標(biāo)區(qū)域的卷積特征,進而產(chǎn)生跟蹤漂移問題。隨著計算機視覺在無人駕駛領(lǐng)域的應(yīng)用,很多學(xué)者正致力于目標(biāo)跟蹤相關(guān)算法的改進,在這期間涌現(xiàn)出大量優(yōu)秀的跟蹤算法[1]。文獻(xiàn)[2]提出采用VAE方法生成多樣化正樣本SINT++算法,使用強化學(xué)習(xí)豐富訓(xùn)練數(shù)據(jù)從而提高跟蹤的準(zhǔn)確率,但該算法實現(xiàn)復(fù)雜,當(dāng)跟蹤目標(biāo)未知時,需要利用隨機梯度下降法在線微調(diào)網(wǎng)絡(luò)權(quán)重,使得跟蹤效率下降,難以達(dá)到實時跟蹤;Siamese-FC是一種端到端的全卷積孿生網(wǎng)絡(luò)算法[3],該算法按照運動學(xué)模型提取目標(biāo),生成兩個互相關(guān)特征圖,比較搜索區(qū)域與目標(biāo)模板的相似度,將相似性最高的區(qū)域輸出為跟蹤結(jié)果,該算法網(wǎng)絡(luò)結(jié)構(gòu)簡單,跟蹤速度達(dá)到58 fps,但網(wǎng)絡(luò)深層缺少細(xì)節(jié)特征,導(dǎo)致跟蹤容易受到特征干擾而出現(xiàn)錯誤;文獻(xiàn)[4]基于Siamese-FC,提出SiamRPN算法,引入Faster RCNN區(qū)域候選網(wǎng)絡(luò)模塊[5],跟蹤器可同時計算目標(biāo)的位置、形狀,避免多尺度測試,進一步提高算法性能,跟蹤速度達(dá)到160 fps,但該算法魯棒性較差,無法對目標(biāo)實現(xiàn)長時間視覺跟蹤。針對這些問題,文獻(xiàn)[6]提出SiamMask算法,在Siamese-FC和SiamRPN的基礎(chǔ)上引入全卷積孿生網(wǎng)絡(luò)的離線訓(xùn)練過程,可同時應(yīng)用于目標(biāo)跟蹤和半監(jiān)督視頻對象的分割任務(wù),但該算法在運動模糊發(fā)生時無法獲取目標(biāo)顯著特征,導(dǎo)致跟蹤漂移。
本文針對運動模糊場景下發(fā)生的跟蹤漂移問題,提出一種顯著性能量目標(biāo)跟蹤軌跡修正算法(Saliency Energy Target Tracking Trajectory Correction Algorithm,SEC),通過分析目標(biāo)區(qū)域的顯著性能量特征對跟蹤結(jié)果進行漂移判定。該算法引入漂移判定模塊來辨識跟蹤結(jié)果目標(biāo)區(qū)域是否發(fā)生漂移,當(dāng)確定偏移發(fā)生時,利用軌跡預(yù)測模塊對不準(zhǔn)確的跟蹤結(jié)果進行修正,從而改善運動模糊情況下的跟蹤漂移問題,有效提升跟蹤精度。
為解決模糊運動場景下全卷積孿生網(wǎng)絡(luò)跟蹤算法存在的跟蹤漂移問題,本文提出SEC算法,將顯著性能量特征與軌跡預(yù)測結(jié)合。首先分析跟蹤結(jié)果區(qū)域中目標(biāo)特征的能量偏差,判定跟蹤結(jié)果是否失效;使用軌跡預(yù)測模塊對判定跟蹤失敗的輸出結(jié)果進行目標(biāo)跟蹤位置校正,以此改善算法跟蹤效果。
SiamMask算法雖具有較好的跟蹤效果,但在運動模糊場景下,跟蹤器無法獲取目標(biāo)特征且難以區(qū)分目標(biāo)與背景,出現(xiàn)跟蹤漂移問題。導(dǎo)致目標(biāo)與背景難以區(qū)分的原因是運動模糊場景中的目標(biāo)特征發(fā)生劇烈變化,在這種情況下僅僅使用普通的圖像卷積特征不能進行有效跟蹤。圖像顯著性分析方法[7-8]通過提取感興趣目標(biāo)區(qū)域作為顯著性區(qū)域,使得目標(biāo)可以很好地適應(yīng)動態(tài)背景場合。分析圖像能量分布的方法可以有效整合跟蹤目標(biāo)的紋理、顏色、HOG以及深度特征等單一特征,經(jīng)過能量統(tǒng)計后可保留跟蹤目標(biāo)區(qū)域中的有效特征[9-10]。本文采用圖像顯著性結(jié)合能量統(tǒng)計的方法計算目標(biāo)區(qū)域能量特征,判別跟蹤結(jié)果中目標(biāo)特征的有效性。
(1)
(2)
(3)
Rn+1=Dn+1-Drn。
(4)
式(4)中Rn+1表示第n+1幀跟蹤結(jié)果的歐式距離Dn+1與距離上限值Dr波動差值,超出距離上限則判定該跟蹤結(jié)果出現(xiàn)漂移。否則,判定該跟蹤結(jié)果沒有出現(xiàn)漂移。顯著性能量特征漂移判定算法工作流程如圖1。
圖1 漂移判定模塊工作流程
針對運動模糊場景下跟蹤算法搜索目標(biāo)的局限性,本文引入LSTM網(wǎng)絡(luò)結(jié)構(gòu)解決軌跡預(yù)測問題。跟蹤器實時在線跟蹤的同時,使用LSTM軌跡預(yù)測算法同步獲取并保存跟蹤目標(biāo)的位置信息,當(dāng)卷積神經(jīng)網(wǎng)絡(luò)顯著性能量特征漂移判定模塊判定第n+1幀圖像因運動模糊發(fā)生漂移時,調(diào)用LSTM預(yù)測模型預(yù)測漂移幀中目標(biāo)的位置,用預(yù)測結(jié)果校正目標(biāo)跟蹤結(jié)果。
(5)
圖2 SEC算法工作流程圖
仿真實驗使用GeForce 1080Ti顯卡,操作系統(tǒng)為64位Ubuntu 16.04,編程環(huán)境為Python 3.6,Pytorch 0.4.1,CUDA 9.0,ILSVRC2015-VID訓(xùn)練集、VOT2018和OTB-50基準(zhǔn)測試集。SEC算法相關(guān)參數(shù)設(shè)置見表1。
表1 SEC算法相關(guān)參數(shù)設(shè)置
仿真結(jié)果表明,SEC在OTB-50測試集上丟失幀數(shù)為36,SiamMask的丟失幀數(shù)為74,SEC算法有效抑制了跟蹤漂移造成的跟蹤失效。選取OTB-50數(shù)據(jù)集部分視頻序列,進一步對比SEC與SiamMask的性能差異,如圖3。
圖3 SiamMask與SEC算法跟蹤結(jié)果對比
通過Matrix、Soccer、Blurcar1、MotorRolling視頻序列進行算法性能分析,SiamMask算法由于使用單一的卷積特征進行跟蹤,無法捕捉模糊圖像中的目標(biāo)特征,從而發(fā)生跟蹤漂移,在原跟蹤網(wǎng)絡(luò)中加入SEC算法后,跟蹤器可以較好地應(yīng)對跟蹤漂移問題,成功修正跟蹤結(jié)果。
在第(1)組對比圖中可以看出,由于目標(biāo)所在圖像的背景復(fù)雜,SiamMask無法捕獲全部的目標(biāo)特征區(qū)域,而SEC能夠跟蹤到大部分目標(biāo)特征區(qū)域;在第(2)組對比圖中,存在大量相似的跟蹤目標(biāo),SiamMask容易混淆存在相似特征的區(qū)域(第241幀),進而發(fā)生跟蹤漂移(第382幀),由于SEC能夠區(qū)分目標(biāo)區(qū)域的顯著性能量特征,從而提高了這種復(fù)雜環(huán)境下的跟蹤精度;在第(3)組對比圖中,針對SiamMask在運動模糊場景下發(fā)生的漂移問題,SEC成功修正了跟蹤結(jié)果;在第(4)組對比圖中,當(dāng)目標(biāo)在相鄰幀中發(fā)生大幅度形變時,SiamMask的分割掩碼無法準(zhǔn)確計算出下一幀目標(biāo)的所在區(qū)域,進而目標(biāo)框無法及時收縮,SEC能夠發(fā)現(xiàn)這一缺點,并精確框定了發(fā)生形變的目標(biāo)所在區(qū)域。
SEC算法選取VID數(shù)據(jù)集視頻序列的軌跡信息作為軌跡預(yù)測模塊的訓(xùn)練樣本。在VOT2018的仿真測試結(jié)果見表2。與SiamMask進行仿真對比,SEC算法將SiamMask算法的跟蹤精度提高了0.2%。SEC算法雖然對模糊序列的目標(biāo)跟蹤準(zhǔn)確率提升明顯,但是當(dāng)目標(biāo)跟蹤軌跡中出現(xiàn)連續(xù)跟蹤漂移時,由于算法的軌跡預(yù)測模塊依賴于歷史位置信息,所以相比SiamMask算法,其魯棒性降低了1.8%。因VOT2018中運動目標(biāo)較為清晰,跟OTB數(shù)據(jù)集相比,視頻序列較少存在目標(biāo)模糊和抖動現(xiàn)象,所以本算法在此數(shù)據(jù)集上提高幅度較小。
表2 VOT2018仿真測試結(jié)果
本文針對SiamMask算法出現(xiàn)的跟蹤漂移現(xiàn)象,提出顯著性能量目標(biāo)跟蹤軌跡修正算法SEC。SEC算法通過分析目標(biāo)區(qū)域的顯著性能量特征,篩選出錯誤的跟蹤結(jié)果,利用軌跡修正模塊對錯誤結(jié)果進行校正,進一步提高跟蹤精度。與SiamMask算法相比,SEC算法進一步改善了復(fù)雜情況下目標(biāo)跟蹤的精度,適用于智能監(jiān)控和無人自主駕駛等系統(tǒng)。