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