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