張新
(黑龍江工商學(xué)院 黑龍江哈爾濱 150000)
隨著互聯(lián)網(wǎng)絡(luò)的發(fā)展,計(jì)算機(jī)視覺(jué)技術(shù)也緊跟步伐,而目標(biāo)跟蹤技術(shù)在計(jì)算機(jī)視覺(jué)領(lǐng)域的研究?jī)r(jià)值也備受關(guān)注。目標(biāo)跟蹤技術(shù)與目標(biāo)檢測(cè)技術(shù)之間也存在著一些差異。其中,目標(biāo)檢測(cè)技術(shù)是判斷檢測(cè)對(duì)象是否存在預(yù)定義類別的語(yǔ)義對(duì)象的實(shí)例[1],若存在就能輸出實(shí)例對(duì)象的所占范圍與空間位置。例如,在檢測(cè)過(guò)程中,將對(duì)圖像或者視頻中的目標(biāo)對(duì)象進(jìn)行標(biāo)注。然而,目標(biāo)跟蹤技術(shù)則需要在視頻圖像中標(biāo)注跟蹤對(duì)象的空間位置,還要將視頻中連續(xù)幀中的標(biāo)注的目標(biāo)對(duì)象拼接起來(lái),最終能夠清晰地跟蹤目標(biāo)對(duì)象的運(yùn)動(dòng)軌跡。隨著深度學(xué)習(xí)的發(fā)展及技術(shù)不斷的提高,目標(biāo)跟蹤技術(shù)已經(jīng)在社會(huì)各行業(yè)中廣泛應(yīng)用,例如,廣泛應(yīng)用于模式識(shí)別[2]、無(wú)人駕駛、智慧大棚、智慧醫(yī)療、智慧教育等領(lǐng)域。本文旨在對(duì)基于深度學(xué)習(xí)的目標(biāo)跟蹤技術(shù)的發(fā)展進(jìn)行梳理,對(duì)基于深度學(xué)習(xí)的目標(biāo)跟蹤技術(shù)的典型方法進(jìn)行剖析,并論述目標(biāo)跟蹤技術(shù)應(yīng)用于各領(lǐng)域的數(shù)據(jù)集,最后對(duì)其進(jìn)行總結(jié)與展望。
許多研究人員在多目標(biāo)跟蹤方面投入了大量的工作,不僅跟蹤算法本身不斷改進(jìn),而且被跟蹤對(duì)象的建模方法也得到了迅速發(fā)展。早期的目標(biāo)建模工作包括遞歸算法,即利用前一幀的信息預(yù)測(cè)當(dāng)前幀的目標(biāo)位置[3]。然而,在現(xiàn)實(shí)生活中,目標(biāo)在跟蹤過(guò)程中的特征分布并不總是高斯分布。為了解決這個(gè)問(wèn)題,粒子濾波方法也稱(序列蒙特卡洛方法)隨之而生。該方法首先應(yīng)用于單目標(biāo)跟蹤,然后隨著計(jì)算能力的發(fā)展,逐漸擴(kuò)展到多目標(biāo)跟蹤領(lǐng)域。近年來(lái),在目標(biāo)檢測(cè)方面取得了重大進(jìn)展,對(duì)多目標(biāo)跟蹤產(chǎn)生了深遠(yuǎn)的影響。例如,在粒子濾波器中引入檢測(cè)算法以減小漂移,其基本思想是使用離線訓(xùn)練的檢測(cè)器逐幀檢測(cè)目標(biāo),然后選擇一定的時(shí)間窗,將檢測(cè)結(jié)果與待跟蹤的目標(biāo)軌跡相關(guān)聯(lián)。
Benfold等人融合異步HOG檢測(cè)、模擬仿真KLT跟蹤和馬爾科夫鏈蒙特卡洛數(shù)據(jù)關(guān)聯(lián)在一起,進(jìn)行多目標(biāo)跟蹤[4]。該方法構(gòu)造了異步多線程結(jié)構(gòu),以滿足實(shí)時(shí)性要求。在跟蹤過(guò)程中,檢測(cè)部分是實(shí)時(shí)性的瓶頸。應(yīng)用其他方法代替目標(biāo)檢測(cè)也是減少計(jì)算時(shí)間的解決方案。因此,Possegger 等人提出了一種基于局部高密度3D 的船體重建算法來(lái)代替多目標(biāo)跟蹤中的檢測(cè)算法,并采用粒子濾波結(jié)合泰森多邊形分割進(jìn)行跟蹤。
隨著近幾年深度學(xué)習(xí)算法的發(fā)展,計(jì)算機(jī)視覺(jué)任務(wù)性能對(duì)于外觀特征提取的能力得到了極大的提升。其中,Anton Milan等人在2016年發(fā)表的論文中提出基于循環(huán)神經(jīng)網(wǎng)絡(luò)的在線多目標(biāo)跟蹤算法,其主要是針對(duì)構(gòu)建大量且復(fù)雜的模型,以及調(diào)整大量參數(shù)而致使實(shí)時(shí)性能不佳的問(wèn)題,并提出了端到端的學(xué)習(xí)算法的多目標(biāo)跟蹤方法[5]。端到端的算法結(jié)構(gòu)提高了實(shí)時(shí)性,但準(zhǔn)確率不高,但是其最大貢獻(xiàn)在于為多目標(biāo)跟蹤技術(shù)提供了新的思路與可能。
自2015年發(fā)展以來(lái),深度學(xué)習(xí)技術(shù)的發(fā)展也進(jìn)入了高質(zhì)量發(fā)展階段,同時(shí),其也被應(yīng)用于計(jì)算機(jī)視覺(jué)的各個(gè)領(lǐng)域。深度學(xué)習(xí)在目標(biāo)跟蹤領(lǐng)域的初始形式是用深度神經(jīng)網(wǎng)絡(luò)提取的特征代替人工提取的特征,并將其應(yīng)用于相關(guān)濾波器的跟蹤框架。深度特征、C-COT、ECO 和STRCF 等技術(shù)的應(yīng)用已經(jīng)逐漸體現(xiàn)出深度目標(biāo)學(xué)習(xí)特征。從深度網(wǎng)絡(luò)中提取的目標(biāo)特征優(yōu)于人工提取的目標(biāo)特征,但是也增加了計(jì)算量。
Davia Hold 等人于2015年發(fā)布的goturn 算法可被視為使用端到端深度學(xué)習(xí)模型進(jìn)行目標(biāo)跟蹤的創(chuàng)始人。Goturn 使用alov300+視頻序列集和ImageNet 的算法技術(shù)來(lái)檢測(cè)數(shù)據(jù)集,輸入圖像來(lái)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)輸出搜索區(qū)域相對(duì)于前一幀中的目標(biāo)位置的變化,以獲得當(dāng)前幀中的目標(biāo)位置。本文通過(guò)CNN的卷積層,同時(shí)傳輸前一幀的目標(biāo)信息和當(dāng)前幀的搜索區(qū)域,然后通過(guò)卷積層的輸出被傳輸?shù)饺B接層。整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)具有典型性,用于提取目標(biāo)特征的卷積層和回歸算法的全連接層。在跟蹤過(guò)程中,不進(jìn)行模型更新,對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行預(yù)先訓(xùn)練。因此,GPU可以運(yùn)行在100~165幀/s。
2016年,Hyeonseob Nam 等人對(duì)MDNet(multidomain network)進(jìn)行研究[6],深入分析了深度學(xué)習(xí)目標(biāo)跟蹤的技術(shù)框架,為后續(xù)研究提供了參考價(jià)值。對(duì)于深度學(xué)習(xí)的目標(biāo)跟蹤技術(shù),一般都采用圖片數(shù)據(jù)集,如ImageNet,并對(duì)網(wǎng)絡(luò)模型VGG 進(jìn)行訓(xùn)練,以便于提取特征,作為特征提取器。宋奕兵等人在2017年提出的峰值算法,利用殘差網(wǎng)絡(luò)對(duì)目標(biāo)進(jìn)行跟蹤,通過(guò)檢測(cè)卷積特征和目標(biāo)對(duì)象的差異,進(jìn)行殘差學(xué)習(xí)[7],其原理主要是端到端網(wǎng)絡(luò)結(jié)構(gòu)相同,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提取特征,然后利用高斯卷積運(yùn)算進(jìn)行濾波,得到響應(yīng)值,再加入殘差信息,進(jìn)而保證了高斯響應(yīng)的質(zhì)量。
人工神經(jīng)網(wǎng)絡(luò)也可以說(shuō)是深度學(xué)習(xí)的先驅(qū),被設(shè)計(jì)用來(lái)模仿人腦中的神經(jīng)元,用于傳遞和處理信息。如圖1所示。
圖1 人工神經(jīng)網(wǎng)絡(luò)模型
人工神經(jīng)網(wǎng)絡(luò)模型由輸入層、輸出層、隱藏層組成。其中,輸入、輸出層負(fù)責(zé)數(shù)據(jù)的傳遞;隱藏層中包括對(duì)數(shù)據(jù)的邏輯運(yùn)算與處理,一般要求隱藏層5層、10層甚至幾百層。
人工神經(jīng)網(wǎng)絡(luò)的每一層都由大量的節(jié)點(diǎn)(神經(jīng)元)組成,層與層之間有大量的連接,但層中的神經(jīng)元一般是相互獨(dú)立的。深度學(xué)習(xí)的目的是利用已知數(shù)據(jù)學(xué)習(xí)一組模型,以便系統(tǒng)在遇到未知數(shù)據(jù)時(shí)能夠做出預(yù)測(cè),這一過(guò)程要求神經(jīng)元具有以下兩個(gè)特征。
2.1.1 激活函數(shù)
它通常是一個(gè)非線性函數(shù),即每個(gè)神經(jīng)元通過(guò)該函數(shù)對(duì)來(lái)自其他神經(jīng)元的原始輸入進(jìn)行非線性變換,并將其輸出到下一層神經(jīng)元。由激活函數(shù)實(shí)現(xiàn)的非線性變換是前向傳播的重要組成部分,常用的激活函數(shù)包括Sigmoid、ReLU等[8]。
2.1.2 成本函數(shù)
它用于定量評(píng)估特定輸入值下神經(jīng)網(wǎng)絡(luò)輸出結(jié)果與實(shí)際值之間的偏差。通過(guò)優(yōu)化方法,不斷調(diào)整各層的權(quán)重參數(shù),使最終損耗值最小化,即完成反向傳播。損耗值越小,結(jié)果越可靠。
卷積神經(jīng)網(wǎng)絡(luò)是由多個(gè)卷積層和多個(gè)完全連接的層組成的前饋神經(jīng)網(wǎng)絡(luò),與其他深度學(xué)習(xí)網(wǎng)絡(luò)相比,它采用共享參數(shù)機(jī)制來(lái)減少需要估計(jì)的參數(shù)數(shù)目。卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)相比,卷積層神經(jīng)網(wǎng)絡(luò)主要有以下特征。
2.2.1 權(quán)值共享
在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中,權(quán)重矩陣中的每個(gè)元素在計(jì)算一個(gè)層的輸出時(shí)只使用1 次。在卷積網(wǎng)絡(luò)中,卷積核的每個(gè)元素作用于輸入的每個(gè)位置,并且在整個(gè)視覺(jué)區(qū)域中重復(fù)一個(gè)卷積核。重復(fù)濾波器可以在不考慮位置信息的情況下檢測(cè)特征,共享權(quán)重可以大大減少需要學(xué)習(xí)的自由參數(shù)的數(shù)量,從而提高學(xué)習(xí)效率。
典型的卷積神經(jīng)網(wǎng)絡(luò)模型如圖2所示,從圖中可以看出,輸出圖像的大小為32×32,經(jīng)過(guò)卷積層對(duì)圖像進(jìn)行特征提取,通過(guò)多個(gè)通道的卷積核對(duì)其進(jìn)行處理,可以得到多張圖片的特征,再經(jīng)過(guò)采樣層,降低網(wǎng)絡(luò)訓(xùn)練參數(shù)數(shù)量及模型的擬合程度,再經(jīng)過(guò)全連接層,將特征空間映射到類別空間,最后,通過(guò)輸出層的徑向基核函數(shù),得到一定的概率即(0-9),最大概率就等同于分類結(jié)果。
圖2 卷積神經(jīng)網(wǎng)絡(luò)模型
2.2.2 稀疏連接
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)使用矩陣乘法建立輸入和輸出之間的聯(lián)系,參數(shù)矩陣中的每個(gè)單獨(dú)參數(shù)描述了輸入單元和輸出單元之間的相互作用,這意味著每個(gè)輸出單元都需要所有的輸入單元參與計(jì)算。在卷積網(wǎng)絡(luò)中,只有對(duì)某些輸入單元進(jìn)行卷積運(yùn)算,才能得到一個(gè)輸出單元,這是通過(guò)使卷積核的大小比輸入的大小小得很多來(lái)實(shí)現(xiàn)的,與全連接的神經(jīng)網(wǎng)絡(luò)相比,這大大減少了計(jì)算量,并且通過(guò)多層神經(jīng)元的積累,卷積濾波器的全局性逐層增加。
棧式自編碼網(wǎng)絡(luò)是深度學(xué)習(xí)網(wǎng)絡(luò)非監(jiān)督性質(zhì)的一種,其是由多層稀疏自編碼網(wǎng)絡(luò)組成,分為編譯器和解碼器。假設(shè)觀察的樣本為{y1,y2……yk},其中,自編碼網(wǎng)絡(luò)通過(guò)對(duì)神經(jīng)元的激活或抑制來(lái)獲取稀疏結(jié)構(gòu),如式(1)所示。
這個(gè)公式代表了神經(jīng)元j的平均活動(dòng),以實(shí)現(xiàn)網(wǎng)絡(luò)稀疏性的限制,設(shè)定了參數(shù)p及之間的KL距離,便是稀疏性懲罰項(xiàng),如公式(2)所示:
在目標(biāo)跟蹤中,N.Wang等人首先利用自編碼器的括號(hào)降噪功能,去除了自編碼器的譯碼部分,代之以軟最大分類器。他們提出的這種算法在2013年的VOT比賽中獲得了第五名的成績(jī)。該算法的優(yōu)點(diǎn)是利用離線數(shù)據(jù)庫(kù)在很大程度上解決了訓(xùn)練樣本不足的問(wèn)題[9]。
自2013年以來(lái),雖然基于深度學(xué)習(xí)的目標(biāo)跟蹤算法取得了一些重大進(jìn)展,但現(xiàn)實(shí)情景往往比評(píng)估數(shù)據(jù)更復(fù)雜,目前的跟蹤算法不能滿足魯棒性、實(shí)時(shí)性和準(zhǔn)確性的同樣要求。根據(jù)跟蹤問(wèn)題的本質(zhì),在以下3 個(gè)方面還有很大的改進(jìn)空間。
(1)目前,大多數(shù)的目標(biāo)跟蹤算法都是基于深度網(wǎng)絡(luò)的,可簡(jiǎn)單地將問(wèn)題看作二分類問(wèn)題,利用視頻或圖像序列中的有效運(yùn)動(dòng)信息,在一定程度上避免了跟蹤點(diǎn)漂移。
(2)在多目標(biāo)跟蹤過(guò)程中,可能會(huì)遇到的遮擋和目標(biāo)相互作用大多是由二維圖像中不同深度目標(biāo)的前視投影引起的。在三維空間中,任何目標(biāo)都不存在遮擋相互作用。三維信息的引入可以在目標(biāo)和背景之間獲得更準(zhǔn)確的位置,這對(duì)于解決跟蹤中可能出現(xiàn)的模糊問(wèn)題具有可預(yù)測(cè)的幫助。因此,基于關(guān)節(jié)三維信息的多目標(biāo)跟蹤是一個(gè)值得進(jìn)一步研究的方向。
(3)深層網(wǎng)絡(luò)強(qiáng)大的性能能力在所需的計(jì)算工作量和跟蹤問(wèn)題的實(shí)時(shí)需求之間提供了適當(dāng)?shù)钠胶狻?/p>