基於弱監督的視訊時序動作檢測的介紹
關於untrimmed video analysis(未剪輯視訊分析)的領域,在眾多大牛的努力下(其中好幾個就在知乎:@林天威 、@Showthem 、@高繼揚 等),前兩年基於全監督的視訊時序檢測一路高歌猛進,直至今年的TAL-Net把THUMOS'14的Action localization mAP@tIoU=0.5搞到了42.8%——恐怖如斯!
對於同一個問題,在弱監督的情況下,相關研究最近蓬勃發展,在今年各種頂會上,關於弱監督的視訊時序動作檢測(Weakly Supervised Action Detection/Localization)的 論文比往年加起來都多!
問題陳述
基於全監督的視訊時序檢測,在知乎已有很多很多的綜述:
ofollow,noindex" target="_blank">Video Analysis 相關領域解讀之Temporal Action Detection(時序行為檢測)
Temporal Action Detection (時序動作檢測)方向2017年會議論文整理
類似的還有不少文章與回答,寫這些的個個都是人才,說話又好聽,超喜歡看這些……“眼前有景道不得,崔顥題詩在上頭”,珠玉在前,我就不再狗尾續貂了。在本文中,我們主要談一下基於弱監督的視訊時序檢測。
“視訊時序動作檢測” 是指在可能包含一個或多個動作片段的未剪輯長視訊中,定位出這些動作片段的起止時間,並指出片段具體屬於哪一類動作。 “全監督” 指的是訓練標籤中包含了片段級別的動作類別,以及動作片段的時間資訊,詳見上述的知乎文章; “弱監督” 則是指訓練集中只標記整段視訊包含的動作類別,並沒有片段級別的時間資訊。
研究回顧與最新進展(標題含論文arxiv連結)
【1】Temporal Localization of Fine-Grained Actions in Videos by Domain Transfer from Web Images (ACM MM'15)
- mAP@tIoU=0.5 on THUMOS'14: 4.4%
- 這是上古時代的工作,應用了領域遷移(靜態圖片→動態視訊)的思想。根據動作的名稱,在Flickr 和Google上搜出這些包含動作的圖片,然後過濾掉不適合遷移的搜尋結果,並用剩下的圖片輔助弱監督的視訊時序檢測。
【2】UntrimmedNets for Weakly Supervised Action Recognition and Detection (CVPR'17)
- mAP@tIoU=0.5 on THUMOS'14: 13.7%
- mAP@tIoU=0.5 on ActivityNet-v1.2 val: 7.4% (該資料集上的實驗結果引自論文【6】)
- 比較正式地提出 “弱監督的動作識別與時序檢測” 這兩個任務,引領了後來基於這兩個任務的一系列工作。該方法可以視為王利民教授、熊元駿研究員、喬宇研究員、@林達華 教授、湯曉鷗教授團隊在ECCV'16的工作Temporal Segment Network (TSN)的拓展,得到片段級別的動作概率後,用soft selection模組——給出每個片段樣本得分對應的attention權重,然後加權融合為video-level的動作分類輸出,根據該輸出與視訊標籤做梯度反傳。在測試階段,用attention權重排除掉不包含動作的視訊片段,並選取動作概率大於0.5的片段作為結果。
【3】Hide-and-Seek: Forcing a Network to be Meticulous for Weakly-supervised Object and Action Localization (ICCV'17)
- mAP@tIoU=0.5 on THUMOS'14: 6.84%。嚴格來說,這篇文章做的是 “定位” 而非 “檢測” ——這篇文章在THUMOS'14的校驗集上訓練與測試;而其他文章在校驗集訓練,在測試集測試。
- 由於 分類 網路傾向於關注“最有區分度”的視訊幀而忽視其他,這些幀往往時間軸上分佈比較零碎,難以組成完整的視訊片段;但 定位 任務恰恰需要找出“完整”的片段。為了解決這個矛盾,該方法過在訓練樣本中,隨機隱藏一些幀,來迫使分類網路“雨露均沾”,也學習到區分度相對低一點的視訊幀的模式。這篇文章在出發點上和今年我們團隊的文章【5】、@林天威 團隊的文章【8】有異曲同工之妙,但方法不同,我們下文細說。
【4】Weakly Supervised Action Localization by Sparse Temporal Pooling Network (CVPR'18)
- mAP@tIoU=0.5 on THUMOS'14: 16.2% (UntrimmedNet特徵) / 16.9%(I3D特徵)
- mAP@tIoU=0.5 on ActivityNet-v1.3 val: 29.3%(I3D特徵)
- @LwoW 寫了一篇知乎專欄 《基於弱監督學習的人體行為時序檢測演算法》 專門解讀這篇文章,在此簡單說一下其原理——類似於@周博磊 大神發表於CVPR'16的Class Activation Maps (CAM) ,本文在時間軸上定義了一個T-CAM,反映某個片段對某種動作分類的重要性,並基於此,對相關動作生成對應的候選時間區間。
【5】Step-by-step Erasion, One-by-one Collection: A Weakly Supervised Temporal Action Detector (ACM MM'18)
- mAP@tIoU=0.5 on THUMOS'14: 15.9%
- mAP@tIoU=0.5 on ActivityNet-v1.2 val: 27.3%
- 這是我們團隊的工作,本來準備投CVPR'18,但那個時候我碩士剛入學,圖樣圖森破,沒把握好進度,直到碩一下學期,才最終完成並投稿ACM MM'18,心疼一波當時的自己和隊友們~本文也是為了解決分類器關注的視訊幀過於碎片化的問題;不同於文獻【3】的隨機擦除,我們一步步地擦除並訓練多個分類器,最後直接合並各個分類器的預測片段,效果更好。此外,我們引入了條件隨機場調整結果,讓時間相近的視訊片段傾向於標為相同的類別,這對檢測效果的提升極其巨大。
【6】AutoLoc: Weakly-supervised Temporal Action Localization in Untrimmed Videos (ECCV'18)
- mAP@tIoU=0.5 on THUMOS'14: 21.2%
- mAP@tIoU=0.5 on ActivityNet-v1.2 val: 27.3%
- 這是壽政大神@Showthem 的論文,不同於以往弱監督時序檢測工作中,按照閾值來篩出動作片段,本文首創性地直接嘗試預測時間軸邊界,其主要實現思想——對於某個動作的類別得分,鼓勵動作片段之外的平均得分,要儘量低於動作片段之內的平均得分。這篇論文的程式碼,將會開源於 zhengshou/AutoLoc 。
【7】W-TALC: Weakly-supervised Temporal Activity Localization and Classification (ECCV'18)
- mAP@tIoU=0.5 on THUMOS'14: 18.8% (UntrimmedNet特徵) / 22.8%(I3D特徵)
- mAP@tIoU=0.5 on ActivityNet-v1.2 val: 37.0%
- 方法主要搞了兩個Loss:一個是k-max multiple instance learning loss,類似於UntrimmedNet的top-k pooling(hard selection)——對於一個視訊,取某一類概率最大的k個視訊片段來參與計算分類損失,k的數值正比於整段視訊長度;另一個是co-activity similarity loss,在特徵空間上驅使同類動作的視訊片段儘可能近一些,不同類的相對遠一些——用了一個ranking hinge loss來實現。
【8】Cascaded Pyramid Mining Network for Weakly Supervised Temporal Action Localization (ACCV'18)
- mAP@tIoU=0.5 on THUMOS'14: 16.1%
- mAP@tIoU=0.5 on ActivityNet-v1.3 val: 39.29%
- 這是@林天威 前輩團隊的工作,本方法用特徵圖上的線上擦除(不同於【3】【5】的在視訊幀上擦除)生成互補的時間區域,以時間金字塔式的attention整合多尺度的資訊,最終得到動作片段的預測。這篇文章提出方法在 ActivityNet-v1.3 val上的結果,是弱監督的視訊時序檢測已知工作中最好的。
【9】Segregated Temporal Assembly Recurrent Networks for Weakly Supervised Multiple Action Detection (AAAI'19)
- mAP@tIoU=0.5 on THUMOS'14: 23.0%
- mAP@tIoU=0.5 on ActivityNet-v1.3 val: 31.1%
- 這篇工作比較新,兩週之前才放到arxiv上——原文寫的很詳細,講方法的部分一共不到3頁,就包含了18條帶編號的等式!本方法把弱監督的視訊時序檢測視為一個“多例項多標籤(multi-instance multi-label, MIML)問題”,用迴圈神經網路RNN來建模。① 針對attending repetition的問題(翻譯成人話,就是兩個動作片段相疊或相近時,RNN有可能把它們一起看待,即attention重合了),本文借鑑了機器翻譯裡的coverage機制,減少attention高的時間區域之重疊程度。② 針對trivial action missing的問題(即遺漏部分零碎的片段),對1的結果搞了一個alignment,引入single-instance action frequency作為監督資訊。 ③ 最後,①②所得的attention結合ST-GradCAM(類似於【4】中T-CAM,不過是RNN版本,源自ICCV'17的GradCAM),輸出最終的動作片段。其效能是目前THUMOS'14上,弱監督的視訊時序檢測的最優結果。
小結
弱監督減輕了時間軸標註人力、時間成本,但是也加大了時序檢測的難度。雖然在一定程度是靠“猜”,但對於大多數動作類別的大多數視訊片段,貌似得到的結果還算不錯——當然,進步空間依然不小,這個問題具有一定研究價值。未來,期待更多有意思的工作出現。