視覺究竟有多重要?
朋友建議我,在機器人大會演講至少要放一張機器人的圖片。我挑了一張最喜歡的:
問題來了:為什么在這幅兒童畫里,機器人是有眼睛的?
我認為這與進化演進有關。不管是智慧動物還是智能體,眼睛、視覺、視力都是最基本的東西(兒童在潛意識里也這么認為)。讓我們回到 5.4 億年前的寒武紀——在寒武紀生物大爆發之前,地球上的生物種類算不上多,全都生活在水里,被動獲取食物。但在距今約 5.4 億年的時候,非常奇怪的事情發生了(如下圖):短短一千萬年的時間內,各種各樣的新物種紛紛涌現,這便是“寒武紀大爆發”。
這背后的原因是什么?
最近,一名澳大利亞學者提出了一套非常有影響力的理論,把“寒武紀大爆發”歸功于——視覺。在寒武紀,最早的三葉蟲進化出了一套非常原始的視力系統,就像最原始的德科相機,能捕捉到一丁點光。但這改變了一切:能“看”之后,動物開始主動捕食。
獵手和獵物之間從此開始了持續數億年的“追蹤—躲藏”游戲,行為越來越復雜。從這個節點往后,幾乎地球上所有動物都進化出了某種形式上的視覺系統。5.4 億年之后的今天,對于人類,眼睛已成為我們最重要的傳感器,超過一半的大腦皮層都會參與視覺功能。
在地球生物向更高智慧水平進化的過程中,視覺真的是非常重要的推動力量。這套如此神奇的感知系統,便是我今天想要講的主題。這也是我們對機器的追求——讓機器擁有人類這樣的視覺智能。
從人類到機器視覺
下面,我講一個小故事,關于人類視覺系統令人驚嘆之處。
在 1960 年代的好萊塢,誕生了一個非常有里程碑意義的歷史電影《The Pawnbroker》(首部以幸存者角度表現二戰中猶太人被大**的美國電影) 。隨著這部電影誕生了一種全新的為電影插入視頻剪輯的技術,導演 Sidney Lumet 對此做了個很有意思的實驗——插入的畫面需要顯示多久才能讓觀眾捕捉到內容?
他不斷縮短畫面播放的時間,從十幾秒到幾秒,最后到三分之一秒——他發現這是一個相當好的時長,足夠觀眾看清楚并且充分理解畫面。
心理學家和認識科學家們受此啟發,開展了更進一步的實驗:向參與者播放連續多幀畫面,每幀的顯示時間僅有 100 微秒。其中,僅有一幅畫面里有一個人,要求參與者找出這個人。
而大家確實都能夠找出來。這非常令人驚嘆,只需 100 微秒,我們的視覺系統就能檢測到從來沒見過的人。
1996 年,神經心理學家 Simon J. Thorpe 在 《自然》發表了一項研究,通過腦電波觀察人腦對復雜圖像進行分類的速度。他發現,僅需 150 微秒,大腦就會發出一道區分信號,對畫面中的物體是否為動物做出判斷。
后來,哈佛人體視覺學者 Jeremy Wolfe 在論文中寫道,雖然很難去衡量一個人究竟看到了什么、對某個畫面達到了什么程度的理解,但直覺告訴我們,畫面中的物體應當是我們觀察的對象之一。
看起來很顯而易見,但這提醒我們,對物體的識別是視覺最基礎的部分之一,計算機視覺也在這個領域攻關了許多年。從 2010 到 2017,ImageNet 挑戰賽的目標識別(object recognition)錯誤率一直在下降。到 2015 年,錯誤率已經達到甚至低于人類水平。
我不會說目標識別是個已經攻克的領域。許多關鍵問題尚待研究,其中不少和機器人息息相關。比如 3D 輪廓理解、目標局部理解,對材料、紋理的理解等等。這些方面的研究非常活躍,我也感覺到做這些比組織 ImageNet 分類任務挑戰賽更有意思。
后目標識別時代的計算機視覺
接下來,我想分享一些新的、探索性的工作,而不是列出識別對象清單(inventory list of objects)這樣的基礎研究。讓我們回到 Jeremy Wolfe 的論文,他繼續寫道:“物體之間的關系,必須寫進 gist。”
假設有兩張圖片:把一盒牛奶倒進玻璃杯;把一盒牛奶倒出來(倒在空中),旁邊放著一只玻璃杯。兩者不是一回事。兩張圖片中的物體都一樣,但它們之間的關系不同。
僅憑圖片的對象清單,無法完整傳遞其內容。下面是另一個例子:
兩張照片都是人和羊駝,但是發生的事情完全不同。當然,過去在這方面也有不少研究,包括空間關系、行為關系、概率關系等等,就不一一闡述了。這些工作基本都在小型封閉環境中開發測試,探索的也不過十幾、二十幾種關系。而我們希望把視覺關系的研究推向更大的尺度。
我們的工作基于視覺表達和 leverage model 的結合,通過把圖像空間的嵌入以及關于對象關系的自然語言描述以巧妙的方式結合起來,避免了在對象和對象之間的關系做乘法帶來的計算負擔。
上圖展示的便是可視化結果的質量。給定該照片,我們的算法能找出空間關系、比較關系、不對稱空間關系、動詞關系、行為關系以及介詞關系。
更有意思的是,我們的算法能實現 zero-shot (零樣本學習)對象關系識別。舉個例子,用一張某人坐在椅子上、消防栓在旁邊的圖片訓練算法。然后再拿出另一張圖片,一個人坐在消防栓上。雖然算法沒見過這張圖片,但能夠表達出這是“一個人坐在消防栓上”。
類似的,算法能識別出“一匹馬戴著帽子”,雖然訓練集里只有“人騎馬”以及“人戴著帽子”的圖片。當然,這個算法還很不完美。例如當兩個類似的對象(如兩個人)部分重疊在一起,算法就容易判斷失誤。如下圖,算法錯誤得認為是左邊的人在扔飛碟:
這是一個計算機視覺下面飛速發展的領域。在我們團隊的 ECCV 2016 論文之后,今年有一大堆相關論文發表了出來,一些甚至已經接近了我們的模型效果。我非常欣喜能看到該領域繁榮起來。
來源:AI科技評論 虎嗅網