雷鋒網(公眾號:雷鋒網)按:本文作者王斌,中科院計算所前瞻研究實驗室跨媒體計算組博士生,導師張勇東研究員。2016年在唐勝副研究員的帶領下,作為計算所MCG-ICT-CAS團隊核心主力隊員(王斌、肖俊斌),參加了ImageNet大規模視覺識別挑戰賽(ILSVRC)的視頻目標檢測(VID)任務並獲得第三名。目標檢測相關工作受邀在ECCV 2016 ImageNet和COCO競賽聯合工作組會議(ImageNet and COCO Visual Recognition Challenges Joint Workshop)上做大會報告。
本文的姐妹篇:《ILSVRC2016目標檢測任務回顧:圖像目標檢測(DET)》
圖像目標檢測任務在過去三年的時間取得了巨大的進展,檢測性能得到明顯提升。但在視頻監控、車輛輔助駕駛等領域,基於視頻的目標檢測有著更為廣泛的需求。由於視頻中存在運動模糊,遮擋,形態變化多樣性,光照變化多樣性等問題,僅利用圖像目標檢測技術檢測視頻中的目標並不能得到很好的檢測結果。如何利用視頻中目標時序信息和上下文等信息成為提升視頻目標檢測性能的關鍵。
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目標檢測任務回顧(上)--圖像目標檢測》已對此進行詳細總結,這裡不再重複。
結合自己實驗及各參賽隊伍的相關文檔,我們認為訓練數據的選取以及網絡結構的選擇對提升目標檢測性能有至關重要的作用。
首先對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處理可以提高目標的召回率。如圖1所示將T時刻的檢測窗口分別向前向後傳播,可以很好地填補T-1和T+1時刻的漏檢目標。
圖1. MGP示意圖[10]
使用圖像檢測算法將視頻幀當做獨立的圖像來處理並沒有充分利用整個視頻的上下文信息。雖然說視頻中可能出現任意類別的目標,但對於單個視頻片段,只會出現比較少的幾個類別,而且這幾個類別之間有共現關係(出現船隻的視頻段中可能會有鯨魚,但基本不可能出現斑馬)。所以,可以藉助整個視頻段上的檢測結果進行統計分析:對所有檢測窗口按得分排序,選出得分較高的類別,剩餘那些得分較低的類別很可能是誤檢,需對其得分進行壓制(如圖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競賽任務對視頻目標檢測算法進行介紹。相對於圖像目標檢測,當前的視頻目標檢測算法流程比較繁瑣且視頻自身包含的信息沒有被充分挖掘。如何精簡視頻目標檢測流程使其具有實時性,如何進一步挖掘視頻包含的豐富信息使其具有更高的檢測精度,以及如何保證視頻目標檢測的一致性或許是視頻目標檢測接下來要著重解決的問題。
參考文獻
[1]ILSVRC2016相關報告
[2]CUVideo slide
[3]NUIST slide
[4]MCG-ICT-CAS slide
[5]ITLab-Inha slide
[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.
雷鋒網特約稿件,未經授權禁止轉載。詳情見轉載須知。