本發(fā)明涉及一種物體識別追蹤方法,具體的是從輸入圖像中快速準確地識別出該物體類別及對它定位跟蹤。
背景技術:
深度學習是機器學習研究中的一個新的領域,其動機在于建立、模擬人腦進行分析學習的神經(jīng)網(wǎng)絡,它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學習的概念源于人工神經(jīng)網(wǎng)絡的研究,含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。深度學習的概念由hinton等人于2006年提出?;谏疃戎眯啪W(wǎng)絡(dbn)提出非監(jiān)督貪心逐層訓練算法,為解決深層結構相關的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結構。此外lecun等人提出的基于區(qū)域的卷積神經(jīng)網(wǎng)絡是第一個真正多層結構的學習算法,它利用空間相對關系減少參數(shù)數(shù)目以提高訓練性能。深度學習的實質(zhì),是通過構建具有很多隱層的機器學習模型和海量的訓練數(shù)據(jù),來學習更有用的特征,從而最終提升分類或預測的準確性。因此,“深度模型”是手段,“特征學習”是目的。區(qū)別于傳統(tǒng)的淺層學習,深度學習的不同在于:1)強調(diào)了模型結構的深度,通常有5層、6層,甚至10多層的隱層節(jié)點;2)明確突出了特征學習的重要性,也就是說,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或預測更加容易。與人工規(guī)則構造特征的方法相比,利用大數(shù)據(jù)來學習特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。
隨著信息技術的高速發(fā)展,圖像內(nèi)物體識別在學術以及工業(yè)界都有很強需求的應用,基于深度學習的物體檢測具有盡管圖像中的物體可能千變?nèi)f化:不同的大小和尺寸,甚至被旋轉。即使物體只有部分可見也能夠被識別出來等優(yōu)勢,日益受到人們的關注和重視。
傳統(tǒng)物體識別通常采用人工選擇特征,此方法具有耗時耗力,且識別效果不佳等缺陷,基于深度學習的物體檢測具有特征自主學習的優(yōu)勢,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或預測更加容易。與人工規(guī)則構造特征的方法相比,利用大數(shù)據(jù)來學習特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。目前大部分物體視頻都是在圖片級別,本發(fā)明主要解決消費級視頻中物體視頻。相比于圖片級別,視頻中物體具有背景虛化,位置多變,拍攝角度不同等難點。
綜上所述,針對現(xiàn)有技術中存在的上述缺陷,本發(fā)明申請方案在物體識別基礎上增加了跟蹤模塊,跟蹤模塊和識別模塊可以互相矯正,提高正確率。
技術實現(xiàn)要素:
本發(fā)明為解決上述技術問題而采用的技術方案是提供一種物體識別追蹤方法,其中,具體實現(xiàn)方法是:
1)對輸入視頻預處理;
處理步驟為視頻解碼,視頻圖像化,圖像歸一化;
2)利用神經(jīng)網(wǎng)絡對視頻圖片進行檢測識別;
步驟一:輸入圖像;
由1)中采集的圖像送入步驟二;
步驟二:檢測目標區(qū)域;
步驟一中的圖像會經(jīng)過提取候選框,即目標區(qū)域的網(wǎng)絡,提取感興趣的區(qū)域;
步驟三:識別物體類別;
本步驟對步驟二中的候選框的內(nèi)容進行識別分類;采用改進的zf網(wǎng)絡,使用224×224的輸入圖片大小,每批次訓練圖片個數(shù)為256,測試圖片個數(shù)為1;網(wǎng)絡的每一層是一個大小為w×h×d的三維矩陣,其中h和w代表圖像的高度和寬度,d是濾波器的個數(shù)或者信道維數(shù),利用上述三維矩陣得出網(wǎng)絡每一層的神經(jīng)單元個數(shù);網(wǎng)絡的輸入為150528(224×224×3,以下計算方式相同)維;網(wǎng)絡每一層的輸出計算公式為:
其中:
ho為輸出圖像高度,hi為輸入圖像高度;
pad為填充大小,指定在每次輸入的圖像的每一邊加上多少個像素;
kernel_size為卷積核大??;
stride為步長,指濾波器濾波時候的滑動步長,即指定每次間隔幾個像素值進行濾波;
輸出寬度wo采用同樣的方法計算;
步驟四:計算神經(jīng)網(wǎng)絡特征,經(jīng)過softmax分類器進行分類從而生成c個物體類別的概率;又由于每個候選框的位置在步驟一中就會給出,至此,識別以及定位結束;
3)通過物體跟蹤模塊跟蹤;
識別出物體的圖片幀輸入到檢測識別模塊中,同時輸入識別出的物體位置及類別信息,在這一幀就初始化跟蹤器,并且在接下來的視頻序列中對這個檢測到的物體進行跟蹤,直到發(fā)生跟蹤丟失的情況或者發(fā)生了鏡頭切換,至此一個跟蹤序列結束;
4)進行投票操作;
2)與3)中既有檢測結果又有跟蹤結果,那么就牽扯到融合,在融合之后,便得到了一個個物體識別序列,為了得到最終的識別結果,需要一個投票操作;經(jīng)過了這個投票操作后,對于每一個序列均會得到一個統(tǒng)一的標注、一個統(tǒng)一的分數(shù);至此經(jīng)過對整個視頻的掃描后,對這個視頻內(nèi)的物體信息分析完畢。
上述的物體識別追蹤方法,其種:
對輸入視頻預處理方法中,采用從輸入視頻中截取幀的方法獲取圖片,其中幀率為25fps,然后對截圖的圖片進行歸一化處理,實驗中采用224×224像素大小。
上述的物體識別追蹤方法,其種:
通過物體跟蹤模塊跟蹤過程中,同一幀的畫面中同時跟蹤多個目標,每檢測識別一次需要150ms,并采用了加速方法,每隔十幀檢測識別一次。
上述的物體識別追蹤方法,其種:
4)步驟中,每一個物體識別序列包含如下信息:序列開始幀號、序列結束幀號、幀數(shù)、位置、識別的類別號、識別的置信度。
上述的物體識別追蹤方法,其種:
步驟二:檢測目標區(qū)域中,其中每張圖片提取2000個候選框。
上述的物體識別追蹤方法,其種:
步驟2)中:
網(wǎng)絡的學習率:學習率是指隨機梯度下降過程中,從某個峰值開始,向下一步的步伐大小;初始時為0.01,每迭代一定次數(shù)后,學習率降為原來的十分之一;0.01是隨機設置的值,一般訓練神經(jīng)網(wǎng)絡時,從某個值比如0.1或1開始設置,觀察訓練誤差的變化,若訓練誤差增大,則應減小學習率,若誤差減小,則這個值可以使用;
動量為0.99:神經(jīng)網(wǎng)絡在批處理訓練時會陷入局部最小值,也就是說誤差基本不變化,其返回的信號總誤差又大于訓練結果設定的總誤差條件;這個時候加入一個動量因子有助于其反饋的誤差信號使神經(jīng)元的權值重新振蕩起來;
權重衰減系數(shù)為0.0005:神經(jīng)網(wǎng)絡的代價函數(shù)有一個規(guī)則化項,權重衰減系數(shù)即是權重衰減項的系數(shù),用以防止過度擬合,減小權重的幅度,0.0005是一個經(jīng)驗值。
本發(fā)明相對于現(xiàn)有技術具有如下有益效果:
1)本發(fā)明與現(xiàn)有技術相比,可以更好地實現(xiàn)消費級視頻中物體識別及跟蹤系統(tǒng)中的各個模塊的性能;
2)基于神經(jīng)網(wǎng)絡的物體檢測及定位方法比傳統(tǒng)的方法更加準確快速,更能適應由于光照、旋轉等引起的圖像畸變;
3)最后,檢測和跟蹤會互相矯正提高識別及跟蹤效果。因此,該發(fā)明提出的方法計算上較傳統(tǒng)的方法更快,同時具有更好的性能。
附圖說明
圖1為本發(fā)明提供的物體識別追蹤方法的流程圖。
具體實施方式
本發(fā)明要解決的技術問題是:使用物體識別追蹤系統(tǒng)從輸入圖像中快速準確地識別出該物體類別及對它定位跟蹤;物體識別追蹤系統(tǒng)的核心問題在于從輸入視頻中檢測出物體的類別以及精確位置,然后進行跟蹤。
本發(fā)明提供的物體識別追蹤方法,該方法包含兩個階段,在第一階段使用神經(jīng)網(wǎng)絡快速從視頻中檢測出物體的位置并識別出該物體類別,分割出物體區(qū)域送入第二階段處理,第二階段對物體進行跟蹤。
1、輸入視頻預處理
本階段核心在于將解碼出來的視頻幀以圖片的方式送入檢測識別模塊和實時跟蹤模塊。主要步驟為視頻解碼,視頻圖像化,圖像歸一化;本方法中,我們采用從輸入視頻中截取幀的方法獲取圖片,其中幀率為25fps,然后對截圖的圖片進行歸一化處理,實驗中采用224×224像素大小。
2、利用神經(jīng)網(wǎng)絡對視頻圖片進行檢測識別
本階段核心在于如何從一幅圖像中快速準確地進行像定位出物體區(qū)域,進而識別出物體類別,并對物體進行跟蹤。主要步驟如下所示。
步驟一:輸入圖像。由5.1中采集的圖像送入步驟二
步驟二:檢測目標區(qū)域。步驟一中的圖像會經(jīng)過提取候選框(目標區(qū)域)的網(wǎng)絡,提取感興趣的區(qū)域。其中每張圖片提取2000個候選框。
步驟三:識別物體類別。本步驟對步驟二中的2000個候選框的內(nèi)容進行識別分類。本發(fā)明采用改進的zf網(wǎng)絡,使用224×224的輸入圖片大小,每批次訓練圖片個數(shù)為256,測試圖片個數(shù)為1。網(wǎng)絡的每一層是一個大小為w×h×d的三維矩陣,其中h和w代表圖像的高度和寬度,d是濾波器的個數(shù)或者信道維數(shù),利用上述三維矩陣可得出網(wǎng)絡每一層的神經(jīng)單元個數(shù)。網(wǎng)絡的輸入為150528(224×224×3,以下計算方式相同)維。網(wǎng)絡每一層的輸出計算公式為:
ho=(hi+2*pad-kernel_size)/stride+1;
其中:
ho為輸出圖像高度,hi為輸入圖像高度;
pad為填充大小,指定在每次輸入的圖像的每一邊加上多少個像素;
kernel_size為卷積核大小,其大小值是隨意設置的,根據(jù)圖片大小而定,圖片比較大可以設大一點,圖片比較小可以設小一點,但不是絕對的,但卷積核大小一般都是奇數(shù),這樣卷積模板就是中心對稱的,可以設一些經(jīng)驗值如5,7,11等;
stride為步長,指濾波器濾波時候的滑動步長,即指定每次間隔幾個像素值進行濾波;
輸出寬度wo采用同樣的方法計算;
網(wǎng)絡的學習率為——學習率是指隨機梯度下降過程中,從某個峰值開始,向下一步的步伐大小。初始時為0.01,每迭代一定次數(shù)后,學習率降為原來的十分之一。0.01是隨機設置的值,一般訓練神經(jīng)網(wǎng)絡時,從某個值比如0.1或1開始設置,觀察訓練誤差的變化,若訓練誤差增大,則應減小學習率,若誤差減小,則這個值可以使用。學習率的選取原則是:使得訓練誤差減小,呈逐漸收斂的趨勢,但收斂速度不要太慢,若收斂得太慢,則應適當增加學習率。
動量為0.99——神經(jīng)網(wǎng)絡在批處理訓練時會陷入局部最小值,也就是說誤差基本不變化,其返回的信號對權值調(diào)整很小但是總誤差又大于訓練結果設定的總誤差條件。這個時候加入一個動量因子有助于其反饋的誤差信號使神經(jīng)元的權值重新振蕩起來。
權重衰減系數(shù)為0.0005——神經(jīng)網(wǎng)絡的代價函數(shù)有一個規(guī)則化項(也叫權重衰減項),權重衰減系數(shù)即是權重衰減項的系數(shù),用以防止過度擬合,減小權重的幅度。0.0005是一個經(jīng)驗值。
步驟四:計算神經(jīng)網(wǎng)絡特征,經(jīng)過softmax分類器進行分類從而生成c個物體類別的概率;又由于每個候選框的位置在步驟一中就會給出,至此,識別以及定位結束。
3、物體跟蹤模塊
經(jīng)2中識別出物體的圖片幀輸入到檢測識別模塊中,同時輸入識別出的物體位置及類別信息,在這一幀就初始化跟蹤器,并且在接下來的視頻序列中對這個檢測到的物體進行跟蹤,直到發(fā)生跟蹤丟失的情況或者發(fā)生了鏡頭切換,至此一個跟蹤序列結束;
同一幀的畫面中同時跟蹤多個目標,每檢測識別一次卻需要150ms,并采用了加速方法,每隔十幀才檢測識別一次;
接下來,在每十幀的時候有可能既有檢測結果又有跟蹤結果,那么就牽扯到融合,在融合之后,便得到了一個個物體識別序列,每一個序列都包含如下信息:序列開始幀號、序列結束幀號、幀數(shù)、位置、識別的類別號、識別的置信度;于是,為了得到最終的識別結果,需要一個投票操作;經(jīng)過了這個投票操作后,對于每一個序列均會得到一個統(tǒng)一的標注、一個統(tǒng)一的分數(shù);至此經(jīng)過對整個視頻的掃描后,對這個視頻內(nèi)的物體信息已經(jīng)分析完畢。
雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何本領域技術人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的修改和完善,因此本發(fā)明的保護范圍當以權利要求書所界定的為準。