本發(fā)明屬于人工神經(jīng)網(wǎng)絡(luò)和計算機視覺領(lǐng)域,涉及自編碼器神經(jīng)網(wǎng)絡(luò)和目標追蹤技術(shù),尤其涉及一種基于神經(jīng)網(wǎng)絡(luò)的圖像目標跟蹤算法。
背景技術(shù):
圖像序列目標跟蹤具有非常廣泛的應(yīng)用,是計算機視覺中最經(jīng)典的問題之一。圖像序列目標跟蹤解決如下問題:在圖像序列的某一幀中使用一個矩形框來界定需要被跟蹤的目標對象,目標跟蹤算法在后續(xù)的圖像序列中給出被跟蹤的目標對象在當(dāng)前圖像中的位置。圖像目標跟蹤算法在機器人技術(shù)、航天、安全監(jiān)控、軍事等諸多領(lǐng)域有著廣泛的應(yīng)用前景。
基于區(qū)域的目標跟蹤算法把目標一開始所在的區(qū)域的矩形框作為目標對象的模板,在后序的圖像序列中,使用目標對象的模板與圖像中所有可能的位置進行相關(guān)度的匹配,匹配度越高說明相關(guān)性越強。基于區(qū)域的跟蹤使用了目標對象的全局信息,因此可信度較高,但目標發(fā)生嚴重形變時容易造成跟蹤失敗的發(fā)生。
基于特征的目標跟蹤算法使用目標的顯著的特征來表示目標,比較常用的目標特征有顏色特征、灰度特征、紋理特征等,然后在新的圖像上進行特征的匹配,然后根據(jù)原特征和新圖像上的特征的相似性來確定目標對象的位置。
基于運動的目標跟蹤算法會利用一系列圖像序列中的目標的運動信息來對目標對象進行跟蹤。由于二維的圖像無法完整地表示三維空間中物體的運動狀態(tài),在目標對象發(fā)生復(fù)雜的運動時,這種方法通常會不穩(wěn)定。
在實際的目標跟蹤過程中,目標對象的外形變化和運動狀態(tài)都非常復(fù)雜,當(dāng)目標對象的外形和運動狀態(tài)發(fā)生變化時,上述跟蹤方法難以快速適應(yīng)這些變化,容易造成跟蹤效果差甚至跟蹤失敗的情況。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,采用神經(jīng)網(wǎng)絡(luò)對原圖像進行編碼,有效克服亮度變化以及被跟蹤的目標外形變化對跟蹤效果的不利影響,同時對跟蹤過程進行動態(tài)調(diào)整,使得目標外形變化較快或較慢時都能得到較好的跟蹤效果。
本發(fā)明的技術(shù)方案是提供一種基于神經(jīng)網(wǎng)絡(luò)的圖像目標跟蹤算法,包括如下:
步驟一:使用收集的圖像訓(xùn)練自編碼器,得到神經(jīng)網(wǎng)絡(luò);
訓(xùn)練的目標最小化下式(1):
其中:x表示神經(jīng)網(wǎng)絡(luò)的輸入,W表示網(wǎng)絡(luò)權(quán)值,h表示隱藏層的向量;
步驟二:預(yù)處理需要跟蹤的圖像序列,使用自編碼器進行特征提??;
步驟三:使用濾波的方法對目標進行跟蹤;
步驟四:根據(jù)每一幀的跟蹤結(jié)果對跟蹤器進行更新;
步驟五:根據(jù)跟蹤效果動態(tài)調(diào)整更新參數(shù)。
所述步驟一具體如下:
(1)、收集一系列具有明顯特征的圖像;
(2)、切割每個圖像成多個小的圖像塊;
(3)、使用切割后的圖像塊訓(xùn)練自編碼器;
(4)、訓(xùn)練出來的神經(jīng)網(wǎng)絡(luò)用于提取圖像的特征向量。
所述步驟二具體如下:將輸入圖像分割成M×N個圖像塊,使用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)對每個圖像塊進行編碼,得到一組特征向量。
所述步驟三具體如下:使用窗函數(shù)過濾提取出特征,首先將經(jīng)過窗函數(shù)過濾的特征向量映射到傅立葉域,使用第一幀圖像的特征向量建立一個線性相關(guān)模型;對之后的每一幀圖像,使用該模型預(yù)測目標對象在當(dāng)前圖像的位置。
所述步驟四具體如下:根據(jù)目標對象新的位置對跟蹤模型的參數(shù)進行調(diào)整,以適應(yīng)目標對象的外形變化。
所述步驟五具體如下:在跟蹤過程中,如檢測到目標對象外形變化速率較快,則提高上述步驟四中模型更新的速率,反之則降低該速率。
本發(fā)明的有益效果:
本發(fā)明有效克服亮度變化對目標對象特征的影響;實時調(diào)整跟蹤模型,以適應(yīng)目標對象的外形變化,得到更精確的跟蹤效果;同時能夠在跟蹤過程中根據(jù)實際情況動態(tài)調(diào)整學(xué)習(xí)參數(shù),使目標外形變化快慢均能取得好的跟蹤效果。
本發(fā)明的算法保證了目標跟蹤的準確性和魯棒性。
附圖說明
圖1為本發(fā)明的算法流程圖。
圖2為測試序列跟蹤窗口偏移圖。
具體實施方式
下面通過具體實施例和附圖對本發(fā)明作進一步的說明。本發(fā)明的實施例是為了更好地使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明,并不對本發(fā)明作任何的限制。
本發(fā)明基于神經(jīng)網(wǎng)絡(luò)的圖像目標跟蹤算法,如圖1所示,算法包括如下步驟:步驟一、使用收集的圖像訓(xùn)練自編碼器,得到神經(jīng)網(wǎng)絡(luò),具體:
收集一系列具有明顯特征的圖像,將每個圖像切割成多個小的圖像塊,使用這些圖像塊對自編碼器進行訓(xùn)練,訓(xùn)練的目標是最小化下式(1):
其中:x表示神經(jīng)網(wǎng)絡(luò)的輸入,W表示網(wǎng)絡(luò)權(quán)值,h表示隱藏層的向量;
訓(xùn)練出來的神經(jīng)網(wǎng)絡(luò)用于提取圖像的特征向量,并減少目標旋轉(zhuǎn)和光照變化的影響。
步驟二、預(yù)處理需要跟蹤的圖像序列,使用自編碼器進行特征提取,具體如下:
將輸入圖像分割成M×N個圖像塊,使用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)對每個圖像塊進行編碼,特征提取得到一組特征向量,即M×N個特征向量。
步驟三、使用濾波的方法對目標進行跟蹤;由于目標對象的位于中心的特征更能代表目標對象,而位于邊緣的部分更多的是背景的特征,因此使用窗函數(shù)過濾提取出特征,將經(jīng)過窗函數(shù)過濾的特征向量映射到傅立葉域,使用第一幀圖像的特征向量建立一個線性相關(guān)模型;對隨后的每一幀圖像,使用該模型預(yù)測目標對象在當(dāng)前圖像的位置,具體為:
(1)、為了使跟蹤有更好的效率,相關(guān)的計算將在傅立葉域進行,因此需要將特征向量映射到傅立葉域;
(2)、根據(jù)M×N個特征向量建立基于相關(guān)濾波跟蹤模型,根據(jù)第一幀圖像建立跟蹤模型,模型的訓(xùn)練輸入就是目標對象的特征,記作x,模型的訓(xùn)練輸出記作y,為了表示相關(guān)性與相關(guān)響應(yīng)輸出的關(guān)系,使y為在圖像中心的具有方差為2.0的二維高斯形狀的峰。
為了得到將訓(xùn)練輸入映射到目標輸出的相關(guān)濾波器,并使得相關(guān)的實際輸出與期望的相關(guān)輸出之間的誤差最小,這個最小化問題的數(shù)學(xué)表示形式,如下式(2)所示,其中w表示所求的相關(guān)濾波器,γ是正則化參數(shù)。
式(2)表示的是一個線性嶺回歸模型,這個目標函數(shù)的解如下式(3)所示
w=∑m,nrm,n·xm,n (3)
其中參數(shù)r的定義如上式(3)、(4)所示,F(xiàn)表示快速傅立葉變換(FFT)算子,y表示二維的高斯形狀。
(3)、將第一幀中的跟蹤窗口的特征向量帶入上式(4)中,得到回歸模型R,在其余的圖像序列中使用模型R來進行目標對象的跟蹤。
假設(shè)在新的圖像中跟蹤窗口的特征表示為z,原來的圖像中跟蹤窗口的特征表示為x,新圖像中跟蹤窗口與原圖像中跟蹤窗口的相關(guān)響應(yīng)由下式(5)表示。
響應(yīng)映射結(jié)果與跟蹤窗口裁剪成的圖像塊有相同的大小,即M×N,響應(yīng)映射越大,則表示圖像的相關(guān)性越大。
步驟四、根據(jù)每一幀的跟蹤結(jié)果對跟蹤器進行更新,以適應(yīng)目標的變化;由于發(fā)生了運動,目標對象的特征必定會有所變化,根據(jù)目標對象新的位置對跟蹤模型的參數(shù)進行調(diào)整,以適應(yīng)目標對象的外形變化。假設(shè)在第i幀中,跟蹤窗口的特征向量表示為xi,線性回歸模型表示為Ri,可以通過下式(6)來更新跟蹤窗口的特征向量:
其中,t表示模型的學(xué)習(xí)速率。
步驟五、根據(jù)跟蹤效果動態(tài)調(diào)整更新參數(shù),在跟蹤過程中,如檢測到目標對象外形變化速率較快,則提高步驟四中模型更新的速率,反之則降低該速率。學(xué)習(xí)速率應(yīng)當(dāng)在一定范圍內(nèi)隨目標對象的變化速度來進行調(diào)整。首先應(yīng)當(dāng)將每次跟蹤的響應(yīng)映射結(jié)果的最大值記錄下來,當(dāng)這個最大值變小時,可以確定被跟蹤的目標正在發(fā)生外形變化,這時應(yīng)當(dāng)將學(xué)習(xí)速率稍稍提高,以適應(yīng)目標對象的外形變化;當(dāng)這個最大值回到正常水平時,可以確定被跟蹤的目標對象外形變化較慢,這時應(yīng)當(dāng)將學(xué)習(xí)速率慢慢減小,以防止過度學(xué)習(xí)引起模型對新的目標對象特征的過度依賴。
實驗對多組有挑戰(zhàn)性的圖像序列進行測試,并通過調(diào)整模型的初始更新速率因子來提高跟蹤的效果。
同時,本發(fā)明通過對比跟蹤模型預(yù)測的目標對象位置和目標對象的真實位置來評估跟蹤效果,平均像素誤差D可以使用公式(7)表示:
其中:N表示圖像序列包含的圖像數(shù),x和y表示目標的真實位置,x’和y’表示跟蹤器預(yù)測的目標位置,結(jié)果D越小表示跟蹤效果越好。
由于不同的圖像序列跟蹤的目標變化情況不同,有的目標外形變化較大,而其他的目標外形變化較小。實驗結(jié)果表明,當(dāng)跟蹤模型的初始更新速率調(diào)整為0.01時,跟蹤結(jié)果有較好的效果。
如圖2所示,隨著時序的變化,預(yù)測的目標位置也在不斷變化。當(dāng)誤差變化較大時,認為目標外形發(fā)生了較大的變化,應(yīng)當(dāng)調(diào)高更新速率;反之,當(dāng)誤差變化較小時,應(yīng)當(dāng)調(diào)低更新速率,以防止環(huán)境變化對跟蹤過程產(chǎn)生不良的影響。
應(yīng)當(dāng)理解的是,這里所討論的實施方案及實例只是為了說明,對本領(lǐng)域技術(shù)人員來說,可以加以改進或變換,而所有這些改進和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。