雷鋒網(公衆号:雷鋒網)按:本文作者王斌,中科院計算所前瞻研究實驗室跨媒體計算組博士生,導師張勇東研究員。2016年在唐勝副研究員的帶領下,作為計算所mcg-ict-cas團隊核心主力隊員(王斌、肖俊斌),參加了imagenet大規模視覺識别挑戰賽(ilsvrc)的視訊目标檢測(vid)任務并獲得第三名。目标檢測相關工作受邀在eccv
2016 imagenet和coco競賽聯合工作組會議(imagenet and coco visual recognition
challenges joint workshop)上做大會報告。
圖像目标檢測任務在過去三年的時間取得了巨大的進展,檢測性能得到明顯提升。但在視訊監控、車輛輔助駕駛等領域,基于視訊的目标檢測有着更為廣泛的需求。由于視訊中存在運動模糊,遮擋,形态變化多樣性,光照變化多樣性等問題,僅利用圖像目标檢測技術檢測視訊中的目标并不能得到很好的檢測結果。如何利用視訊中目标時序資訊和上下文等資訊成為提升視訊目标檢測性能的關鍵。
ilsvrc2015新增加了視訊目标檢測任務(object
detection from video,
vid),這為研究者提供了良好的資料支援。ilsvrc2015的vid評價名額與圖像目标檢測評價名額相同——計算檢測視窗的map。然而對于視訊目标檢測來說,一個好的檢測器不僅要保證在每幀圖像上檢測準确,還要保證檢測結果具有一緻性/連續性(即對于一個特定目标,優秀的檢測器應持續檢測此目标并且不會将其與其他目标混淆)。ilsvrc2016針對這個問題在vid任務上新增加了一個子任務(詳見第四部分——視訊目标檢測時序一緻性介紹)。
在ilsvrc2016上,在不使用外部資料的vid兩個子任務上,前三名由國内隊伍包攬(見表1、表2)。本文主要結合nuist,cuvideo,mcg-ict-cas以及itlab-inha四個隊伍公布的相關資料對ilsvrc2016中的視訊目标檢測方法進行了總結。
表1. ilsvrc2016 vid results(無外部資料)
表2. ilsvrc2016 vid tracking result(無外部資料)
通過對參賽隊伍的相關報告[2-5]進行學習了解,視訊目标檢測算法目前主要使用了如下的架構:
将視訊幀視為獨立的圖像,利用圖像目标檢測算法擷取檢測結果;
利用視訊的時序資訊和上下文資訊對檢測結果進行修正;
基于高品質檢測視窗的跟蹤軌迹對檢測結果進一步進行修正。
本文分為四部分,前三個部分介紹如何提升視訊目标檢測的精度,最後介紹如何保證視訊目标檢測的一緻性。
一、單幀圖像目标檢測
結合自己實驗及各參賽隊伍的相關文檔,我們認為訓練資料的選取以及網絡結構的選擇對提升目标檢測性能有至關重要的作用。
訓練資料選取
首先對ilsvrc2016
vid訓練資料進行分析:
vid資料庫包含30個類别,訓練集共有3862個視訊片段,總幀數超過112萬。單從數字上看,這麼大的資料量訓練30個類别的檢測器似乎已經足夠。然而,同一個視訊片段背景單一,相鄰多幀的圖像差異較小。是以要訓練現有目标檢測模型,vid訓練集存在大量資料備援,并且資料多樣性較差,有必要對其進行擴充。在比賽任務中,可以從ilsvrc
det和ilsvrc loc資料中抽取包含vid類别的圖檔進行擴充。cuvideo、nuist和mcg-ict-cas使用ilsvrc
vid+det作為訓練集,itlab-inha使了ilsvrc vid+det、coco
det等作為訓練集。需要注意的是在建構新的訓練集的時候要注意平衡樣本并去除備援(cuvideo和mcg-ict-cas抽取部分vid訓練集訓練模型,itlab-inha在每個類别選擇一定數量圖像參與訓練,nuist使用在det上訓練的模型對vid資料進行篩選)。對于同樣的網絡,使用擴充後的資料集可以提高10%左右的檢測精度。
網絡結構選取
不同的網絡結構對于檢測性能也有很大影響。我們在vid驗證集上進行實驗:同樣的訓練資料,基于resnet101[6]的faster r-cnn[7]模型的檢測精度比基于vgg16[8]的faster r-cnn模型的檢測精度高12%左右。這也是msra在2015年ilsvrc和coco比賽上的制勝關鍵。今年比賽前幾名的隊伍基本上也是使用resnet/inception的基礎網絡,cuvideo使用269層的gbd-net[9]。
二、改進分類損失
目标在某些視訊幀上會存在運動模糊,分辨率較低,遮擋等問題,即便是目前最好的圖像目标檢算法也不能很好地檢測目标。幸運的是,視訊中的時序資訊和上下文資訊能夠幫助我們處理這類問題。比較有代表性的方法有t-cnn[10]中的運動指導傳播(motion-guided propagation, mgp)和多上下文抑制(multi-context suppression, mcs)。
mgp
單幀檢測結果存在很多漏檢目标,而相鄰幀圖像檢測結果中可能包含這些漏檢目标。是以我們可以借助光流資訊将目前幀的檢測結果前向後向傳播,經過mgp處理可以提高目标的召回率。如圖1所示将t時刻的檢測視窗分别向前向後傳播,可以很好地填補t-1和t+1時刻的漏檢目标。
圖1. mgp示意圖[10]
mcs
使用圖像檢測算法将視訊幀當做獨立的圖像來處理并沒有充分利用整個視訊的上下文資訊。雖然說視訊中可能出現任意類别的目标,但對于單個視訊片段,隻會出現比較少的幾個類别,而且這幾個類别之間有共現關系(出現船隻的視訊段中可能會有鲸魚,但基本不可能出現斑馬)。是以,可以借助整個視訊段上的檢測結果進行統計分析:對所有檢測視窗按得分排序,選出得分較高的類别,剩餘那些得分較低的類别很可能是誤檢,需對其得分進行壓制(如圖2)。經過mcs處理後的檢測結果中正确的類别靠前,錯誤的類别靠後,進而提升目标檢測的精度。
圖2. 多上下文抑制示意圖[10]
三、利用跟蹤資訊修正
上文提到的mgp可以填補某些視訊幀上漏檢的目标,但對于多幀連續漏檢的目标不是很有效,而目标跟蹤可以很好地解決這個問題。cuvideo,
nuist,
mcg-ict-cas以及itlab-inha四支參賽隊伍都使用了跟蹤算法進一步提高視訊目标檢測的召回率。使用跟蹤算法擷取目标序列基本流程如下:
使用圖像目标檢測算法擷取較好的檢測結果;
從中選取檢測得分最高的目标作為跟蹤的起始錨點;
基于選取的錨點向前向後在整個視訊片段上進行跟蹤,生成跟蹤軌迹;
從剩餘目标中選擇得分最高的進行跟蹤,需要注意的是如果此視窗在之前的跟蹤軌迹中出現過,那麼直接跳過,選擇下一個目标進行跟蹤;
算法疊代執行,可以使用得分門檻值作為終止條件。
得到的跟蹤軌迹既可以用來提高目标召回率,也可以作為長序列上下文資訊對結果進行修正。
四、網絡選擇與訓練技巧
對于視訊目标檢測,除了要保證每幀圖像的檢測精度,還應該保證長時間穩定地跟蹤每個目标。為此,ilsvrc2016新增一個vid子任務,此任務計算每個目标跟蹤軌迹(tracklet)/管道(tubelet)的map來評測檢測算法的時序一緻性或者說跟蹤連續性的性能。
評價名額:圖像目标檢測map評測對象是每個檢測視窗是否精準,而視訊時序一緻性評測對象是目标跟蹤軌迹是否精準;圖像目标檢測中如果檢測視窗跟ground
truth類别相同,視窗iou大于0.5就認定為正例。而評價時序一緻性時,如果檢測得到的跟蹤軌迹和ground
truth(目标真實跟蹤軌迹)是同一個目标(trackid相同),并且其中檢測出的視窗與ground
truth視窗的iou大于0.5的數量超過一個比例,那麼認為得到的跟蹤軌迹是正例;跟蹤軌迹的得分是序列上所有視窗得分的平均值。分析可知,如果一個目标的軌迹被分成多段或者一個目标的跟蹤軌迹中混入其他的目标都會降低一緻性。
那麼如何保證視訊檢測中目标的時序一緻性呢?本文認為可以從以下三個方面入手:
保證圖像檢測階段每幀圖像檢測的結果盡量精準;
對高品質檢測視窗進行跟蹤并保證跟蹤的品質(盡量降低跟蹤中出現的漂移現象);
前面兩步擷取到的跟蹤結果會存在重疊或者臨接的情況,需針對性地進行後處理。
itlab-inha團隊提出了基于變換點檢測的多目标跟蹤算法[11],該算法首先檢測出目标,然後對其進行跟蹤,并在跟蹤過程中對跟蹤軌迹點進行分析處理,可以較好地緩解跟蹤時的漂移現象,并能在軌迹異常時及時終止跟蹤。
針對視訊目标檢測的一緻性問題,作者所在的mcg-ict-cas提出了基于檢測和跟蹤的目标管道生成方法。
a.基于跟蹤的目标管道/跟蹤軌迹
b.基于檢測的目标管道
c.基于檢測和跟蹤的融合管道
圖3. 基于檢測/跟蹤/檢測+跟蹤管道示意圖
圖3-a表示使用跟蹤算法擷取到的目标管道(紅色包圍框),綠色包圍框代表目标的ground
truth。可以看到随着時間推移,跟蹤視窗逐漸偏移目标,最後甚至可能丢失目标。mcg-ict-cas提出了基于檢測的目标管道生成方法,如圖3-b所示,基于檢測的管道視窗(紅色包圍框)定位較為準确,但由于目标的運動模糊使檢測器出現漏檢。從上面分析可知:跟蹤算法生成的目标管道召回率較高,但定位不準;而基于檢測視窗生成的目标管道目标定位較為精準,但召回率相對前者較低。由于兩者存在互補性,是以mcg-ict-cas進一步提出了管道融合算法,對檢測管道和跟蹤管道進行融合,融合重複出現的視窗并且拼接間斷的管道。
如圖4所示,相對于單獨的檢測或者跟蹤生成的目标管道,融合後目标管道對應的檢測視窗的召回率随着iou門檻值的增加一直保持較高的值,說明了融合後的視窗既能保持較高的視窗召回率,也有較為精準的定位。融合後的目标管道map在vid測試集上提升了12.1%。
圖4.不同方法生成目标管道的召回率
總結
本文主要結合ilsvrc2016
vid競賽任務對視訊目标檢測算法進行介紹。相對于圖像目标檢測,目前的視訊目标檢測算法流程比較繁瑣且視訊自身包含的資訊沒有被充分挖掘。如何精簡視訊目标檢測流程使其具有實時性,如何進一步挖掘視訊包含的豐富資訊使其具有更高的檢測精度,以及如何保證視訊目标檢測的一緻性或許是視訊目标檢測接下來要着重解決的問題。
參考文獻
[6]he k, zhang x, ren s, et al. deep residual learning for image recognition[j]. arxiv preprint arxiv:1512.03385, 2015.
[7]ren
s, he k, girshick r, et al. faster r-cnn: towards real-time object
detection with region proposal networks[c]//advances in neural
information processing systems. 2015: 91-99.
[8]simonyan
k, zisserman a. very deep convolutional networks for large-scale image
recognition[j]. arxiv preprint arxiv:1409.1556, 2014.
[9]zeng
x, ouyang w, yang b, et al. gated bi-directional cnn for object
detection[c]//european conference on computer vision. springer
international publishing, 2016: 354-369.
[10]kang
k, li h, yan j, et al. t-cnn: tubelets with convolutional neural
networks for object detection from videos[j]. arxiv preprint
arxiv:1604.02532, 2016.
[11]lee
b, erdenee e, jin s, et al. multi-class multi-object tracking using
changing point detection[c]//european conference on computer vision.
springer international publishing, 2016: 68-83.
本文作者:深度學習大講堂