論文閱讀:Look-ahead before you leap: end-to-end active

作者:
Dinesh Jayaraman, UT Austin, and Kristen Grauman, UT Austin


一、論文所解決的問題

這篇文章很有意思,主要是學習如何控制攝像頭進行移動進而去進行有效的場景識別,這一點很類似於人的行爲



RNN學習如何操縱傳感器實現可靠識別(主動視覺active vision)
本文中定義了主動視覺中的三個步驟:控制、每個場景的識別、時間證據的融合(integrate evidence over time)
控制使用隨機神經網絡、每個場景的識別使用NN、時間證據的融合使用RNN
本文follow的是Mnih, V., Heess, N., Graves, A., Kavukcuoglu, K.: Recurrent models of visual attention. In: NIPS. (2014)


二、何爲主動視覺

我們傳統的識別都是被動的,爲何稱之爲被動,因爲都是靜態的圖片,並且我們的算法也是找出圖片中的不變的特徵
而主動視覺可以自己調整攝像頭的角度和方向,這樣可以改變光照和角度等因素,可以實現環境的變化,因此並不是尋找圖片中的不變特徵。而是在當前的場景下以及對攝像頭的動作之下(調整攝像頭的角度和方向下)預測知識的改變的( we jointly train our active vision system to have the ability to predict how its knowledge will evolve conditioned on its present state and its choice of motion.

idea是如何產生的:我們人在看東西的時候,如果看不清的話,都是自己轉動自己的頭,或者調整自己的角度再去看的。這一點,傳統的視覺並沒有考慮進去

三、與視覺顯著性、視覺注意力的區別(visual saliency and attention)以及預測相關特徵之間的差別(相當於本文與以前方法的區別)

(1)視覺顯著性(visual saliency)的目的是想去除圖像中的干擾的部分,核心目標是替代滑動窗口

(2)視覺注意力(visual attention)是有一個整個環境的snapshot 。與本文的區別就是視覺注意力是離散的,也就是說傳感器移動的幅度很大,而本文中傳感器移動的幅度並不是很大,相對來看是連續的。
Attention systems thus sometimes take a “foveated”approach [29], [24]. In contrast, in our setting, the system never holds a snapshot of the entire environment at once. Rather, its input at each time step is one portion of its complete physical 3D environment, and it must choose motions leading to more informative—possibly non-overlapping—viewpoints. Another difference between the two settings is that the focus of attention may move in arbitrary jumps (saccades) without continuity, whereas active vision agents may only move continuously.

(3)預測相關特徵是指:通過當前幀預測下一幀的特徵(或者圖像、或者光流)
比如下面這個架構,直接利用CNN進行預測未來的某一幀

選自:Anticipating the future by watching unlabeled video

或者下面將CNN和RNN融合形成回覆式的CNN(rCNN),然後利用空間信息和時間信息預測下一幀的內容,輸入的圖像patch是經過量化的,具體怎麼做我沒看懂。

選自:VIDEO (LANGUAGE) MODELING: A BASELINE FOR GENERATIVE MODELS OF NATURAL VIDEOS


四、論文的解決方案

(0)整體架構一覽


整個系統分爲ACTOR,SENSOR,AGGREGATOR這三個部分,最後接一個CLASSIFIER, 其中ACTOR是隨機神經網絡、SENSOR是前饋神經網絡、AGGREGATOR是RNN,CLASSIFIER是Softmax

每一個時刻t:

(1)ACTOR發出一個相機移動的參數mt,參數pt表示t時刻的位置pt-1是t-1時刻的位置
pt = pt1 + mt
(2)根據此時的位置pt,獲取一個圖像Xt,並將mt和Xt都給SENSOR
st = SENSOR(xt, mt)

那麼就有 s1, . . . , st
(3)此時將上面的 s1, . . . , s都輸入到AGGREGATOR
得到 AGGREGATOR(s1, . . . , st),AGGREGATE能夠得到一個聚合的特徵向量at

將at作爲下一個時刻的輸入ACTOR(at)

上面的英文描述爲:
Our basic active recognition system is modeled on the recurrent architecture first proposed in [24] for visual attention. Our system is composed of four basic modules: ACTOR, SENSOR, AGGREGATOR and CLASSIFIER, with weights W, Ws, Wr, Wc respectively. At each step t, ACTOR issues a motor command mt, which updates the camera pose vector to pt = pt1 + mt. Next, a 2-D image xt captured from this pose is fed into SENSOR together with the motor command mt. SENSOR produces a view-specific feature vector st = SENSOR(xt, mt), which is then fed into AGGREGATOR to produce aggregate feature vector at = AGGREGATOR(s1, . . . , st). The cycle is completed when, at the next step t + 1, ACTOR processes the aggregate feature from the previous time step to issue mt+1 = ACTOR(at)Finally, after T steps, the category label beliefs are predicted as y ˆ(W, X) = CLASSIFIER(at),

如何訓練:
ACTOR是隨機神經網絡用強化學習進行訓練
SENSOR是前饋神經網絡、AGGREGATOR是RNN,CLASSIFIER是Softmax                       用BP



此外作者還引入了LOOKAHEAD單元

At time step t, LOOKAHEAD takes as input at1 and mt1 and predicts a ˆt =LOOKAHEAD(at1, mt1).
也就是說在時間t,LOOKAHEAD將前一個時刻的輸入和前一個時刻的攝像頭移動的參數作爲輸入,然後輸出下一個時刻的輸出。
這個函數在每個時刻都有一個損失,然後可以對該損失求偏導就可以進行訓練。

引入這個單元的意圖是:如果移動攝像頭很好,那麼就應該能夠準確地預測出下一次的輸出。




五、論文中的方案解決該問題,解決到了什麼程度?

這篇論文我感覺最新穎的地方就是如何調整攝像頭視角,然後有利於識別場景類別,解決的程度並不好還有很大空間,從實驗結果來看其實效果並不是很好
只是這篇文章腦洞開的比較大。


六、其他未能考慮的問題

想不出來,主要是強化學習沒看過,所以這篇文章看起來還是比較喫力的。




七、實驗

(1)數據集
SUN360 and GERMS
SUN360是球形的拼接起來圖片
GERM是單軸機器人手旋轉136個玩具的視頻。。。
對比的標準是準確度:


(2)代碼
只找到了個人主頁
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章