只要MLP就能實(shí)現(xiàn)的三維實(shí)例分割!
作者:PCIPG-mach ?| 來(lái)源:3D視覺(jué)工坊
在公眾號(hào)「3D視覺(jué)工坊」后臺(tái),回復(fù)「原論文」即可獲取論文pdf和代碼。
添加微信:dddvisiona,備注:3D點(diǎn)云,拉你入群。文末附行業(yè)細(xì)分群。
為三維點(diǎn)云實(shí)例分割提出了一個(gè)概念簡(jiǎn)單、通用性強(qiáng)的新框架。
該框架直接回歸點(diǎn)云中所有實(shí)例的
實(shí)例分割問(wèn)題,主要障礙在于點(diǎn)云本身是無(wú)序、非結(jié)構(gòu)化和非均勻的。廣泛使用的卷積神經(jīng)網(wǎng)絡(luò)需要對(duì)三維點(diǎn)云進(jìn)行體素化處理,從而產(chǎn)生高昂的計(jì)算和內(nèi)存成本。這里也推薦「3D視覺(jué)工坊」新課程《徹底搞懂基于Open3D的點(diǎn)云處理教程》。
此外,它們不可避免地需要一個(gè)后處理步驟,如均值移動(dòng)聚類,以獲得最終的實(shí)例標(biāo)簽,而這一步驟的計(jì)算量很大。另一種管道是基于提議的 3D-SIS 和 GSPN ,它們通常依賴于兩階段訓(xùn)練和昂貴的非最大抑制來(lái)剪切密集的對(duì)象提議。
在本文中,我們提出了一個(gè)優(yōu)雅、高效和新穎的三維實(shí)例分割框架,通過(guò)使用高效 MLP 的單向前向階段來(lái)松散但唯一地檢測(cè)對(duì)象,然后通過(guò)一個(gè)簡(jiǎn)單的點(diǎn)級(jí)二元分類器來(lái)精確分割每個(gè)實(shí)例。為此,我們引入了一個(gè)新的邊界框預(yù)測(cè)模塊和一系列精心設(shè)計(jì)的損失函數(shù),以直接學(xué)習(xí)對(duì)象邊界。我們的框架與現(xiàn)有的基于提議和無(wú)提議的方法有很大不同,因?yàn)槲覀兡軌蚋咝У胤指钏芯哂懈邔?duì)象性的實(shí)例,而無(wú)需依賴昂貴而密集的對(duì)象提議。
骨干網(wǎng)絡(luò)之后有兩個(gè)分支:
1) 實(shí)例級(jí)邊界框預(yù)測(cè)?
2) 用于實(shí)例分割的點(diǎn)級(jí)掩碼預(yù)測(cè)。總體而言,我們的框架在三個(gè)方面有別于所有現(xiàn)有的三維實(shí)例分割方法。1) 與無(wú)提議管道相比,我們的方法通過(guò)明確學(xué)習(xí)三維對(duì)象邊界來(lái)分割對(duì)象度高的實(shí)例。2) 與廣泛使用的基于提議的方法相比,我們的框架不需要昂貴而密集的提議。3) 我們的框架非常高效,因?yàn)閷?shí)例級(jí)掩碼只需一次前向?qū)W習(xí),無(wú)需任何后處理步驟。
我們的主要貢獻(xiàn)如下:
我們提出了一種新的三維點(diǎn)云實(shí)例分割框架。該框架是單階段、無(wú)錨和端到端可訓(xùn)練的,無(wú)需任何后處理步驟。
我們?cè)O(shè)計(jì)了一個(gè)新穎的邊界框關(guān)聯(lián)層,然后使用多標(biāo)準(zhǔn)損失函數(shù)對(duì)邊界框預(yù)測(cè)分支進(jìn)行監(jiān)督。
通過(guò)廣泛的消融研究,我們證明了與基線相比的顯著改進(jìn),并提供了我們?cè)O(shè)計(jì)選擇背后的直覺(jué)。
圖 3:3D-BoNet 框架的一般工作流程。
3D-BoNet的總體框架如圖所示,它主要由1) Instance-level bounding box prediction 2) Point-level mask prediction兩個(gè)分支組成。顧名思義,bounding box prediction分支用于預(yù)測(cè)點(diǎn)云中每個(gè)實(shí)例的邊界框,mask prediction分支用于為邊界框內(nèi)的點(diǎn)預(yù)測(cè)一個(gè)mask,進(jìn)一步區(qū)分邊界框內(nèi)的點(diǎn)是屬于instance還是背景。
邊界框編碼:在現(xiàn)有的物體檢測(cè)網(wǎng)絡(luò)中,邊界框通常由中心位置和三維長(zhǎng)度或相應(yīng)的殘差以及方向來(lái)表示。為了簡(jiǎn)單起見(jiàn),我們只用兩個(gè)最小-最大頂點(diǎn)來(lái)表示矩形邊界框的參數(shù):
神經(jīng)層:如圖 4 所示,全局特征向量通過(guò)兩個(gè)全連接層,以 Leaky ReLU 作為非線性激活函數(shù)。然后再經(jīng)過(guò)另外兩個(gè)平行的全連接層。一層輸出 6H 維向量,然后將其重塑為 H × 2 × 3 張量。H 是一個(gè)預(yù)定義的固定邊框數(shù),整個(gè)網(wǎng)絡(luò)可預(yù)測(cè)的最大邊框數(shù)。另一層輸出一個(gè) H 維向量,然后用 sigmoid 函數(shù)表示邊界框得分。分?jǐn)?shù)越高,預(yù)測(cè)的邊框越有可能包含一個(gè)實(shí)例,因此邊框越有效。
邊框關(guān)聯(lián)層:給定先前預(yù)測(cè)的 H 個(gè)邊界框(即 ),利用地面實(shí)況框來(lái)監(jiān)督網(wǎng)絡(luò)并不簡(jiǎn)單,因?yàn)樵谖覀兊目蚣苤?,沒(méi)有預(yù)定義的錨點(diǎn)可以將每個(gè)預(yù)測(cè)框追溯到相應(yīng)的地面實(shí)況框。此外,對(duì)于每個(gè)輸入點(diǎn)云,地面實(shí)況箱的數(shù)量 都是不同的,通常與預(yù)定義的數(shù)量 不同,不過(guò)我們可以有把握地假設(shè)所有輸入點(diǎn)云的預(yù)定義數(shù)量 。此外,預(yù)測(cè)方框和地面實(shí)況方框都沒(méi)有方框順序。
最優(yōu)關(guān)聯(lián)公式:_為了從 中為的每個(gè)地面實(shí)況框關(guān)聯(lián)一個(gè)唯一的預(yù)測(cè)邊界框,我們將這一關(guān)聯(lián)過(guò)程表述為一個(gè)最優(yōu)分配問(wèn)題。形式上,讓 成為布爾關(guān)聯(lián)矩陣,如果第 個(gè)預(yù)測(cè)框被分配給第個(gè)地面實(shí)況框,則其為1。在本文中也稱為關(guān)聯(lián)索引。讓 成為關(guān)聯(lián)成本矩陣,其中表示第 i 個(gè)預(yù)測(cè)方框被分配到第 j 個(gè)地面實(shí)況方框的成本?;旧希鷥r(jià) 代表兩個(gè)方框之間的相似度;代價(jià)越小,兩個(gè)方框越相似。因此,邊界方框關(guān)聯(lián)問(wèn)題就是要找到成本最小的最優(yōu)分配矩陣 :
損失函數(shù) 在邊框關(guān)聯(lián)層之后,預(yù)測(cè)的邊框 和分?jǐn)?shù) 都將使用關(guān)聯(lián)索引 進(jìn)行重新排序,從而使最先預(yù)測(cè)的個(gè)邊框和分?jǐn)?shù)與 個(gè)地面實(shí)況邊框很好地配對(duì)。_邊框預(yù)測(cè)的多標(biāo)準(zhǔn)損失_:上一個(gè)關(guān)聯(lián)層根據(jù)最小成本為每個(gè)地面實(shí)況箱找到最相似的預(yù)測(cè)箱,最小成本包括1) 頂點(diǎn)歐氏距離;2) 點(diǎn)上的 sIoU 成本;3) 交叉熵得分。因此,邊界框預(yù)測(cè)的損失函數(shù)自然是為了持續(xù)最小化這些成本而設(shè)計(jì)的。
其形式定義如下
請(qǐng)注意,我們只最小化 個(gè)配對(duì)方框的成本;其余個(gè)預(yù)測(cè)方框?qū)⒈缓雎?,因?yàn)樗鼈儧](méi)有相應(yīng)的地面實(shí)況。因此,這個(gè)方框預(yù)測(cè)子分支與預(yù)定義的 值無(wú)關(guān)。由于負(fù)預(yù)測(cè)沒(méi)有受到懲罰,網(wǎng)絡(luò)可能會(huì)對(duì)一個(gè)實(shí)例預(yù)測(cè)出多個(gè)相似的方框。幸運(yùn)的是,平行邊框得分預(yù)測(cè)的損失函數(shù)能夠緩解這一問(wèn)題。
框選得分的預(yù)測(cè)差_:預(yù)測(cè)的框得分旨在表明相應(yīng)預(yù)測(cè)方框的有效性。通過(guò)關(guān)聯(lián)指數(shù) A 重新排序后,前 T 個(gè)得分的地面實(shí)況得分均為 "1",其余無(wú)效的個(gè)得分均為 "0"。
我們使用交叉熵?fù)p失來(lái)完成這項(xiàng)二元分類任務(wù):
基本上,這個(gè)損失函數(shù)獎(jiǎng)勵(lì)的是預(yù)測(cè)正確的邊界框,而隱含地懲罰了對(duì)一個(gè)實(shí)例回歸多個(gè)相似邊界框的情況。
給定預(yù)測(cè)的邊界框 、學(xué)習(xí)到的點(diǎn)特征 和全局特征 ,點(diǎn)掩碼預(yù)測(cè)分支通過(guò)共享神經(jīng)層單獨(dú)處理每個(gè)邊界框。
表 1:ScanNet(v2) 基準(zhǔn)(隱藏測(cè)試集)上的實(shí)例分割結(jié)果。指標(biāo)為 AP(%),IoU 閾值為 0.5。訪問(wèn)日期:2019 年 6 月 2 日。
這種簡(jiǎn)單的盒式融合方法計(jì)算效率極高,而現(xiàn)有技術(shù)中常用的 RoI Align則涉及昂貴的點(diǎn)特征采樣和對(duì)齊。損失函數(shù):根據(jù)先前的關(guān)聯(lián)指數(shù),預(yù)測(cè)的實(shí)例掩碼 與地面實(shí)況掩碼具有相似的關(guān)聯(lián)。由于實(shí)例點(diǎn)和背景點(diǎn)的數(shù)量不平衡,我們使用帶有默認(rèn)超參數(shù)的焦點(diǎn)損失(focal loss),而不是標(biāo)準(zhǔn)的交叉熵?fù)p失(cross-entropy loss)來(lái)優(yōu)化這一分支。只有有效的 配對(duì)掩碼才會(huì)被用于損失
雖然我們的框架并不局限于任何點(diǎn)云網(wǎng)絡(luò),但我們采用 PointNet++ 作為骨干來(lái)學(xué)習(xí)局部和全局特征。與此同時(shí),我們還實(shí)現(xiàn)了另一個(gè)獨(dú)立的分支,利用標(biāo)準(zhǔn)的 sof tmax 交叉熵?fù)p失函數(shù) 來(lái)學(xué)習(xí)每個(gè)點(diǎn)的語(yǔ)義。
骨干和語(yǔ)義分支的架構(gòu)與中使用的相同。給定輸入點(diǎn)云 P 后,上述三個(gè)分支被連接起來(lái),并使用單一的組合多任務(wù)損失進(jìn)行端到端訓(xùn)練:
我們使用 Adam 求解器及其默認(rèn)超參數(shù)進(jìn)行優(yōu)化。初始學(xué)習(xí)率設(shè)置為 5e-4,然后每 20 個(gè)歷元除以 2。整個(gè)網(wǎng)絡(luò)在 Titan X GPU 上從頭開(kāi)始訓(xùn)練。我們?cè)谒袑?shí)驗(yàn)中使用相同的設(shè)置,這保證了我們框架的可重復(fù)性。
在實(shí)驗(yàn)中,我們發(fā)現(xiàn)基于虛構(gòu) PointNet++ 的語(yǔ)義預(yù)測(cè)子分支性能有限,無(wú)法提供令人滿意的語(yǔ)義。得益于我們框架的靈活性,我們可以輕松地訓(xùn)練一個(gè)并行 SCN 網(wǎng)絡(luò),為我們的 3D-BoNet 預(yù)測(cè)實(shí)例估算出更精確的每點(diǎn)語(yǔ)義標(biāo)簽。
圖 7:這是一個(gè)有數(shù)百個(gè)物體(如椅子、桌子)的階梯教室,凸顯了實(shí)例分割所面臨的挑戰(zhàn)。不同的顏色表示不同的實(shí)例。相同的實(shí)例可能沒(méi)有相同的顏色。我們的框架能比其他框架預(yù)測(cè)出更精確的實(shí)例標(biāo)簽。
為了評(píng)估框架各組成部分的有效性,我們?cè)赟3DIS數(shù)據(jù)集最大的區(qū)域5上進(jìn)行了6組消融實(shí)驗(yàn)。
(1) 對(duì)于基于點(diǎn)特征聚類的方法,包括 SGPN、ASIS、JSIS3D、3D-BEVIS、MASC,后聚類算法(如 Mean Shift)的計(jì)算復(fù)雜度趨向于 O(T N 2),其中 T 為實(shí)例數(shù),N 為輸入點(diǎn)數(shù)。(2) 對(duì)于基于密集提議的方法,包括 GSPN[58]、3D-SIS[15]和 PanopticFusion[33],通常需要區(qū)域提議網(wǎng)絡(luò)和非最大抑制來(lái)生成和修剪密集提議,計(jì)算成本高昂[33]。(3) PartNet 基線和我們的 3D-BoNet 都具有類似的高效計(jì)算復(fù)雜度 O(N)。根據(jù)經(jīng)驗(yàn),我們的 3D-BoNet 處理 4k 個(gè)點(diǎn)大約需要 20 毫秒的 GPU 時(shí)間,而 (1)(2) 中的大多數(shù)方法處理相同數(shù)量的點(diǎn)需要 200 毫秒以上的 GPU/CPU 時(shí)間。
要從三維點(diǎn)云中提取特征,傳統(tǒng)方法通常是手工制作特征。近期基于學(xué)習(xí)的方法主要包括基于體素的方案和基于點(diǎn)的方案。語(yǔ)義分割 廣泛運(yùn)用的包括PointNet 和基于卷積核的方法,基本上,這些方法中的大多數(shù)都可以用作我們的骨干網(wǎng)絡(luò),并與我們的 3D-BoNet 并行訓(xùn)練,以學(xué)習(xí)每個(gè)點(diǎn)的語(yǔ)義。物體檢測(cè):相比現(xiàn)有方法,我們的方框預(yù)測(cè)分支與它們完全不同。我們的框架通過(guò)一次前向傳遞,直接從緊湊的全局特征回歸三維物體邊界框。實(shí)例分割 相比現(xiàn)有方法,我們的框架直接為明確檢測(cè)到的對(duì)象邊界內(nèi)的每個(gè)實(shí)例預(yù)測(cè)點(diǎn)級(jí)掩碼,而不需要任何后處理步驟。
其框架對(duì)于三維點(diǎn)云的實(shí)例分割來(lái)說(shuō)簡(jiǎn)單、有效且高效。但是,它也有一些局限性,這也是未來(lái)工作的方向。(1) 與其使用三個(gè)標(biāo)準(zhǔn)的非加權(quán)組合,不如設(shè)計(jì)一個(gè)模塊來(lái)自動(dòng)學(xué)習(xí)權(quán)重,以適應(yīng)不同類型的輸入點(diǎn)云。(2) 與其訓(xùn)練一個(gè)單獨(dú)的語(yǔ)義預(yù)測(cè)分支,不如引入更先進(jìn)的特征融合模塊,使語(yǔ)義分割和實(shí)例分割相互促進(jìn)。(3) 我們的框架采用 MLP 設(shè)計(jì),因此與輸入點(diǎn)的數(shù)量和順序無(wú)關(guān)。我們希望借鑒最近的研究成果,直接在大規(guī)模輸入點(diǎn)云上進(jìn)行訓(xùn)練和測(cè)試,而不是分割成小塊。
https://blog.csdn.net/dtuyg/article/details/105111508?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-105111508-blog-107883769.235%5Ev38%5Epc_relevant_anti_vip&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-105111508-blog-107883769.235%5Ev38%5Epc_relevant_anti_vip&utm_relevant_index=10https://zhuanlan.zhihu.com/p/95653797https://blog.csdn.net/toCVer/article/details/121938622