機器之心
機器之心發布
作者:邵典等
本文介紹了一個大規模、高質量、層級化標註的細粒度人體動作數據集「FineGym」,研究者來自香港中文大學,目前這項研究已被 CVPR 2020 接收為 oral 論文。
論文連結:https://arxiv.org/abs/2004.06704
項目地址:https://sdolivia.github.io/FineGym/
視頻中的動作理解一直是計算機視覺領域的熱點研究方向。原有的工作一般都是面向粗粒度的動作識別與分析,在許多現有數據集上相關研究已經遇到了瓶頸。
在這項工作中,我們提出了一個大規模、高質量、層級化標註的細粒度人體動作數據集:FineGym。在這一數據集上,我們對現有的各類動作識別方法從多個層級多個角度進行了分析,得了很多有趣的結果,對領域一些固有結論產生了挑戰,也為未來的研究帶來了一些啟發。
值得注意的是,除了支持動作識別任務,FineGym 豐富的標註內容還可以支持其他動作相關的研究,如時域動作檢測、動作質量評估、動作生成、動作屬性識別等。基於這些特點,我們的工作在 CVPR2020 中,也獲得了 3 strong accept 的滿分成績。
要點概覽
FineGym 好在哪裡?
1、FineGym 數據集的建立過程對行業有啟發意義。
2、作為目前最全面的結構化細粒度動作數據集,FineGym 開闢了新的研究土壤,為原有領域注入新的活力。
3、基於 FineGym, 我們從粗粒度到細粒度對現有的 SOTA 方法進行了多角度分析,體現了粗粒度和細粒度動作理解的區別,研究了採樣方法、時域信息整合、模型預訓練等在細粒度動作理解方面的問題和特性,開放性地指出了現有方法的局限性和未來可能的研究方向。
總而言之,對於視頻動作識別、檢測、生成等感興趣的研究者來說,這項研究絕對值得關注。此外,論文中的分析表明在 FineGym 上現有的人體檢測和姿態估計方法的結果誤差很大,因而從事相關工作的研究者也可關注一下。
以下是詳細解讀:
數據集的建立
FineGym:「三加二」的小餅乾
「三」:在語義層面,FineGym 定義了三層的語義類別結構,遵循著從粗粒度到細粒度的順序,它們包括:事件類別 (event),組類別(set)和元素類別 (element)。
「二」:在時域上,FineGym 具有兩層的結構,分別為動作和子動作。一個長視頻中會出現多個動作,它們的開頭和結尾會被標註。同時,一個動作內部會有多個子動作,這些子動作的時域位置會被標註。動作由事件類別來描述,而時域上更細粒度的子動作可以由組類別和元素類別兩種粒度進行描述。
山重水複疑無路: 面臨的挑戰
建立這樣一個標註複雜、定義清楚、專業高質量的數據集,且標註粒度需要延伸到現有工作所未涉足過的細緻程度,也算是「摸著石頭過河」。期間遇到了許多「攔路虎」:
「巧婦難為,無米之炊」:建立數據集的第一步是收集視頻數據。以往類似的大規模視頻數據集的數據來源基本是兩種:一種是通過大型視頻網站爬取數據;另一種則是提供相應的視頻內容描述,直接要求眾包人員自行演出、錄製並上傳視頻。然而,這兩種方式對於 FineGym 的數據收集都不適用。為什麼呢?首先,FineGym 的語義粒度需要延伸到元素類別,然而不幸的是,以元素類別為關鍵詞如「交換腿跨跳轉體 180 度」,在視頻網站上很難搜索到高質量、內容匹配的視頻;另一方面,FineGym 基於專業度高、靈活性強的體操運動,普通人基本沒可能標準地做出相應的動作。對此,我們採取的解決辦法是,首先按照年份調研國家級及以上的專業體操比賽,之後下載相應的比賽視頻,並逐個視頻進行人工排查與清理,保證原始數據的清潔和專業性。
「亂花漸欲迷人眼」:越細粒度的語義類別定義,越容易產生更多的類別數量。那麼如何定義並組織數量眾多、差別細微,容易混淆的類別呢?本文中採用的解決方法有兩個方面。第一,類別的語義定義不再草率地人為制定,而是參考體操領域的專業知識,以國際體操協會發布的專業動作及打分手冊為繩墨。第二,採用層級化的結構,粒度最細、數量眾多的元素類別,則由樹狀結構進行組織。
「術業有專攻」:有了數據並定義了類別之後,所需的標註又如何產生呢?FineGym 的標註需要具備足夠的專業知識,所以也不能像以往一樣簡單地依靠眾包平臺。對此,我們專門篩選和組織了一支專門的標註團隊,對其進行了必需的專業知識培訓,並進行了相關專業知識的考核和測試。在經歷了多輪培訓、測試與數據試標註後,標註團隊完全滿足 FineGym 所需要的專業性和高質量的要求。
「吾日三省吾身」:對於細粒度數據集來說,其「阿喀琉斯之踵」是標註的質量問題。相比於粗粒度的標註,同樣比率的錯標誤標,在細粒度的類別間容易引入更多的問題和更大的混亂。針對這個問題,我們採取了一系列的標註質量監控措施,包括但不限於每日監控每一位標註人員的標註質量並及時反饋以避免重複性錯誤,標註人員間嚴格互檢,標註團隊的高比率二次檢驗等。
數據集詳情概覽
一張當年畫了很久的 teaser。
FineGym 的建立包括原始視頻數據收集、標註團隊團隊提供標註、後期的嚴格質量篩查等過程。要點這裡不再贅述。
目前,FineGym 收集了體操領域 10 種不同的事件類別(男子六種+女子四種)共三百多場專業比賽。
我們對女子的四種事件(女子跳馬,女子平衡木,女子自由體操和女子高低槓)進行了「3+2」的細粒度標註。
基於這四種事件類別,FineGym 定義和篩選了 15 個組類別,並由此進一步定義了 530 種不同的元素類別,其中共 354 類目前具有子動作數據,這種情況源自於體操動作本身使用的不均衡性。
FineGym 保留了原始的分布,但也提供了兩版不同的數據集以供選擇:
Gym99 共 99 類,數據分布相對更加均衡;
Gym288 共 288 類,數據分布較不平衡。
截止現在,FineGym 已提供了兩個版本的數據標註,提供了六千多個動作數據和 3 萬多個子動作數據的細緻標註。詳情請訪問 FineGym 的GitHub項目頁面。
值得注意的是,FineGym 中子動作的持續時間往往很短,大部分在幾秒的長度,但信息量卻很大(下面的實驗部分有提到)。這種短時限制有效保證了數據的細粒度。
我們的標註收集將會持續進行,歡迎大家持續關注。
「妙則不粗,湛則不渾」:數據集特點
高質量
包括以下幾個方面:
1. 原始數據高質量:國家級及世界級的體操運動比賽視頻,動作來自於專業運動員;
2. 類別定義清晰:借鑑體操運動標準和完備的動作參考手冊,避免了類別增多帶來的定義不清楚、類別間語義不一致等問題;
3. 高解析度:所收集的視頻大多為 720P 和 1080P,更好地保留動作的視覺細節,也為後續更加精細的標註(如關鍵點)提供了良好的基礎;
4. 高標註質量:FineGym 的標註團隊經歷了嚴苛的培訓、測試與篩選,最終的標註結果也接受了層層的質量把控。
豐富性與多樣性
1. 豐富的層級結構:時域方面,FineGym 具有兩層結構,而類別語義的層級則有三層;
2. 粒度最細的一層具有 530 個定義清楚的類,超過了現有的所有細粒度數據集;
3. FineGym 中的視頻具有多樣的拍攝角度,其動作也涵蓋了各異的人體姿態,甚至包括很多不常見、高難度的極端姿態。
完全以人體動作為中心
FineGym 所收集和標註的體操數據,其背景都有很強的相似和一致性,研究的關注點完全放在視頻中的運動員身上。這一點避免了模型在識別過程中喜歡「走捷徑」的問題,即只學習背景、物體等與動作無關的信息來完成分類。
決策樹標註過程帶來了比動作標籤本身更豐富的信息
從根節點到葉子節點的路徑還原了整個分類過程,並且記錄了某一類運動最顯著的屬性標籤集合。同時,在葉子節點中,每一個類別的動作還標註了其難度分數,可用於動作難度評估的研究。
「下馬看花」——現有方法分析
實驗分析的主要關注點在最細粒度的元素類別識別。在此之前,我們先簡要在較粗糙粒度上(event&set),進行了相關實驗和分析。由於粗粒度實驗不是重點,我們選取了當前業界廣泛應用的方法——TSN,以點帶面。實驗結果如下:
這個 performance 高,但不是我們的主要關注點。
有趣的是,在最粗粒度的事件類別 (event) 識別中(也是當前動作識別領域的數據集和方法所關注和研究的粒度),appearance 特徵的貢獻遠遠超過了 Flow(光流) 特徵,並且準確率已經趨於飽和。
然而一旦往更細的粒度 (set) 前進,光流特徵的作用則開始逐漸凸顯。這說明更細粒度的動作識別需要模型的關注點逐漸回到動作本身,而不能通過僅僅學習一些場景和物體信息就能很好地對動作進行分類。這一趨勢在元素類別的識別中體現的更加明顯。
下面就進入了方法分析的「重頭戲」部分(細粒度識別實驗)。
我們將現在主流的幾類動作識別方法都在 FineGym 上進行了測評,具體有:
1. 2D+1D 模型,包括 TSN, TRN, TSM 和 ActionVLAD;
2. 基於 3D 卷積核的方法:I3D, Non-local;
3. 最近火起來的基於人體關鍵點的識別方法,代表為 ST-GCN。
實驗在多個層級不同語義範圍內進行,全方位地對模型進行測評分析。從字體大小可見誠意滿滿的實驗結果如下圖所示:
除了動作識別,文中還選取動作時域檢測的開源代表方法——SSN,在動作和子動作兩個不同的粒度上進行了實驗。實驗結果表明,對細粒度的子動作進行準確時域定位仍沒有得到很好地解決。
在以上實驗的基礎上,我們又進行了後續的更加細緻、深入的分析,主要研究了以下幾個不同的角度的問題:
1. 稀疏採樣和密集採樣
稀疏採樣 (sparse sampling) 在之前動作識別經典數據集如 UCF101 上十分有效,然而遇到了 FineGym 卻遭遇了「滑鐵盧」。
如下面的實驗數據所示,在 UCF 上只用 2.7% 的採樣率(5 幀)TSN 的識別準確率就達到了飽和,而在 FineGym 上的元素類別識別則需要採樣 30%(12 幀)以上的數據幀。
這佐證了 FineGym 細粒度動作數據的信息豐富性,即「幀幀有用,幀多勢眾」。
2、 時域信息的重要性
基於視頻的視覺理解,和圖像理解相比,最大的特點應該就在於提供了豐富的時域信息。但是在以往的視頻動作數據集上,時域信息的效用並沒有得到非常明顯的體現。
但是在 FineGym 上,對時域動態信息的整合和利用就顯得尤為重要。我們在文中用三個不同的實驗分析證明了這一觀點,
a) 對 TSN 而言,在給定不同的組類別進行元素類別識別時,光流信息相比於 RGB 特徵對結果貢獻顯著更多;
b) TRN 學習了幀間關係來建模時域信息,然而一旦將輸入的幀的順序打亂,TRN 的表現將大幅下降。
c) 對於沒有時域建模的 TSN 來講,當測試的幀數逐漸超過訓練幀數,識別的表現會因為引入新信息而變好並飽和;而對於在模型設計中嵌入了時域建模的 TSM 來說,當測試幀數和訓練幀數的差異過大,學到的時域模型不再適用,識別準確率將「一落千丈」。
3. 模型預訓練
在視頻動作識別領域,一個約定俗成的觀念就是在大規模的視頻數據集上進行預訓練能夠 大幅提升模型的識別準確率。
例如,在 Kinetics 數據集上進行預訓練的 I3D 模型,在 UCF101 上的識別準確率可以從 84.5% 提升到 97.9%。
然而這種視頻數據集預訓練在 FineGym 上並不能屢試屢驗,如下圖所示。
我們認為,一個可能的原因是細粒度與粗粒度動作的時域模式可能有較大的差異,因此預訓練所學難以遷移。
4. 現有方法尚難解決的問題
最後,通過詳細的實驗分析和觀察,我們啟發性地提出了一些讓當前方法「力不從心」的問題:
密集、快速的運動,如各種空翻;
空間語義信息的細微差別,如腿部姿態的些微不同;
比較複雜的時域動態線索,如運動方向的變化;
基本的推理能力,如數出空翻的次數等。
此外,FineGym 對一些動作理解的基礎模塊提出了更高的要求,如視頻中的人物位置檢測,人體關鍵點定位等。
展望和後續
除了以上的提到的視頻動作識別和時域動作檢測,FineGym 豐富的標註和高質量的數據使其具備被應用於以下任務的可能:
1)自動打分及動作質量與難度評估;
2)動作生成(得益於其較為一致的背景和豐富的類別信息);
3)動作多屬性預測,即利用標註過程中的決策樹儲存的屬性信息;
4)模型推理與可解釋性,即同樣利用標註過程中的決策樹
此外,FineGym 可能對未來的模型設計引入了一些新的可能和思考,如當面對這種信息量大、差異細微的動作理解任務,如何在提升採樣率的同時保證模型的運行效率?如何更好地建模時域信息並保證其魯棒性?這些都期待未來的研究者們發揮才智,嘗試解決。
我們的 FineGym 會持續收集和增加標註,包括更細緻的視覺標註(如人體關鍵點),視頻數據的擴充、事件類別的擴充和延伸到其他領域等。有興趣的話可以持續關注。
最後的話
最後再多說兩句,我們的這篇工作只是朝著細粒度動作識別領域做了一點小小的探索,得到審稿人的一致垂青也實屬僥倖。希望能拋磚引玉,為後續相關研究提供基石。
工作本身還存在很多不足之處,「曲有誤,周郎顧」,歡迎各位路過的大神批評指正(玻璃心作者求輕噴),也歡迎大神們「且將新火試新茶」,在 FineGym 上進行模型設計與方法研究。
原文連結:https://zhuanlan.zhihu.com/p/130720627
本文為機器之心發布,轉載請聯繫原作者獲得授權。
✄---
加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com
投稿或尋求報導:content@jiqizhixin.com
廣告 & 商務合作:bd@jiqizhixin.com
原標題:《CVPR 2020滿分論文 | FineGym:面向細粒度動作分析的層級化高質量數據集》
閱讀原文