论文阅读:Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos
Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos
文章目錄
- Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos
- 摘要及貢獻
- 相關(guān)工作
- Generalizing R-CNN from 2D to 3D
- 框架結(jié)構(gòu)
- Tube Proposal Network(TPN)
- 結(jié)果及討論
- Region proposal network (RPN)vs Tubelet proposal network(TPN)理解
- Related
摘要及貢獻
本文提出了端到端的深度卷積網(wǎng)絡(luò)T-CNN
首先一段視頻首先被分割成固定長度的片段(8幀)-------> 這些片段被送到Tube Proposal Network(TPN)并生成一系列的 tube proposal --------> 根據(jù)每個視頻片段中的tube proposal 的行為得分和相鄰proposal之間的重疊進行連接起來(即linking tube proposals),形成一個完整的tube proposal用于視頻中的時空行為定位 -------> 最后the Tube-of-Interest(TOI)pooling被用于連接的行為tube proposal 來形成一個固定長度的特征向量用于行為標簽預測。
貢獻如下:
相關(guān)工作
CNN和3DCNN在action detection的相關(guān)方法
action detecction相關(guān)方法
object detection流程
本文將R-CNN從2D圖像區(qū)域推廣到3D視頻用于action detection
Generalizing R-CNN from 2D to 3D
與可以裁剪的圖像不同,視頻在時間維度上有很大差異,因此,我們將輸入視頻分成固定長度(8幀)的視頻片段,這樣視頻片段就可以在固定大小的ConvNet架構(gòu)下進行處理。此外,基于剪輯的處理降低了GPU內(nèi)存的成本。
3D CNN相對于2D CNN的一個優(yōu)點是它通過在時間和空間上應用卷積來捕捉運動信息,由于我們的方法不僅在空間維度上使用了3D卷積和3D max pooling,而且在時間維度上也使用了3D卷積和3D max pooling,從而減小了視頻片段的大小,同時集中了可區(qū)分的信息。temporal pooling在識別任務中是很重要的,因為它能更好地建模視頻的時空信息并減少一些背景噪聲。然而,時間順序信息丟失了。這意味著如果我們?nèi)我飧淖円曨l剪輯中的幀的順序,最終的3D最大特征集將是相同的。這在行為檢測中是有問題的,因為它依賴于特征立方體來獲得原始幀的邊界框。——時間信息很重要,不能任意改變幀的順序
由于一個視頻被一個片段一個片段地處理,action tube為不同的片段產(chǎn)生了不同的空間和時間大小的action tube proposal。這些片段候選框需要鏈接到一個tube proposal sequence,該序列用于行為標簽預測和定位。為了產(chǎn)生一個固定長度的特征向量,我們提出了一種新的池化層-Tube-of Interest。ToI池化層是R-CNN感興趣區(qū)域(Region-of-Interest, RoI)池化層的三維泛化。經(jīng)典的最大池化層定義了內(nèi)核大小、步長和填充,這些決定了輸出的形狀。而對于RoI池化層,首先確定輸出形狀,然后確定核的大小和步幅。相對于以二維特征圖和二維區(qū)域作為輸入的RoI池,ToI pooling deals with feature cube and 3D tubes。表示特征立方體的大小為d × h × w ,其中d、h、w分別表示特征立方體的深度、高度和寬度。feature cube中的ToI由一個d-by-4 矩陣定義,該矩陣由分布在所有幀中的d個box組成。Box由一個四元組( x 1 i , y 1 i , x 2 i , y 2 i )定義,該四元組指定第i個特征圖的左上角和右下角,由于d bounding boxes 不同的大小、縱橫比和位置,為了應用時空池化,空間域池化和時間域池化是分開進行的。首先,h × w 特征圖映射被分為H × W bins,每個單元對應一個大小為h/w的單元,在每個單元格鐘,應用最大池化來選擇最大值,其次,空間池化的d個特征被暫時分為D bins,和第一步相似,d/D相鄰特征圖杯分組在一起來形成標準的時間最大池化。因此,TOI池化層的固定輸出大小是DxHxW,如下圖
框架結(jié)構(gòu)
核心結(jié)構(gòu)是TPN為每個片段產(chǎn)生tube proposals
Tube Proposal Network(TPN)
- 目標:輸入8幀圖片,輸出8個連續(xù)的bbox。
針對8幀視頻片段,采用三維卷積和三維池化方法提取spatio-temporal feature cube ,我們的3D ConvNet由七個三維卷積層和四個三維最大池化層組成。我們用d×h×w表示三維卷積/池化的核形狀,其中d;h;W分別為深度、高度和寬度。在所有卷積層中,kernel size 為3×3×3, padding和stride保持為1。filter數(shù)量是前3個卷積層分別為64、128和256,其余的卷積層為512。第一個3D最大池化層的kernel size設(shè)置為1 ×2×2,其余3D最大池化層的內(nèi)核大小設(shè)置為2×2×2。網(wǎng)絡(luò)架構(gòu)的詳細信息如表1所示。我們使用C3D模型作為預訓練模型,并在我們的實驗中對每個數(shù)據(jù)集進行微調(diào).
在conv5之后,時間大小減少到1幀(即深度為D = 1的特征立方體),我們在conv5 feature tube生成bounding box proposals
Anchor bounding boxes selection
在Faster RCNN中,Anchor的數(shù)量被手工定義例如,9個anchor包含3個尺度和3個橫縱比,在本文中我們不選擇手工挑選的anchor boxes,而是在訓練集上應用k-means聚類來學習12個anchor boxes(即聚類質(zhì)心)。這種數(shù)據(jù)驅(qū)動的anchor boxes方法可以適應不同的數(shù)據(jù)集
每個包圍框都與一個“actionness”分數(shù)相關(guān)聯(lián),該分數(shù)衡量框中的內(nèi)容對應于有效動作的概率,我們?yōu)槊總€包圍框分配一個二進制類標簽(是否是一個動作),動作得分小于閾值的包圍框?qū)⒈粊G棄。在訓練階段,IoU與任意ground-truth box重疊大于0.7或Intersection-over-Union最大的邊界框(IoU)與ground-truth box(后一種情況被考慮,以防前一種情況可能找不到正樣本)重疊被認為是正邊界盒的建議
Temporal skip pooling
- 存在的問題:3D CNN其實丟失了幀的順序信息(order),而temporal skip pooling就是為了保留order信息。
由conv5 feature cube生成的bounding box可用于邊界框回歸的幀級動作檢測,然而,由于時間最大池化的時間集中(8幀到1幀)會導致原始8幀的時間順序丟失。因此,我們使用時間跳過池(temporal skip pooling) 引入時間順序進行幀級檢測。
- 具體實現(xiàn):
- 8幀輸入到conv5的時候temporal緯度已經(jīng)變?yōu)?了,通過普通的檢測方法獲取bbox propoals。
- 在對上述proposal提取特征的時候,到conv2提取。因為conv2時沒有對temporal緯度進行操作,可以認為conv2還保留著order信息。
- 輸入 conv5 的 proposal + conv2 的 feature,通過類似于RoI Pooling的操作就能提取定長特征,用于后面的操作。
- 后面bbox reg的輸入是通過 proposal + (conv2 & conv5) 提取的。
- 8次bbox reg的輸入都一致。
因此,以conv5 feature cube中有5個邊界框為例,則在每個conv2特征片中對應的位置映射5個縮放的邊界框。這將創(chuàng)建5個tube proposals ,如圖3所示
Linking Tube Proposals
-
目標:連接不同clip的tube。
-
link的主要條件有兩個:actionness(即每個clip中tube的動作得分,得分越高表示存在動作的概率越大)和overlap(即不同clip間tube的IoU,前一個tube最后一幀與后一個tube第一幀的IoU)。
-
通過公式計算前后幀tube之間的得分,按照得分高低進行連接
Action Detection
-
目標:輸入上一部得到的Linked之后的tube,對tube進行行為分類。
-
由于tube長度不一樣,要對所有tube提取得到定長特征,就需要使用文中提出的ToI Pooling。
結(jié)果及討論
- 這個不能用在online版本中。
- TOI pooling 可以與two-stream CNN結(jié)合
Region proposal network (RPN)vs Tubelet proposal network(TPN)理解
首先我們先回顧一下物體檢測的主流方式,通常會包含以下幾步:
-
生成一系列的候選框,這些候選框稱為proposals
-
根據(jù)候選框判斷候選框里的內(nèi)容是前景還是背景,即是否包含了檢測物體
-
用回歸的方式去微調(diào)候選框,使其更準確地框取物體,這過程我們稱bounding box regression
-
region proposal: 候選框區(qū)域,選出來的區(qū)域。
-
anchor box: 手工設(shè)計或者聚類得到的定位中心點框(與proposal區(qū)別是這些框是基于某一點的)
-
Bounding box(bbox): 將這些 anchor bbox回歸之后的結(jié)果叫bounding box,就是更進一步的候選框,離標答更近了,從某種程度也是proposal(候選框)。
RPN主要包含以下幾步:
-
生成Anchor boxes.
-
判斷anchor boxes包含的是前景還是背景.
-
回歸學習anchor boxes和groud truth的標注的位置差,來精確定位物體
假設(shè)每個anchor生成了k個boxes,每個anchor box會輸入到2個卷積網(wǎng)絡(luò),分別是cls layaer和reg layer。RPN的訓練數(shù)據(jù)是通過比較anchor boxes和GT boxes生成的,會在圖片中采樣一些anchor boxes,然后計算anchor box和GT box的IOU來判斷該box是前景還是背景,對于是前景的box還要計算其與GT box之間各個坐標offset。
Tubelet Proposal Network(TPN)
與靜態(tài)目標檢測中的候選邊框(bounding box proposals)相同,視頻目標檢測中的邊框被稱為tube,tube是一系列候選邊框的集合,視頻目標檢測算法使用tube來獲得時間上的信息。因此,在Tubelet Proposal Network(TPN)中,從上一步得到了base 3D network的特征圖,采用手工設(shè)計或者聚類的方法設(shè)計tube anchor ,每個tube anchor都有兩個標簽,一個是CLS——顯示來自該空間位置的foreground tube與proposal tube是否有很高的重疊。一個是REG——輸出一個4T-dimensional矢量編碼位移,該位移是根據(jù)tube anchor中每個box的坐標得來tube bounding box。
相當于
region proposal = tube proposal
feature map = feature cube 由d個boxes組成的四維矩陣(因為加了時間)
anchor = tube anchor 采用手工設(shè)計或者聚類的方法設(shè)計tube anchor(如本文使用的12個anchor聚類)
bounding box = tube bounding box 從tube anchor中進行有無action進行打分并計算IOU,坐標為(x1,y1,x2,y2)為左上和右下角
conv5得到的feature cube
Related
論文瀏覽(38) Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos - 愛碼網(wǎng) (likecs.com)
詳解Region Proposal Network - 知乎 (zhihu.com)
【目標檢測】概念理解:region proposal、bounding box、anchor box、ground truth、IoU、NMS、RoI Pooling_kentocho的博客-CSDN博客_ground truth iou
總結(jié)
以上是生活随笔為你收集整理的论文阅读:Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 4g大小文件夹,Linux:
- 下一篇: MyBatis使用心得