ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

轉自知乎《深度學習大講堂》html

雷鋒網(公衆號:雷鋒網)按:本文做者王斌,中科院計算所前瞻研究實驗室跨媒體計算組博士生,導師張勇東研究員。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兩個子任務上,前三名由國內隊伍包攬(見表一、表2)。本文主要結合NUIST,CUVideo,MCG-ICT-CAS以及ITLab-Inha四個隊伍公佈的相關資料對ILSVRC2016中的視頻目標檢測方法進行了總結。iphone

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

表1.  ILSVRC2016 VID results(無外部數據)ide

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

表2.  ILSVRC2016 VID tracking result(無外部數據)性能

經過對參賽隊伍的相關報告[2-5]進行學習瞭解,視頻目標檢測算法目前主要使用了以下的框架:學習

 

  • 將視頻幀視爲獨立的圖像,利用圖像目標檢測算法獲取檢測結果;測試

  • 利用視頻的時序信息和上下文信息對檢測結果進行修正;

  • 基於高質量檢測窗口的跟蹤軌跡對檢測結果進一步進行修正。

本文分爲四部分,前三個部分介紹如何提高視頻目標檢測的精度,最後介紹如何保證視頻目標檢測的一致性。

1、單幀圖像目標檢測

 

此階段一般將視頻拆分紅相互獨立的視頻幀來處理,經過選取優秀的圖像目標檢測框架以及各類提升圖像檢測精度的技巧來獲取較爲魯棒的單幀檢測結果。《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]

2、改進分類損失

目標在某些視頻幀上會存在運動模糊,分辨率較低,遮擋等問題,即使是目前最好的圖像目標檢算法也不能很好地檢測目標。幸運的是,視頻中的時序信息和上下文信息可以幫助咱們處理這類問題。比較有表明性的方法有T-CNN[10]中的運動指導傳播(Motion-guided Propagation, MGP)和多上下文抑制(Multi-context suppression, MCS)。

  • MGP

     

單幀檢測結果存在不少漏檢目標,而相鄰幀圖像檢測結果中可能包含這些漏檢目標。因此咱們能夠藉助光流信息將當前幀的檢測結果前向後向傳播,通過MGP處理能夠提升目標的召回率。如圖1所示將T時刻的檢測窗口分別向前向後傳播,能夠很好地填補T-1和T+1時刻的漏檢目標。

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

圖1.  MGP示意圖[10]

  • MCS

     

     

使用圖像檢測算法將視頻幀當作獨立的圖像來處理並無充分利用整個視頻的上下文信息。雖說視頻中可能出現任意類別的目標,但對於單個視頻片斷,只會出現比較少的幾個類別,並且這幾個類別之間有共現關係(出現船隻的視頻段中可能會有鯨魚,但基本不可能出現斑馬)。因此,能夠藉助整個視頻段上的檢測結果進行統計分析:對全部檢測窗口按得分排序,選出得分較高的類別,剩餘那些得分較低的類別極可能是誤檢,需對其得分進行壓制(如圖2)。通過MCS處理後的檢測結果中正確的類別靠前,錯誤的類別靠後,從而提高目標檢測的精度。

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

圖2. 多上下文抑制示意圖[10]

3、利用跟蹤信息修正

上文提到的MGP能夠填補某些視頻幀上漏檢的目標,但對於多幀連續漏檢的目標不是頗有效,而目標跟蹤能夠很好地解決這個問題。CUVideo, NUIST, MCG-ICT-CAS以及ITLab-Inha四支參賽隊伍都使用了跟蹤算法進一步提升視頻目標檢測的召回率。使用跟蹤算法獲取目標序列基本流程以下:

  • 使用圖像目標檢測算法獲取較好的檢測結果;

  • 從中選取檢測得分最高的目標做爲跟蹤的起始錨點;

  • 基於選取的錨點向前向後在整個視頻片斷上進行跟蹤,生成跟蹤軌跡;

  • 從剩餘目標中選擇得分最高的進行跟蹤,須要注意的是若是此窗口在以前的跟蹤軌跡中出現過,那麼直接跳過,選擇下一個目標進行跟蹤;

  • 算法迭代執行,可使用得分閾值做爲終止條件。

獲得的跟蹤軌跡既能夠用來提升目標召回率,也能夠做爲長序列上下文信息對結果進行修正。

4、網絡選擇與訓練技巧

對於視頻目標檢測,除了要保證每幀圖像的檢測精度,還應該保證長時間穩定地跟蹤每一個目標。爲此,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提出了基於檢測和跟蹤的目標管道生成方法。

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

a.基於跟蹤的目標管道/跟蹤軌跡

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

b.基於檢測的目標管道

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

c.基於檢測和跟蹤的融合管道

圖3. 基於檢測/跟蹤/檢測+跟蹤管道示意圖

圖3-a表示使用跟蹤算法獲取到的目標管道(紅色包圍框),綠色包圍框表明目標的Ground Truth。能夠看到隨着時間推移,跟蹤窗口逐漸偏移目標,最後甚至可能丟失目標。MCG-ICT-CAS提出了基於檢測的目標管道生成方法,如圖3-b所示,基於檢測的管道窗口(紅色包圍框)定位較爲準確,但因爲目標的運動模糊使檢測器出現漏檢。從上面分析可知:跟蹤算法生成的目標管道召回率較高,但定位不許;而基於檢測窗口生成的目標管道目標定位較爲精準,但召回率相對前者較低。因爲二者存在互補性,因此MCG-ICT-CAS進一步提出了管道融合算法,對檢測管道和跟蹤管道進行融合,融合重複出現的窗口而且拼接間斷的管道。

如圖4所示,相對於單獨的檢測或者跟蹤生成的目標管道,融合後目標管道對應的檢測窗口的召回率隨着IoU閾值的增長一直保持較高的值,說明了融合後的窗口既能保持較高的窗口召回率,也有較爲精準的定位。融合後的目標管道mAP在VID測試集上提高了12.1%。

ILSVRC2016目標檢測任務回顧——視頻目標檢測(VID)

圖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.

相關文章
相關標籤/搜索