【重磅】Facebook 開源計算機視覺系統,從像素水平理解圖像
Facebook選擇開源,為了加速技術的發展,當然,也將讓系統變得更好。
【編者按】:本文轉載自新智元,來源:Facebook 等,譯者:張冬君
昨天谷歌開源了TensorFlow自動文本摘要生成模型,今天 Facebook 宣布開源計算機視覺系統,稱該系統能“從像素水平理解物體”,Facebook 希望開源能加速計算機視覺的發展。不過,Facebook 并沒有在自家產品中使用這些工具,像這樣落實到具體應用前就開源,跟通常所說的“開源”有些不同。對此,Facebook 人工智能團隊 FAIR 的負責人 Yann LeCun 曾表示,正是因為 FAIR 做基礎的、不受制于公司短期效益的研究,才能真正推進人工智能技術發展。無論如何,開源將加速技術發展,當然,也將讓系統變得更好,讓 Facebook 開發更好的圖像、視頻乃至增強現實產品。以下是 FAIR 宣布開源的博客全文。
(文/Piotr Dollar,FAIR 研究員)計算機能像人一樣高效地分辨一張照片中的多個物體嗎?
人看到一張照片時,能一直追蹤到最后一個像素,并對物體進行區分。在Facebook AI 實驗室 (FAIR),研究者把計算機視覺推進到了下一個發展階段,他們的目標是讓機器像人一樣,以像素級的水平理解圖像和物體。
過去幾年中,隨著深度卷積神經網絡的進步和計算架構變得前所未有的強大,機器視覺系統也在準確性和能力上也迎來了飛速的進步。我們看到,圖片分類(比如,圖上都有誰)和物體感知(物體在哪)上,都有著顯著的提升??蓞⒁娤聢D:
但這只是理解圖像或者視頻中最重要的視覺內容這一方向的開始。最近,FAIR 開發了一項用于發現和切割單張圖像中的每個物體的新技術,如上圖顯示(c),這是一項關鍵的能力,將能用于開發全新的應用。
這一技術的主要驅動算法是DeepMask——一個新的圖像分割框架,以及新的SharpMask ——一個圖像分割修飾模型。二者的結合,使得FAIR的機器視覺系統能夠感知并且精確地描繪一張圖片中任何物體的輪廓。識別管道中的最后一步,研究院使用了一個特殊的卷積網絡,稱為MultiPathNet,為圖片中的物體添加標簽(比如,人、狗或是羊)。
現在,FAIR把DeepMask、SharpMask、MultiPathNet的代碼,以研究論文以及Demo全部開源,希望能促進機器視覺領域的飛速發展。FAIR將會繼續改進這些核心技術,并且持續發布最新研究成果、向社區更新開源工具。
這些工具到底有什么用?
在像素中找出規律
來看一看這些算法中的構建模塊。
看一眼下面這張圖片,你看到了什么?
一個攝影師正在使用他的舊式相機、一片草地、背景中的建筑……也許你還注意到了別的許多細節。但是,機器是看不到這些的。在機器的世界里,一張圖像是由一連串的數字組成,這些數字代表了每一個像素中的顏色值,正如右邊的圖像顯示的那樣。那么,我們該如何讓機器視覺從超越像素,發展出對圖像更深層次的理解呢?
由于真實的世界中,物體和場景的變化幾乎是無窮盡的,所以這一問題并不容易解決。物體是多變的,形狀、外觀、尺寸、位置、紋理和顏色等等都有很大的不一樣,此外,加上真實場景幾乎無窮盡復雜性,比如多變的背景、光線條件以及世界本身的多樣性,你可以看到,這一問題有多難。
進入深度卷積神經網絡。在物體感知中,與編程式地定義基于規則的系統不一樣,深度網絡是一個相對簡單的架構,擁有數千萬參數,通過訓練而不是設定來發揮作用。這些網絡自動地從數百萬注釋樣本中學習模型,在見到足夠多的樣本后,網絡能夠開始對新的圖像進行分類。深度特別善于回答YES/NO的問題,這可以用于分類,比如,圖片中包含綿羊嗎?
物體分割
那么,要怎么在感知和分割中使用深度網絡?DeepMask中使用的技巧是,把分割看成是一個海量的二進制分類問題。
第一,對于一張圖像中的每一個(重疊的)圖像塊(patch),我們要問:這個圖像塊包含一個物體嗎?第二,如果第一個問題的答案是肯定,那么對于一個圖像塊中的每一個像素,我們要問:這個像素是圖像塊中心物體的一部分嗎?我們用深度網絡來回答每一個Yes/No的問題,并且通過巧妙設計我們的網絡,使每個圖像塊和像素都能被計算,從而我們可以快速發現并分割一張圖像上的所有物體。
DeepMask采用傳統的前饋深度網絡設計。在這種網絡中,隨著網絡階段的逐步深入,信息會更加抽象、在語義上更有意義。例如,在一個深度網絡中的底層可以捕獲邊緣和斑點,而上層傾向于獲取更多的語義概念,如動物的面部或肢體的存在。通過設計,這些上層功能以相當低的空間分辨率計算(既是出于計算的原因,也是為了保持不因像素位置的小位移而改變)。這為mask預測帶來一個問題:上層特征可以用來預測mask,mask能捕捉一個物體大致外形,但不能準確捕捉物體的邊界。
這就要使用SharpMask了。 SharpMask優化DeepMask的輸出,產生具有更高保真度的能精確框定物體邊界的musk。在DeepMask預測前饋的初始mask通過網絡時,SharpMask反轉信息在深度網絡的流向,并通過使用逐步較早層網絡(progressively earlier layers)的特性來優化DeepMask做的預測??梢赃@樣理解:要捕捉物體的總體外形,你必須高度理解你正在看的是什么(DeepMask);但要準確地框定出邊界,你需要使用低層次的特性一直到像素(SharpMask)?;旧?,我們的目標是要以最小的成本利用從網絡的所有層獲得的信息。
下面是由DeepMask產生并由SharpMask優化后的一些示例。為了簡單展現可視化,我們只展示與圖像中的物體最佳對齊的mask。但是系統還不完善,紅色輪廓標出的是那些人類識別出來但是DeepMask沒有的物體。
物體分類
DeepMask完全不知道具體的對象類型,因此,盡管它能框定狗和羊,它也不能區分它們。此外,DeepMask沒有什么選擇性,會為不是很有趣的圖像區域生成mask。那么,我們如何縮小相關mask的范圍,并識別圖像中實際存在的物體呢?
正如你預期的一樣,我們要再次轉向深度神經網絡。鑒于DeepMask產生的mask,我們訓練一個單獨的深度網絡來對每一個mask的物體類型進行分類(“無”也是一個有效的答案)。我們采用區域卷積神經網絡(Region-CNN),或者簡稱RCNN,這是ROSS Girshick(現在是FAIR的成員)首創的。RCNN有兩個階段:第一階段是用來讓計算機關注特定的圖像區域;第二階段用來識別區域中存在的物體。在開發RCNN時,可處理的第一階段是相當原始的。通過使用DeepMask作為RCNN的第一階段和利用深度網絡,我們得到的檢測精度顯著提升,也獲得了分割物體的能力。
為了進一步提高性能,我們還使用一個專門的網絡架構來對每一個mask進行分類(RCNN的第二階段)。正如我們所討論的,真實世界的照片包含多種尺寸的物體,有的藏在背景中,有的雜亂一群,而且還經常被遮擋。標準深度網絡在這種情況下就會遭遇困難。為了解決這個問題,我們提出了一種改進的網絡,我們稱之為MultiPathNet。正如它名字暗示的那樣,MultiPathNet允許信息以多種路徑通過網絡,從而使其能夠在多種圖像尺寸和圖像的背景中挖掘信息。
總之,我們的物體檢測系統遵循一個三階段的過程:(1)DeepMask生成初始物體mask, (2)SharpMask優化這些mask, (3)MultiPathNet識別每個mask框定的物體。這是我們整個系統的一些示例輸出:
結果并不完美,但考慮到這種技術才誕生了幾年而已,這樣的結果也不差。
更加廣泛的應用
視覺識別技術有著廣泛的潛在用途。比如,打造現在的計算機視覺技術,使計算機能在照片中識別物體,那么搜索某些沒有標簽的圖像就會更容易。失去視力的人,也能知道他們朋友分享的照片里有什么了,因為無論圖像旁邊有沒有文字說明,系統都能告訴他們照片的內容。
最近,我們展示了正在開發的針對盲人用戶的技術,該技術能評估照片并描述其內容。目前,有視覺障礙的用戶在Facebook瀏覽圖片時只能聽到分享照片的人的名字。但是,我們想要提供更豐富的描述,如“照片里有沙灘、樹以及三個微笑的人”。此外,利用我們正在開發的分割技術,我們想要實現更加身臨其境的體驗,讓用戶能夠“看見”照片——用手指劃過圖像,系統就能描述該圖像的內容。
我們將繼續改善我們的檢測和分割算法。你可以想像有一天,這種圖像檢測、分割和識別能力與AR結合,應用在諸如商業、醫療或其他領域。
此外,我們的下一個挑戰將是將這些技術應用于視頻,視頻中的物體一直在移動、互動并隨時間變化。我們已經在計算機視覺技術取得一些進展,能觀看視頻并且實時理解和區分視頻的內容。實時分類可以幫助發現Facebook上的相關視頻直播。采用更加優化的技術來檢測場景、物體和動作,有一天可能會使實時旁白成為現實。我們很高興能繼續推動這項技術的發展,并在Facebook上為每一個人提供更好的體驗。
最后,記得關注微信公眾號:鎂客網(im2maker),更多干貨在等你!
硬科技產業媒體
關注技術驅動創新
