1 前言
大多數(shù)現(xiàn)有的3D網(wǎng)絡(luò)架構(gòu)通過(guò)稠密且規(guī)則的三維體素網(wǎng)格來(lái)代替2D像素陣列,并使用3D卷積和池化操作來(lái)處理該網(wǎng)格。然而,對(duì)于稠密的三維數(shù)據(jù),計(jì)算和內(nèi)存需求隨著分辨率的提高呈三次方增長(zhǎng)。因此,現(xiàn)有的3D網(wǎng)絡(luò)僅限于較低的3D分辨率,通常為30的3次方個(gè)體素。
2 相關(guān)背景
盡管2D卷積網(wǎng)絡(luò)在從圖像中提取信息方面已被證明是非常成功的,但在處理三維數(shù)據(jù)方面的工作相對(duì)較少。我們回顧關(guān)于稠密模型和稀疏模型的現(xiàn)有工作。稠密模型:由于計(jì)算和內(nèi)存的限制,稠密模型的常用方法都只能在非常粗的分辨率下處理和生成形狀,通常在30的3次方個(gè)體素的數(shù)量級(jí)。此外,當(dāng)需要高分辨率的輸出時(shí),例如用于標(biāo)記三維點(diǎn)云時(shí),采用有限的低效滑動(dòng)窗口技,分辨率的提高降低了網(wǎng)絡(luò)的深度,從而降低了網(wǎng)絡(luò)的表現(xiàn)力。相比之下,所提出的OctNets允許在更高的分辨率下訓(xùn)練深層結(jié)構(gòu)。稀疏模型:只有少數(shù)網(wǎng)絡(luò)架構(gòu)明確地利用了數(shù)據(jù)中的稀疏性。由于這些網(wǎng)絡(luò)不需要窮舉密集卷積,它們具有處理更高分辨率的潛力。部分工作具有減少卷積數(shù)量的潛力,但不會(huì)減少所需的內(nèi)存量。因此,他們的工作只考慮最多三層的非常淺的網(wǎng)絡(luò)。
3 方法
為了減少卷積網(wǎng)絡(luò)在稀疏的三維數(shù)據(jù)上的內(nèi)存占用,作者提出了一個(gè)自適應(yīng)的空間劃分方案,將計(jì)算集中在相關(guān)區(qū)域。由于深度網(wǎng)絡(luò)的數(shù)學(xué)運(yùn)算,特別是卷積網(wǎng)絡(luò),在規(guī)則的網(wǎng)格上最容易被理解,作者把注意力限制在三維體素網(wǎng)格的數(shù)據(jù)結(jié)構(gòu)上。在體素網(wǎng)格上最流行的空間劃分結(jié)構(gòu)之一是八叉樹(shù),由于其靈活的分層結(jié)構(gòu),八叉樹(shù)已被廣泛采用。應(yīng)用的領(lǐng)域包括深度融合、圖像渲染和三維重建。在本文中,我們提出了八叉樹(shù)形式的三維卷積網(wǎng)絡(luò),以從高分辨率的三維數(shù)據(jù)中學(xué)習(xí)表征。
3.1 .混合網(wǎng)格-八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)
隨著八叉樹(shù)深度的增加,其所存在的問(wèn)題不斷增加。作者使用一種類似于Miller等人提出的混合網(wǎng)格-八叉樹(shù)結(jié)構(gòu)來(lái)代替單個(gè)非平衡八叉樹(shù)來(lái)表示整個(gè)高分辨率3D輸入。作者的核心思想是將一棵八叉樹(shù)的最大深度限制在一個(gè)很小的數(shù)值,如3層,并將若干個(gè)這樣的淺八叉樹(shù)沿一個(gè)規(guī)則的網(wǎng)格放置。雖然這種數(shù)據(jù)結(jié)構(gòu)可能沒(méi)有標(biāo)準(zhǔn)八叉樹(shù)那樣的內(nèi)存效率,但仍然可以實(shí)現(xiàn)顯著的壓縮比。淺層八叉樹(shù)集合的另一個(gè)好處是,它們的結(jié)構(gòu)可以使用位串表示進(jìn)行非常有效的編碼,從而進(jìn)一步降低訪問(wèn)時(shí)間,并允許高效的GPU實(shí)現(xiàn)。通過(guò)給定一個(gè)深度為3的淺八叉樹(shù),我們用73 bit表示完整的樹(shù)。索引為0的第1位表示根節(jié)點(diǎn)是否分裂。進(jìn)一步,比特1到8表示是否對(duì)其中一個(gè)子節(jié)點(diǎn)進(jìn)行了剖分,比特9到72表示孫子節(jié)點(diǎn)的剖分,如圖3所示。樹(shù)的深度為3在內(nèi)存消耗和計(jì)算效率之間給出了一個(gè)很好的折衷。增加八叉樹(shù)深度導(dǎo)致存儲(chǔ)樹(shù)結(jié)構(gòu)所需的比特?cái)?shù)呈指數(shù)增長(zhǎng),進(jìn)一步增加了單元遍歷時(shí)間。
3.2. 針對(duì)網(wǎng)絡(luò)操作
我們現(xiàn)在討論混合網(wǎng)格-八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)再網(wǎng)絡(luò)操作上的高效實(shí)現(xiàn)。重點(diǎn)介紹卷積網(wǎng)絡(luò)[中最常見(jiàn)的操作:卷積、池化和去池化。卷積卷積操作是深度卷積網(wǎng)絡(luò)中最重要的,同時(shí)也是計(jì)算開(kāi)銷最大的操作。對(duì)于單個(gè)特征圖,將三維張量T與三維卷積核W∈RL × M × N卷積可寫為:
類似地,網(wǎng)格-八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)上的卷積定義為:
雖然這個(gè)計(jì)算結(jié)果與單特征圖的張量卷積與oc2ten、ten2oc包裝器相同,但我們現(xiàn)在能夠定義一個(gè)計(jì)算上更有效的卷積算子。我們的關(guān)鍵觀察是,對(duì)于小的卷積核和大的體素,在體素的小范圍內(nèi)是恒定的,因?yàn)樗暮愣ㄖС?img src="https://file1.elecfans.com//web2/M00/A0/B2/wKgZomTulBmACq4bAAAS_HeHf_Y991.png" alt="c24098a4-3eaa-11ee-ac96-dac502259ad0.png" />]。因此,我們只需要計(jì)算一次體素內(nèi)的卷積,然后沿著體素的表面進(jìn)行卷積,由于相鄰的體素取值不同,支持度會(huì)發(fā)生變化(圖4)。這使83個(gè)體素的計(jì)算次數(shù)減少了4倍。同時(shí),它還能實(shí)現(xiàn)一個(gè)更好的緩存機(jī)制。
圖4:卷積。該圖說(shuō)明了33個(gè)核(紅色)與83個(gè)網(wǎng)格-八叉樹(shù)單元(黑色)的卷積。圖中只顯示了三個(gè)維度中的兩個(gè)。如(a)所示,在網(wǎng)格樹(shù)單元內(nèi)的每個(gè)位置(i, j, k)都有一個(gè)直接的實(shí)現(xiàn),對(duì)內(nèi)核進(jìn)行評(píng)估。在這個(gè)例子中,這導(dǎo)致了約1萬(wàn)4千次乘法。相比之下,(b)描述了我們對(duì)同一操作的有效實(shí)現(xiàn),只需要約3千次乘法。由于網(wǎng)格-八叉樹(shù)單元內(nèi)的所有83個(gè)體素都是相同的值,單元內(nèi)的卷積核只需要評(píng)估一次。單元邊界的體素需要整合來(lái)自相鄰單元的信息。這可以通過(guò)截?cái)鄡?nèi)核的求和來(lái)有效實(shí)現(xiàn)。
池化:深度卷積網(wǎng)絡(luò)中另一個(gè)重要的操作是池化。池化降低了輸入張量的空間分辨率,聚合更高層次的信息進(jìn)行進(jìn)一步處理,從而增加感受野和捕獲上下文。
圖5:池化。在grid-octree結(jié)構(gòu)上的23個(gè)池化操作將8個(gè)相鄰的淺八叉樹(shù)(a)合并為一個(gè)淺八叉樹(shù)(b)。每個(gè)體素的大小被減半并復(fù)制到新的淺八叉樹(shù)結(jié)構(gòu)中。最細(xì)分辨率的體素被集中起來(lái)。不同的淺層八叉樹(shù)用不同的顏色來(lái)描述。
例如,卷積步長(zhǎng)為 23 最大池化將輸入張量Tin分成23個(gè)不重疊的區(qū)域,并計(jì)算每個(gè)區(qū)域的最大值。形式上,我們有
為了在網(wǎng)格八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)上實(shí)現(xiàn)池化,我們減少了淺八叉樹(shù)的數(shù)量。對(duì)于一個(gè)具有2D × 2H × 2W淺八叉樹(shù)的輸入網(wǎng)格樹(shù)Oin,輸出Oout包含D × H × W淺八叉樹(shù)。Oin的每個(gè)體素的大小減半,并在淺層八叉樹(shù)中復(fù)制一個(gè)層次。Oin中深度為3的體素被集合起來(lái)。這可以被表述為
其中vxd(-)計(jì)算淺層八叉樹(shù)中索引體素的深度。圖5中描述了一個(gè)直觀的例子。
作者為了捕捉精細(xì)的細(xì)節(jié),體素可以根據(jù)相應(yīng)集合層的原始八叉樹(shù),以最精細(xì)的分辨率再次分割。這使我們能夠充分利用跳躍連接。在作者的語(yǔ)義三維點(diǎn)云標(biāo)簽實(shí)驗(yàn)中,其遵循這種方法。去池化對(duì)于語(yǔ)義分割等多個(gè)任務(wù),期望的網(wǎng)絡(luò)輸出與網(wǎng)絡(luò)輸入大小相同。雖然池化對(duì)于增加網(wǎng)絡(luò)的感受野大小和捕獲上下文至關(guān)重要,但它會(huì)損失空間分辨率。為了提高網(wǎng)絡(luò)的分辨率,U型網(wǎng)絡(luò)架構(gòu)已經(jīng)成為流行的,其使用池化操作編碼信息,并在解碼器部分使用去池化或反卷積層提高分辨率[ 51 ],可能與跳躍連接(skip-connections)[ 9、19]結(jié)合以提高精度。最簡(jiǎn)單的去池化策略使用最近鄰插值,可以在稠密輸入T in∈RD × H × W和輸出T out∈R2D × 2H × 2W張量上進(jìn)行如下形式化:
同樣,我們可以在混合網(wǎng)格-八叉樹(shù)數(shù)據(jù)結(jié)構(gòu)上定義類似的操作,即
這個(gè)操作也改變了數(shù)據(jù)結(jié)構(gòu):淺層八叉樹(shù)的數(shù)量增加了8倍,因?yàn)槊總€(gè)深度為0的節(jié)點(diǎn)會(huì)產(chǎn)生一個(gè)新的淺層八叉樹(shù)。所有其他節(jié)點(diǎn)的大小都增加了一倍。因此,在這個(gè)操作之后,樹(shù)的深度減少了。這個(gè)操作的直觀例子見(jiàn)圖6。備注:為了捕捉精細(xì)的細(xì)節(jié),體素可以根據(jù)相應(yīng)集合層的原始八叉樹(shù),以最精細(xì)的分辨率再次分割。這使我們能夠充分利用跳過(guò)的連接。在我們的語(yǔ)義三維點(diǎn)云標(biāo)簽實(shí)驗(yàn)中,我們遵循這種方法。
4 .實(shí)驗(yàn)評(píng)估
在本節(jié)中,作者利用OctNet來(lái)研究輸入分辨率對(duì)三種不同3D任務(wù)的影響:3D形狀分類、3D方向估計(jì)和3D點(diǎn)云語(yǔ)義分割。為了將分辨率的影響從其他因素中分離出來(lái),作者考慮較為簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)。數(shù)據(jù)增強(qiáng)、2D / 3D聯(lián)合建模或集成學(xué)習(xí)等正交技術(shù)可能會(huì)進(jìn)一步提高模型的性能。
4.1. 3D Classification
作者使用流行的ModelNet10數(shù)據(jù)集進(jìn)行3D形狀分類任務(wù)。該數(shù)據(jù)集包含10個(gè)形狀類別,包括用于訓(xùn)練的3991個(gè)3D形狀和用于測(cè)試的908個(gè)3D形狀。每個(gè)形狀被提供為一個(gè)三角形網(wǎng)格,以規(guī)范的姿態(tài)定向。作者將三角形網(wǎng)格轉(zhuǎn)換為稠密的各自的網(wǎng)格-八叉樹(shù)占用網(wǎng)格,其中一個(gè)體素如果與網(wǎng)格相交則設(shè)置為1。我們對(duì)每個(gè)網(wǎng)格進(jìn)行縮放以擬合成一個(gè)( N-P)3體素的3D網(wǎng)格,其中N是輸入網(wǎng)格中每個(gè)維度的體素?cái)?shù),P = 2是填充參數(shù)。我們首先研究了輸入分辨率對(duì)內(nèi)存占用、運(yùn)行時(shí)間和分類精度的影響。為了實(shí)現(xiàn)這個(gè)目標(biāo),作者創(chuàng)建了一系列從83到2563個(gè)體素的不同輸入分辨率的網(wǎng)絡(luò)。作者考慮了三種不同類型的網(wǎng)絡(luò):馬圖拉納等人[ 30 ]的原始VoxNet架構(gòu),它運(yùn)行在固定的323個(gè)體素網(wǎng)格上,OctNet和它的稠密版本,我們?cè)谙挛闹斜硎緸? DenseNet "。雖然可以通過(guò)使用正交方法如網(wǎng)絡(luò)集成[ 5 ]或3D和2D卷積網(wǎng)絡(luò)[ 20 , 42]的組合來(lái)獲得性能增益,但在本文中,作者特意關(guān)注"純" 3D卷積網(wǎng)絡(luò)方法,以將分辨率的影響與其他影響因素隔離開(kāi)來(lái)。
圖7 展示了結(jié)果。首先,我們比較了我們的Oct Net 的內(nèi)存消耗和運(yùn)行時(shí)間,如圖7a和7b所示。重要的是,與密集輸入網(wǎng)格相比,OctNets需要更少的內(nèi)存和運(yùn)行時(shí)間來(lái)實(shí)現(xiàn)高輸入分辨率。
作者注意到,盡管OctNet具有池化表示,但它的性能與它的稠密等價(jià)類相當(dāng)。稀疏數(shù)據(jù)允許自適應(yīng)地分配資源而不會(huì)損失性能。此外,兩個(gè)模型都優(yōu)于較淺的VoxNet架構(gòu),表明了網(wǎng)絡(luò)深度的重要性。關(guān)于分類精度,我們觀察到低分辨率的改善,但超過(guò)323個(gè)體素的輸入分辨率的回報(bào)遞減。較高的輸入分辨率有助于某些類別,如浴缸,而其他類別則與分辨率無(wú)關(guān),如梳妝臺(tái)v。我們通過(guò)從ModelNet10數(shù)據(jù)庫(kù)中顯示三維形狀的體素化表示來(lái)可視化這種缺乏辨別力的情況,如圖8所示。雖然浴缸在低分辨率下看起來(lái)與床(或沙發(fā)、桌子)相似,但在更高分辨率下可以成功區(qū)分。
4.2. 3D Orientation Estimation
在本節(jié)中,我們研究了輸入分辨率對(duì)三維方向估計(jì)的重要性。大多數(shù)現(xiàn)有的三維姿態(tài)估計(jì)方法都假設(shè)物體實(shí)例的真實(shí)三維形狀是已知的。為了評(píng)估3D卷積網(wǎng)絡(luò)的泛化能力,我們考慮了一種只知道物體類別的略有不同的設(shè)置。在單個(gè)類別的3D形狀的保留集合上訓(xùn)練模型后,我們測(cè)試了模型對(duì)來(lái)自同一類別的未知3D形狀的3D方向的預(yù)測(cè)能力。圖10展示了作者得到的結(jié)果??梢杂^察到,與分類任務(wù)相比,精細(xì)細(xì)節(jié)對(duì)于位姿的估計(jì)更為重要。對(duì)于OctNet 1 - 3架構(gòu),我們觀察到性能的穩(wěn)步增加,而對(duì)于跨分辨率容量恒定的網(wǎng)絡(luò)(圖10b ),性能水平超過(guò)1283體素輸入分辨率。后一實(shí)驗(yàn)的定性結(jié)果如圖11所示。每一行顯示了在幾個(gè)輸入分辨率上對(duì)兩個(gè)隨機(jī)選擇的椅子實(shí)例的10個(gè)不同的預(yù)測(cè),范圍從163到1283。較暗的顏色表示較大的誤差,這些誤差在較低分辨率下出現(xiàn)的頻率更高。相比之下,較高網(wǎng)絡(luò)分辨率下的預(yù)測(cè)集中在真實(shí)姿態(tài)附近。
在Modelnet10上進(jìn)行朝向估計(jì)。圖中顯示了輸入分辨率從163到1283變化時(shí),3個(gè)椅子實(shí)例的10個(gè)旋轉(zhuǎn)估計(jì)值。較暗的顏色表示與真實(shí)值有較大的偏差。
4.3. 3D Semantic Segmentation
對(duì)于該任務(wù),我們?cè)?43、1283和2563三種不同的輸入分辨率上訓(xùn)練了一個(gè)U型網(wǎng)絡(luò),其中體素大小被選擇使得所有建筑物的高度都與輸入體積相符合。我們首先將點(diǎn)云映射為網(wǎng)格-八叉樹(shù)結(jié)構(gòu)。對(duì)于所有包含一個(gè)點(diǎn)以上的葉子節(jié)點(diǎn),我們對(duì)輸入特征進(jìn)行平均,并計(jì)算地面真值標(biāo)簽的多數(shù)投票進(jìn)行訓(xùn)練。作為特征,我們使用了二進(jìn)制體素占有率、RGB顏色、法向量和地面高度。由于訓(xùn)練樣本數(shù)量較少,我們通過(guò)施加小幅度的旋轉(zhuǎn)來(lái)增加該任務(wù)的數(shù)據(jù)。圖12,作者的結(jié)果清表明,提高輸入分辨率對(duì)于獲得最先進(jìn)的結(jié)果是必不可少的,因?yàn)樵谳^粗的分辨率下,更精細(xì)的細(xì)節(jié)會(huì)消失。
5 總結(jié)
該作者所提出的OctNet,作為一種新穎的三維表示和數(shù)據(jù)結(jié)構(gòu)表達(dá),使得高分辨率輸入的深度學(xué)習(xí)變得容易。作者提供了一種實(shí)現(xiàn)高分辨率輸入的方式,這對(duì)物體分類、姿態(tài)估計(jì)和語(yǔ)義分割等多個(gè)3D學(xué)習(xí)任務(wù)做出了一定的貢獻(xiàn)。隨著對(duì)象數(shù)據(jù)集從低分辨率向高分辨率大規(guī)模三維數(shù)據(jù)地轉(zhuǎn)變,OctNet將能夠?qū)崿F(xiàn)進(jìn)一步的改進(jìn),其為未來(lái)的研究的提供了一個(gè)高效處理高分辨率體素化數(shù)據(jù)的途徑。
審核編輯:彭菁
-
3D
+關(guān)注
關(guān)注
9文章
2899瀏覽量
107696 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7102瀏覽量
89273 -
三維
+關(guān)注
關(guān)注
1文章
511瀏覽量
29009 -
卷積網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
42瀏覽量
2186
原文標(biāo)題:八叉樹(shù),內(nèi)存無(wú)憂!
文章出處:【微信號(hào):3D視覺(jué)工坊,微信公眾號(hào):3D視覺(jué)工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論