FusionNet融合三個(gè)卷積網(wǎng)絡(luò):從二維升級(jí)到三級(jí)

責(zé)任編輯:editor004

作者:機(jī)器之心 Synced

2016-08-04 12:09:49

摘自:百度百家

Matroid 論文 Matrix Computations and Optimization in Apache Spark 獲得 2016 KDD Applied Data Science Track 最佳論文(亞軍)。

Matroid 論文 Matrix Computations and Optimization in Apache Spark 獲得 2016 KDD Applied Data Science Track 最佳論文(亞軍)。 本文是 Matroid 的最新研究,主要介紹了 FusionNet ,其深度學(xué)習(xí)結(jié)構(gòu)利用可以進(jìn)行三維「思考」的基礎(chǔ)架構(gòu),解決了三維物體的識(shí)別問(wèn)題。該技術(shù)使得 Matroid 在普林斯頓 ModelNet 大賽上排名第一(目前)。

隨著增強(qiáng)現(xiàn)實(shí)和自動(dòng)駕駛汽車的出現(xiàn),3D 數(shù)據(jù)正在爆發(fā)。在不久的將來(lái),處理 3D 數(shù)據(jù)的算法將被用于諸如機(jī)器人導(dǎo)航或基于增強(qiáng)現(xiàn)實(shí)的智能用戶界面之類的應(yīng)用。受此啟發(fā),來(lái)自 Matroid 的新近論文展示了 FusionNet,這款架構(gòu)可在 Princeton ModelNet 標(biāo)準(zhǔn)數(shù)據(jù)集中分類 3D CAD 物體。

FusionNet 核心是一個(gè)用于 3D 物體的新型三維卷積神經(jīng)網(wǎng)絡(luò)(CNN)。在將其用于這里之前,我們不得不從幾個(gè)方面修改傳統(tǒng)的CNN。為了便于解釋,首先,讓我們看一下用于圖像識(shí)別的二維 CNN。想法是這樣的:機(jī)器學(xué)習(xí)研究人員建構(gòu)一個(gè)多層模型,每層以不同的方式處理前一層的連接。在第一層有一個(gè)視窗(window),它可以將一個(gè)片(patch )滑過(guò)一張二維圖像,這張圖像集就變成那一層的輸入。這就是一個(gè)卷積層,因?yàn)檫@個(gè)片是「纏繞的(convolve)」——上述的視窗移過(guò)圖圖像時(shí)會(huì)與自己重疊。接下來(lái)就是幾個(gè)不同類型的層。最后一層的神經(jīng)元被用于潛在輸出;這些神經(jīng)元的每一次激活(activation)都對(duì)應(yīng)于能識(shí)別圖像的不同標(biāo)簽。在 ModelNet40 挑戰(zhàn)賽數(shù)據(jù)集中,有 40 個(gè)分類,因此最后一層有 40 個(gè)神經(jīng)元。對(duì)于該訓(xùn)練數(shù)據(jù)中所包含的所有分類:第一類可能會(huì)是貓,第二類可能會(huì)是汽車等等。如果這 40 個(gè)神經(jīng)元中的第一個(gè)放電最多,那么,輸入就可被認(rèn)定屬于第一類,也就是貓。

在ModelNet40 挑戰(zhàn)賽數(shù)據(jù)集中,有40類,因此最后一層有40個(gè)神經(jīng)元。第一類可能會(huì)是只貓,第二類可能會(huì)是汽車以及等等。如果第一個(gè)神經(jīng)元正在對(duì)四十個(gè)神經(jīng)元放電,那么,輸入就被認(rèn)定屬于第一類,也就是貓。

這一切假定輸入為一張圖像,即二維。如何將之拓展用于三維輸入?一個(gè)辦法就是將物體當(dāng)作圖像一樣處理,將其投影為二維,這和你的顯示器顯示三維物體的方式一樣;然后,在上面運(yùn)行一個(gè)標(biāo)準(zhǔn)二維的 CNN。實(shí)際上,普林斯頓 ModelNet 挑戰(zhàn)賽中,領(lǐng)先參賽者在像素表征上使用了卷積神經(jīng)網(wǎng)絡(luò),其將任何 3D 物體都處理為一個(gè)幾個(gè)視角下的 2D 投影的集合。FusionNet 確實(shí)在像素表征上也使用了 CNN,但是,關(guān)鍵在于,其還混合了一種新型的三維 CNN。

我們沒(méi)有在一張二維圖像上滑動(dòng)一個(gè)二維的片(patch),我們可以在一個(gè)物體上滑動(dòng)一個(gè)三維的體(volume)!在這種表示方法中,我們就不需要投影的步驟了。這種處理物體的方式使用到了物體的體表示(volumetric representation)。

在我們的體表示中,3D 物體被離散化為 30 x 30 x 30 的體素網(wǎng)格。如果該物體的某一個(gè)部分被表示在了一個(gè) 1 x 1 x 1 的體素中,那么該體素就取值 1,否則就取 0。和之前的成果不一樣,我們同時(shí)使用了像素表示和體素表示來(lái)學(xué)習(xí)物體的特征和對(duì) 3D CAD 物體進(jìn)行分類,而且比單獨(dú)使用這兩種表示中的任何一種的效果都好。這里是一些例子:

圖 1,兩種表示方法。左邊:浴缸、凳子、馬桶和衣柜 3D CAD 物體的 2D 投影;右邊:體素化的浴缸、凳子、馬桶和衣柜

我們構(gòu)建了兩個(gè)卷積神經(jīng)網(wǎng)絡(luò)(V-CNN I 和 V-CNN II)來(lái)處理體素?cái)?shù)據(jù),還有另一個(gè)(MV-CNN)用來(lái)處理像素?cái)?shù)據(jù)。下圖表示了這些網(wǎng)絡(luò)結(jié)合在一起然后給出物體標(biāo)簽的最終決策的方式。這和處理 2D 圖像的、只能從圖像中學(xué)習(xí)空間局部特征的標(biāo)準(zhǔn) CNN 不同。

圖 2. FusionNet 是 V-CNN I、V-CNN II 和 MV-CNN(其基于 AlexNet,并在 ImageNet 上進(jìn)行過(guò)預(yù)訓(xùn)練) 三個(gè)不同網(wǎng)絡(luò)的融合。這三個(gè)網(wǎng)絡(luò)在評(píng)分層(scores layers)融合——評(píng)分層在找到類別預(yù)測(cè)前給出分?jǐn)?shù)的線性組合。前兩個(gè)網(wǎng)絡(luò)使用了體素化的 CAD 模型,后一個(gè)網(wǎng)絡(luò)使用了 2D 投影。

作為 2D 網(wǎng)絡(luò) MV-CNN 的基礎(chǔ),我們?cè)谠?3D 物體的 2D 投影上使用了一個(gè)標(biāo)準(zhǔn)的預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)(AlexNet)并熱啟動(dòng)了該網(wǎng)絡(luò)。AlexNet 的預(yù)訓(xùn)練在大型 2D 像素圖像數(shù)據(jù)庫(kù) ImageNet 上完成。因?yàn)橛羞@個(gè)預(yù)訓(xùn)練,許多分類 2D 圖像所需的特征都不需要再?gòu)念^開(kāi)始學(xué)習(xí)。下面的圖示說(shuō)明了我們的 Volumetric CNN 的一種架構(gòu)(V-CNN I)。

  圖3

V-CNN I 的靈感來(lái)自 GoogLeNet,其使用了 inception 模塊。inception 模塊是來(lái)自不同大小的核的輸出的串聯(lián)。它可幫助網(wǎng)絡(luò)在不同的規(guī)模上學(xué)習(xí)特征,并把它們放在 inception 模塊后下一個(gè)卷積層的同一個(gè)基礎(chǔ)上。

綜上所述,F(xiàn)usionNet 是三個(gè)卷積神經(jīng)網(wǎng)絡(luò)的融合:一個(gè)是在像素表示上訓(xùn)練的,另兩個(gè)是在體素化的物體上訓(xùn)練的。它可利用每個(gè)組分網(wǎng)絡(luò)的優(yōu)勢(shì)來(lái)提升分類表現(xiàn)。FusionNet 的每一個(gè)組分網(wǎng)絡(luò)都會(huì)在分類之前考慮每個(gè)物體的多個(gè)視角或方向。從多個(gè)視角必然比從單一視角能獲得更多信息,盡管這很直觀,但將所有這些信息聚合起來(lái)用以提升準(zhǔn)確度卻并不常見(jiàn)。我們?cè)陬A(yù)測(cè)物體的分類之前使用了來(lái)自像素表示的 20 個(gè)視角的信息和體素表示的 60 個(gè) CAD 方向。在提交給普林斯頓 ModelNet 排行榜的所有設(shè)計(jì)中,F(xiàn)usionNet 在這個(gè)包含 40 個(gè)分類的數(shù)據(jù)集中實(shí)現(xiàn)了當(dāng)前最優(yōu)的表現(xiàn),表現(xiàn)出了其辨別能力。

論文:FusionNet:使用多數(shù)據(jù)表示的 3D 對(duì)象分類

摘要:高質(zhì)量 3D 物體識(shí)別是許多視覺(jué)系統(tǒng)和機(jī)器人系統(tǒng)的重要組件。我們使用兩種數(shù)據(jù)表示(data representation)解決了物體識(shí)別的問(wèn)題,從而在普林斯頓 ModelNet 挑戰(zhàn)賽上得到了領(lǐng)先的結(jié)果。這兩種數(shù)據(jù)表示方法為:

體表示(Volumetric representation):3D 物體被空間離散為二進(jìn)制體素(binary voxel)——如果該體素被占用就取 1,否則就取 0;

像素表示(Pixel representation):3D 物體被表示為一組投影出來(lái)的 2D 像素圖像。

當(dāng)前提交到 ModelNet 挑戰(zhàn)賽的領(lǐng)先設(shè)計(jì)使用了在像素表示上的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。但是,我們擴(kuò)展了這一趨勢(shì),并額外使用 Volumetric CNN(體卷積神經(jīng)網(wǎng)絡(luò))彌合了上述兩種表示方法之間的效率差異。我們結(jié)合了這兩種表示方法,并使用它們來(lái)學(xué)習(xí)新特征,從而實(shí)現(xiàn)了比單獨(dú)使用其中任何一種都更好的分類器。要實(shí)現(xiàn)這一點(diǎn),我們引入了新的 Volumetric CNN (V-CNN) 架構(gòu)。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)