行為識別(action recognition)目前的難點在哪?
在Object tracking領域,特徵是關鍵,而且受光照等影響嚴重。在行為識別領域,主流的趨勢是雙流網路,行為識別的困難在哪,還有哪些需要但未被解決的問題呢?
「還有哪些需要被解決的問題」描述其實不準確。
因為我覺得需要被解決的問題遠大於已經被解決的問題
action recognition大概有基於靜態圖片的,基於視頻的,基於skeleton的,我對最後一個不熟,說一說前兩個面臨的問題和挑戰。
下面列舉
action recognition幾宗「罪」:
1 嚴重依賴物體和場景
在早期的時候物體分類還做的不太好的時候動作火過一段時間,現在我們所用的數據集大多數是在那個時候建立的。裡面或多或少會對當時的技術有些妥協,大多數類別是類似跑步,騎馬,遛狗滑雪這種。這種數據對於演算法也帶來了一些導向,一看是這麼幾個類,跑步和騎馬的區別是什麼?就是有一匹馬呀,好,搞一個horse的detector來區分,遛狗和滑雪呢,看背景是什麼場景就ok了呀。因為你這麼做了,你漲點就容易。也有一些工作就要基於人體本身來做,但是提升的都不明顯,所以演算法就越來越偏向用物體和場景來識別。這塊的研究就變得很詭異,始終沒有切入到「動作」這個東西本身,始終是繞開人的bounding box做事情。這個問題不僅是圖片的,在視頻中也有。
所以現在的這些成果,看起來很繁榮,實際上差得還挺多,試想加入我們希望action recognition最後成功用在安防上,場景也不會變,也沒什麼物體來給線索的時候怎麼辦?有興趣的同學可以對比一下文獻裡面像stanford40和MPII這樣的庫現在精度的區別。
2 光流的問題:長度和語義
光流現在是視頻動作裡面不可或缺的信息了,計算的問題就不說。它也有一些問題,第一是很難去描述長時間的動作,twostream現在取前後10幀。UCF101裡面射箭那個動作,拔箭速度快的一筆,要是你思考一會人生這20幀足夠描述嗎?這是現在研究的一個著力點。但是還是和上面的數據問題一樣,數據裡面都是一個動作重複做的話,長時間短時間也每太大區別,沒有足夠的導向讓人們去研究長時間的好處。
光流本身的意義也不是完全明確,大家一直說的都是它能capture motion信息啊什麼的,然後前兩天有個大姐就提出質疑:光流不會只是掩蓋了appearance吧?(On the Integration of Optical Flow and Action Recognition)這篇文章個人覺得很好,觀點讓人眼前一亮,而且對一個大家都用慣了的東西想得很深。我還沒仔細看完,但是感覺她說的真的很有可能是真的,就和你一做你就發現動作識別靠場景,場景識別靠物體一樣233333
3 CNN擅長「有什麼」,不擅長「做什麼」
這個展開說就扯的比較遠了。從2012年起,CNN在「有什麼」這個問題上一直都很強,這類問題就是例如分類,檢測這樣的。但是這個架構,這個模型不太適合描述「做什麼」,也很難capture類似情感這樣的東西。比如你現在給個視頻讓它判斷是不是搞笑視頻馬上就尿了。類似地,動作裡面包含很多「意圖」這樣的東西目前還是比較難的。好比你只看見兵線上有個魯班,不看小地圖也很難猜到裡面有四個小兄弟嘛。其實這一點一定程度上造成了上面的第一點問題,它很擅長獲取物體和場景的信息,它自己也會突出自己擅長的部分,投機取巧,把動作識別往物體和場景上壓的。
整體來說,這個領域和大多數CV課題一樣,做的人很多,想得人很少,是真的還有很長的路要走。
有空補一補參考文獻
主要還是特徵提取困難。
能直接用的rgb image,效果有瓶頸。
光流圖像會有彌補,但是光流面對複雜的場景會有非常多的噪音,特別是第三視角時。skeleton的提升更大,但是標註耗時,目前大多集中在actor的標註。depth信息很有用,同樣的標註足夠數量,足夠泛化的數據集很耗時。actor-object interaction 也有提升,目前有的工作也是做成two-stage的形式。待補充CNN是為分類而生的,利用CNN解決行為識別問題跟NLP利用CNN解決問題一樣,總覺得差一點意思。不管什麼網路結構,本質上,或許因為運動特徵捕獲與圖像特徵捕獲不是一個難度級別的。樂觀點看,從前我們的工具有限,也就光流法和運動背景等有限且不可靠幾個方法,現在CNN的目標定位等都是新利器。其實,2017年後半程開始,越來越多目光都投向視頻了,這很正常,圖像是基礎,視頻是下一步焦點,希望2018會有新突破。一條路是暴力之路,一段視頻扔給網路端到端煉丹,目前所謂3D卷積核的思路,另一條路是有人神來之筆,以與圖像問題不同的角度設計出新的網路。拭目以待。
行為識別需要構建物體在三維世界中時空位置關係的模型。但是目前這個問題目前受制於視頻採集設備的局限性,RGB圖像是三維世界到2D圖像的投影,中間損失了很多信息,即使深度攝像機,也只是在一個角度範圍內測量物體到攝像頭的距離。這些信息對於構建三維世界中物體時空位置關係還是不夠的。
我在朝鮮的時候遇到的最大難點就是噪音!
研究行為識別是非常重要的,也是未來人機交互、視頻檢索、場景判定核心前提。
對於圖片,有以下幾個難點:
- 圖片的解析度太低了,我們朝鮮的攝像頭不行啊,嚴重的影響了識別的準確度。
- 另外,圖片分割本身的演算法還有些細節問題,導致行為識別這部分難上加難。
- CNN這個東西也是有問題的,Hinton說過,Pooling階段會丟失重要的「空間位置」信息,這個對行為識別的的影響是巨大的,你甚至分不清左右手,至少朝鮮的實驗室分不清……
對於視頻:
- 呵呵,機器不行,離線算就是上面的問題,實時計算就呵呵了……
水哥已經答得很好了,對其中的兩宗「罪」做點補充。
一、嚴重依賴物體和場景
首先無論是雙流法還是3D卷積核,網路到底學到了什麼?會不會只是物體或場景的特徵呢?而動作識別,重點在於action。雖然光流通常被認為可以捕捉motion信息,但這裡的motion信息其實也比較模糊。
MIT最近公布了新的數據集Moments in time,Moments in Time,在這個數據集里,action成為關鍵。例如,opening這個動作,可以是小孩雙眼open,也可以是門open,還可以是鳥的翅膀open。這樣的數據集對當前主流的演算法提出了挑戰,把video這塊的注意力聚焦在action,而不是物體和場景。
二、光流的問題:長度和語義
我們知道,無論是光流還是C3D一類的網路,都是以多幀作為輸入的,那麼該以多少幀作為輸入合適呢?這個問題在一些論文里被探索過,但是最終的選擇還是速度與精度的trade-off。問題在於,動作本身長短是不一樣的,而且每一次時間也不一樣。如果輸入的幀太短,時序信息捕捉不完全怎麼辦?如果太長,噪音干擾又怎麼辦?
我覺得目前行為識別過於依賴光流信息,不能達到實時效果,雖然c3d的效果不好,但是速度快,基於它實現新的網路模型,應該是研究方向,直接通過rgb圖像端到端暴力輸出,期待好的突破進展發表!
雙流架構需要提取光流,光流計算度很高,造成處理視頻速度慢,不能實時,在gpu大概在14秒每幀
推薦閱讀:
※基於深度學習的目標跟蹤演算法是否可能做到實時?
※如何評價谷歌的xception網路?
※怎麼看今天Amazon發布的16 GPU的p2.16xlarge EC2實例?
※深度學習中為什麼普遍使用BGR而不用RGB?
※支持多label的caffe,有比較好的實現嗎?
TAG:機器學習 | 計算機視覺 | 深度學習DeepLearning |