ICLR2023 | 阿卜杜拉國王科技大學(xué)最新發(fā)布,3D表示新網(wǎng)絡(luò ):多視圖+點(diǎn)云!(2)
3D 計算機視覺(jué)和計算機圖形學(xué)的一個(gè)基本問(wèn)題是如何表示 3D 數據。鑒于深度學(xué)習在 2D 計算機視覺(jué)領(lǐng)域的成功推動(dòng)了深度學(xué)習在 3D 視覺(jué)和圖形領(lǐng)域的廣泛采用,這個(gè)問(wèn)題變得尤為重要。
事實(shí)上,深度網(wǎng)絡(luò )已經(jīng)在 3D 分類(lèi)、3D 分割、3D 檢測、3D 重建和新穎的視圖合成。計算機視覺(jué)網(wǎng)絡(luò )依賴(lài)于直接 3D 表示、圖像上的間接 2D 投影或兩者的混合。
- 直接方法對通常以點(diǎn)云、網(wǎng)格或體素表示的 3D 數據進(jìn)行操作。
- 相比之下,間接方法通常渲染對象或場(chǎng)景的多個(gè) 2D 視圖,并使用傳統的基于 2D 圖像的架構處理每個(gè)圖像。人類(lèi)視覺(jué)系統更接近這種用于 3D 理解的多視圖間接方法,因為它接收渲染圖像流而不是顯式 3D 數據。
使用間接方法處理 3D 視覺(jué)任務(wù)具有三個(gè)主要優(yōu)勢:
- (i) 成熟且可遷移的 2D 計算機視覺(jué)模型(CNN、Transformers 等);
- (ii) 用于預訓練的大型和多樣化標記圖像數據集(例如 ImageNet);
- (iii) 多視圖圖像根據視角提供豐富的上下文特征,這與幾何 3D 鄰域特征不同。
多視圖方法在 3D 形狀分類(lèi)和分割方面取得了令人印象深刻的性能。然而,多視圖表示(尤其是密集預測)的挑戰在于將每個(gè)視圖的特征與 3D 點(diǎn)云正確聚合。需要進(jìn)行適當的聚合以獲得具有代表性的 3D 點(diǎn)云,每個(gè)點(diǎn)具有適用于典型點(diǎn)云處理管道的單個(gè)特征。
以前的多視圖工作依賴(lài)于將像素映射到點(diǎn)后的啟發(fā)式方法(例如平均或標簽模式池化),或與體素的多視圖融合。由于某些原因,此類(lèi)設置可能不是最佳設置。
- (i) 這種啟發(fā)式方法可能會(huì )匯總從中獲得的誤導性預測信息任意觀(guān)點(diǎn)。例如,從底部看一個(gè)對象并獨立處理該視圖,當與其他視圖結合時(shí),可能會(huì )攜帶有關(guān)該對象內容的錯誤信息。
- (ii) 視圖缺少幾何 3D 信息。
為此,本文提出了一種新的混合 3D 數據結構,它繼承了點(diǎn)云的優(yōu)點(diǎn)(即緊湊性、靈活性和 3D 描述性),并利用了多視圖投影豐富的感知特征的優(yōu)勢。將這種新表示稱(chēng)為多視圖點(diǎn)云(或 Voint cloud),并在圖 1 中進(jìn)行了說(shuō)明。
Voint cloud是一組 Voint,其中每個(gè) Voint 是一組與視圖相關(guān)的特征(視圖特征),對應于3D 點(diǎn)云中的相同點(diǎn)。這些視圖特征的基數可能因一個(gè) Voint 而異。在表1 中,比較了一些廣泛使用的 3D 表示和我們的 Voint cloud表示。
Voint cloud繼承了顯式 3D 點(diǎn)云的特征,這有助于學(xué)習用于各種視覺(jué)應用(例如點(diǎn)云分類(lèi)和分割)的 Voint 表示。為了在新的 Voint 空間上部署深度學(xué)習,定義了 Voint 上的基本操作,例如池化和卷積。
基于這些操作,定義了一種構建 Voint 神經(jīng)網(wǎng)絡(luò )的實(shí)用方法,稱(chēng)之為 VointNet
- VointNet 采用 Voint 云并輸出點(diǎn)云特征以進(jìn)行 3D 點(diǎn)云處理。
- 本文展示了學(xué)習這種 Voint 云表示如何在 ScanObjectNN 和 ShapeNet。
(i) 本文提出了一種新穎的多視圖3D點(diǎn)云表示方法,稱(chēng)為Voint cloud。在這種表示方法中,每個(gè)點(diǎn)(即Voint)由來(lái)自不同視角的一組特征表示。
(ii) 本文在Voint級別定義了池化和卷積運算,用于構建Voint神經(jīng)網(wǎng)絡(luò )(VointNet )。VointNet 能夠學(xué)習從Voint空間中的多個(gè)視圖聚合信息。
(iii) 本文的VointNet 在多個(gè)3D理解任務(wù)上取得了最好的性能,包括3D形狀分類(lèi)、檢索和穩健的部分分割。此外,VointNet 還實(shí)現了對遮擋和旋轉的魯棒性改進(jìn)。通過(guò)引入Voint cloud表示和VointNet 網(wǎng)絡(luò ),在處理3D點(diǎn)云數據時(shí)取得了顯著(zhù)的改進(jìn),并在多個(gè)任務(wù)中取得了優(yōu)越的性能,提高了對復雜3D場(chǎng)景的理解和分析能力。
相關(guān)背景3D 點(diǎn)云的學(xué)習3D點(diǎn)云學(xué)習是計算機視覺(jué)中廣泛應用的一種方法,而點(diǎn)云由于其緊湊、靈活性以及可以通過(guò)LiDAR和RGB-D相機等傳感器自然獲取的特點(diǎn),在3D表示中被廣泛使用。
- PointNet是第一個(gè)能夠直接在3D點(diǎn)云上進(jìn)行深度學(xué)習的算法,為后續的研究奠定了基礎。它獨立地計算點(diǎn)的特征,并使用順序不變函數(例如最大池化)對這些特征進(jìn)行聚合。隨后的研究工作主要集中在尋找點(diǎn)的鄰域來(lái)定義點(diǎn)卷積運算。
- 近期的研究工作將點(diǎn)云表示與其他3D模態(tài)進(jìn)行了結合,例如體素或多視圖圖像。
在這項研究中,本文提出了一種新穎的表示方法,稱(chēng)為Voint cloud,用于3D形狀表示,并研究了一種新穎的架構,用于在3D點(diǎn)級別聚合視圖相關(guān)的特征。通過(guò)引入Voint cloud表示和相關(guān)架構,對3D點(diǎn)云的學(xué)習和表示提出了新的方法,進(jìn)一步推動(dòng)了這一領(lǐng)域的發(fā)展。
3D 多視圖多視圖應用最初是于1994年提出的,使用2D圖像來(lái)理解3D世界。這種直觀(guān)的多視圖方法與MVCNN(Multi-View Convolutional Neural Networks)中的3D理解深度學(xué)習相結合。隨后,一系列工作通過(guò)改進(jìn)每個(gè)圖像視圖的視圖特征的聚合,繼續開(kāi)發(fā)用于分類(lèi)和檢索的多視圖方法。
在本文中,將多視圖的概念融合到3D結構本身中,使每個(gè)3D點(diǎn)根據可用的視點(diǎn)具有一組獨立的視圖特征。Voints與采樣的3D點(diǎn)云對齊,提供緊湊的表示形式,既能高效計算和節省內存,又保持了視圖相關(guān)的組件,促進(jìn)了基于視圖的視覺(jué)學(xué)習。
3D數據的多視圖混合在一些3D語(yǔ)義分割任務(wù)中,也有一些方法嘗試采用多視圖方法。然而,當組合視圖特征以表示局部點(diǎn)或體素并保留局部幾何特征時(shí),會(huì )遇到問(wèn)題。這些方法往往會(huì )對視圖特征進(jìn)行平均、僅標簽、從鄰域中的重建點(diǎn)學(xué)習、對單個(gè)網(wǎng)格上的點(diǎn)進(jìn)行排序,或將多視圖特征與3D體素特征相結合。
因此,本文提出的VointNet 在Voint cloud空間中運行,同時(shí)保留了原始點(diǎn)云的緊湊性和3D描述性。VointNet 利用多視圖功能的強大能力,并學(xué)習將視圖特征獨立應用于每個(gè)點(diǎn)并進(jìn)行聚合。這樣的設計使得VointNet 在多視圖任務(wù)上取得了良好的性能表現。
Method 方法Pipeline研究工作中的主要假設是表面 3D 點(diǎn)是球面函數,即它們的表示取決于觀(guān)察它們的視角。這種情況與大多數假設 3D 點(diǎn)云的視圖獨立表示的 3D 點(diǎn)云處理Pipeline形成對比。完整的Pipeline如下圖所示。
從點(diǎn)云到 Voint cloud —— From Point Clouds to Voint clouds圖2:從 Voint cloud中學(xué)習。
- 為了構建 3D Voint cloud ,渲染器 從視點(diǎn) 渲染點(diǎn)云 ,并通過(guò) 2D 主干 從生成的圖像中提取圖像特征。
- 然后,圖像特征通過(guò) 投影到 Voint 云并通過(guò)到VointNet 。
- 為了學(xué)習 和 ,輸出點(diǎn)上的 3D 損失與 上可選的輔助 2D 損失一起使用。
3D點(diǎn)云是由3D對象或場(chǎng)景表面上的采樣點(diǎn)組成的緊湊3D表示,可以通過(guò)不同的傳感器獲取,如LiDAR或重建結果。
- 將曲面 的坐標函數定義為連續歐氏空間中的符號距離函數(SDF),然后將3D等值面定義為滿(mǎn)足 條件的所有點(diǎn) 的集合。
- 將表面3D點(diǎn)云 定義為一組 個(gè)3D點(diǎn),其中每個(gè)點(diǎn) 由其3D坐標 表示,并滿(mǎn)足等值面條件 。
在本文中,目標是將視圖依賴(lài)性融合到3D點(diǎn)中。受到NeRFs(Neural Radiance Fields)的啟發(fā),假設表面點(diǎn)的特征也取決于觀(guān)察它們的視角方向。
- 具體而言,引入一個(gè)連續的隱式球函數 ,它根據視角方向u定義每個(gè)點(diǎn)x的特征。
- 給定一組M個(gè)視角方向 ,Voint 是一組M個(gè)與視角相關(guān)的特征,用于描述以點(diǎn)x為中心的球體。
- 點(diǎn)云 表示父點(diǎn)云X中每個(gè)點(diǎn) 的集合。
- 需要注意的是,通常我們無(wú)法直接訪(fǎng)問(wèn)底層的隱式函數,因此通過(guò)以下三個(gè)步驟對其進(jìn)行近似。
Voint 將同一個(gè) 3D 點(diǎn)的多個(gè)視圖特征結合在一起。這些視圖特征來(lái)自于點(diǎn)云渲染器 對點(diǎn)云 進(jìn)行多視圖投影的結果:。
- 它將來(lái)自多個(gè)視點(diǎn) 的點(diǎn)云 渲染為大小為 的 個(gè)圖像,每個(gè)像素包含三維信息。
- 除了將點(diǎn)云投影到圖像空間,渲染器 還定義了每個(gè)像素與其對應的 個(gè)點(diǎn)和背景之間的索引映射 。
此外,渲染器 R 還為每個(gè)視圖的每個(gè)點(diǎn)輸出可見(jiàn)性二元矩陣 。
- 由于像素的離散化,不是所有的點(diǎn)都會(huì )在所有的視圖中出現,因此可見(jiàn)性分數 定義了 Voint 在視圖 中是否可見(jiàn)。
- 矩陣 對于非投影操作至關(guān)重要,而矩陣 是定義 Voints 上有意義的操作所必需的。
渲染圖像通過(guò)函數 進(jìn)行處理:,提取圖像特征,具體示意如圖2所示。
- 如果函數 是恒等函數,那么所有視圖特征通常對應于點(diǎn)的 RGB 值。
- 然而,函數 可以是專(zhuān)門(mén)針對下游任務(wù)的2D網(wǎng)絡(luò ),它可以提取關(guān)于每個(gè)視圖的有用的全局和局部特征。
本文提出了一個(gè)模塊 ,用于將每個(gè)像素的2D特征反投影為相應點(diǎn)的3D視圖特征。利用由渲染器創(chuàng )建的映射, 形成Voint云特征 。
總之,輸出的Voint云可以用方程(1)描述,其中 ,當 時(shí),特征僅對Voint 的視圖 定義。
3D Voint clouds 上的操作 —— Operations on 3D Voint clouds表 1:不同 3D 表示的比較。
- 將一些廣泛使用的3D 表示與本文提出的 Voint 云進(jìn)行了比較。
- 請注意, Voint 云共享 NeRF 的視圖依賴(lài)性,同時(shí)繼承了 3D 點(diǎn)云的優(yōu)點(diǎn)。
在附錄中,展示了一組角度的最大池化單個(gè)視圖特征的函數形式可以近似球坐標中的任何函數。
本文提供了一個(gè)定理,該定理擴展了 PointNet 的點(diǎn)云函數組合定理及其對 Voints 基礎球函數的通用逼近。
接下來(lái),在 Voint 上定義一組操作作為 Voint 神經(jīng)網(wǎng)絡(luò ) (VointNet ) 的構建塊。
池化—— VointMax將 VointMax 定義為沿 voint 的視圖維度在可見(jiàn)視圖特征上的最大池化。對于所有 和 ,
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。