0
雷鋒網(wǎng) AI 科技評(píng)論按:本文的作者是 Mihir Garimella 和 Prathik Naidu,他們是斯坦福大學(xué)計(jì)算機(jī)專業(yè)大二的學(xué)生,其研究領(lǐng)域包括機(jī)器人學(xué)、計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)等,還分別在 Facebook 的 Connectivity Lab 和亞馬遜的 CoreAI 團(tuán)隊(duì)積累了行業(yè)經(jīng)驗(yàn),也是 Fire.Autonomy(一個(gè)早期的初創(chuàng)公司,專注于制造用于室內(nèi)測(cè)繪和工業(yè)檢查的無(wú)人機(jī))的聯(lián)合創(chuàng)始人。本文發(fā)布于 The Gradient,AI 科技評(píng)論編譯如下:
想象一下你正在打造一輛可探測(cè)周圍環(huán)境的自動(dòng)駕駛車。你要如何讓你的車感知行人、騎自行車的人以及其他車輛,以安全行駛呢?你可以給它裝上相機(jī),但效果并不是特別好:你面對(duì)的是整個(gè) 3D 環(huán)境,相機(jī)拍攝到的只是把它拍扁之后的 2D 圖像,然后再嘗試從這個(gè) 2D 圖像中復(fù)原你真正需要用到的 3D 信息(比如與車前面的行人、汽車間的距離)。然而,一旦將 3D 環(huán)境擠壓成 2D 圖像,很多對(duì)你來(lái)說(shuō)最重要的信息就會(huì)丟失,并且將這些信息重新拼湊起來(lái)十分困難——即使使用最先進(jìn)的算法,也容易出錯(cuò)。
相反地,你最好采用 3D 數(shù)據(jù)來(lái)輔助你看這個(gè)世界的 2D 視角,而不是從一張 2D 圖像中去估計(jì)與行人或其他車輛間的距離,這樣的話,你將能夠通過(guò)其它的傳感器直接定位這些目標(biāo)。然而,用了 3D 數(shù)據(jù)之后,下一步要做的事情就變得麻煩了。你怎樣才能從 3D 數(shù)據(jù)中識(shí)別類如人、騎自行車的人以及汽車等目標(biāo)呢?傳統(tǒng)的深度學(xué)習(xí)技術(shù),如能直接識(shí)別 2D 圖像中目標(biāo)的卷積神經(jīng)網(wǎng)絡(luò)(CNNs),需要重新對(duì) 3D 數(shù)據(jù)做適配才能工作。幸運(yùn)的是,在過(guò)去的幾年中,已有很多對(duì)于 3D 感知問(wèn)題的研究,而本文中,我們將對(duì)這一問(wèn)題做一個(gè)簡(jiǎn)要的概述。
特別地,我們將重點(diǎn)關(guān)注能對(duì) 3D 對(duì)象進(jìn)行分類和語(yǔ)義分割的最新深度學(xué)習(xí)技術(shù)。一開始,我們會(huì)回顧一下 3D 數(shù)據(jù)采集和表示的常用方法作為背景知識(shí)。然后,我們將描述分別針對(duì)三種 3D 數(shù)據(jù)表示方式的基本深度學(xué)習(xí)方法。最后,我們將探討一些有前景的研究方向,并從我們的視角,來(lái)總結(jié)該領(lǐng)域的發(fā)展方向。
顯而易見,我們需要的是能夠直接以 3D 方式操作的計(jì)算機(jī)視覺(jué)方法,而這就提出了三個(gè)明顯的挑戰(zhàn):3D 數(shù)據(jù)的感知、表示和理解。
感知
3D 數(shù)據(jù)的采集是一個(gè)復(fù)雜的過(guò)程。雖然 2D 攝像價(jià)格便宜且應(yīng)用廣泛,但是 3D 感知通常需要專用硬件設(shè)施。
雙目視覺(jué)使用了多個(gè)相機(jī),并對(duì)感知目標(biāo)位置的轉(zhuǎn)移進(jìn)行了評(píng)估,來(lái)計(jì)算深層信息(圖源:University of Edinburgh)
1. Stereo(雙目視覺(jué))將兩個(gè)或多個(gè)相機(jī)布置在彼此之間相對(duì)固定的位置上,并使用這種設(shè)置來(lái)捕捉一個(gè)場(chǎng)景的不同圖像、匹配對(duì)應(yīng)的像素,并計(jì)算每個(gè)像素的位置在圖像之間如何不同,從而計(jì)算出這個(gè)像素在 3D 空間中的位置。這基本上就是人類感知世界的方式——我們的眼睛捕捉到現(xiàn)實(shí)世界中兩個(gè)分開的「圖像」,然后我們的大腦觀察目標(biāo)的位置在我們左、右眼的視野中有何不同,從而確定它的 3D 位置。雙目視覺(jué)方法看起來(lái)很吸引人,因?yàn)樗恍枰?jiǎn)單的硬件——兩臺(tái)或兩臺(tái)以上的普通相機(jī)就能實(shí)現(xiàn)。然而,因?yàn)槭褂靡曈X(jué)細(xì)節(jié)來(lái)匹配相機(jī)圖像之間的對(duì)應(yīng)點(diǎn)不僅計(jì)算昂貴,而且在缺乏紋理或視覺(jué)結(jié)構(gòu)重復(fù)的環(huán)境中容易出錯(cuò),這種方法在要求精度或速度的應(yīng)用中并不適用。
RGB-D相機(jī)輸出了一個(gè)四通道圖像,它包含了每個(gè)像素深層的顏色信息(圖源:Kyushu University)
2. RGB-D 需要使用一種特定機(jī)型的相機(jī),這種相機(jī)不僅能捕捉彩色圖像 (「RGB」) 還能捕捉深度信息 (depth,「D」)。具體來(lái)說(shuō),除了捕捉到普通 2D 相機(jī)所能捕捉的相同類型的彩色圖像,而且它還能告訴你圖像中的一部分像素是在相機(jī)前方多遠(yuǎn)的位置上。在內(nèi)部,大多數(shù) RGB-D 傳感器的工作原理是「結(jié)構(gòu)光」(structured light)和「飛行時(shí)間」(time of flight),前者將紅外圖像投射到場(chǎng)景上,并感測(cè)該圖案如何變形投射到幾何表面,后者著眼于投射的紅外光返回照相機(jī)需要多長(zhǎng)時(shí)間。我們耳熟能詳?shù)?RGB-D 相機(jī)包括 Microrosoft Kinect 和 iPhone X 的面部 ID 傳感器。RGB-D 非常好用,因?yàn)檫@些傳感器體積相對(duì)較小且成本低,但速度快且能避免視覺(jué)匹配錯(cuò)誤。然而,由于遮擋 (前景塊中的目標(biāo)投影到后面的目標(biāo))、圖像感測(cè)失敗以及距離問(wèn)題 (在遠(yuǎn)離相機(jī)的地方,投影和感測(cè)都變得困難),RGB-D 相機(jī)往往在其深度輸出中存在許多空白之處。
激光雷達(dá)使用幾條激光束(同心圓感應(yīng))來(lái)直接感知周邊環(huán)境的幾何結(jié)構(gòu)(圖源:Giphy)
3. LiDAR(激光雷達(dá))的工作方式是向物體發(fā)射高頻激光脈沖,并測(cè)量它們返回傳感器所需的時(shí)間。這與我們上面提到的 RGB-D 相機(jī)的「飛行時(shí)間」技術(shù)類似,但是 LiDAR 的射程明顯更長(zhǎng),能捕獲的點(diǎn)更多,并且在有其它光源干擾的情況下也更加穩(wěn)定?,F(xiàn)在大多數(shù) 3D LiDAR 傳感器都有幾個(gè)(最高可達(dá) 64 個(gè))垂直對(duì)齊的光束,它們能快速旋轉(zhuǎn)以觀察傳感器周圍的所有方向。由于這些傳感器的精度、工作距離和穩(wěn)定性(較好),大多數(shù)自動(dòng)駕駛汽車中都會(huì)使用它們。不過(guò),LiDAR 傳感器也有缺點(diǎn):通常體積大、笨重,并且非常昂貴(大多數(shù)自動(dòng)駕駛車中使用的 64 波束傳感器要花 75000 美元)。因此,許多公司目前正在嘗試開發(fā)更便宜的「固態(tài)激光雷達(dá)」(solid state LiDAR)系統(tǒng),這種系統(tǒng)可以進(jìn)行 3D 感知而無(wú)需旋轉(zhuǎn)。
采集 3D 數(shù)據(jù)后,你就需要以有用的形式將它表示出來(lái),并輸入到你接下來(lái)要構(gòu)建的處理模型中。你應(yīng)該了解以下四種主要的 3D 表示:
3D 數(shù)據(jù)的不同表示:(a)點(diǎn)云(圖源:Caltech);(b) 體素網(wǎng)格 (圖源: IIT Kharagpur); (c) 多邊形網(wǎng)格 (圖源:UW); (d) 多視圖表示(圖源:Stanford)
a. 點(diǎn)云(Point clouds)是 3D 空間點(diǎn)的簡(jiǎn)單集合,每個(gè)點(diǎn)可選擇性地與一些其他屬性(例如 rgb 顏色)一起由一個(gè)(xyz)坐標(biāo)確定。它們是所捕捉的原始 LiDAR 數(shù)據(jù),并且在進(jìn)行進(jìn)一步處理之前,雙目視覺(jué) 和 RGB-D 數(shù)據(jù)(由每個(gè)都標(biāo)記了像素深度值的圖像組成)通常會(huì)被轉(zhuǎn)換為 點(diǎn)云。
b. 體素網(wǎng)格(Voxel grids)源自于點(diǎn)云。「體素」就像 3D 空間中的像素,體素網(wǎng)格則可被看成是量化的、大小固定的點(diǎn)云。然而點(diǎn)云在浮點(diǎn)像素坐標(biāo)的空間中的任一地方,都可以有無(wú)限個(gè)點(diǎn),體素網(wǎng)格則是每個(gè)單元或「體素」都具有固定大小和離散坐標(biāo)的 3D 網(wǎng)格。
C. 多邊形網(wǎng)格(Polygon meshes)由一組與多邊形表面近似、共享頂點(diǎn)的幾何面組成。點(diǎn)云可被視為從真實(shí)的連續(xù)幾何表面采樣得到的 3D 點(diǎn)的集合;而多邊形網(wǎng)格則旨在以易于渲染的方式表示那些底層表面。多邊形網(wǎng)格雖然最初因計(jì)算機(jī)圖形而創(chuàng)建,它對(duì)于 3D 視覺(jué),也非常有用。從點(diǎn)云中獲取多邊形網(wǎng)格的方法有多種,其中包括 KaZhand 這類泊松曲面重建方法。
d. 多視圖表示(Multi-view representations)是從不同模擬視點(diǎn)(「虛擬相機(jī)」)捕獲的一個(gè)經(jīng)渲染的多邊形網(wǎng)格的 2D 圖像的集合,它可以采用簡(jiǎn)單的方法對(duì) 3D 幾何進(jìn)行轉(zhuǎn)換。簡(jiǎn)單從多個(gè)相機(jī)(呈現(xiàn)效果如雙目視覺(jué))捕捉圖像和構(gòu)建一個(gè)多視圖表示之間的區(qū)別在于,后者需要真正去構(gòu)建完整的 3D 模型,并從多個(gè)任意視點(diǎn)渲染該模型,從而實(shí)現(xiàn)真實(shí)的幾何結(jié)構(gòu)的完全轉(zhuǎn)換。與上述其他三種用于存儲(chǔ)和處理 3D 數(shù)據(jù)的表示不同,多視圖表示通常僅應(yīng)用于將 3D 數(shù)據(jù)轉(zhuǎn)換成可處理或可視化的簡(jiǎn)單格式。
將 3D 數(shù)據(jù)轉(zhuǎn)換為可理解的格式后,接下來(lái)就需要真正地構(gòu)建計(jì)算機(jī)視覺(jué)模型來(lái)理解它?,F(xiàn)在的問(wèn)題是,把在 2D 圖像上表現(xiàn)良好的傳統(tǒng)深度學(xué)習(xí)技術(shù)(如 CNN)拓展到在 3D 數(shù)據(jù)上運(yùn)行,根據(jù)數(shù)據(jù)表示的不同可能會(huì)很困難,這也使得目標(biāo)檢測(cè)、語(yǔ)義分割等傳統(tǒng)任務(wù)變得具有挑戰(zhàn)性。
多視圖輸入學(xué)習(xí)(Learning with multi-view inputs)
使用 3D 數(shù)據(jù)的多視圖表示,是 2D 深度學(xué)習(xí)技術(shù)適配于 3D 的最簡(jiǎn)單方法。將 3D 感知問(wèn)題轉(zhuǎn)換為 2D 感知問(wèn)題是一個(gè)聰明的做法,但在某種程度上,這種方法仍然需要你推理出一個(gè)目標(biāo)的 3D 幾何。早期基于深度學(xué)習(xí)的工作使用了這一方法的是 SU 等人的論文 Multi-view CNN(2015,https://arxiv.org/pdf/1505.00880.pdf),它提出的 Multi-view CNN 這個(gè)簡(jiǎn)單而有效的結(jié)構(gòu),能從一個(gè) 3D 目標(biāo)的多個(gè) 2D 視圖中學(xué)習(xí)特征描述符。比起使用單個(gè) 2D 圖像來(lái)進(jìn)行目標(biāo)分類,采用了這一方法的結(jié)構(gòu)具有更好的性能。它的實(shí)現(xiàn)方式是:將單個(gè)圖像喂給在 ImageNet 上進(jìn)行了預(yù)訓(xùn)練的 VGG 網(wǎng)絡(luò)從而來(lái)提取顯著特征、池化產(chǎn)生的激活圖,并將這些信息傳送到附加卷積層來(lái)進(jìn)一步進(jìn)行特征學(xué)習(xí)。
多視圖 CNN 結(jié)構(gòu)(圖源:論文)
同時(shí),多視圖圖像表示也存在大量不足。其中,主要的不足是,無(wú)法真正以 3D 形式進(jìn)行學(xué)習(xí)——固定數(shù)量的 2D 視圖依舊只是一個(gè)對(duì)底層 3D 結(jié)構(gòu)的不完美近似。結(jié)果,由于從 2D 圖像中獲得的特征信息有限,諸如語(yǔ)義分割等任務(wù)——尤其是跨目標(biāo)和場(chǎng)景的更復(fù)雜的任務(wù),變得具有挑戰(zhàn)性。同時(shí),對(duì)于諸如自動(dòng)駕駛和虛擬現(xiàn)實(shí)等計(jì)算受限的任務(wù),這種 3D 數(shù)據(jù)可視化形式無(wú)法進(jìn)行大規(guī)模應(yīng)用——要注意的是,生成多視圖表示需要對(duì)完整的 3D 模型進(jìn)行渲染以及對(duì)多個(gè)任意視點(diǎn)進(jìn)行仿真。最后,多視圖學(xué)習(xí)也面臨著許多缺陷,而這些缺陷將激勵(lì)研究者們研究直接從 3D 數(shù)據(jù)中學(xué)習(xí)的方法。
體積表示法學(xué)習(xí)(Learning with volumetric representations)
體素網(wǎng)格學(xué)習(xí)解決了多視圖表示的主要缺陷。體素網(wǎng)格架起了 2D 和 3D 視覺(jué)之間的橋梁——它們對(duì)于圖像來(lái)說(shuō),最接近 3D 表示,可使 2D 深層學(xué)習(xí)概念(如卷積運(yùn)算符)更易于適配 3D 場(chǎng)景。Maturana 和 Scherer 的論文 VoxNet(2015,https://www.ri.cmu.edu/pub_files/2015/9/voxnet_maturana_scherer_iros15.pdf),就是最早一批在給定體素網(wǎng)格輸入的情況下,在目標(biāo)分類任務(wù)上取得喜人結(jié)果的深度學(xué)習(xí)方法。VoxNet 在概率性占位網(wǎng)格上操作,其中每個(gè)體素包含該體素在空間上被占用的概率。這種方法的一個(gè)好處是,它允許網(wǎng)絡(luò)對(duì)已知自由的體素 (例如 LiDAR 光束通過(guò)的體素) 和占用情況未知的體素 (例如 LiDAR 光束射中的位置后面的體素) 進(jìn)行區(qū)分。
VoxNet 結(jié)構(gòu)(圖源:論文)
VoxNet 的結(jié)構(gòu)本身相當(dāng)簡(jiǎn)單,它由 2 個(gè)卷積層、1 個(gè)最大池層和 2 個(gè)全連接層組成,最終計(jì)算輸出類得分向量。這種網(wǎng)絡(luò)比大多數(shù)最先進(jìn)的圖像分類網(wǎng)絡(luò)更淺得多,并且擁有小得多的參數(shù),不過(guò)它是從數(shù)百種可能的 CNN 結(jié)構(gòu)的隨機(jī)搜索中被選取出來(lái)的。由于體素網(wǎng)格與圖像非常相似,它們采用的實(shí)際跨步卷積和池化操作,只是在 2D 像素上執(zhí)行的這些操作對(duì) 3D 體素的細(xì)微適配。卷積操作使用 d×d×d×c 核而非應(yīng)用于 2D CNNs 中的 d×d×c 核,而池化操作則考慮非重疊的 3D 體素塊,而不是 2D 像素塊。
VoxNet 的一個(gè)問(wèn)題是,它的結(jié)構(gòu)并非原本就是旋轉(zhuǎn)不變的。雖然論文作者合理地假設(shè)傳感器保持直立,從而讓體素網(wǎng)格的 z 軸與重力方向?qū)R,但是對(duì)于 z 軸的旋轉(zhuǎn)來(lái)說(shuō),即使體素網(wǎng)格中的幾何與學(xué)習(xí)卷積核的相互作用非常不同,這種的假設(shè)——來(lái)自后方的目標(biāo)依舊是同一個(gè)目標(biāo),依舊是不存在的。為解決這一問(wèn)題,他們采用了一種簡(jiǎn)單的數(shù)據(jù)增強(qiáng)策略。在訓(xùn)練期間,他們將每個(gè)模型旋轉(zhuǎn)幾次,并在所有的副本上進(jìn)行訓(xùn)練;接著,在測(cè)試時(shí),他們將橫跨幾個(gè)輸入選擇的最終全連接層的輸出進(jìn)行池化處理。他們指出,與 Su 等人的 Multi-view CNNs 在其「視圖池化」步驟中將中間卷積層的輸出池化相比,這種方法帶來(lái)的性能差不多但是收斂得更快。用這種方式,VoxNet 通過(guò)共享橫跨輸入體素網(wǎng)格的不同旋轉(zhuǎn)的相同的學(xué)習(xí)卷積核權(quán)重,來(lái)學(xué)習(xí)旋轉(zhuǎn)不變性。
VoNET 代表了向真正的 3D 學(xué)習(xí)邁進(jìn)的一大步,不過(guò),體素網(wǎng)格仍然存在許多缺陷。首先,與點(diǎn)云相比,它們損失了分辨率——因?yàn)楫?dāng)它們彼此靠近時(shí),一些代表復(fù)雜結(jié)構(gòu)的不同點(diǎn)會(huì)被嵌入到一個(gè)體素中。同時(shí),與稀疏環(huán)境中的點(diǎn)云相比,體素網(wǎng)格可能導(dǎo)致不必要的高內(nèi)存使用,因?yàn)樗鼈兇罅肯膬?nèi)存來(lái)表示自由和未知空間,而點(diǎn)云則僅包含已知點(diǎn)。
點(diǎn)云學(xué)習(xí)(Learning with point clouds)
點(diǎn)云分割(PointNet)
針對(duì)這些基于體素方法的問(wèn)題,最近的研究集中于直接在原始點(diǎn)云上進(jìn)行操作的結(jié)構(gòu)。最值得注意的是,Qi 等人的論文 PointNet(2016,https://arxiv.org/pdf/1612.00593.pdf)是針對(duì)處理不規(guī)則 3D 數(shù)據(jù)這種格式最早被提出的方法之一。然而,如作者所指出的,點(diǎn)云只是 3D 空間里由 XYZ 坐標(biāo)表示的一組點(diǎn)。更具體來(lái)說(shuō),假設(shè)給定點(diǎn)云中的 N 點(diǎn),因?yàn)槲菇o網(wǎng)絡(luò)的點(diǎn)的排序?qū)Φ讓訋缀螞](méi)有影響,網(wǎng)絡(luò)需要學(xué)習(xí)對(duì)輸入數(shù)據(jù)的 N! 排列具有不變性的唯一特征。此外,網(wǎng)絡(luò)對(duì)于點(diǎn)云的轉(zhuǎn)換——旋轉(zhuǎn)、平移應(yīng)該是穩(wěn)定的,并且它的大小應(yīng)該對(duì)預(yù)測(cè)沒(méi)有影響。
為了確??巛斎肱判虻牟蛔冃?,點(diǎn)云分割背后的關(guān)鍵性經(jīng)驗(yàn)是,使用一個(gè)為輸入的任意排序產(chǎn)生一致輸出的簡(jiǎn)單的對(duì)稱函數(shù)(此類函數(shù)中的典型算法包括加法和乘法)。在這種認(rèn)知的指導(dǎo)下,點(diǎn)云分割結(jié)構(gòu)背后的基本模塊(叫做 PointNet Vanilla)定義如下:
f(x1,…,xn)=γ⊙g(h(x1),…,h(xn))
其中 f 是將輸入點(diǎn)轉(zhuǎn)換成 k 維向量(用于目標(biāo)分類)的對(duì)稱函數(shù)。這個(gè)函數(shù) f 可以近似為另一個(gè)對(duì)稱函數(shù) g。在等式中,h 是一個(gè)多層感知器(MLP),它用來(lái)將個(gè)別輸入點(diǎn)(以及它們的 xyz 坐標(biāo)、顏色、表面法線等相應(yīng)特征)標(biāo)記到更高維度的隱空間。最大池化操作充當(dāng)對(duì)稱函數(shù) g,它將學(xué)習(xí)到的特征聚合為點(diǎn)云的全局描述符。這個(gè)單一的特征向量被傳遞到γ——另一個(gè)輸出目標(biāo)預(yù)測(cè)的 MLP。
為了應(yīng)對(duì)這一挑戰(zhàn)——學(xué)習(xí)對(duì)點(diǎn)云的幾何變換具有不變性的表示,點(diǎn)云分割采用一個(gè)叫做 T-Net 的小型網(wǎng)絡(luò),該網(wǎng)絡(luò)將一種仿射變換應(yīng)用到點(diǎn)云的輸入上。這個(gè)概念與 Jaderberg 等人的論文 spatial transformer networks(2016,https://arxiv.org/pdf/1506.02025.pdf)所提出的概念類似,但要簡(jiǎn)單得多,因?yàn)樗恍枰x層的新類型。T-Net 由可學(xué)習(xí)的參數(shù)組成,這些參數(shù)使點(diǎn)云分割能夠?qū)⑤斎朦c(diǎn)云轉(zhuǎn)換為一個(gè)固定的、規(guī)范的空間,從而確保即使對(duì)于最細(xì)微的變化,整個(gè)網(wǎng)絡(luò)也是穩(wěn)定的。
點(diǎn)云分割結(jié)構(gòu)(圖源:論文)
整個(gè)點(diǎn)云分割結(jié)構(gòu)集成了原始方法、T-Net 與為點(diǎn)云創(chuàng)建特性表示的多個(gè) MLP 層。然而,除了目標(biāo)分類之外,點(diǎn)云分割還能夠?qū)崿F(xiàn)目標(biāo)和場(chǎng)景的語(yǔ)義分割。為了實(shí)現(xiàn)這一點(diǎn),點(diǎn)云分割結(jié)構(gòu)將最大池化對(duì)稱函數(shù)中的全局特征向量與在輸入數(shù)據(jù)被傳送到一些 MLP 之后學(xué)習(xí)的任一點(diǎn)的特征相結(jié)合。通過(guò)連接這兩個(gè)向量,每個(gè)點(diǎn)都能感知到其全局語(yǔ)義和局部特征,從而使網(wǎng)絡(luò)能夠?qū)W習(xí)有助于分割的附加的、更有意義的特征。
基于點(diǎn)云分割的室內(nèi)場(chǎng)景語(yǔ)義分割結(jié)果(圖源:論文)
點(diǎn)云分割++(PointNet++)
雖然點(diǎn)云分割取得了較大的成果,但它存在的主要缺點(diǎn)之一,就是它的結(jié)構(gòu)無(wú)法捕獲到點(diǎn)鄰域內(nèi)的底層局部結(jié)構(gòu)——點(diǎn)鄰域這個(gè)概念類似于:使用 CNN 從圖像中不斷增大的感受野規(guī)格中提取特征。為了解決這個(gè)問(wèn)題,Qi 等人提出了優(yōu)化后的 PointNet++(2017,https://arxiv.org/pdf/1706.02413.pdf),它衍生自點(diǎn)云分割結(jié)構(gòu),不過(guò)也能夠從點(diǎn)云中的本地區(qū)域?qū)W習(xí)特性。該方法的基礎(chǔ)是分層特征學(xué)習(xí)層,其具有三個(gè)關(guān)鍵步驟:第一,它將采樣的點(diǎn)作為局部區(qū)域的質(zhì)心;第二,基于與質(zhì)心的距離對(duì)這些局部區(qū)域中的相鄰點(diǎn)進(jìn)行分組;第三,使用迷你—點(diǎn)云分割對(duì)這些區(qū)域的特征進(jìn)行編碼。
這些步驟不斷重復(fù),從而在點(diǎn)云內(nèi)的大小不一的點(diǎn)群中學(xué)習(xí)特征。通過(guò)這種方式,網(wǎng)絡(luò)可以更好地理解整個(gè)點(diǎn)云中的局部點(diǎn)群中的底層關(guān)系——最終有助于提高泛化性能。該研究結(jié)果表明,點(diǎn)云分割++能夠顯著改進(jìn)包括點(diǎn)云分割在內(nèi)的現(xiàn)有方法,并在 3D 點(diǎn)云分析基準(zhǔn)(ModelNet40 和 ShapeNet)上實(shí)現(xiàn)了最佳性能。
圖像卷積神經(jīng)網(wǎng)絡(luò)(Graph CNNs)
當(dāng)前對(duì)用于處理 3D 數(shù)據(jù)的深度學(xué)習(xí)結(jié)構(gòu)的研究,主要集中在點(diǎn)云表示方面,同時(shí),最近的許多工作都是在延展點(diǎn)云分割/點(diǎn)云分割++的概念,并從其他領(lǐng)域汲取靈感來(lái)進(jìn)一步提高性能。例如 Wang 等人的論文 Dynamic Graph CNNs (2018,https://arxiv.org/pdf/1801.07829.pdf),就使用基于圖形的深度學(xué)習(xí)方法來(lái)改善點(diǎn)云中的特征提取。它的觀點(diǎn)是點(diǎn)云分割/點(diǎn)云分割++無(wú)法捕獲各個(gè)點(diǎn)之間的幾何關(guān)系,因?yàn)檫@些方法需要保持對(duì)不同輸入陣列的不變性。然而,通過(guò)將一個(gè)點(diǎn)和它周圍最近的鄰域視作一個(gè)定向圖,Wang 等人構(gòu)建了 EdGeConV,它是一個(gè)生成遍布數(shù)據(jù)中的點(diǎn)的唯一特征的運(yùn)算符。如果你有興趣對(duì)圖形進(jìn)行進(jìn)一步學(xué)習(xí),閱讀另一篇 Gradient 概覽(https://thegradient.pub/structure-learning/)。
針對(duì)點(diǎn)云處理的稀疏點(diǎn)陣網(wǎng)絡(luò)(SPLATNet)
針對(duì)點(diǎn)云處理的稀疏點(diǎn)陣網(wǎng)絡(luò)結(jié)構(gòu)(圖源:論文)
另一方面,一些研究已經(jīng)繞開了點(diǎn)云分割/點(diǎn)云分割++中提出的經(jīng)典特征提取方法,而選擇設(shè)計(jì)一種綜合處理點(diǎn)云的新方法。Su 等人提出的 SPLATNet(2018,https://arxiv.org/pdf/1802.08275.pdf)架構(gòu),是點(diǎn)云研究新焦點(diǎn)中一個(gè)極好的例子——作者設(shè)計(jì)了一種新的結(jié)構(gòu)和卷積算子,可以直接在點(diǎn)云上操作。這篇論文的主要觀點(diǎn)是,將「感受野」的概念轉(zhuǎn)譯為能讓空間信息即使在稀疏區(qū)域(點(diǎn)云分割/點(diǎn)云分割++的一個(gè)主要缺陷)也能夠被保存的不規(guī)則點(diǎn)云。特別有意思的是,SPLATNet 可以將從多視圖圖像中提取的特征投影到 3D 空間中,在端到端可學(xué)習(xí)結(jié)構(gòu)中融合 2D 數(shù)據(jù)與原始點(diǎn)云。使用這種 2D- 3D 聯(lián)合學(xué)習(xí),SPLATNet 在語(yǔ)義分割中實(shí)現(xiàn)了最優(yōu)性能。
椎體點(diǎn)云分割(Frustum PointNets)
對(duì) 2D 邊界框估計(jì)生成的 3D 截體進(jìn)行可視化(來(lái)源:論文)
第三個(gè)有前景的研究方向,是關(guān)于對(duì)我們上面所描述的基本結(jié)構(gòu)構(gòu)建塊進(jìn)行延展,用來(lái)構(gòu)建用于諸如 3D 目標(biāo)檢測(cè)等有用任務(wù)的更精細(xì)的網(wǎng)絡(luò)?;谕瑫r(shí)使用 2D、3D 數(shù)據(jù)這一想法,Qi 等人的 Frustum PointNets (2017,https://arxiv.org/pdf/1711.08488.pdf) 提出了一個(gè)新方法:融合 RGB 圖像與點(diǎn)云,來(lái)提高大 3D 場(chǎng)景中目標(biāo)定位的效率。該任務(wù)的傳統(tǒng)方法通過(guò)直接在整個(gè)點(diǎn)云上對(duì)滑動(dòng)窗口執(zhí)行分類,來(lái)確定目標(biāo)可能的 3D 邊界框,這種計(jì)算成本大,而且還讓實(shí)時(shí)預(yù)測(cè)變得困難。Qi 等人做出了兩個(gè)重要貢獻(xiàn):
第一,他們提議首先使用標(biāo)準(zhǔn)的 CNN 對(duì) 2D 圖像進(jìn)行目標(biāo)檢測(cè),將被檢測(cè)目標(biāo)可能駐留的點(diǎn)云區(qū)域?qū)?yīng)的 3D 截體拍扁,然后僅在點(diǎn)云的這個(gè)「切片」上執(zhí)行搜索流程。這樣就明顯縮小了邊界框估計(jì)的搜索空間,降低了錯(cuò)誤檢測(cè)的可能性,并且還會(huì)大大加速處理進(jìn)度——這個(gè)對(duì)于自動(dòng)駕駛的應(yīng)用至關(guān)重要。
第二,Qi 等人設(shè)計(jì)了一種新穎的基于點(diǎn)云分割的結(jié)構(gòu),可以直接一次性對(duì)整個(gè) 3D 截頭體進(jìn)行實(shí)例分割(將點(diǎn)云分割為單個(gè)目標(biāo))和邊界框估計(jì),而不是在邊界框搜索過(guò)程中執(zhí)行典型的滑動(dòng)窗口分類,從而使他們方法在遮擋和稀疏上的表現(xiàn)既快速又穩(wěn)定。最終,由于這些改進(jìn),這項(xiàng)工作在發(fā)布時(shí),在 KITTI 和 SUN RGB-D 3D 檢測(cè)基準(zhǔn)上的表現(xiàn)都優(yōu)于先前所有的方法。
在過(guò)去僅僅 5 年的時(shí)間里,3D 深度學(xué)習(xí)方法已經(jīng)從使用衍生的(多視圖)3D 數(shù)據(jù)表示發(fā)展到原始的(點(diǎn)云)3D 數(shù)據(jù)表示。在此過(guò)程中,我們已經(jīng)從簡(jiǎn)單使用 2D CNNs 適配 3D 數(shù)據(jù)的方法(多視圖 CNN,甚至 VoxNet)轉(zhuǎn)變?yōu)閷?3D 創(chuàng)建的方法(點(diǎn)云分割和其他點(diǎn)云方法),極大地提改善了在目標(biāo)分類和語(yǔ)義分割等任務(wù)上的性能。這些成果是有前景的,因?yàn)樗鼈冏C實(shí)了以 3D 視角來(lái)看、來(lái)表示這個(gè)世界,確實(shí)是有價(jià)值的。
然而,這一領(lǐng)域的進(jìn)展才剛開始。目前的工作不僅要聚焦于提高這些算法的精度和性能,也需要確保穩(wěn)定性和可擴(kuò)展性。盡管目前的許多研究都是由動(dòng)駕駛這一應(yīng)用場(chǎng)景所推動(dòng)的,但是直接在點(diǎn)云上操作這一新方法,也將在 3D 醫(yī)學(xué)圖像、虛擬現(xiàn)實(shí)和室內(nèi)測(cè)繪中發(fā)揮重要作用。
Via:Beyond the pixel plane: sensing and learning in 3D,https://thegradient.pub/beyond-the-pixel-plane-sensing-and-learning-in-3d,雷鋒網(wǎng) AI 科技評(píng)論編譯。雷鋒網(wǎng)
題圖來(lái)源: Waymo
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。