tensorflow2 目标检测_基于光流的视频目标检测系列文章解读
全文5747字,預計閱讀時間15分鐘
1 簡介
目前針對于圖片的目標檢測的方法大致分為兩類:
faster R-CNN/R-FCN一類:此類方法在進行bbox回歸和分類之前,必須通過region proposal network(RPN)得到RoI,因此被稱作是two-stage的方法。YOLO/SSD一類:
此類方法不需要RPN,直接在輸入圖片上進行bbox回歸和分類,因此是一種one-stage的方法。
總的來說,第一種方法的準確率要比第二種方法要高,但是第二種方法的速度要快。在實際應用中,攝像頭的數據以視頻的方式產生。為了處理這些視頻數據,目前普遍的做法是對每一幀進行目標檢測和語意分割。然而,如圖1所示,這樣的處理方式有兩種問題:1)幀與幀之間有大量的冗余計算,導致滿足不了實時需求(fps>=15);2)由于移動目標存在失焦,遮擋等情況,導致目標在單幀上不能被檢測到。為了解決這兩個問題,在處理視頻的時候需要利用幀與幀之間的上下文信息。因此,如何利用視頻的時序信息來提高檢測精度/速度,如何平衡accuracy speed tradeoff,是一個比較熱門的研究方向。本文主要調研了使用光流來利用視頻中時序信息的方法。
2 數據集
2.1 視頻目標檢測
從2015年起,ImageNet新增了視頻目標檢測的任務,object detection from video (VID)。其數據集標注了30類目標,是檢測(DET)數據集200類的一個子集。訓練集共有3862個視頻片段,總幀數超過112萬。性能衡量的metric是mean average precision(mAP)。
2.2 視頻語義分割
目前比較流行的是Cityscape的數據集。每個視頻片段包含30幀,但只有其中的第20幀有ground truth標注。標注包含了30個語義分類。使用的metric是mean intersection-over-union(mIOU)。
3 Optical flow(光流)
3.1 光流簡介
光流常用于計算圖像中各個位置的瞬時移位,是依據視頻幀與幀之間的各像素相關性而計算得到的。輸入時序相鄰的兩幀
3.2 FlowNet
傳統計算光流的方法不在此贅述,可以參考其wikipedia頁面。傳統方法計算光流通常是在CPU上實現的,速度較慢。并且如果想在計算機視覺中應用光流的話,用傳統方法不能夠end-to-end訓練網絡。因此,FlowNet [1] 提出了用neural network來計算光流的方法。如下圖所示,其輸入是視頻片段中的兩幀,由于時間間隔較短,圖片之間具有強相關性。輸出是各個像素點的移位,通過移位,可以得知上一幀各目標在下一幀的位置。
FlowNet的網絡結構和用于semantic segmentation的網絡結構類似,由兩部分構成。FlowNet將之稱為contracting部分和refinement部分,分別用于downsampling提取特征和upsampling恢復分辨率,由conv和deconv操作實現。和semantic segmentation的輸入是一張圖片不同,此網絡輸入是兩張圖片。作者提出了兩種方式來處理,不過在后續工作中用的比較多的方法是直接將兩張圖片堆在一起作為一個有3+3=6個channel的圖片輸入給網絡。
4 基于光流的視頻識別
通過光流,我們能夠得知上一時刻的物體在下一時刻的位置,能否應用光流來更好地解決視頻識別中的accuracy speed tradeoff呢?答案是肯定的。當前計算機視覺使用到的神經網絡從功能上可以分為兩部分:
也就是說,一個網絡由多層的,提取特征的
在上一節中,我們得知能夠通過光流得到上一時刻的物體在當前時刻的位置,即光流表達了在pixel space上的對應關系。那么光流在feature space上,是否也保持同樣的對應關系呢?如果是的話,就可以不用重復計算每一幀的特征,而是將上一幀的特征傳播到當前幀,從而大大減少計算量。如下圖所示,當前幀通過ResNet-101得到的兩個特征圖(第二行),和通過光流將關鍵幀特征傳播而得到的特征圖(第三行)是非常相似的,因此可以假設是成立的,即可以通過光流來傳播feature。
4.1 更快
為了提高處理視頻的速度,首先將視頻中的各幀分為關鍵幀和非關鍵幀,且關鍵幀的數量遠遠小于非關鍵幀。在目標檢測時候,只需要對關鍵幀通過
其中,
DFF的計算量和傳統對每幀進行特征提取的方法的計算量比值為:
上式中兩個網絡的復雜度可以根據它們的FLOPs來測量,下表列出了不同
假設每隔 l 幀選擇一次關鍵幀,則DFF的整體加速為:
DFF和傳統基于每幀的方法在CityScape和ImageNet VID的表現如下表。可以看到,DFF在精度損失小于1%的情況下,能夠對語意分割和目標檢測分別達到3.7和5倍的加速。
4.2 更準
如本文開頭所述,由于視頻中可能存在運動模糊,鏡頭失焦,遮擋等問題,導致在單幀上的目標檢測失敗。Flow-Guided Feature Aggregation (FGFA) [3] 提出了聚合相鄰幀的特征來提升當前幀的檢測效果的方法。其主要思想是,對當前幀進行目標檢測的時候,
其中
是一個衡量傳播特征和此幀特征相似度的系數。下圖展示了FGFA的工作流程:
基于ResNet-101的FGFA在ImageNet VID上的表現如下表:
可以看到,FGFA雖然提高了精度,但是相對于per-frame的方法速度降低了接近3倍。4.3 更快+更準以上兩小節分別討論了如何利用光流提高視頻目標檢測的速度和精度,但是都不能在速度和精度上兩全其美。實際上,同時提高速度和精度也是可能的。首先,Impression Network(ImpNet) [4] 提供了一種思路。其主要思路是:FGFA在任意幀都聚合了其鄰近的2K+1幀的傳播特征,導致計算量增大。同時,因為相鄰幀的差異往往很小,這樣密集的計算的信息冗余度也很高。因此ImpNet只對關鍵幀進行特征聚合,而對非關鍵幀只計算由關鍵幀傳播得到的特征。
FGFA需要考慮當前幀之前的K幀和之后的K幀的特征,而在實際應用場景中是沒有當前幀之后的K幀的信息的。因此,ImpNet并不直接應用Eq. 1,而是使用它的遞歸形式來聚合關鍵幀之間的特征。
ImpNet通過對關鍵幀維持一個叫
的特征來實現上述兩點。對于相鄰的關鍵幀k和k’,對非關鍵幀,輸入到task網絡的特征為關鍵幀通過光流得到的傳播特征:
通過以上方式,ImpNet不僅通過光流傳播特征提高速度,也用多幀特征聚合提高了精度。其在ImageNet VID上的表現總結如下:
另一篇文章 [5] 提出了思路和ImpNet類似的方法,其主要特點是:
和ImpNet一樣,在關鍵幀上以遞歸的方式進行特征聚合。對非關鍵幀,使用空間適應(spatially-adaptive)的特征傳播,保證了傳播特征的質量,減少因為光流不準確帶來的誤差。具體實現是在FlowNet上增加了預測傳播質量的輸出, 如果某位置上的傳播質量高于一定的界限,則使用傳播特征,否則使用自身的特征。
目前討論的方法在選擇關鍵幀的時候,都是單純地每隔一定數量(通常為10)的幀就選擇當前幀為關鍵幀。此方法提出了使用時間適應(temporally-adaptive)的關鍵幀選擇策略。此策略也依賴于FlowNet的傳播質量輸出。如果關鍵幀到當前幀的傳播質量小于一定界限的位置占比達到全部位置的一定比例的時候,則把當前幀設為關鍵幀:
此方法的示意如下圖所示:
圖7: 方法示意圖。(a)對應于DFF,(b)對應于FGFA,(c1-c3)分別對應上一段的1,2,3。此方法在ImageNet VID數據集上的表現如下:
可以看到,此模型在保證速度的情況下,精度也達到最高,是后期工作的重點模型。
5 其他方法
目前在對視頻的識別任務中,除了使用光流以外,還有一些其他有意思的方法。下面例舉一二:
此方法和本文所講用光流進行特征傳播不一樣的是,它通過被稱為Spatially variant convolution的操作來進行特征的傳播。非關鍵幀上某一位置的特征是由關鍵幀上其鄰近位置的特征的加權平均Tubelet proposal network [7].得到,且這些加權值由一個小型網絡得到。同時,其關鍵幀選擇也是通過一個小型網絡動態確定,其網絡輸入為兩幀的低層特征,輸出為兩幀的偏離值。如果偏離值高于一定界限,則將當前幀設為關鍵幀。此方法在Cityscape上語意分割的表現在精度和速度上均比DFF要好。Tubelet proposal network [7].
此方法首先生成某幀上的檢測結果,然后用視覺跟蹤得到bbox的tubelet proposals。對這些proposals進行重新打分后得到目標的bbox軌跡。此方法步驟太多,不能end-to-end training,不是特別看好。Spatio-temporal CNN (stf-CNN) [8].
此方法在傳統FCN的基礎上,在特征提取網絡之后對特征圖上的每一個位置增加了一個LSTM模塊,從而讓空間特征融合了時序信息變成空間-時序特征(故稱spatio-temporal CNN)。此方法對精度有提升,但是因為對每一個位置都用LSTM,計算上開銷很大。
總結光流對視頻識別任務的幫助很大,特別是自從FlowNet提出后,將光流納入整個神經網絡的設計之中來進行end-to-end的訓練,對視頻識別任務的精度和速度都有顯著提升。而且基于光流的方法對具體的識別任務不敏感,它在視頻目標檢測和視頻語意分割上都能使用。因此,可以考慮將光流應用于目前使用的深度模型當中,來提高模型的性能。
參考文獻
感謝閱讀
本文首發于微信公眾號【美團無人配送】,歡迎大家搜索關注,微信后臺回復"書單",給你一份美團技術團隊書單合集
作者的其他文章:
美團無人配送:PointNet系列論文解讀?zhuanlan.zhihu.com覺得好看,點個贊吧~~
總結
以上是生活随笔為你收集整理的tensorflow2 目标检测_基于光流的视频目标检测系列文章解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果se配置参数表是什么
- 下一篇: alexeyab darknet 编译_