本發(fā)明涉及計(jì)算機(jī)視覺領(lǐng)域,具體涉及一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法及裝置。
背景技術(shù):
交通事故的高發(fā)在當(dāng)今社會(huì)造成了極大的人身和財(cái)產(chǎn)安全問題,這使得對(duì)于高級(jí)駕駛輔助系統(tǒng)(ADAS)的研究與應(yīng)用越發(fā)火熱,其中防碰撞系統(tǒng)占據(jù)著十分重要的地位,對(duì)于前方存在的危險(xiǎn)目標(biāo)(如汽車、非機(jī)動(dòng)車、行人等)的準(zhǔn)確跟蹤是行車安全的保障。
目標(biāo)跟蹤是計(jì)算機(jī)視覺中的一個(gè)基本問題。目前的目標(biāo)跟蹤算法大多采用人工設(shè)計(jì)特征,對(duì)目標(biāo)生成特征模型,在搜索范圍內(nèi)尋找最符合目標(biāo)特征模型的區(qū)域,并更新模型,可轉(zhuǎn)化為二分類問題或者尋找最優(yōu)問題。但目前的跟蹤算法存在的一個(gè)問題是,使用低層次的人工設(shè)計(jì)特征無法獲取目標(biāo)的高級(jí)語義信息,而且在不同的視頻序列中,不同目標(biāo)的紋理與移動(dòng)模式均有不同,對(duì)于光照變化或者部分遮擋等情況的魯棒性不高,因此限制了跟蹤的性能。近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在圖像分類問題上取得了巨大的成功,將卷積神經(jīng)網(wǎng)絡(luò)的分類性能運(yùn)用到跟蹤問題中,通過深度的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練可以學(xué)習(xí)到目標(biāo)物體所表現(xiàn)出的高層次語義特征,解決了人工設(shè)計(jì)特征的不足,但一般的卷積神經(jīng)網(wǎng)絡(luò)并不能很好的區(qū)分同一類物體中的不同個(gè)體,容易造成跟蹤錯(cuò)誤。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法及裝置,該方法及裝置適用于多種環(huán)境中的目標(biāo)跟蹤,不僅克服了人工特征的不足,而且改善了普通卷積神經(jīng)網(wǎng)絡(luò)在跟蹤問題中的缺陷,提高目標(biāo)跟蹤算法的魯棒性。
具體方案如下:
一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法,包括:
S1,構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),該卷積神經(jīng)網(wǎng)絡(luò)包括多個(gè)特征共享層和一個(gè)特定分類層;
S2,進(jìn)行離線訓(xùn)練,對(duì)于不同的帶有目標(biāo)標(biāo)注的視頻序列,采用不同的特定分類層與特征共享層進(jìn)行訓(xùn)練并更新網(wǎng)絡(luò)的參數(shù),該網(wǎng)絡(luò)的參數(shù)包括特定分類層的參數(shù)以及特征共享層的參數(shù),直到網(wǎng)絡(luò)收斂或者達(dá)到預(yù)先設(shè)定的迭代次數(shù);
S3,對(duì)卷積神經(jīng)網(wǎng)絡(luò)更新并使用卷積神經(jīng)網(wǎng)絡(luò)從視頻幀中獲取最優(yōu)的區(qū)域設(shè)為跟蹤區(qū)域,具體步驟包括:
S31,以當(dāng)前目標(biāo)位置作為輸入,保持特征共享層的參數(shù)不變,使用新的特定分類層與特征共享層組成新的卷積神經(jīng)網(wǎng)絡(luò);
S32,在當(dāng)前目標(biāo)位置周圍區(qū)域隨機(jī)選取多個(gè)區(qū)域作為正樣本,另外的多個(gè)區(qū)域作為負(fù)樣本,保持部分特征共享層的參數(shù)不變進(jìn)行訓(xùn)練更新,調(diào)整部分特征共享層的參數(shù)以及新的特定分類層的參數(shù);
S33,從視頻幀中根據(jù)高斯分布隨機(jī)生成多個(gè)跟蹤候選區(qū)域;
S34,使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)多個(gè)跟蹤候選區(qū)域評(píng)分,從中獲取最優(yōu)候選區(qū)域;
S35,若最優(yōu)候選區(qū)域的評(píng)分大于一閾值,則將該最優(yōu)候選區(qū)域設(shè)為跟蹤區(qū)域,對(duì)跟蹤區(qū)域進(jìn)行標(biāo)注,否則跳轉(zhuǎn)至步驟S32,直至滿足最優(yōu)候選區(qū)域的評(píng)分大于一閾值,則將該最優(yōu)候選區(qū)域設(shè)為跟蹤區(qū)域,對(duì)跟蹤區(qū)域進(jìn)行標(biāo)注。
進(jìn)一步的,所述的步驟S31還包括分別設(shè)定新的卷積神經(jīng)網(wǎng)絡(luò)的更新時(shí)間以及更新周期,設(shè)當(dāng)前的時(shí)間為t,該更新時(shí)間包括短更新時(shí)間ts以及長(zhǎng)更新時(shí)間tl,該更新周期包括短更新周期Ts以及長(zhǎng)更新周期Tl,并在執(zhí)行所述的步驟S34后,執(zhí)行如下步驟:
S36,若最優(yōu)候選區(qū)域的評(píng)分大于一閾值,則將該最優(yōu)候選區(qū)域設(shè)為跟蹤區(qū)域,并且當(dāng)前時(shí)間t=t+1,否則跳轉(zhuǎn)至步驟S32,直至滿足最優(yōu)候選區(qū)域的評(píng)分大于一閾值,則將該最優(yōu)候選區(qū)域設(shè)為跟蹤區(qū)域,對(duì)跟蹤區(qū)域進(jìn)行標(biāo)注;
S37,如果ts>TS,則ts=1,tl=tl+1,并跳轉(zhuǎn)至步驟S32,如果tl>Tl,則ts=ts+1,tl=1,并跳轉(zhuǎn)至步驟S32,否則ts=ts+1,tl=tl+1,并跳轉(zhuǎn)至步驟S33。
進(jìn)一步的,所述的特征共享層包括卷積層和前兩個(gè)全連接層,所述的特定分類層為作為卷積神經(jīng)網(wǎng)絡(luò)輸出的第三個(gè)全連接。
進(jìn)一步的,所述的步驟S32中在當(dāng)前目標(biāo)位置周圍區(qū)域隨機(jī)選取多個(gè)區(qū)域作為正樣本,另外的多個(gè)區(qū)域作為負(fù)樣本具體指的是:在視頻序列中每一幀的標(biāo)注目標(biāo)矩形框周圍區(qū)域,選取若干IoU≥0.8的區(qū)域作為正樣本,選取若干IoU≤0.5的區(qū)域作為負(fù)樣本。
一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤裝置,包括:
處理器以及存儲(chǔ)器;
所述存儲(chǔ)器用于存儲(chǔ)程序;
所述處理器用于執(zhí)行所述存儲(chǔ)器中的程序,使得所述目標(biāo)跟蹤裝置執(zhí)行上述的基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法。
本發(fā)明有益效果:1.本發(fā)明在步驟S2中,對(duì)于不同的帶有目標(biāo)標(biāo)注的視頻序列,采用不同的特定分類層與之前的特征共享層組成網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直到網(wǎng)絡(luò)收斂或者達(dá)到預(yù)先設(shè)定的迭代次數(shù),通過這個(gè)訓(xùn)練過程使得特征共享層能夠?qū)W習(xí)到不同目標(biāo)在不同環(huán)境中所表現(xiàn)出的語義共性,克服了人工特征的不足。
2.本發(fā)明在步驟S3中,使用一個(gè)新的分類層代替訓(xùn)練階段的特定分類層,與特征共享層組成跟蹤網(wǎng)絡(luò),并對(duì)這個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào),以適應(yīng)具體的跟蹤環(huán)境;在更新網(wǎng)絡(luò)時(shí)保持卷積層的參數(shù)不變,只更新全連接層的參數(shù),這樣不僅能夠提高計(jì)算效率,而且避免產(chǎn)生過擬合;在跟蹤時(shí)采取短期與長(zhǎng)期的網(wǎng)絡(luò)更新機(jī)制,應(yīng)對(duì)目標(biāo)在視頻序列中的變化;更新時(shí)提取目標(biāo)周圍IoU≤0.5的區(qū)域作為負(fù)樣本,這意味著即使當(dāng)前目標(biāo)周圍存在與目標(biāo)同類的物體也被當(dāng)作負(fù)樣本進(jìn)行訓(xùn)練,這樣使得跟蹤網(wǎng)絡(luò)可以根據(jù)當(dāng)前的視頻環(huán)境自適應(yīng)地學(xué)習(xí)與更新目標(biāo)的語義信息,并且具有區(qū)分同類物體中不同目標(biāo)的能力,克服一般卷積神經(jīng)網(wǎng)絡(luò)不能區(qū)分同類物體中不同個(gè)體的缺陷,提高跟蹤算法的魯棒性。
綜上所述,本發(fā)明采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)跟蹤,構(gòu)建了一個(gè)簡(jiǎn)單有效的網(wǎng)絡(luò)結(jié)構(gòu),其中包含特征共享層與特定分類層,訓(xùn)練網(wǎng)絡(luò)來學(xué)習(xí)目標(biāo)的高級(jí)語義特征,將網(wǎng)絡(luò)的輸出作為跟蹤結(jié)果的置信度,彌補(bǔ)傳統(tǒng)人工特征的不足,并在一定條件下更新微調(diào)網(wǎng)絡(luò)參數(shù),改善普通卷積神經(jīng)網(wǎng)絡(luò)在跟蹤問題中的缺陷,提高目標(biāo)跟蹤的魯棒性。
附圖說明
圖1為本發(fā)明一實(shí)施例的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
具體實(shí)施方式
為進(jìn)一步說明各實(shí)施例,本發(fā)明提供有附圖。這些附圖為本發(fā)明揭露內(nèi)容的一部分,其主要用以說明實(shí)施例,并可配合說明書的相關(guān)描述來解釋實(shí)施例的運(yùn)作原理。配合參考這些內(nèi)容,本領(lǐng)域普通技術(shù)人員應(yīng)能理解其他可能的實(shí)施方式以及本發(fā)明的優(yōu)點(diǎn)?,F(xiàn)結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)一步說明。
由于在不同環(huán)境中,如光照條件變化,運(yùn)動(dòng)造成的模糊或者尺度的變化等,目標(biāo)的紋理特征仍然表現(xiàn)出一些共性,但不同目標(biāo)間存在差異。因此本發(fā)明一實(shí)施例設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)包含兩個(gè)部分,分別為特征共享層與特定分類層,如圖1所示。3個(gè)卷積層conv1,conv2,conv3和2個(gè)全連接層fc4,fc5組成特征共享層,fc6K為特定分類層。
不同于深層的卷積神經(jīng)網(wǎng)絡(luò),本發(fā)明設(shè)計(jì)的網(wǎng)絡(luò)比典型的被運(yùn)用于圖像分類的網(wǎng)絡(luò)(如AlexNet、VGG-Nets等)小得多,這樣的網(wǎng)絡(luò)有如下四點(diǎn)優(yōu)勢(shì):首先,跟蹤問題旨在區(qū)分目標(biāo)和背景兩個(gè)類別,這可以減小網(wǎng)絡(luò)模型的復(fù)雜度。其次,深層的網(wǎng)絡(luò)使得目標(biāo)的空間信息變得稀疏,這樣不利于目標(biāo)的準(zhǔn)確定位。再者,跟蹤的目標(biāo)往往是場(chǎng)景中的一小部分,這使得網(wǎng)絡(luò)的輸入較小,自然也可以減少網(wǎng)絡(luò)的層數(shù)。最后,一個(gè)小的網(wǎng)絡(luò)顯然降低了計(jì)算量,提高了目標(biāo)跟蹤的時(shí)效性。
本發(fā)明一實(shí)施例的基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法包括離線訓(xùn)練和在線更新與跟蹤兩個(gè)部分,主要步驟如下:
1.離線訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。
1.1本發(fā)明構(gòu)建了一個(gè)用于目標(biāo)跟蹤的卷積神經(jīng)網(wǎng)絡(luò),如圖1所示,該網(wǎng)絡(luò)包含3個(gè)卷積層conv1,conv2,conv3和3個(gè)全連接層fc4,fc5,fc6K,3個(gè)卷積層的卷積模板深度分別為96×25×25,256×5×5,256×3×3,fc4和fc5層的深度均為512,fc6K的深度為2,作為網(wǎng)絡(luò)的輸出。3個(gè)卷積層和前2個(gè)全連接層作為特征共享層,對(duì)于不同分類目標(biāo)的跟蹤,網(wǎng)絡(luò)的前5層不變,第6層是特定分類層,對(duì)于不同分類K選用對(duì)應(yīng)的fc6K。
1.2采用隨機(jī)梯度下降法在具有標(biāo)注的視頻序列中訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),在視頻中每一幀的標(biāo)注目標(biāo)矩形框周圍區(qū)域,選取若干IoU≥0.8的區(qū)域作為正樣本,選取若干IoU≤0.5的區(qū)域作為負(fù)樣本(IoU為所選區(qū)域與標(biāo)注矩形框的交疊率),將選取的正負(fù)樣本作為一批進(jìn)行訓(xùn)練。設(shè)置卷積層的學(xué)習(xí)率為0.0001,全連接層的學(xué)習(xí)率為0.001,沖量系數(shù)(momentum)0.9,權(quán)重衰減(weight decay)0.0005在第n次迭代,選取第n%K個(gè)類別的批樣本(例如K=1代表汽車,K=2代表非機(jī)動(dòng)車,K=3代表行人),對(duì)由fc6(n%K)層和之前各層組成的網(wǎng)絡(luò)進(jìn)行訓(xùn)練并更新參數(shù)。通過該離線訓(xùn)練的步驟使得特征共享層能夠?qū)W習(xí)到不同目標(biāo)在不同環(huán)境中所表現(xiàn)出的語義共性,克服了人工特征的不足。
2.使用網(wǎng)絡(luò)進(jìn)行在線跟蹤。
2.1根據(jù)當(dāng)前目標(biāo)位置POSt作為輸入,保持網(wǎng)絡(luò)的前5層參數(shù)不變,采用一個(gè)隨機(jī)初始化的fc6層與前5層組成網(wǎng)絡(luò)。設(shè)置當(dāng)前的時(shí)間為t,短更新時(shí)間ts=1,長(zhǎng)更新時(shí)間tl=1,短更新周期Ts=20,長(zhǎng)更新周期Tl=100。該步驟中采取短期與長(zhǎng)期的網(wǎng)絡(luò)更新機(jī)制,能很好地應(yīng)對(duì)目標(biāo)在視頻序列中的變化。
2.2在當(dāng)前目標(biāo)位置POSt周圍區(qū)域隨機(jī)選取50個(gè)IoU≥0.8的區(qū)域作為正樣本,200個(gè)IoU≤0.5的區(qū)域作為負(fù)樣本,固定conv1,conv2,conv3層的參數(shù)不變,訓(xùn)練更新,微調(diào)fc4,fc5,fc6層參數(shù)。采用這樣的更新策略不僅了提高計(jì)算效率,而且避免過擬合的產(chǎn)生,更新時(shí)提取目標(biāo)周圍IoU≤0.5的區(qū)域作為負(fù)樣本,意味著即使當(dāng)前目標(biāo)周圍存在與目標(biāo)同類的物體也被當(dāng)作負(fù)樣本進(jìn)行訓(xùn)練,這樣使得跟蹤網(wǎng)絡(luò)可以根據(jù)當(dāng)前的視頻環(huán)境自適應(yīng)地學(xué)習(xí)與更新目標(biāo)的語義信息,并且具有區(qū)分同類物體中不同目標(biāo)的能力,克服一般卷積神經(jīng)網(wǎng)絡(luò)不能區(qū)分同類物體中不同個(gè)體的缺陷,提高跟蹤算法的魯棒性。
2.3根據(jù)高斯分布隨機(jī)生成N=256個(gè)候選區(qū)域位置和尺度均值為(xt-1,yt-1,st-1),方差為(0.09r2,0.09r2,0.25),r為在前一幀中目標(biāo)區(qū)域?qū)捄透叩钠骄?。每一個(gè)候選區(qū)域的尺度為
2.4利用卷積神經(jīng)網(wǎng)絡(luò)估計(jì)N個(gè)候選區(qū)域的得分選取最優(yōu)候選框
2.5如果畫出當(dāng)前跟蹤區(qū)域矩形框,t=t+1,否則轉(zhuǎn)到步驟(2.2)。
2.6如果ts>TS,那么ts=1,tl=tl+1,轉(zhuǎn)到步驟(2.2),如果tl>Tl,那么ts=ts+1,tl=1,轉(zhuǎn)到步驟(2.2)。否則ts=ts+1,tl=tl+1,跳轉(zhuǎn)步驟(2.3)。
在另外的一個(gè)實(shí)施例中,還提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤裝置,包括:
處理器以及存儲(chǔ)器;
所述存儲(chǔ)器用于存儲(chǔ)程序;
所述處理器用于執(zhí)行所述存儲(chǔ)器中的程序,使得所述目標(biāo)跟蹤裝置執(zhí)行上述的實(shí)施例的基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤方法。
盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。