計算機視覺要多久才能理解這個世界
- 來源:中國信息化周報 smarty:if $article.tag?>
- 關(guān)鍵字: smarty:/if?>
- 發(fā)布時間:2018-01-31 10:05
場景理解和與語言結(jié)合的計算機視覺進一步搭起了人類和計算機之間溝通的橋梁,任務(wù)驅(qū)動的計算機視覺也會在機器人領(lǐng)域大放異彩。
物體識別之后:豐富場景識別
在物體識別問題已經(jīng)很大程度上解決以后,我們的下一個目標(biāo)是走出物體本身,關(guān)注更為廣泛的對象之間的關(guān)系、語言等等。
在Visual Genome數(shù)據(jù)集之后,我們做的另一項研究是重新認(rèn)識場景識別。場景識別單獨來看是一項簡單的任務(wù),在谷歌里搜索“穿西裝的男人”或者“可愛的小狗”,都能直接得到理想的結(jié)果。但是當(dāng)你搜索“穿西裝的男人抱著可愛的小狗”的時候,就得不到什么好結(jié)果。它的表現(xiàn)在這里就變得糟糕了,這種物體間的關(guān)系是一件很難處理的事情。
比如只關(guān)注了“長椅”和“人”的物體識別,就得不到“人坐在長椅上”的關(guān)系;即便訓(xùn)練網(wǎng)絡(luò)識別“坐著的人”,也無法保證看清全局。我們有個想法是,把物體之外、場景之內(nèi)的關(guān)系全都包含進來,然后再想辦法提取精確的關(guān)系。
如果我們有一張場景圖,其中包含了場景內(nèi)各種復(fù)雜的語義信息,那么我們的場景識別就能做得好很多。其中的細(xì)節(jié)可能難以全部用一個長句子描述,但是把一個長句子變成一個場景圖之后,我們就可以用圖相關(guān)的方法把它和圖像做對比;場景圖也可以編碼為數(shù)據(jù)庫的一部分,從數(shù)據(jù)庫的角度進行查詢。
如今,我們已經(jīng)用場景圖匹配技術(shù)在包含了許多語義信息的場景里得到了許多不錯的量化結(jié)果,然而,這些場景圖是誰來定義的呢?在Visual Genome數(shù)據(jù)集中,場景圖都是人工定義的,里面的實體、結(jié)構(gòu)、實體間的關(guān)系和到圖像的匹配都是我們?nèi)斯ね瓿傻?,我們也不希望以后還要對每一個場景都做這樣的工作。所以在這項工作之后,我們很可能會把注意力轉(zhuǎn)向自動場景圖生成。
比如我和我的學(xué)生們共同完成的CVPR2017論文就是一個自動生成場景圖的方案,對于一張輸入圖像,我們首先得到物體識別的備選結(jié)果,然后用圖推理算法得到實體和實體之間的關(guān)系,這個過程都是自動完成的。
這里涉及到一些迭代信息傳遞算法,同時這個結(jié)果體現(xiàn)出的是,我們的模型的工作方式和人的做法已經(jīng)有不少相似之處了。這代表著一組全新的可能性來到了我們面前,借助場景圖,我們可以做信息提取、可以做關(guān)系預(yù)測、可以理解對應(yīng)關(guān)系。
場景識別之后還有什么
我的研究興趣里,除了計算機科學(xué)和人工智能之外,認(rèn)知神經(jīng)科學(xué)也占了相當(dāng)?shù)奈恢谩K晕蚁牖剡^頭去看看我在加州理工學(xué)院讀博士的時候做的一個實驗,我們讓人們觀察一張照片,然后讓他們盡可能地說出自己在照片當(dāng)中看到的東西。當(dāng)時做實驗的時候,我們在受試者面前的屏幕上快速閃過一張照片,然后用一個別的圖像、墻紙一樣的圖像蓋住它,它的作用是把他們視網(wǎng)膜暫留的信息清除掉。
接下來我們就讓他們盡可能多地寫下看到的東西。從結(jié)果上看,有的照片好像比較容易,但是其實只是因為我們選擇了不同長短的展示時間,最短的照片只顯示了27毫秒,這已經(jīng)達到了當(dāng)時顯示器的顯示速度上限;有些照片顯示了0.5秒的時間,對人類視覺理解來說是綽綽有余了。
我們得到的結(jié)果大概是這樣的,對于這張照片,時間很短的時候看清的內(nèi)容也很有限,500毫秒的時候他們就能寫下很長一段。進化給了我們這樣的能力,只看到一張圖片就可以講出一個很長的故事。
計算機視覺+語言
在過去的3年里,CV領(lǐng)域的研究人員們就在研究如何把圖像中的信息變成故事。
他們首先研究了圖像說明,比如借助CNN把圖像中的內(nèi)容表示到特征空間,然后用LSTM這樣的RNN生成一系列文字。這類工作在2015年左右有很多成果,從此之后我們就可以讓計算機給幾乎任何東西配上一個句子。
比如這兩個例子,“一位穿著橙色馬甲的工人正在鋪路”和“穿著藍(lán)色襯衫的男人正在彈吉他”。這讓我想起來,2015年的時候我就是在這同一個房間里做過演講。兩年過去了,我們的算法也已經(jīng)不是最先進的了,不過那時候我們的研究確實是圖像說明這個領(lǐng)域的開拓性工作之一。
我們沿著這個方向繼續(xù)做研究,迎來的下一個成果是稠密說明,就是在一幅圖片中有很多個區(qū)域都會分配注意力,這樣我們可以有很多個不同的句子描述不同的區(qū)域,而不僅僅是用一個句子描述整個場景。在這里就用到了CNN模型和邏輯區(qū)域檢測模型的結(jié)合,再加上一個語言模型,這樣我們就可以對場景做稠密標(biāo)注。
在最近的CVPR2017的研究中,我們讓表現(xiàn)邁上了一個新的臺階,不只是簡單的說明句子,還要生成文字段落,把它們以具有空間意義的方式連接起來。
這樣我們就可以寫出“一只長頸鹿站在樹邊,在它的右邊有一個有葉子的桿子,在籬笆的后面有一個黑色和白色的磚壘起來的建筑”,等等。雖然里面有錯誤,但我們已經(jīng)邁出了視覺和語言結(jié)合的第一步。
而且,視覺和語言的結(jié)合并沒有停留在靜止的圖像上,剛才的只是我們的最新成果之一。在另外的研究中,我們把視頻和語言結(jié)合起來,比如,我們可以對一個說明性視頻中不同的部分做聯(lián)合推理、整理出文本結(jié)構(gòu)。這里的難點是解析文本中的實體,比如第一步是“攪拌蔬菜”,然后“拿出混合物”。如果算法能夠解析出“混合物”指的是前一步里混合的蔬菜,那就棒極了。我的學(xué)生和博士后們也都覺得這是讓機器人進行學(xué)習(xí)的很重要的一步。
這里的機會仍然是把視覺問題和語言結(jié)合起來,如果只用視覺的方法,就會造成視覺上的模糊性;如果只用語言學(xué)的方法,就會造成語言上的模糊性;把視覺和語言結(jié)合起來,我們就可以解決這些問題。
任務(wù)驅(qū)動的計算機視覺
在語言之后,我想說的最后一個方向是任務(wù)驅(qū)動的視覺問題,它和機器人的聯(lián)系也更緊密一些。對整個AI研究大家庭來說,任務(wù)驅(qū)動的AI是一個共同的長期夢想,從一開始人類就希望用語言給機器人下達指令,然后機器人用視覺方法觀察世界、理解并完成任務(wù)。
比如人類說:“藍(lán)色的金字塔很好。我喜歡不是紅色的立方體,但是我也不喜歡任何一個墊著5面體的東西。那我喜歡那個灰色的盒子嗎?”那么機器,或者機器人,或者智能體就會回答:“不,因為它墊著一個5面體”。它就是任務(wù)驅(qū)動的,對這個復(fù)雜的世界做理解和推理。
最近,我們和Facebook合作重新研究這類問題,創(chuàng)造了帶有各種幾何體的場景,然后給人工智能提問,看它會如何理解、推理、解決這些問題。這其中會涉及到屬性的辨別、計數(shù)、對比、空間關(guān)系等等。
我們在這方面的第一篇論文用了CNN+LSTM+注意力模型,結(jié)果算不上差,人類能達到超過90%的正確率,機器雖然能做到接近70%了,但是仍然有巨大的差距。
在ICCV我們會介紹新一篇論文中的成果,我們把一個問題分解成帶有功能的程序段,然后在程序段基礎(chǔ)上訓(xùn)練一個能回答問題的執(zhí)行引擎。這個方案在嘗試推理真實世界問題的時候就具有高得多的組合能力。
模型的實際表現(xiàn)當(dāng)然不錯。比如,我們提問某種顏色的東西是什么形狀的,它就會回答“是一個立方體”,這樣,表明了它的推理是正確的。它還可以數(shù)出東西的數(shù)目,這都體現(xiàn)出了算法可以對場景做推理。
斯坦福大學(xué)教授、谷歌云首席科學(xué)家 李飛飛
