王子曄 苗奪謙,2 趙才榮,2 羅 晟 衛志華,2
1(同濟大學計算機科學與技術系 上海 201804)2(嵌入式系統與服務計算教育部重點實驗室(同濟大學) 上海 201804)
目前,低成本視覺采集機器逐漸發展成熟,可以便捷地獲取得到大量的視頻數據,極大地促進了視覺多媒體的研究與應用.例如在智能監控系統中,對監控視頻中可疑的目標人物進行長期跟蹤已經成為計算機視覺研究領域中的重要課題.行人跟蹤任務的目的是在一段連續視頻中根據第1幀中已經標注的某個特定目標行人的位置及相關信息,來對這個特定的目標行人進行跟蹤,最終記錄得到目標行人在視頻每一幀中的位置信息.
傳統的目標跟蹤方法[1]普遍采用概率密度方法、人工設計特征等方法直接對圖像進行檢測[2],從而在視頻的每一幀中定位出感興趣的運動目標.例如使用手工設計的方向梯度直方圖(histogram of oriented gradient, HOG)特征[3]進行跟蹤的方法,這種方法不依賴先驗知識,因此很難適應復雜的環境變化,魯棒性與精度都有待提高.相反,基于深度學習的方法可以自動從大數據中學習得到有效的特征表示,因此跟蹤效果較好.
深度學習[4]在計算機視覺的各個領域一直都有很廣泛的應用,例如圖像分類、目標檢測、語義分割等.隨著大數據的不斷發展以及計算機計算能力的不斷提高,近年來深度學習也逐漸開始被應用于目標跟蹤領域.2013年Wang等人[5]提出使用疊加去噪自動編碼器(stacked denoising autoencoder, SADE),通過無監督預訓練從大量數據中提取目標特征,再使用粒子濾波器來進行在線跟蹤.這也是第一個引入深度學習模型的單目標跟蹤任務.2014年提出的結構化輸出深度學習跟蹤器(structured output deep learning tracker, SO-DLT)[6]算法,成功使用大規模卷積神經網絡來提取特征.Long和Shelhamer[7]通過探索來自不同層的卷積特征來表達目標屬性中的區別與聯系,并且通過微卷積神經網絡使其稀疏化,從而得到更好的特征來進行追蹤,有效避免了跟蹤器漂移的現象.POSTECH團隊提出多域學習的概念,將每一個視頻數據作為一個單獨的域,通過多個域中目標的共享表示來進行跟蹤,也就是MDNet(multi-domain convolutional neural networks)算法[8].Held等人[9]于2016年提出一種基于回歸網絡的深度視覺跟蹤算法GOTURN(generic object tracking using regression networks),使用大量的視頻與圖像數據進行離線學習,使網絡能夠學習到對象的外觀模型以及運動模型,這也是第1次使用深度學習的目標跟蹤算法在速度上達到100 fps.
GOTURN算法使得基于深度學習的實時跟蹤方法成為可能,然而行人是非剛性的目標,場景以及形狀變化、視角變化等復雜性使得跟蹤器無法很好的根據先前幀中的信息有效地鎖定目標行人.相反,采用深度學習的Faster R-CNN(region proposal convolutional neural network)目標檢測算法[10],可以在運動模糊或部分遮擋的情況下對行人有較好的檢測結果.因此我們考慮結合目標跟蹤與目標檢測的優點,提出一種新的模型來實現對行人的長期穩定跟蹤.
目前存在的跟蹤檢測結合算法主要為TLD(tracking-learning-detection)算法[11],是一種新的單目標長時間跟蹤算法,將傳統的跟蹤算法和檢測算法結合,并通過一種改進的在線學習機制對跟蹤模塊的相關參數進行不斷更新,從而得到更加可靠穩定的跟蹤.但是同時,TLD算法也存在目標形變易丟失等問題.
為了提高模型的跟蹤精度,我們采用多粒度特征的方法對跟蹤結果進行判定,從而判斷跟蹤結果與目標是否為同一個行人.由于使用單一特征對圖像判定會造成局限性,因此采用多粒度層次的特征,來實現對跟蹤目標的更穩定準確的判定.
本文將粒計算的思想應用到目標跟蹤過程中,采用多粒度特征的方法對GOTURN目標跟蹤算法進行改進,結合目標檢測算法實現了長期穩定的行人跟蹤算法,取得了較好的跟蹤效果.
在本節中,我們主要介紹多粒度特征思想以及基于深度學習的目標跟蹤方法與目標檢測方法.
彩色圖像在不同粒度下進行表示可以得到不同粒度層次的特征[12].例如圖像的顏色、紋理、形狀等底層特征以及使用卷積神經網絡得到的深層特征.每一種特征都具有其自身的局限性,無法對所有的圖像都有良好的表示效果.因此可以考慮將卷積特征與圖像底層特征進行結合,對圖像進行判別.與單一的特征表示相比,多粒度特征對圖像的表示更加準確[13].
目前已經有多種使用深度學習方法對視頻中單個物體進行跟蹤的算法,但是大部分算法的速度難以保證,無法滿足實時性的需求.而GOTURN算法的特點是使用大量的圖片和視頻,使用完全離線的方式進行預訓練,再對目標進行在線跟蹤[9].這種方法可以使跟蹤的速度達到100fps,具有一定的商業應用價值.圖1所示為GOTURN目標跟蹤算法流程圖.

Fig. 1 Network architecture for GOTURN[9]圖1 GOTURN算法流程圖[9]
算法假定目標的運動速度不會非常快,也就是在相鄰的2幀中,目標的位置距離相對較小.假設目標在上一幀的所在位置中心為c=(cx,cy),并且處在一個寬為w、高為h的矩形框中,則在當前幀和上一幀中,同樣以c=(cx,cy)為中心,切割大小為(k1w,k1h)的圖像塊.將2個切割好的圖像塊分別輸入到卷積神經網絡中,提取相應的特征.將提取得到的特征輸入全連接層進行回歸,比較當前幀的特征與上一幀的特征,從而找到目標在當前幀的位置.在實際的實驗中,多設定k1=2.
目前許多計算機視覺任務,特別是目標檢測領域中都引入了深度學習的概念,提出了許多基于CNN(convolutional neural network)的算法.R-CNN[14]和Fast R-CNN[15]都依賴CNN從提案框中提取特征,但提案框生成的速度還不夠快.因此,為了減少生成提案的計算負擔,提出了Faster R-CNN.它可以被視為區域提案網絡(region proposal network, RPN)[10]與Fast R-CNN[15]的一種組合,RPN網絡可以快速獲取提案,而Fast R-CNN網絡的目的則是對提案進行特征提取.Faster R-CNN最重要的思想是RPN與Fast R-CNN共享卷積層,如圖2所示.通過這種方式,圖像僅通過1次卷積神經網絡,并且能夠有效地提取出提案框的位置信息.

Fig. 2 Network architecture for Faster R-CNN[10]圖2 Faster R-CNN算法流程圖[10]
在Faster R-CNN模型中,輸入圖像首先經過由13個卷積層、13個激勵層和4個池化層組成的卷積網絡,提取出整個圖像的特征圖.然后將特征圖作為RPN網絡的輸入,得到區域方案.ROI(region of interest)池化層收集提案和功能圖,并創建提案框對應特征圖,將其發送給分類器,以計算類的分數值并進行回歸處理,獲得準確的邊界框.本文中使用Faster R-CNN來對出現錯誤或較大誤差的目標跟蹤結果進行修正.
近年來,基于深度學習的跟蹤算法得到了深入的研究.然而,跟蹤器可能會在復雜多變的現實情況中發生誤差積累、跟蹤漂移、目標丟失等情況.這是因為大多數跟蹤器使用前一幀中的信息在當前幀中獲得結果,如果目標物體移動過快或被其他物體遮擋,跟蹤器無法在搜索區域中獲取匹配信息,因此很可能會丟失目標或得到錯誤的跟蹤結果.
本文的研究重點是在復雜情況下,例如目標快速運動、目標部分遮擋等情況下,對目標行人的跟蹤效果進行優化.大部分基于深度學習的目標跟蹤算法通過卷積提取深度層次特征后,再對特征進行回歸運算最終的到相應的跟蹤結果.其余的目標跟蹤算法則主要基于圖像內容來進行檢索,主要利用圖像底層特征,例如顏色、紋理、形狀、空間分布信息等.其中,顏色是彩色圖像中最顯著的視覺特征之一,可以為圖像的分析提供豐富的信息.同時,圖像的顏色特征穩定性相比其他特征更好,對于圖像的方向、大小等變化較為不敏感,可以較好地捕捉圖像的全局特征,因此顏色特征是圖像檢索領域中最為廣泛應用的特征.常見的提取顏色特征的方法為顏色直方圖方法(color histogram)[16].為了提升跟蹤效果,需要增強對跟蹤目標的特征表示,基于多粒度的思想,考慮將深層卷積特征與底層顏色特征結合,從而實現對目標的穩定跟蹤.
在使用多粒度特征聯合的方法得到跟蹤結果后,為了對跟蹤結果進行修正,采用目標跟蹤與目標檢測結合的方法.如果目標跟蹤結果較差,則調用目標檢測器對跟蹤結果進行修正;如果目標跟蹤結果較好,則直接根據當前幀跟蹤結果信息進行下一幀的跟蹤.
算法1.多粒度特征聯合目標跟蹤算法.
輸入:上一幀圖片Imgt-1、當前幀圖片Imgt;
輸出:當前幀的跟蹤結果bboxt.
① 根據上一幀Imgt-1的跟蹤結果,即中心ct-1=(cxt-1,cyt-1),大小為(wt-1,ht-1),在當前幀Imgt與上一幀中同時切割中心為ct-1大小為(kwt-1,kht-1)的區域,得到cropt和cropt-1.
② 將cropt和cropt-1分別輸入卷積層,得到相應特征圖,并將特征圖作為全連接層的輸入,進行回歸的到當前幀上的目標框bboxt.
③ 根據bboxt計算對應位置圖片的顏色直方圖.
④ 與上一幀中bboxt-1對應位置圖片的顏色直方圖進行比較,如果差距小于閾值Th_corr,認為當前幀跟蹤結果正確,進入下一幀的跟蹤.
⑤ 如果差距大于閾值Th_corr,認為當前幀跟蹤結果誤差較大,調用目標檢測器.
⑥ 選取目標檢測的多個檢測結果中與上一幀跟蹤結果bboxt-1最相似的一個作為當前幀的跟蹤結果.
改進算法的流程圖如圖3所示:

Fig. 3 Framework of our model圖3 行人跟蹤模型網絡結構
總的來說,本文提出的改進跟蹤算法可以有效地處理一些特殊情況,例如目標遮擋、運動模糊等,避免目標丟失.
本文中使用Caffe深度學習框架,使用Pascal VOC2007數據集對目標檢測器進行訓練.Pascal VOC2007數據集將目標分為20類,包含9 963張圖片以及26 460個bounding box.在本文實驗中僅使用標簽類別為行人的相關數據對模型進行訓練,選擇VGG16卷機神經網絡模型并設置迭代次數為[80 000,40 000,80 000,40 000].訓練后的模型對行人進行檢測的mAP(mean average precision)為0.777.
本文使用的測試數據集包含OTB-100數據集[17-18]中的16個視頻序列和VOT 2015數據集[19]中的14個視頻序列.OTB-100數據集和VOT 2015數據集都是目標跟蹤領域的基準數據集,其中每個視頻序列均有不同的目標類別以及屬性,例如目標遮擋、運動模糊等.我們從中挑選以行人作為目標的視頻序列來進行測試,使用精度和成功率作為評估標準.
本文分別使用近年來基于深度學習且跟蹤效果較為出眾的MDNet目標跟蹤模型以及GOTURN 目標跟蹤模型與改進的多粒度目標跟蹤檢測結合模型來對測試數據進行實驗,獲取指定目標行人的位置以及相應的邊界框坐標,如圖4所示.將得到的跟蹤結果邊界框與實際位置邊界框進行誤差分析.采用one pass evaluation(OPE)的方法對跟蹤結果進行評估,使用ground-truth中目標的位置對第一幀進行初始化,然后運行跟蹤算法得到平均精度和成功率.

Fig. 4 Target pedestrian tracking results圖4 目標行人跟蹤結果

如圖5所示,設置目標遮擋情況的位置誤差閾值為20時,可以看到本文提出模型的精度為0.642,而GOTURN的精度為0.416,MDNet的精度則為0.950.當目標遮擋情況的重疊閾值為0.5時,本文模型和GOTURN的成功率分別為0.556和0.345.設定運動模糊情況的位置誤差閾值為20時,本文模型和GOTURN的精度分別為0.682和0.315.當運動模糊情況的重疊閾值為0.5時,本文模型和GOTURN的成功率分別為0.670和0.279.從表1中可以非常直觀地看出,在各種復雜情況中,本文模型的跟蹤精度相比于GOTURN模型有很大的提升.雖然精度上與MDNet模型仍然存在一定差距,但是在平均跟蹤速度上,本文模型具有很大的優勢,如表2所示,MDNet的平均跟蹤速度為2.403 fps,而本文改進模型跟蹤速度可達16 fps.

Fig. 5 Success rate plots and precision plots for sequences with different attributes圖5 不同屬性視頻序列組的成功率與精度

Table 1 Success Rate and Precision of Different Models

Table 2 Average Tracking Speed of Different Models
總的來說,本文提出的跟蹤模型在較為復雜的情況下跟蹤效果相對較好.實驗結果表明,與單獨使用GOTURN的跟蹤器相比,本文構建的模型可以有效地提高長期行人跟蹤的精度和穩定性.
本文采用多粒度特征的思想,將卷積特征與顏色直方圖特征共同使用,目標跟蹤檢測結合的方法建立了長期穩定的目標行人跟蹤系統.實驗表明,提出的方法可以有效地對跟蹤結果進行判定,并且對行人跟蹤系統的精度有很大的提升.在接下來的研究工作中,可以嘗試加入其他不同粒度不同層次的特征,來豐富圖像的特征表示,從而對圖像實現更優的判定效果,進一步提升對目標行人的跟蹤精度,并且可以對不同大小的粒度對跟蹤模型所起到的作用進行更進一步的探索,從而選取更有效的粒度特征進行融合來提升跟蹤模型的性能.