將物體細(xì)致到一個(gè)個(gè)像素
當(dāng)我們?nèi)祟惪匆粡垐D片時(shí),為了分辨不同的物體,我們能細(xì)致到一個(gè)個(gè)像素的水平。在臉書(shū)的人工智能研究中心(Facebook AI Research, FAIR),我們正在將計(jì)算機(jī)視覺(jué)技術(shù)推向一個(gè)全新的階段——我們的目標(biāo)是讓計(jì)算機(jī)能像人類一樣,從像素的水平去分析圖像和物體。在過(guò)去的幾年當(dāng)里,深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展和前所未有的強(qiáng)大計(jì)算架構(gòu)的到來(lái),已經(jīng)讓計(jì)算機(jī)視覺(jué)系統(tǒng)在精確度和計(jì)算能力方面得到了迅速提升。
我們已經(jīng)見(jiàn)證了在圖像歸類(這張圖像中有什么?)以及物體檢測(cè)(這些物體在哪兒?)領(lǐng)域的巨大進(jìn)步。請(qǐng)參閱下圖(a)和圖(b)。但這些還只是計(jì)算機(jī)理解任意圖像或視頻中相關(guān)視覺(jué)內(nèi)容的起步階段。近期,我們正在設(shè)計(jì)一種能夠在圖像中識(shí)別和區(qū)分每一個(gè)物體的技術(shù),如下面最右邊的圖(c)所示,這是一種將會(huì)帶來(lái)全新應(yīng)用前景的關(guān)鍵性技術(shù)革新。
驅(qū)動(dòng)這項(xiàng)進(jìn)步的主要的新算法是DeepMask1分割框架加上我們的新SharpMask2分割提純模塊。同時(shí),它們使得FAIR的計(jì)算機(jī)視覺(jué)系統(tǒng)變得能夠檢測(cè)和精確地勾畫(huà)出圖像中每一個(gè)物體的輪廓。我們這項(xiàng)識(shí)別過(guò)程的最后一個(gè)階段使用了一種特殊的卷積網(wǎng)絡(luò),我們稱之為MultiPathNet3,目的是用其中包含的物體類別(例如:人、狗、羊)來(lái)標(biāo)注每一個(gè)目標(biāo)掩碼圖像。之后我們會(huì)回來(lái)簡(jiǎn)單介紹這里面的細(xì)節(jié)。
我們正在編寫(xiě)DeepMask+SharpMask以及MultiPathNet的代碼,同時(shí)還有我們的研究論文和相關(guān)的演示小樣—這些資源將對(duì)所有人開(kāi)放,我們希望它們能夠有助于計(jì)算機(jī)視覺(jué)領(lǐng)域的快速進(jìn)步。在我們繼續(xù)改進(jìn)這些核心技術(shù)的同時(shí),我們也將繼續(xù)發(fā)表我們最新的成果,并且不斷更新我們面向大眾開(kāi)放的一系列開(kāi)源工具。
從像素點(diǎn)中發(fā)現(xiàn)規(guī)律
讓我們一起來(lái)看看這些算法的建立基礎(chǔ)。
請(qǐng)看下面的第一張圖(左圖)。你看到了什么?一個(gè)攝影師正在操作他的老式相機(jī)。一塊大草坪。背景當(dāng)中的建筑物。同時(shí)你也可能注意到了無(wú)數(shù)其他的細(xì)節(jié)。但計(jì)算機(jī)看不到這些:一張圖像被編碼成一個(gè)數(shù)列,而里面每個(gè)數(shù)都代表著像素點(diǎn)的顏色參數(shù),就如第二張圖片(右圖)所表示的那樣。那么,我們?cè)撛鯓幼寵C(jī)器視覺(jué)從像素點(diǎn)走向?qū)σ粡垐D像的深層次理解呢?
這不是一個(gè)簡(jiǎn)單的任務(wù),因?yàn)槲矬w和場(chǎng)景在現(xiàn)實(shí)世界中千變?nèi)f化。物體的形狀、外表,它們的大小、位置,它們的質(zhì)地和顏色等等,都在變化。再加上真實(shí)場(chǎng)景、變化的背景以及光線條件固有的復(fù)雜性,以及我們這個(gè)世界本身的豐富多彩,你看,這下你可以窺見(jiàn)這個(gè)問(wèn)題對(duì)于計(jì)算機(jī)來(lái)說(shuō)是多大的難題了吧!
讓我們走進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)的世界。
比起試圖用編程方式來(lái)定義一個(gè)基于規(guī)則的物體檢測(cè)系統(tǒng),深度網(wǎng)絡(luò)是相對(duì)更簡(jiǎn)單的架構(gòu),這個(gè)構(gòu)架中成千上萬(wàn)的參數(shù)是訓(xùn)練得到的而不是被設(shè)定的。這些網(wǎng)絡(luò)自動(dòng)從成百上千已被標(biāo)注的樣例中學(xué)習(xí)內(nèi)在的模式,并且我們已經(jīng)看到,當(dāng)這樣的樣例數(shù)量足夠多的時(shí)候,神經(jīng)網(wǎng)絡(luò)已經(jīng)可以開(kāi)始集成一些新奇的圖像了。深度網(wǎng)絡(luò)特別適應(yīng)于回答關(guān)于圖像的是/否的問(wèn)題(分類)——例如,圖像中是否包含了一只綿羊?
分割物體
那么,我們?nèi)绾卧趯⑸疃染W(wǎng)絡(luò)應(yīng)用到檢測(cè)和分割當(dāng)中去呢?我們?cè)贒eepMask當(dāng)中采用的技術(shù)是把分割過(guò)程看做是一系列的二元分類問(wèn)題。首先,對(duì)一副圖像中的每一個(gè)(有重疊的)小塊區(qū)域,我們提出問(wèn)題:這個(gè)區(qū)塊是否包含物體?接著,如果第一個(gè)問(wèn)題的答案是肯定的,那么,對(duì)這個(gè)區(qū)塊中的每一個(gè)像素點(diǎn),我們提出問(wèn)題:這部分像素是否是這個(gè)中心物體的一部分呢?我們采用深度網(wǎng)絡(luò)來(lái)回答每一個(gè)是/否問(wèn)題,并且通過(guò)聰明地設(shè)計(jì)我們所使用的網(wǎng)絡(luò),每一個(gè)區(qū)塊和像素的計(jì)算結(jié)果將是共享的,這樣,我們就可以快速地發(fā)現(xiàn)并且分割圖像中的每一個(gè)物體。
DeepMask使用的是一種相當(dāng)傳統(tǒng)的正反饋深度網(wǎng)絡(luò)設(shè)計(jì)。在這樣的網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)階段的逐漸深入,信息變得越來(lái)越抽象,并且在語(yǔ)義上意義豐富。例如,深度網(wǎng)絡(luò)在淺層的分析可能可以抓住一些邊緣或者大概的信息,而更深層次的分析則傾向于抓住一些例如動(dòng)物面貌或肢體這類更加語(yǔ)義豐富的信息。設(shè)計(jì)上講,這些深層分析所具有的的特征是在一個(gè)相當(dāng)?shù)偷目臻g分辨率下計(jì)算的(既是出于計(jì)算上的原因,也是為了在像素位置小幅變化的情況下能保持結(jié)果穩(wěn)定)。這為掩碼圖像的預(yù)測(cè)帶來(lái)了一個(gè)問(wèn)題:深層次的特征雖然能夠抓住物體的整體形狀,但卻不能精確地分割物體的明確界限。
因此我們轉(zhuǎn)向SharpMask。SharkMask細(xì)化了DeepMask的輸出結(jié)果,它能輸出具有更高保真度的圖層,以便更準(zhǔn)確地勾畫(huà)出物體界限。如果說(shuō)DeepMask在網(wǎng)絡(luò)中通過(guò)正反饋的方法預(yù)測(cè)了一個(gè)粗略的物體輪廓,SharpMask則在深度網(wǎng)絡(luò)中利用逆向信息,通過(guò)逐漸使用更淺層次的信息來(lái)提煉DeepMask的預(yù)測(cè)結(jié)果。這么想吧,為了抓住物體的整體形狀,我們必須對(duì)我們正在觀察的物體(DeepMask)具備一個(gè)高度的理解,但為了更準(zhǔn)確地描述物體的邊界,你需要回頭去從低至像素的角度觀察它的特征(SharpMask)。其實(shí),我們的目標(biāo)就是在運(yùn)營(yíng)成本最小化的前提下充分利用網(wǎng)絡(luò)中各層次的信息。
相關(guān)評(píng)論