1.一種基于卷積神經(jīng)網(wǎng)絡(luò)的單目標(biāo)跟蹤方法,其特征在于:本方法的具體實(shí)施包括以下幾個(gè)步驟:
(一)構(gòu)建并訓(xùn)練網(wǎng)絡(luò)模型;
步驟一:準(zhǔn)備訓(xùn)練數(shù)據(jù)集,本方法中使用的數(shù)據(jù)集包括Object Tracking Benchmark即OTB數(shù)據(jù)集和Visual Object Tracking即VOT數(shù)據(jù)集;
步驟二:準(zhǔn)備預(yù)訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型,構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型并利用預(yù)訓(xùn)練的模型參數(shù)來(lái)初始化新構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)的模型的初始參數(shù);
步驟三:訓(xùn)練網(wǎng)絡(luò)模型;網(wǎng)絡(luò)模型參數(shù)初始化完畢之后,利用訓(xùn)練數(shù)據(jù)集訓(xùn)練整個(gè)網(wǎng)絡(luò)模型,直到網(wǎng)絡(luò)收斂;
(二)微調(diào)網(wǎng)絡(luò)模型并訓(xùn)練Bounding Box回歸模型;
步驟四:跟蹤測(cè)試時(shí),首先根據(jù)視頻第一幀圖像中的ground-truth提取正、負(fù)樣本,將正、負(fù)樣本輸入網(wǎng)絡(luò)中,微調(diào)網(wǎng)絡(luò)模型參數(shù),使其適應(yīng)當(dāng)前跟蹤的視頻序列;
步驟五:利用提取到的正樣本的卷積層特征訓(xùn)練一個(gè)針對(duì)當(dāng)前目標(biāo)的Bounding Box回歸模型,該Bounding Box回歸模型用于對(duì)跟蹤結(jié)果的精確化處理;
(三)提取候選區(qū)域塊并計(jì)算跟蹤結(jié)果;
步驟六:根據(jù)前一幀目標(biāo)所處位置的坐標(biāo)信息,以其坐標(biāo)位置為中心,根據(jù)高斯分布模型在其周圍提取適量的目標(biāo)對(duì)象候選塊;
步驟七:將提取到的目標(biāo)對(duì)象候選塊依次輸入網(wǎng)絡(luò)模型中,分別計(jì)算每一個(gè)候選塊的得分,選取得分高于預(yù)先設(shè)定閾值的候選塊作為最終的跟蹤結(jié)果,即當(dāng)前目標(biāo)所在的位置;
(四)后處理優(yōu)化跟蹤結(jié)果;
步驟八:利用步驟五中訓(xùn)練好的Bounding Box回歸模型對(duì)跟蹤結(jié)果進(jìn)行回歸操作,得到目標(biāo)更加精確的位置;
步驟九:根據(jù)當(dāng)前跟蹤的結(jié)果,根據(jù)高斯分布模型收集一定數(shù)量的正、負(fù)樣本數(shù)據(jù),收集到的正、負(fù)樣本數(shù)據(jù)用來(lái)更新網(wǎng)絡(luò)模型;
(五)更新網(wǎng)絡(luò)模型;
步驟十:利用收集到的正、負(fù)樣本數(shù)據(jù)適時(shí)、適當(dāng)?shù)馗戮W(wǎng)絡(luò)模型參數(shù),使其能夠持久的保持良好的跟蹤性能。
2.根據(jù)權(quán)利要求1所述的一種基于卷積神經(jīng)網(wǎng)絡(luò)的單目標(biāo)跟蹤方法,其特征在于:
(一)構(gòu)建并訓(xùn)練網(wǎng)絡(luò)模型
本方法是預(yù)先利用標(biāo)注的數(shù)據(jù)集在線下預(yù)訓(xùn)練一個(gè)網(wǎng)絡(luò)模型,該網(wǎng)絡(luò)模型的作用是將每一個(gè)輸入網(wǎng)絡(luò)的候選區(qū)域進(jìn)行特征提取、匹配,計(jì)算出每一個(gè)候選區(qū)域的得分,從而判別出輸入的候選區(qū)域哪些是目標(biāo)對(duì)象、哪些不是目標(biāo)對(duì)象;然后在實(shí)際跟蹤測(cè)試的時(shí)候,首先利用當(dāng)前跟蹤的視頻信息在線微調(diào)網(wǎng)絡(luò),使其達(dá)到能夠很好的適應(yīng)跟蹤當(dāng)前目標(biāo)的效果;
步驟一,首先準(zhǔn)備線下預(yù)訓(xùn)練網(wǎng)絡(luò)模型時(shí)要使用的數(shù)據(jù)集,本方法的測(cè)試數(shù)據(jù)集是OTB50數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)集是VOT數(shù)據(jù)集;OTB是一個(gè)標(biāo)準(zhǔn)的跟蹤基準(zhǔn)數(shù)據(jù)集,它包含50個(gè)全部標(biāo)注的視頻序列,視頻的長(zhǎng)度在幾百幀到上千幀之間,這些視頻拍攝于不同的場(chǎng)景,內(nèi)容相差較大;VOT數(shù)據(jù)集是一個(gè)視覺挑戰(zhàn)賽使用的數(shù)據(jù)集,一共包含58個(gè)和OTB50中不同的視頻序列;這些視頻序列有光照變化、遮擋、形變、分辨率、運(yùn)動(dòng)模糊、快速移動(dòng)、背景干擾等不同干擾因素;
步驟二,準(zhǔn)備好訓(xùn)練數(shù)據(jù)集之后,需要構(gòu)建網(wǎng)絡(luò)模型;使用的網(wǎng)絡(luò)模型結(jié)構(gòu)是一個(gè)含有三個(gè)卷積層和三個(gè)全連接層的卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)各層的參數(shù)設(shè)置如表1中所示;首先利用在ImageNet分類數(shù)據(jù)集上預(yù)訓(xùn)練好的網(wǎng)絡(luò)模型參數(shù)對(duì)新構(gòu)建的網(wǎng)絡(luò)模型進(jìn)行參數(shù)初始化,這樣做節(jié)省網(wǎng)絡(luò)訓(xùn)練的時(shí)間,從而達(dá)到快速收斂的效果;
表1
步驟三,初始化網(wǎng)絡(luò)模型參數(shù)后,利用標(biāo)注好的VOT數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;在每一幀中收集50個(gè)正樣本數(shù)據(jù)和200個(gè)負(fù)樣本數(shù)據(jù),這些樣本數(shù)據(jù)的提取規(guī)則是,當(dāng)提取的塊跟Ground-truth的重合率大于0.7的時(shí)候,認(rèn)為是正樣本數(shù)據(jù),當(dāng)提取的塊跟Ground-truth的重合率小于0.5的時(shí)候,認(rèn)為是負(fù)樣本數(shù)據(jù);
此訓(xùn)練過(guò)程是一個(gè)分領(lǐng)域的分步訓(xùn)練,將每一段視頻序列看作是一個(gè)獨(dú)立的領(lǐng)域,用其單獨(dú)訓(xùn)練一個(gè)分類器,之后對(duì)于每一段輸入的訓(xùn)練視頻,首先重新初始化倒數(shù)第二層和最后一層的網(wǎng)絡(luò)連接參數(shù),即重新初始化一個(gè)分類節(jié)點(diǎn),然后訓(xùn)練這個(gè)對(duì)應(yīng)的分類器,使其能夠正確的區(qū)分當(dāng)前視頻序列中的目標(biāo)和背景;當(dāng)輸入的圖片中是目標(biāo)對(duì)象時(shí),網(wǎng)絡(luò)的輸出為1,當(dāng)輸入的圖片為背景時(shí),網(wǎng)絡(luò)的輸出為0;所有視頻序列一次訓(xùn)練完成算作是一個(gè)大的迭代完成;然后重復(fù)迭代訓(xùn)練,直到網(wǎng)絡(luò)收斂,實(shí)驗(yàn)中迭代訓(xùn)練100次后網(wǎng)絡(luò)收斂;
訓(xùn)練完成后,將網(wǎng)絡(luò)最后一層的所有分領(lǐng)域的分類節(jié)點(diǎn)去掉,并重新初始化一個(gè)新的二分類節(jié)點(diǎn),同時(shí)重新初始化其與前一層的連接參數(shù),保存好訓(xùn)練的網(wǎng)絡(luò)模型;
(二)微調(diào)網(wǎng)絡(luò)模型并訓(xùn)練Bounding Box回歸模型
步驟四,測(cè)試時(shí),首先加載訓(xùn)練好的模型,然后根據(jù)要跟蹤的視頻第一幀中給出的目標(biāo)對(duì)象的Ground-truth的位置坐標(biāo),利用一個(gè)高斯分布模型以該位置坐標(biāo)為中心,在其周圍提取一些正、負(fù)訓(xùn)練樣本數(shù)據(jù)集;微調(diào)網(wǎng)絡(luò)時(shí),在第一幀圖像上分別收集500個(gè)正樣本和5000個(gè)負(fù)樣本進(jìn)行微調(diào)網(wǎng)絡(luò)操作,這些樣本的提取規(guī)則是,當(dāng)提取的塊跟Ground-truth的重合率大于0.7的時(shí)候,則認(rèn)為是正樣本數(shù)據(jù),當(dāng)提取的塊跟Ground-truth的重合率小于0.3的時(shí)候,則認(rèn)為是負(fù)樣本;
測(cè)試階段微調(diào)網(wǎng)絡(luò)參數(shù)時(shí),將這些訓(xùn)練樣本數(shù)據(jù)集依次輸入網(wǎng)絡(luò)中,固定網(wǎng)絡(luò)模型的卷積層參數(shù)不動(dòng),只對(duì)網(wǎng)絡(luò)的后面三個(gè)全連接層的參數(shù)進(jìn)行微調(diào)訓(xùn)練;這個(gè)微調(diào)訓(xùn)練的目的是使該網(wǎng)絡(luò)模型能夠更好的適應(yīng)當(dāng)前跟蹤的視頻序列,即能夠很好的區(qū)分當(dāng)前視頻序列中的目標(biāo)和背景;同時(shí)在網(wǎng)絡(luò)的最后接一個(gè)檢測(cè)模塊,在跟蹤出現(xiàn)錯(cuò)誤或者目標(biāo)跟蹤丟失的時(shí)候,利用該檢測(cè)模塊對(duì)當(dāng)前幀進(jìn)行目標(biāo)重檢測(cè),重新檢測(cè)到目標(biāo),然后對(duì)目標(biāo)位置進(jìn)行重新初始化,進(jìn)而進(jìn)行準(zhǔn)確、長(zhǎng)時(shí)間的跟蹤;這個(gè)檢測(cè)模塊是基于RPN網(wǎng)絡(luò)模型在當(dāng)前幀上提取候選塊,然后將這些候選塊重新輸入網(wǎng)絡(luò)模型進(jìn)行特征提取、匹配,判別出屬于目標(biāo)對(duì)象的候選塊,然后使用這個(gè)檢測(cè)到的目標(biāo)候選塊重新初始化目標(biāo)的位置,將這個(gè)目標(biāo)的位置當(dāng)做下一幀提取候選塊的中心位置,進(jìn)行候選塊的提?。?/p>
步驟五,網(wǎng)絡(luò)微調(diào)訓(xùn)練完畢后,再利用高斯分布模型在Ground-truth的目標(biāo)周圍采取一些正樣本,本方法中使用1000個(gè)訓(xùn)練樣本,然后將這些正樣本依次輸入網(wǎng)絡(luò),提取這些正樣本的最后一個(gè)卷積層的特征,利用這些卷積層的特征訓(xùn)練一個(gè)Bounding Box回歸模型;對(duì)一幀視頻跟蹤完成后,利用預(yù)訓(xùn)練的Bounding Box回歸模型對(duì)跟蹤的結(jié)果進(jìn)行更加精細(xì)的調(diào)優(yōu),使跟蹤框能夠更加緊致的框住目標(biāo)對(duì)象,從而使跟蹤結(jié)果更加精確;
(三)提取候選區(qū)域塊并計(jì)算跟蹤結(jié)果
步驟六,根據(jù)前一幀跟蹤的結(jié)果,以前一幀視頻的跟蹤結(jié)果的坐標(biāo)位置為中心,利用高斯分布模型進(jìn)行候選塊采樣,提取一定數(shù)量的目標(biāo)候選塊;本方法中對(duì)于每一幀提取256個(gè)候選塊;由于視頻相鄰幀中的目標(biāo)對(duì)象的位置變化相對(duì)來(lái)說(shuō)很小,所以,該采樣的結(jié)果基本能夠涵蓋目標(biāo)對(duì)象的可能出現(xiàn)的位置,即采樣的候選塊中包含下一幀目標(biāo)出現(xiàn)的位置;
步驟七,將上述采樣得到的目標(biāo)候選塊依次輸入網(wǎng)絡(luò)中,計(jì)算得到每一個(gè)候選塊對(duì)應(yīng)的輸出得分,然后將這些候選塊的得分按照降序的順序排列,選取得分最高的目標(biāo)候選塊,并將該目標(biāo)候選塊的得分和預(yù)先設(shè)置的閾值進(jìn)行比較,如果該得分大于預(yù)先設(shè)置的閾值0.5,則認(rèn)為目標(biāo)跟蹤正確,將對(duì)應(yīng)的目標(biāo)候選塊的位置坐標(biāo)保存在跟蹤結(jié)果中;否則,則認(rèn)為目標(biāo)跟蹤失敗,此時(shí)利用檢測(cè)模塊對(duì)該幀圖像進(jìn)行目標(biāo)重檢測(cè),利用RPN網(wǎng)絡(luò)模型在整個(gè)圖像范圍內(nèi)生成目標(biāo)候選塊,將提取的目標(biāo)候選塊依次輸入原網(wǎng)絡(luò)模型中進(jìn)行得分計(jì)算,并進(jìn)行得分比較,從而得到跟蹤的結(jié)果;
(四)后處理跟蹤結(jié)果
步驟八,對(duì)于步驟七中得到的跟蹤結(jié)果,對(duì)于能夠正確跟蹤的結(jié)果,利用步驟五中預(yù)訓(xùn)練的Bounding Box回歸模型對(duì)其進(jìn)行回歸操作,使得目標(biāo)對(duì)象候選塊的框能夠更加緊致的框住目標(biāo)對(duì)象,從而使得跟蹤的結(jié)果能夠更加精確的趨近于Ground-truth,達(dá)到精確定位跟蹤目標(biāo)的目的;當(dāng)跟蹤的結(jié)果不正確時(shí),即跟蹤結(jié)果的得分小于閾值,則不再使用Bounding Box回歸模型對(duì)跟蹤結(jié)果進(jìn)行回歸操作;
步驟九,確定成功的跟蹤結(jié)果之后,然后以該目標(biāo)的位置坐標(biāo)為中心,利用高斯分布模型在其周圍提取一定數(shù)量的正樣本和一定數(shù)量的負(fù)樣本,本方法中第一幀收集的樣本數(shù)量分別為正樣本500個(gè),負(fù)樣本5000個(gè);其余幀中收集的樣本數(shù)量分別為正樣本50個(gè),負(fù)樣本200個(gè);并將它們分別加入正、負(fù)樣本訓(xùn)練集中,該數(shù)據(jù)集用于對(duì)網(wǎng)絡(luò)模型的更新訓(xùn)練;
(五)更新網(wǎng)絡(luò)模型
步驟十,更新模型分為兩種更新的方式,一種是定期更新模式,一種是隨時(shí)更新模式;定期更新模式是設(shè)定一個(gè)規(guī)定的時(shí)間間隔(例如每間隔10幀),利用收集到的正、負(fù)樣本數(shù)據(jù)微調(diào)網(wǎng)絡(luò)模型,微調(diào)網(wǎng)絡(luò)時(shí)只更新網(wǎng)絡(luò)結(jié)構(gòu)的后面三個(gè)全連接層的權(quán)值參數(shù),卷積層的權(quán)值參數(shù)固定不動(dòng);在本發(fā)明中,定期更新的時(shí)間間隔是10幀,即每個(gè)十幀更新一次網(wǎng)絡(luò)參數(shù),用到的數(shù)據(jù)集為距離當(dāng)前時(shí)刻100幀以內(nèi)所收集的樣本數(shù)據(jù);
隨時(shí)更新模式是當(dāng)跟蹤器跟蹤目標(biāo)失敗的時(shí)候,就立即利用訓(xùn)練數(shù)據(jù)集更新網(wǎng)絡(luò)模型,更新的方式也是只更新網(wǎng)絡(luò)結(jié)構(gòu)的后面三個(gè)全連接層的權(quán)值參數(shù),卷積層的權(quán)值參數(shù)固定不變;通過(guò)網(wǎng)絡(luò)模型的更新操作,使其能夠更好的適應(yīng)當(dāng)前跟蹤的視頻序列的變化,從而達(dá)到更加魯棒的跟蹤效果;在本方法中,隨時(shí)更新用到的數(shù)據(jù)集為距離當(dāng)前時(shí)刻20幀以內(nèi)所收集的樣本數(shù)據(jù)。