0
雷鋒網(wǎng)AI科技評論按:這篇文章提出了一種全新的CV任務(wù)。
來自華盛頓大學(xué)艾倫人工智能研究所的Kiana Ehsani團隊突破傳統(tǒng)計算機視覺的研究任務(wù),嘗試從目標(biāo)對象(例如狗)的視角進行建模,并以此模型來預(yù)測對象的行為模式。
這種表示學(xué)習(xí)方法與傳統(tǒng)的圖片訓(xùn)練任務(wù)的不同之處在于,它的模型訓(xùn)練是從特定視角出發(fā),所以這是一種全新的CV任務(wù)。在論文中,作為案例,作者采用狗狗的視角來訓(xùn)練模型,在狗的行為建模上取得顯著的成功。作者表示,該方法有望拓展到其他領(lǐng)域。
下面為雷鋒網(wǎng)對該論文的詳細(xì)解讀。
傳統(tǒng)的計算機視覺研究專注于分類、識別、檢測及分割等子任務(wù);當(dāng)去解決一般的計算機視覺問題時,研究人員一般會將這些功能進行有機的組合。但這種研究方法所得出的結(jié)果一直與期望結(jié)果有較大的差距。本文的作者受近期「行為和交互在視覺理解中作用」研究工作的啟發(fā),他們將視覺智能(visual intelligence)問題定義為:理解視覺數(shù)據(jù)并在視覺世界中采取行動或執(zhí)行任務(wù)。在這種定義下,作者認(rèn)為要像一個視覺智能體在視覺世界中那樣去學(xué)習(xí)。
作為該項研究的切入口,他們選擇一只狗作為視覺代理。相比于人類,狗有一個簡單的行為空間,這使任務(wù)能更容易地處理;而另一方面,它們能夠清楚地表現(xiàn)出視覺智能,識別食物、障礙物、其他人類和動物,并對這些輸入作出反應(yīng)。
在實驗中,Kiana Ehsani團隊通過狗的自我視角錄制的視頻數(shù)據(jù),加上將傳感器安裝在狗的關(guān)節(jié)處收集來的動作數(shù)據(jù),構(gòu)建了數(shù)據(jù)集DECADE(Dataset of Ego-Centric Actions in a Dog Environment)。
在作者的研究中,他們利用DECADE數(shù)據(jù)集,主要探索三個問題:
(1)Acting like a dog,即預(yù)測狗的行動;
(2)Planning like a dog,即預(yù)測狗的運動序列;
(3)Learning from a dog,即如何利用狗的動作作為表征學(xué)習(xí)的監(jiān)督信號。
如上所述,作者使用了DECADE數(shù)據(jù)集。這個數(shù)據(jù)集包含380個視頻剪輯片段,這些視頻由安裝在狗頭部的攝像機拍攝而來。視頻中還包含設(shè)備安裝部位和運動軌跡等信息。
在實驗中,作者總共用了24500幀,其中21000幀用于訓(xùn)練模型,1500幀用于驗證,2000幀用于最后的測試。
作者使用的是GoPro攝像頭拍攝的這些視頻,采樣頻率為5fps。該團隊使用4個慣性測量單元(IMUs)來測量狗的四肢的位置,一個單元測尾巴位置,還有一個測軀干位置。這些設(shè)備可以用角向移動來記錄運動。
他們獲取的每一幀都包含六個測量單元的角移。角移以4維4元數(shù)向量表示。慣性測量單元的絕對角移與狗面向的方向有關(guān),不同關(guān)節(jié)的角移是有區(qū)別的,這些區(qū)別也可以用四元數(shù)表示。他們認(rèn)為兩個連續(xù)的幀之間角移的區(qū)別就代表著這條狗這兩幀之間的動作。
獲取這些信息的的具體情形是一個安裝在狗背上的Arduino監(jiān)視器連接著各個測量單元(IMUs)來記錄位置信息。它還能通過狗背上的微信麥克風(fēng)來收集音頻,這些音頻可以為同步GoPro和Imus數(shù)據(jù)提供依據(jù),最終可以將視頻和IMU測量數(shù)據(jù)同步精確到毫秒級別。他們的團隊在多于50個不同環(huán)境下收集數(shù)據(jù),收集時狗正處在特定的場景下,比如行走或撿東西或與其他狗互動。所有最終剪輯出來的幀都不帶備注,實驗均使用原始數(shù)據(jù)。
在不同的場景中如何預(yù)測狗的反應(yīng)呢?作者所提出的模型通過學(xué)習(xí)狗之前看到的場景圖片來預(yù)測狗接下來的行動。
模型的輸入是一串視覺圖像的幀序列(I_1, I_2, . . . , I_t),而輸出則是在接下來的時間片里狗各個關(guān)節(jié)的動作t < t' ≤ N(a_t+1^j, a_t+2^j, . . . , a_t+N^j ),其中時間片大小為0.2秒。a_t^j就代表著關(guān)節(jié) j 的運動。舉例說明,a_3^2代表著第二關(guān)節(jié)介于I3和I4幀之間的運動。
作者將預(yù)測問題表述為一個分類問題。他們將關(guān)節(jié)角移數(shù)字化編碼,并將不同關(guān)節(jié)的運動標(biāo)簽化成特定的動作類。為了形成這些運動類,他們使用K-means算法來處理關(guān)節(jié)角移。每一個聚類中心都可以代表一個特定的運動。
其運動預(yù)測模型是編解碼結(jié)構(gòu)的,主要目標(biāo)就是找到輸入圖片與未來動作之間的映射關(guān)系。舉例說明這種關(guān)系,比如當(dāng)狗看到拿著狗糧,這條狗之后的動作很可能是坐著等主人來喂。
上圖為這個模型的結(jié)構(gòu),其中編碼部分包含了CNN模型和一個LSTM。其中每個時間片內(nèi)CNN都會接收到一對連續(xù)的圖片即上文提到的行動前行動后圖片,對著其進行編碼后傳輸給LSTM。實驗結(jié)果果表示LSTM一個時間片內(nèi)接受兩幀可以明顯改善模型的表現(xiàn)。CNN包含兩層權(quán)重相同的ResNet-18,其中一個則為處理幀。
解碼器的目標(biāo)是根據(jù)已經(jīng)被編碼的幀來預(yù)測狗關(guān)節(jié)的活動。解碼器接受編碼器傳來的隱藏初始狀態(tài),和LSTM的處理結(jié)果,之后的每一個時間片,解碼器輸出上文提到的每個關(guān)節(jié)的動作類,而且前一個時間片的輸出會被線性編碼器處理完作為下一個時間片的輸入。正是由于他們使用固定長度的處理后的輸出作為下一個時間片的輸入,所以不需要停止標(biāo)記,且他們的模型會在產(chǎn)生一定數(shù)量的輸出后停止。最后的效果就是他們的模型每個時間片會輸出六個動作類。
每一張圖片都是獨立傳送給ResNet塔,且兩張圖片的特征已經(jīng)結(jié)合,結(jié)合起來的特征會被線性轉(zhuǎn)化器處理后輸入編碼器的LSTM。他們團隊在ImageNet上事先訓(xùn)練了ResNet,然后優(yōu)化一下來評估兩張連續(xù)幀之間的動作。
Kiana Ehsani團隊的編解碼器使用加權(quán)平均熵?fù)p失來處理每個關(guān)節(jié)。損失函數(shù)為:
狗是如何計劃行動來完成目標(biāo)的?
為了給這個過程建模,作者設(shè)計了如下計劃:輸入兩張不連貫的圖片,然后去規(guī)劃從第一張圖片的狀態(tài)到第二張圖片的狀態(tài)中間可能出現(xiàn)的一系列行為。他們指出先前的運動估計量已經(jīng)不再適用,之前的運動估計是根據(jù)鏡頭的狀態(tài)變化來補充兩張圖片變化之間的狀態(tài)。現(xiàn)在則相反,我們的模型自行計劃去進行一些合理的行動來補充圖片變化之間的狀態(tài)。更加正式的描述就是,
輸入兩張圖片(I_1,I_N),輸出時長為n-1的行動數(shù)據(jù)。這個輸出就是夠從I_1 狀態(tài)轉(zhuǎn)換到I_N狀態(tài)中間經(jīng)歷的過程。
狗的每一步行動都會對下一步行動產(chǎn)生影響,所以作者設(shè)計了一個遞歸神經(jīng)網(wǎng)絡(luò),這其中包含一層LSTM,用來處理一個時間片的的輸出作為后一個時間片的輸入。如圖所示,他們將圖片I1和IN分別單獨的傳給ResNet-18塔,合并上一層的特征并輸入LSTM。每一時間片內(nèi),LSTM cell都會輸出六個關(guān)節(jié)的運動數(shù)據(jù)。他們將此作為下一個時間片的輸入,這就使得神經(jīng)網(wǎng)絡(luò)可以根據(jù)之前的狀態(tài)進行調(diào)整。同時他們還將行為出現(xiàn)的概率這一數(shù)據(jù)也作下一時間片的輸入。這會使當(dāng)前時間片中的低概率行為在行動序列中進一步導(dǎo)致高概率行為,這樣就可以保證未來行為的多樣性。
作者使用等式所描述的加權(quán)的交叉熵?fù)p耗在所有的時間片和關(guān)節(jié)上訓(xùn)練該遞歸神經(jīng)網(wǎng)絡(luò)。與解決如何像狗一樣行動所采取的方法類似,他們使用了離散的動作域。
能否利用狗的動作作為表征學(xué)習(xí)的監(jiān)督信號呢?
在學(xué)習(xí)從狗觀察到的圖像中預(yù)測狗關(guān)節(jié)的運動時,可以獲得一個圖像表示,它編碼了不同類型的信息。
為了學(xué)習(xí)表示,作者通過觀察狗在時間t-1和t中觀察到的圖像,訓(xùn)練ResNet-18模型來估計當(dāng)前的狗的運動(IMU從時間t-1到t的變化)。隨后作者對這個表示進行測試,并與在ImageNet上訓(xùn)練的ResNet-18模型進行比較,在不同的任務(wù)中會使用不同的數(shù)據(jù)。 在實驗中,作者使用SUN397數(shù)據(jù)集,進行了可行表面估計和場景分類。
為了展示表示的效果,作者將模型中藍色部分用在ImageNet上訓(xùn)練過的ResNet進行了替換,并將其與在DECADE上訓(xùn)練的ResNet進行比較。
下面這張圖中顯示了模型從5幀視頻中學(xué)習(xí)到當(dāng)一個人朝狗扔球時狗的表現(xiàn)。在視頻中,球越過狗后,狗轉(zhuǎn)向右側(cè)去追球。本文提出的模型只使用前5幀圖像就可以正確地預(yù)測在球飛過時狗如何轉(zhuǎn)向右側(cè)的行為。
下面為具體實驗結(jié)果:
(1)Learning to act like a dog
觀察五幀視頻后預(yù)測接下來的五個行動的精確度。
(2)Learning to plan like a dog
在開始和結(jié)束幀之間進行規(guī)劃,這里考慮開始幀和結(jié)束幀之間相隔5步。
(3)Learning from a dog
將在ImageNet上訓(xùn)練的網(wǎng)絡(luò)結(jié)果與在DECADE上訓(xùn)練的網(wǎng)絡(luò)進行比較,評估指標(biāo)為IOU。
Kiana Ehsani團隊選擇直接從目標(biāo)對象視角建模,他們用從狗的視角拍攝的視頻來訓(xùn)練模型,最終的目標(biāo)是讓自己的模型可以預(yù)測隨后的行動,可以像狗一樣去規(guī)劃自己的行為來完成目標(biāo)。他們的工作是端到端建模的第一步,這種方法不需要手動標(biāo)記的數(shù)據(jù)或擁有具體語義的數(shù)據(jù)。不僅如此,它還可以在多對象和多場景下應(yīng)用去獲取有價值的信息。
雷鋒網(wǎng)認(rèn)為,他們的方法還有許多有待拓展的地方。一方面是,本文實現(xiàn)的模型只接受視覺輸入,屬于CV問題,但事實上它完全可以拓展到其他領(lǐng)域,例如實現(xiàn)聽覺、觸覺等的輸入;此外,當(dāng)前模型仍只是針對一條狗的行為建模,那么是否可以拓展到多條狗的情形呢?
無論如何,采用主人公視角的數(shù)據(jù)集來訓(xùn)練模型,這種思想獨特且有深刻意義,屬于一種新穎的CV task。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。