王紅濤, 鄧淼磊, 趙文君, 張德賢
(河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院, 鄭州 450001)
單目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域基礎(chǔ)且具有廣泛實(shí)用性的任務(wù)之一, 其跟蹤方法就是在視頻第一幀中獲取目標(biāo)區(qū)域的特征信息, 以此為依據(jù)在后續(xù)幀中對(duì)目標(biāo)狀態(tài)進(jìn)行估計(jì)并進(jìn)行準(zhǔn)確定位.目前單目標(biāo)跟蹤技術(shù)在許多領(lǐng)域均有應(yīng)用, 例如在智能視頻監(jiān)控領(lǐng)域[1], 可以根據(jù)監(jiān)控目標(biāo)的移動(dòng)軌跡自動(dòng)跟蹤, 并自動(dòng)適應(yīng)監(jiān)控場(chǎng)景中的其他變化, 而不需要人為的干預(yù); 在自動(dòng)駕駛領(lǐng)域[2,3], 通過采用視覺目標(biāo)跟蹤技術(shù), 對(duì)車輛周圍的汽車、行人、道路進(jìn)行區(qū)分, 進(jìn)而合理避障, 安全行駛;在智能人機(jī)交互領(lǐng)域[4,5], 通過對(duì)人體的動(dòng)作捕捉或眼球跟蹤, 以此產(chǎn)生對(duì)應(yīng)的交互操作. 但由于現(xiàn)實(shí)場(chǎng)景比較復(fù)雜, 在應(yīng)對(duì)遮擋、運(yùn)動(dòng)模糊、背景干擾等問題時(shí),跟蹤效果并不是十分理想.
本文旨在通過對(duì)單目標(biāo)跟蹤領(lǐng)域算法的分類梳理與分析, 為研究人員的進(jìn)一步研究提供一份較高質(zhì)量的研究綜述, 主要結(jié)構(gòu)如下:
文中第1 節(jié)主要介紹單目標(biāo)跟蹤相關(guān)背景, 包括跟蹤框架和跟蹤挑戰(zhàn)以及深度學(xué)習(xí)中的主流網(wǎng)絡(luò); 第2 節(jié)對(duì)相關(guān)濾波類算法的發(fā)展進(jìn)行簡(jiǎn)單回顧, 并介紹其基于深度特征的改進(jìn); 第3 節(jié)對(duì)深度學(xué)習(xí)類單目標(biāo)跟蹤算法進(jìn)行系統(tǒng)性的梳理, 并通過數(shù)據(jù)分析總結(jié)其優(yōu)缺點(diǎn); 第4 節(jié)對(duì)本文內(nèi)容進(jìn)行總結(jié)并針對(duì)算法的缺點(diǎn)與不足對(duì)未來的發(fā)展趨勢(shì)做出展望.
單目標(biāo)跟蹤的跟蹤框架一般可以分為5 部分, 分別是運(yùn)動(dòng)模型、特征提取、觀測(cè)模型、模型更新和集成處理[6], 其中觀測(cè)模型是目標(biāo)能否成功跟蹤的關(guān)鍵,一般可以分為生成式模型和判別式模型.
生成式方法首先通過特征學(xué)習(xí)得到目標(biāo)的外觀模型, 接著在后續(xù)幀中進(jìn)行模板匹配, 尋找最匹配區(qū)域,以此作為目標(biāo)位置. 比較著名的生成式方法[7]有卡爾曼濾波[8]、粒子濾波[9]、均值漂移[10]等. 但生成式方法沒有考慮幀中的背景信息, 所以當(dāng)面對(duì)光照變化、運(yùn)動(dòng)模糊等挑戰(zhàn)時(shí)跟蹤準(zhǔn)確率往往很低.而判別式方法將跟蹤問題轉(zhuǎn)換為一個(gè)二分類問題, 通過提取到的目標(biāo)區(qū)域和背景區(qū)域的特征, 訓(xùn)練一個(gè)分類器在后續(xù)幀中對(duì)目標(biāo)與背景進(jìn)行區(qū)分. 由于判別類方法很好的利用了背景中的特征信息, 因此跟蹤往往更為準(zhǔn)確.
盡管國內(nèi)外學(xué)者已經(jīng)對(duì)視覺目標(biāo)跟蹤技術(shù)研究多年, 但在實(shí)際應(yīng)用場(chǎng)景中, 想要對(duì)目標(biāo)實(shí)現(xiàn)實(shí)時(shí)、準(zhǔn)確、穩(wěn)定的跟蹤仍是一個(gè)很大的難題, 主要面臨的挑戰(zhàn)[11]如下:
1) 遮擋(occlusion). 在現(xiàn)實(shí)場(chǎng)景中, 正在運(yùn)動(dòng)中的目標(biāo)很容易發(fā)生相互遮擋, 進(jìn)而丟失部分或全部信息.部分信息丟失時(shí), 可以通過對(duì)目標(biāo)分塊或者及時(shí)更新模板的方法進(jìn)行解決, 而全部信息丟失目前并沒有好的辦法完全解決.
2) 圖像模糊(image blur). 運(yùn)動(dòng)模糊、光照變化、圖像分辨率較低等情況, 都會(huì)導(dǎo)致目標(biāo)出現(xiàn)模糊效果,使目標(biāo)外觀特征信息受損, 進(jìn)而影響到后續(xù)的特征提取與匹配.
3) 形變(deformation). 目標(biāo)在運(yùn)動(dòng)過程中很容易發(fā)生形態(tài)變化, 如果形變過大則會(huì)導(dǎo)致跟蹤發(fā)生漂移.應(yīng)對(duì)這個(gè)挑戰(zhàn)的關(guān)鍵在于能夠及時(shí)的更新目標(biāo)的表觀模型, 使其很快適應(yīng)表觀的變化.
4) 尺度變化(scale variation). 一般由物體在運(yùn)動(dòng)過程中距離鏡頭的遠(yuǎn)近產(chǎn)生了較大的變化或者非剛性的物體在運(yùn)動(dòng)過程中發(fā)生旋轉(zhuǎn)導(dǎo)致較大的尺度變化, 目前的尺度自適應(yīng)算法已經(jīng)較好的解決了這類問題.
5) 背景干擾(background clutters). 背景干擾主要是圖像背景與目標(biāo)特征相似, 這會(huì)導(dǎo)致跟蹤器在提取目標(biāo)特征信息時(shí)無法較好的區(qū)分目標(biāo)和背景, 導(dǎo)致信息提取錯(cuò)誤, 最終跟蹤錯(cuò)誤. 因此選擇有效的特征對(duì)目標(biāo)和背景進(jìn)行區(qū)分非常必要.
深度學(xué)習(xí)在單目標(biāo)跟蹤領(lǐng)域的成功, 很大程度上得益于神經(jīng)網(wǎng)絡(luò)能提取到更優(yōu)更精細(xì)的深度特征, 進(jìn)而更好的用于后續(xù)的識(shí)別、跟蹤. 本節(jié)簡(jiǎn)要介紹深度學(xué)習(xí)網(wǎng)絡(luò)中主流的卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)和生成式對(duì)抗網(wǎng)絡(luò).
1.3.1 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)是一類具有強(qiáng)大表征學(xué)習(xí)能力的前饋神經(jīng)網(wǎng)絡(luò),一般由卷積層、池化層、全連接層3 部分組成. 經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5[12]的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示.
圖1 LeNet-5 網(wǎng)絡(luò)結(jié)構(gòu)
2012 年Krizhevsky 等人提出了更深且性能更為優(yōu)越的AlexNet 模型[13]. AlexNet 一共8 層, 通過引入dropout 方法使全連接層中部分神經(jīng)元失去作用來緩解過擬合, 且使用雙GPU 加速進(jìn)行訓(xùn)練, 在該年的ImageNet 圖像識(shí)別大賽中取得了很好的成績(jī). 2014 年,牛津大學(xué)團(tuán)隊(duì)基于如何設(shè)計(jì)一個(gè)更深的網(wǎng)絡(luò)的設(shè)想提出了VGGNet[14], 將神經(jīng)網(wǎng)絡(luò)的深度提升為11/13/16/19 層. 同年, Szegedy 提出的GoogleNet[15]將網(wǎng)絡(luò)的深度增加到了22 層, 并通過在網(wǎng)絡(luò)中引入Inception 單元進(jìn)一步提升了模型的整體性能. 2015 年He 等人通過殘差學(xué)習(xí)的構(gòu)想成功訓(xùn)練出超深的神經(jīng)網(wǎng)絡(luò)ResNet[16],且性能并沒有下降. 2017 年, Howard 等人提出了一種簡(jiǎn)單而有效的深度可分離卷積網(wǎng)絡(luò)MobileNet[17], 為以后的模型發(fā)展提供了另一種可能性, 各模型主要參數(shù)對(duì)比如表1 所示.
表1 深度模型參數(shù)對(duì)比
1.3.2 循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)[18]適用于處理具有時(shí)間序列特性的數(shù)據(jù), 其基礎(chǔ)結(jié)構(gòu)如圖2 所示. 其中,xt為t時(shí) 刻輸入層的值,ot為t時(shí)刻輸出層的值,u、v、w為網(wǎng)絡(luò)中的共享參數(shù). 從圖中可以看出, 在t時(shí)刻的隱藏層的值ht由前一時(shí)刻隱藏層的值ht-1和 輸入xt共同得到, 且ht的值不僅用于產(chǎn)生ot的值,也作用于下一時(shí)刻ht+1的值, 正是由于這種“記憶”功能,使得循環(huán)神經(jīng)網(wǎng)絡(luò)能夠挖掘出數(shù)據(jù)中的時(shí)序信息以及語義信息.
圖2 RNN 模型按時(shí)間線展開
1.3.3 生成式對(duì)抗網(wǎng)絡(luò)
受博弈論二元零和博弈的啟發(fā), 2014 年, Goodfellow等人提出生成式對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)[19], 相比于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)等, GAN 是一種全新的無監(jiān)督網(wǎng)絡(luò)架構(gòu), 其中包含生成模塊和判別模塊, 二者互為對(duì)抗學(xué)習(xí)的目標(biāo), 其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示.
圖3 GAN 網(wǎng)絡(luò)結(jié)構(gòu)
在GAN 的訓(xùn)練過程中, 需要固定其中一個(gè)模塊,然后優(yōu)化另一個(gè)模塊, 如此交替進(jìn)行, 直至兩個(gè)模塊達(dá)到平衡狀態(tài), 此時(shí)判別網(wǎng)絡(luò)已經(jīng)無法判別出數(shù)據(jù)的真?zhèn)? GAN 發(fā)展至今已經(jīng)有了大量的實(shí)際用例, 除了應(yīng)用于圖像生成領(lǐng)域之外, 還可以應(yīng)用于視頻生成[20]、藝術(shù)品生成[21]、3D 建模[22]等領(lǐng)域.
相關(guān)濾波算法跟蹤過程是首先利用初始幀中目標(biāo)區(qū)域特征來訓(xùn)練一個(gè)濾波器, 接著在后續(xù)幀中進(jìn)行相同區(qū)域的特征提取, 然后在頻域中對(duì)提取到的特征進(jìn)行相關(guān)濾波操作, 最后將響應(yīng)圖中得分最大的區(qū)域作為目標(biāo)區(qū)域. 在算法的發(fā)展初期提取的目標(biāo)特征一般為顏色特征、灰度特征等手工特征.
2010 年, Bolme 等人提出了使用單幀即可訓(xùn)練出穩(wěn)定濾波器的MOSSE 算法[23]. MOSSE 算法結(jié)構(gòu)簡(jiǎn)單,對(duì)外觀、光照等變化魯棒性很強(qiáng), 同時(shí)可以高效處理視頻幀. 后續(xù)Henriques 等人基于MOSSE 提出了帶有核循環(huán)結(jié)構(gòu)的CSK[24]和擴(kuò)展了方向梯度直方圖(histogram of oriented gradients, HOG)特征的KCF[25], 進(jìn)一步提升了跟蹤性能. DSST[26]在KCF 的基礎(chǔ)上引入多特征融合機(jī)制, 通過訓(xùn)練尺度濾波器和位置濾波器分別進(jìn)行目標(biāo)尺度估計(jì)和目標(biāo)定位, 能夠較好地應(yīng)對(duì)跟蹤過程中出現(xiàn)的尺度變化, 但跟蹤效率有所下降.
總的來說, 雖然相關(guān)濾波類算法的速度較快, 但無法在速度與精度之間保持較好的平衡. 隨著深度學(xué)習(xí)的發(fā)展, 研究人員開始考慮利用深度學(xué)習(xí)所能提取的更為魯棒的深度特征來代替?zhèn)鹘y(tǒng)相關(guān)濾波方法中使用的CN、HOG 等手工特征, 以提升模型的性能.
2015 年, HCF[27]以KCF 為基本的跟蹤框架, 利用VGG-19 中的Conv3-4、Conv4-4、Conv5-4 層的輸出自適應(yīng)的學(xué)習(xí)3 個(gè)相關(guān)濾波器以對(duì)目標(biāo)外觀進(jìn)行編碼,最后對(duì)得到的響應(yīng)圖進(jìn)行逐層推斷以得到最終的預(yù)測(cè)結(jié)果, 由于采用深層網(wǎng)絡(luò)的輸出包含更多的語義信息,HCF 對(duì)目標(biāo)外觀變化具有很好的魯棒性. C-COT[28]使用隱式插值模型來學(xué)習(xí)一組連續(xù)卷積濾波器, 并通過濾波器與多分辨率特征圖進(jìn)行運(yùn)算產(chǎn)生目標(biāo)的連續(xù)域置信度圖, 進(jìn)而對(duì)目標(biāo)進(jìn)行定位, 取得了很好的跟蹤效果. 但由于C-COT 需要處理高維特征, 計(jì)算量很大, 所以跟蹤效率降低.
2017 年, Danelljan 等人以提高效率的角度出發(fā),從模型大小、樣本集大小、更新策略3 個(gè)方面對(duì)C-COT進(jìn)行了改進(jìn), 提出了ECO 算法[29]. ECO 首先采用分解卷積的方法在特征提取上做了簡(jiǎn)化, 以選取貢獻(xiàn)度較高的維度特征. 其次采用高斯混合模型合并相似樣本,并構(gòu)建差異性較大的樣本分組, 使樣本集同時(shí)具有多樣性和代表性. 最后每隔6 幀進(jìn)行一次模型更新, 不但提高了算法速度, 而且提高了應(yīng)對(duì)遮擋等挑戰(zhàn)的穩(wěn)定性. 2018 年, Bhat 等人提出了UPDT 算法[30], 通過對(duì)網(wǎng)絡(luò)中深層和淺層特征的系統(tǒng)性分析, 針對(duì)不同的層次提出了不同的處理策略, 最后將處理后的特征相結(jié)合進(jìn)而提升網(wǎng)絡(luò)的魯棒性和準(zhǔn)確度. 2019 年, Danelljan等人認(rèn)為采用多尺度搜索的方式來估計(jì)目標(biāo)狀態(tài)的處理方式較為簡(jiǎn)單, 提出了ATOM[31]. ATOM通過在線訓(xùn)練的目標(biāo)分類模塊對(duì)目標(biāo)進(jìn)行粗略的定位, 接著通過離線訓(xùn)練的目標(biāo)估計(jì)模塊進(jìn)行精確定位, 在速度達(dá)到實(shí)時(shí)的情況下取得了較好的精度.
近年來基于深度學(xué)習(xí)的單目標(biāo)跟蹤算法在很多視覺跟蹤挑戰(zhàn)賽中取得了很好的成績(jī), 目前可以主要分為基于孿生網(wǎng)絡(luò)、基于循環(huán)神經(jīng)網(wǎng)絡(luò)、基于生成對(duì)抗網(wǎng)絡(luò)單目標(biāo)跟蹤, 其中基于孿生網(wǎng)絡(luò)的單目標(biāo)跟蹤算法目前已經(jīng)成為了單目標(biāo)跟蹤領(lǐng)域主流的算法.
孿生網(wǎng)絡(luò)以兩個(gè)樣本為輸入, 輸出其嵌入高維度空間的表征, 以比較兩個(gè)樣本的相似程度, 最后將相似度得分圖上得分最高的區(qū)域當(dāng)做目標(biāo)區(qū)域. 2016 年, Tao等人最先提出了孿生網(wǎng)絡(luò)跟蹤算法SINT[32], SINT通過離線訓(xùn)練學(xué)習(xí)到一個(gè)匹配函數(shù), 然后將帶有目標(biāo)框的第一幀數(shù)據(jù)和一系列候選框送入網(wǎng)絡(luò)當(dāng)中, 利用匹配函數(shù)在后續(xù)幀中進(jìn)行目標(biāo)定位. 由于在跟蹤過程中需要處理多個(gè)候選框, 所以比較耗時(shí).
同年, Bertinetto 等人提出了SiamFC[33], SiamFC采用離線訓(xùn)練并在線微調(diào)的跟蹤方式, 在保持跟蹤精度的同時(shí), 提高了跟蹤效率, 成為了未來Siamese 網(wǎng)絡(luò)改進(jìn)的基礎(chǔ). 如圖4 所示, SiamFC 將目標(biāo)模板z和x分別作為模板分支和搜索分支的輸入, 兩個(gè)分支權(quán)值共享, 并通過特征變換 φ提取模板和搜索區(qū)域的特征φ(z) 、φ (x) . 然后, 將φ (z) 當(dāng) 做卷積核在φ (x)上做滑動(dòng)卷積, 最后通過得到的相似度得分來確定目標(biāo)位置.
圖4 SiamFC 跟蹤框架
雖然SiamFC 在速度上遠(yuǎn)超實(shí)時(shí), 但其精度卻低于一些相關(guān)濾波類算法. 表2 展示了VOT2015[34]挑戰(zhàn)賽中的前3 跟蹤器與SiamFC 和SiamFC-3s 的性能對(duì)比,其中, SiamFC-3s 代表3 個(gè)搜索尺度的SiamFC. VOT系列評(píng)價(jià)指標(biāo)相較于OTB 系列擁有獨(dú)特的“重啟”機(jī)制, 即在跟蹤失敗5 幀后會(huì)將跟蹤器重置, 更加充分地利用了數(shù)據(jù)集. 其評(píng)價(jià)指標(biāo)主要為精確率(A)和期望平均重疊率(EAO), 其中, *為消除不同計(jì)算機(jī)性能影響的EFO (equivalent filter operations)速度, ↑代表數(shù)據(jù)越大性能越好, ↓代表數(shù)據(jù)越小性能越好.
表2 SiamFC 與VOT2015 挑戰(zhàn)賽top-3 算法對(duì)比
3.1.1 基于注意力機(jī)制的改進(jìn)
注意力機(jī)制的作用是基于原有的數(shù)據(jù)找到其之間的關(guān)聯(lián)性并突出某些重要的特征, 同時(shí)對(duì)不相關(guān)的特征進(jìn)行抑制. 在目標(biāo)跟蹤領(lǐng)域可以高效地獲取目標(biāo)的特征表達(dá), 進(jìn)一步提升算法的魯棒性.
2018 年He 等人提出了SA-Siam[35], 用于提升SiamFC網(wǎng)絡(luò)的泛化性能. 其跟蹤架構(gòu)如圖5 所示, SA-Siam 的外觀分支的基本結(jié)構(gòu)與SiamFC 基本相同, 主要用于獲取目標(biāo)的表觀特征; 語義分支使用AlexNet網(wǎng)絡(luò), 并且不進(jìn)行更新, 主要用于高層語義信息的提取, 且為了增強(qiáng)語義分支的分辨能力, 添加了一個(gè)通道注意力模塊,使語義分支也能夠關(guān)注到更具有表觀信息的通道. 兩個(gè)分支獨(dú)立訓(xùn)練, 并在最后進(jìn)行融合, 進(jìn)一步提升了模型的泛化能力.
圖5 SA-Siam 跟蹤框架
同年, Wang 等人基于Siamese 網(wǎng)絡(luò)離線訓(xùn)練無法很好的適應(yīng)目標(biāo)變化的問題, 提出了RASNet[36]. RASNet通過多注意力的結(jié)合代替在線更新, 其中殘差注意力模塊負(fù)責(zé)表示目標(biāo)的全局信息, 生成注意力模塊負(fù)責(zé)表示目標(biāo)的空間信息, 通道注意力負(fù)責(zé)表示特征的通道信息, 并通過注意力機(jī)制提供的加權(quán)互相關(guān)將判別學(xué)習(xí)從特征表示學(xué)習(xí)中解耦出來, 提升了網(wǎng)絡(luò)的判別能力和泛化能力, 進(jìn)一步緩解了過擬合. 2020 年, Yu 等人提出可變形孿生注意網(wǎng)絡(luò)SiamAttn[37], 從另一個(gè)角度解決離線訓(xùn)練導(dǎo)致的特征學(xué)習(xí)不足以及目標(biāo)與搜索分支獨(dú)立計(jì)算導(dǎo)致性能無法提升的問題. SiamAttn 通過自注意力機(jī)制學(xué)習(xí)豐富的上下文信息提升了網(wǎng)絡(luò)的特征表達(dá)能力, 并通過互注意力機(jī)制在互相關(guān)操作之前交互模板和搜索區(qū)域之間的信息, 以隱式的更新模板特征, 提升了算法的魯棒性.
2021 年, Chen 等人受Transformer[38]的啟發(fā)提出了一種新的基于注意力機(jī)制的特征融合網(wǎng)絡(luò)TransT[39],用于解決基于Siamese 跟蹤器中進(jìn)行特征融合所采用的互相關(guān)操作會(huì)丟失語義信息, 并容易陷入局部最優(yōu)的問題. 該網(wǎng)絡(luò)以模板分支和搜索分支的特征為輸入,通過兩個(gè)自注意力模塊來增強(qiáng)特征表達(dá), 然后通過兩個(gè)交叉注意特征增強(qiáng)模塊來進(jìn)行特征融合, 將這一步驟重復(fù)N次, 最后通過附加的交叉特征增強(qiáng)模塊將特征有效地融合在一起, 進(jìn)而獲取更為精確的跟蹤結(jié)果.TransT 的跟蹤速度為50 fps, 滿足了實(shí)時(shí), 且在大規(guī)模數(shù)據(jù)集LaSOT[40]、TrackingNet[41]、GOT-10k[42]均取得了很優(yōu)的性能.
3.1.2 基于錨(anchor-based)的改進(jìn)
錨的概念最初來源于Faster-RCNN[43]中的區(qū)域生成網(wǎng)絡(luò)(region proposal network, RPN), 用于解決單窗口無法檢測(cè)多個(gè)目標(biāo)以及目標(biāo)多尺度變化的問題.2018 年, Li 等人提出了SiamRPN[44], 將用于目標(biāo)檢測(cè)的RPN 模塊應(yīng)用到了目標(biāo)跟蹤當(dāng)中, 其模型框架如圖6 所示, 其中,k表示錨框的個(gè)數(shù). SiamRPN 的RPN模塊包含分類和回歸兩個(gè)分支, 在跟蹤階段將目標(biāo)跟蹤定義為局部一次性檢測(cè)任務(wù), 利用回歸分支可以讓定位框的定位更加準(zhǔn)確, 避免了耗時(shí)的多尺度測(cè)試, 提升了跟蹤精度的同時(shí)跟蹤速度也達(dá)到了160 fps, 但其在處理相似物體干擾方面效果較為一般, 且泛化能力較弱.
圖6 SiamRPN 跟蹤框架
后續(xù)仍基于錨的研究主要分為3 大類, 分別是通過增加訓(xùn)練集的方法訓(xùn)練出更魯棒的網(wǎng)絡(luò), 設(shè)計(jì)更為強(qiáng)大的骨干網(wǎng)絡(luò)和更為有效的利用RPN 模塊. 2018 年,Zhu 等人基于SiamRPN 提出了DaSiamRPN[45], 在使用SiamRPN 訓(xùn)練集ILSVRC2015-VID[46]和YouTube-BB[47]的基礎(chǔ)上, 引入用于目標(biāo)檢測(cè)的ILSVRC2015[46]和COCO[48]靜態(tài)圖片數(shù)據(jù)集來構(gòu)造訓(xùn)練樣本對(duì), 擴(kuò)充正樣本數(shù)據(jù), 并使用來自相同類別的負(fù)樣本對(duì)來增加困難負(fù)樣本數(shù)據(jù), 通過正負(fù)訓(xùn)練樣本的擴(kuò)充提高了模型的泛化能力和判別能力, 獲得了更加魯棒的跟蹤結(jié)果.
對(duì)于目標(biāo)跟蹤而言, 進(jìn)行特征匹配、目標(biāo)定位的關(guān)鍵在于是否能夠提取到更為魯棒的特征, 但圖像填充的負(fù)面影響使得之前的工作均只能使用AlexNet 等淺層的網(wǎng)絡(luò), 提取的目標(biāo)特征往往不夠具體、全面.2019 年, Li 等人嘗試將深層網(wǎng)絡(luò)ResNet 作為孿生網(wǎng)絡(luò)跟蹤器的骨干網(wǎng)絡(luò)提出了SiamRPN++[49], 闡述了Siamese 網(wǎng)絡(luò)不能使用深度網(wǎng)絡(luò)進(jìn)行提取的原因: 缺乏嚴(yán)格的平移不變性, 這種不變性的缺乏會(huì)使得網(wǎng)絡(luò)學(xué)習(xí)到位置偏見, 使網(wǎng)絡(luò)更關(guān)注圖像正中心位置的特征.Li 等人[49]改變了原有的采樣策略, 使得跟蹤器在圖像中心一定范圍內(nèi)進(jìn)行均勻采樣, 且通過多層特征融合模塊解決了模板分支和搜索分支參數(shù)量極不平衡的問題, 使得模型更容易被訓(xùn)練, 他們認(rèn)為SiamRPN++的出現(xiàn)使得孿生網(wǎng)絡(luò)類方法第一次在精度上超過了相關(guān)濾波類方法.
3.1.3 基于無錨(anchor-free)的改進(jìn)
通過引入RPN 模塊來進(jìn)行跟蹤的方法已經(jīng)在精度方面達(dá)到了很高的水平, 但由于RPN 模塊取消了多尺度搜索, 所以需要在RPN 模塊中精心設(shè)計(jì)錨框, 小心調(diào)整錨框數(shù)量、大小和高寬比等超參數(shù), 復(fù)雜度提升, 比較耗費(fèi)時(shí)間. 且這些跟蹤器在處理大尺度變化和姿態(tài)變化等問題時(shí)仍存在困難. 后續(xù)的研究者們開始研究新的方法來繼續(xù)改進(jìn)目標(biāo)跟蹤的精度和速度. 而基于無錨的方法由于其結(jié)構(gòu)簡(jiǎn)單, 性能優(yōu)越, 近年來成為單目標(biāo)跟蹤任務(wù)中的熱門方法. 與基于錨的方法不同, 無錨的方法可以直接預(yù)測(cè)物體的位置.
2020 年, Chen 等人提出了SiamBAN[50], 利用全卷積網(wǎng)絡(luò)的表達(dá)能力將跟蹤問題看作是分類回歸問題, 不需要多尺度搜索模式和預(yù)先定義的候選框. 如圖7 所示, SiamBAN 由一個(gè)Siamese 主干網(wǎng)絡(luò)和多個(gè)自適應(yīng)頭模塊組成, 其中自適應(yīng)頭模塊將主干網(wǎng)絡(luò)從Conv3、Conv4、Conv5 層中提取到的特征分別通過深度互相關(guān)操作進(jìn)行融合, 并通過分類分支對(duì)目標(biāo)和背景進(jìn)行區(qū)分, 通過回歸分支輸出預(yù)測(cè)框與真實(shí)框的偏移量, 并根據(jù)偏移量來更新預(yù)測(cè)框, 最終實(shí)現(xiàn)目標(biāo)跟蹤定位. SiamBAN 在多個(gè)大型基準(zhǔn)數(shù)據(jù)集上均取得了很優(yōu)的結(jié)果.
圖7 SiamBAN 跟蹤框架
SiamCAR[51]同樣基于無錨的設(shè)計(jì), 在網(wǎng)絡(luò)中增加了中心度分支, 通過中心度分支對(duì)遠(yuǎn)離中心點(diǎn)的位置進(jìn)行約束, 即分配更低的權(quán)重. 然后一方面通過分類得分圖與中心度得分圖得到最佳中心點(diǎn), 另一方面通過偏差回歸得到最佳中心點(diǎn)所對(duì)應(yīng)的偏差坐標(biāo), 最后組合起來實(shí)現(xiàn)目標(biāo)跟蹤. Ocean[52]針對(duì)分類和回歸分支采用不同的采樣策略, 對(duì)分類分支通過引入特征對(duì)齊模塊, 將卷積核的固定采樣位置轉(zhuǎn)換為與預(yù)測(cè)的邊界框?qū)R, 增強(qiáng)了分類結(jié)果. 同時(shí)在孿生結(jié)構(gòu)外引入了在線更新分支, 并與分類分支進(jìn)行特征融合以增強(qiáng)算法魯棒性.
雖然卷積神經(jīng)網(wǎng)絡(luò)能夠提取出更魯棒的特征表示且泛化能力較強(qiáng)[53], 但基于CNN 的跟蹤算法在面對(duì)相似目標(biāo)時(shí)往往不能進(jìn)行有效的區(qū)分, 而循環(huán)神經(jīng)網(wǎng)絡(luò)可以對(duì)具有時(shí)序特性的數(shù)據(jù)進(jìn)行進(jìn)一步的信息挖掘,放大相似目標(biāo)之間的區(qū)別性. 于是研究人員開始探索怎樣將循環(huán)神經(jīng)網(wǎng)絡(luò)用于單目標(biāo)跟蹤領(lǐng)域來解決現(xiàn)有的一些問題.
2016 年, Cui 等人提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的算法RTT[54], RTT 首先根據(jù)上一幀中的目標(biāo)框確定一個(gè)新的候選區(qū)域, 接著對(duì)這個(gè)候選區(qū)域進(jìn)行分塊, 并使用多方向RNN 從4 個(gè)方向遍歷每個(gè)分塊區(qū)域, 最后得到目標(biāo)置信圖, 進(jìn)而完成對(duì)目標(biāo)位置的預(yù)測(cè). 其中分塊提取特征并使用RNN 進(jìn)行處理的策略使得RTT 能更好的處理遮擋以及目標(biāo)外觀變化的問題. 文獻(xiàn)[55]提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)感知視覺跟蹤網(wǎng)絡(luò)SANet,SANet 首先利用CNN 對(duì)每幀中的目標(biāo)和背景進(jìn)行有效區(qū)分, 然后使用RNN 在不同深度的層中利用目標(biāo)的自身結(jié)構(gòu)信息對(duì)目標(biāo)進(jìn)行建模, 最后通過跳躍式連接,將CNN 特征與RNN 特征進(jìn)行融合, 有效地對(duì)目標(biāo)和相似物體進(jìn)行區(qū)分.
由于RNN 無法解決長(zhǎng)輸入序列信息傳遞時(shí)網(wǎng)絡(luò)容易產(chǎn)生的一系列梯度問題, Hochreiter 等人在RNN的基礎(chǔ)上提出了長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM[56], LSTM 允許網(wǎng)絡(luò)保留或遺忘傳遞過程中的信息, 使得網(wǎng)絡(luò)可以處理任意長(zhǎng)度的序列信息. 2018 年, Yang 等人提出了一個(gè)動(dòng)態(tài)的記憶網(wǎng)絡(luò)MemTrack[57], 通過LSTM 控制模塊對(duì)記憶模塊的讀取與寫入動(dòng)態(tài)的控制最后的模板生成, 很好的解決了孿生網(wǎng)絡(luò)等模板匹配類算法無法很好適應(yīng)目標(biāo)外觀變化的問題, 且速度超過了實(shí)時(shí).
基于GAN 可以生成不同的新數(shù)據(jù)的啟發(fā), 2018 年,Song 等人將對(duì)抗學(xué)習(xí)的思想應(yīng)用在視覺跟蹤領(lǐng)域, 以解決訓(xùn)練樣本中正負(fù)樣本數(shù)極度不平衡以及正樣本之間差異性較小的問題, 提出了Vital[58]. Vital 通過一個(gè)生成對(duì)抗網(wǎng)絡(luò)來產(chǎn)生一個(gè)隨機(jī)遮擋掩膜, 在對(duì)抗學(xué)習(xí)的作用下, 遮擋掩膜保留了目標(biāo)特征中最魯棒部分, 使得跟蹤器能夠在長(zhǎng)時(shí)間內(nèi)獲得大量的外觀變化, 從而獲得更加魯棒的跟蹤效果. 同年, Wang 等人提出了SINT++[59], 該算法假設(shè)所有的目標(biāo)樣本位于同一流形空間內(nèi), 通過使用對(duì)抗學(xué)習(xí)來對(duì)正樣本生成遮擋塊以此來構(gòu)造困難正樣本, 解決了正樣本之間差異性較小的問題, 對(duì)遮擋和尺度變化的目標(biāo)具有很強(qiáng)的魯棒性.
2020 年, Yan 等人著重研究對(duì)抗學(xué)習(xí)中的對(duì)抗攻擊, 針對(duì)SiamRPN++[49]提出了一種有效且高效的冷卻收縮攻擊策略[60]. SiamRPN++將得到的分類熱圖中響應(yīng)最高的區(qū)域作為目標(biāo)存在的區(qū)域, 冷卻收縮策略通過攻擊SiamRPN++中的搜索區(qū)域使得目標(biāo)區(qū)域的響應(yīng)值降低, 導(dǎo)致跟蹤器無法準(zhǔn)確定位目標(biāo), 并使用收縮損失最小二乘法迫使SiamRPN++的回歸預(yù)測(cè)邊界框變小, 進(jìn)而導(dǎo)致跟蹤失敗, 成功欺騙了SiamRPN++. 且此方法具有良好的遷移性, 能夠成功應(yīng)用到DaSiamRPN和DiMP[61]等高性能跟蹤器, 為以后研究更為高效的對(duì)抗生成學(xué)習(xí)提供了可能.
目前單目標(biāo)跟蹤技術(shù)的研究重點(diǎn)正從短時(shí)跟蹤向長(zhǎng)時(shí)跟蹤發(fā)展, 因?yàn)殚L(zhǎng)時(shí)跟蹤更能反映出評(píng)測(cè)算法的實(shí)用性. 其中LaSOT[40]為2019 年Fan 等人提出的偏向于長(zhǎng)期跟蹤的數(shù)據(jù)集, 包括1 400 個(gè)序列視頻, 每個(gè)視頻平均2 512 幀, 每幀都具有高質(zhì)量的手工密集注釋, 并且為每個(gè)視頻提供了額外的語言描述, 很大程度上滿足了復(fù)雜算法的特征獲取.
在此我們選取包括上述介紹的近年的優(yōu)秀跟蹤算法, 根據(jù)AUC、PNorm、P三個(gè)評(píng)價(jià)指標(biāo)在LaSOT 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比, 其中,AUC是以縱軸為真正率(true positive rate,TPR), 橫軸為偽正率(false positive rate,FPR)的坐標(biāo)軸上形成的ROC 曲線下的面積(參照式(1)、式(2)), 能夠直觀反映出跟蹤器分類效果的好壞.PNorm為歸一化方法去除圖像和回歸框大小對(duì)精度影響后的精確度值,P為精確度值.
其中,TP(true positive)代表真正類,TN(true negative)代表真負(fù)類,FP(false positive)代表假正類,FN(false negative)代表假負(fù)類.
結(jié)果如表3 所示, 其中, ↑表示數(shù)據(jù)越大性能越好.首先, 相關(guān)濾波類算法ATOM 由于綜合了相關(guān)濾波類算法在線更新和孿生網(wǎng)絡(luò)類算法離線訓(xùn)練的優(yōu)點(diǎn),AUC 評(píng)分優(yōu)于SiamRPN++和SiamBAN, 但整體性能相較于深度學(xué)習(xí)類方法相比仍處于下游. 其次, 在深度學(xué)習(xí)類方法中, 基于生成對(duì)抗網(wǎng)絡(luò)的Vital主要關(guān)注目標(biāo)外觀變化問題, 且沒有添加回歸機(jī)制, 整體評(píng)分最低.循環(huán)神經(jīng)網(wǎng)絡(luò)類算法ROAM[62]表現(xiàn)也相對(duì)較差, 孿生網(wǎng)絡(luò)類算法則整體表現(xiàn)很好. 最后, 在孿生網(wǎng)絡(luò)算法中,添加注意力機(jī)制的TransT 能夠更為有效的關(guān)注有用的特征表達(dá), 取得了最好的性能評(píng)分, 同樣基于注意力的SiamAttn 也取得了較優(yōu)的性能. 各類別主流算法的分析和總結(jié)如表4 所示.
表3 LaSOT 數(shù)據(jù)集上算法的性能比較( ★ 為L(zhǎng)aSOT[39]評(píng)測(cè)結(jié)果)(%)
表4 主流算法的分析與總結(jié)
單目標(biāo)跟蹤目前仍是計(jì)算視覺領(lǐng)域具有高實(shí)用性的熱門課題之一, 雖然深度學(xué)習(xí)與單目標(biāo)跟蹤結(jié)合時(shí)間較短, 但大量的優(yōu)秀算法已經(jīng)被提出. 與相關(guān)濾波類算法相比, 基于深度學(xué)習(xí)類算法, 特別是孿生網(wǎng)絡(luò)跟蹤算法, 由于其基于CNN 的強(qiáng)大特征表達(dá)能力和離線訓(xùn)練的策略, 使得其在跟蹤精度與速度方面能夠達(dá)到很好的平衡. 而RNN 和GAN 在單目標(biāo)跟蹤領(lǐng)域的成功應(yīng)用也使得跟蹤器能更好的挖掘時(shí)序序列的信息并更好的處理正負(fù)樣本失衡的情況. 但在復(fù)雜的實(shí)際應(yīng)用場(chǎng)景中, 這些算法的整體性能仍有待于優(yōu)化. 本文對(duì)基于深度學(xué)習(xí)的單目標(biāo)跟蹤算法進(jìn)行了綜述, 并對(duì)未來的發(fā)展趨勢(shì)做了展望.
(1) 注意力機(jī)制的進(jìn)一步探索
在單目標(biāo)跟蹤領(lǐng)域, 注意力機(jī)制可以高效地幫助跟蹤器獲取目標(biāo)的特征表達(dá), 進(jìn)而提升網(wǎng)絡(luò)的分辨能力, 因此一直被廣泛使用. 但注意力機(jī)制的添加并不是簡(jiǎn)單的模塊堆疊, 怎樣合理使用至關(guān)重要. 最近Transformer網(wǎng)絡(luò)因?yàn)楹侠砬度攵喾N注意力機(jī)制被廣泛應(yīng)用于多個(gè)領(lǐng)域. 2021 年, Yan 等人基于Transformer 提出STARK[63],通過學(xué)習(xí)一種強(qiáng)大的時(shí)空聯(lián)合表示, 可以捕獲豐富的全局信息, 進(jìn)一步刷新了LaSOT[40]等大型數(shù)據(jù)集上的最佳性能, 也證明了未來注意力機(jī)制仍有很大的潛力,需要研究人員進(jìn)一步探索.
(2) 相關(guān)領(lǐng)域中的技術(shù)遷移
2018 年, RPN 模塊的引進(jìn)使得Siamese 系列跟蹤器的性能得到了大幅度提升, 特別是SiamRPN++[49]的出現(xiàn)使孿生網(wǎng)絡(luò)類算法精度得到了進(jìn)一步提升. 2020 年,Voigtlaender 等人借鑒目標(biāo)檢測(cè)領(lǐng)域中的Faster-RCNN提出再檢測(cè)孿生網(wǎng)絡(luò)架構(gòu)SiamR-CNN[64], 在多個(gè)數(shù)據(jù)集上均取得了很優(yōu)的性能, 未來通過引入其他領(lǐng)域的相關(guān)技術(shù)仍是目標(biāo)跟蹤發(fā)展的一種趨勢(shì).
(3) 在線更新機(jī)制的增加
雖然目前基于深度學(xué)習(xí)技術(shù)的單目標(biāo)跟蹤已經(jīng)取得了很好的發(fā)展, 但在工業(yè)界中的應(yīng)用卻仍有不足. 主要原因在于大多數(shù)算法為了保持高速的跟蹤狀態(tài)往往使用預(yù)訓(xùn)練數(shù)據(jù), 以提供通用的目標(biāo)表示, 并降低由于訓(xùn)練數(shù)據(jù)不平衡導(dǎo)致的過擬合風(fēng)險(xiǎn), 在跟蹤過程中并不進(jìn)行模板更新, 十分依賴離線訓(xùn)練過程中所學(xué)習(xí)到的模板. 這樣一方面當(dāng)跟蹤出現(xiàn)錯(cuò)誤時(shí), 容易造成誤差累計(jì), 出現(xiàn)跟蹤漂移等情況; 另一方面, 當(dāng)跟蹤器遇到“沒有見過”的目標(biāo)時(shí), 跟蹤效果往往較差. 為適應(yīng)在現(xiàn)實(shí)場(chǎng)景中的應(yīng)用, 在線更新機(jī)制應(yīng)是未來單目標(biāo)跟蹤發(fā)展的重點(diǎn)之一.
(4) 與GAN 進(jìn)一步結(jié)合
在現(xiàn)實(shí)應(yīng)用場(chǎng)景中, 遮擋是常見的挑戰(zhàn)之一, 由于遮擋時(shí)會(huì)丟失相當(dāng)部分的特征信息, 往往會(huì)使跟蹤發(fā)生漂移. 而GAN 可以通過構(gòu)造網(wǎng)絡(luò)中的困難負(fù)樣本,使網(wǎng)絡(luò)獲取更具判別力的特征, 進(jìn)而增加跟蹤器的判別能力, 更好的應(yīng)對(duì)跟蹤中遮擋情況的出現(xiàn). 與GAN的進(jìn)一步結(jié)合, 會(huì)使跟蹤器進(jìn)一步應(yīng)用于現(xiàn)實(shí)場(chǎng)景中.
(5) 設(shè)計(jì)適用于長(zhǎng)時(shí)跟蹤的跟蹤器
以往的跟蹤器大都針對(duì)短時(shí)跟蹤任務(wù), 而長(zhǎng)時(shí)跟蹤過程中會(huì)遇到更多的跟蹤挑戰(zhàn), 更貼近于現(xiàn)實(shí)應(yīng)用場(chǎng)景. 隨著LaSOT[40]、GOT-10k[42]等長(zhǎng)時(shí)跟蹤數(shù)據(jù)集的出現(xiàn), 對(duì)現(xiàn)有的跟蹤器提出了更高的要求. 而現(xiàn)有的解決方法往往是在短時(shí)跟蹤算法的基礎(chǔ)上添加重檢測(cè)模塊, 并不能很好的應(yīng)對(duì)長(zhǎng)時(shí)跟蹤任務(wù). 在以后的發(fā)展過程中, 設(shè)計(jì)針對(duì)性的長(zhǎng)時(shí)跟蹤算法也是研究重點(diǎn)之一.