歡迎您光臨本站 註冊首頁

Facebook 開源 3D 深度學習函數庫 PyTorch3D,也可用於二維場景

←手機掃碼閱讀     admin @ 2020-02-17 , reply:0

渲染是計算機圖形學中的核心內容,它可將 3D 模型轉換為 2D 圖像。這也是在 3D 場景屬性(scene properties)和 2D 圖像像素之間建立橋接的常規手段。不過傳統渲染引擎無法進行微分,因此它們不能被合併至深度學習工作管道中。PyTorch3D 內置模塊化的可微分渲染器,能用來處理可微分的 3D 數據。

Facebook 近日開源了將 PyTorch 用於 3D 深度學習的函數庫 PyTorch3D,這是一個高度模塊化且經過優化的庫,具備獨有的功能,旨在通過 PyTorch 簡化 3D 深度學習。PyTorch3D 為 3D 數據提供了一組常用的 3D 運算符和快速且可微分的損失函數(loss function),以及模塊化的可微分渲染 API。通過上述的功能,研究人員可以立即將這些函數導入至當前最先進的深度學習系統中。

研究人員和工程師可以利用 PyTorch3D 進行各種 3D 深度學習研究(無論是 3D 重構、集束調整,乃至 3D 推理),以及改進在二維空間下的識別任務。

對三維空間的認知,在人工智慧與真實世界的互動過程中扮演著十分重要的角色。例如機器人在物理空間中的導航、改進虛擬現實體驗,以及識別 2D 內容中被遮擋的物體等。不過即便有豐富深度學習技術積累的 Facebook,在面對 3D 的深度學習問題時依然會被困擾。Facebook 表示,之所以深度學習技術較少用於 3D 場景,是因為缺乏足夠的工具和資源來支撐神經網路與 3D 數據結合使用的複雜性,這種場景要求更多的內存與更高的算力,不像 2D 圖像可以使用張量表示,而且許多傳統圖形運算符不可微分,因此 3D 深度學習技術的研究受到了限制。

為此,Facebook 構建了 PyTorch3D 函數庫以推動 3D 深度學習研究,與 PyTorch 為 2D 識別任務提供高度優化的函數庫一樣,PyTorch3D 通過提供批處理以及對 3D 運算符和損失函數的支持來優化訓練和推理。為了簡化 3D 模型批處理的複雜度,Facebook 創建了 Meshes 格式,這是一種專為深度學習應用程序設計,用於批處理的異構網格模型數據結構。

這種數據結構可以讓研究人員輕鬆地將基礎網格模型數據快速轉換成不同的視圖,以使運算符與數據的最有效表示方式相匹配。更重要的是,PyTorch3D 為研究人員和工程師提供了能夠靈活地在不同的表示視圖之間進行有效切換的方式,並訪問不同的網格屬性。

渲染是計算機圖形學中的核心內容,它可將 3D 模型轉換為 2D 圖像。這也是在 3D 場景屬性(scene properties)和 2D 圖像像素之間建立橋接的常規手段。不過傳統渲染引擎無法進行微分,因此它們不能被合併至深度學習工作管道中。所以,Facebook 在 PyTorch3D 內置了高度模塊化的可微分渲染器,能用來處理可微分的 3D 數據。此功能的實現由可組合單元組成,允許用戶輕鬆擴展渲染器以支持自定義照明或陰影效果。

Facebook 將這些功能打包成工具包,並提供了運算符、異構批處理功能和模塊化可微分的渲染 API 等,幫助研究人員進行複雜的 3D 神經網路應用研究。

查看 PyTorch3d 文檔:https://pytorch3d.org/docs/why_pytorch3d.htm


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/113436/facebook-pytorch3d
Facebook 開源 3D 深度學習函數庫 PyTorch3D,也可用於二維場景已經有83次圍觀

http://coctec.com/news/all/show-post-225180.html