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