從點云重建平滑曲面是創建真實世界對象和場景的數字孿生的基本步驟。表面重建算法出現在各種應用中,如工業模擬、視頻游戲開發、建筑設計、醫學成像和機器人。
神經核表面重建( NKSR )是一種新的 NVIDIA 算法,用于從大型點云重建高保真表面。 NKSR 可以在幾秒鐘內處理數百萬個點,并在各種基準上實現最先進的質量。 NKSR 是傳統泊松曲面重構的一個很好的替代品,它提供了更大的細節和更快的運行時間。
NKSR 利用一種名為神經核場的新型 3D 深度學習方法來實現高質量的重建。由 NVIDIA 多倫多人工智能實驗室于 2022 年首次引入的神經核場,預測了一組與數據相關的基函數,用于解決閉合曲面重構問題。這種新方法實現了前所未有的泛化(用于對對象進行訓練和重建場景)以及對不同尺度的場景和對象進行多模式訓練。要了解更多技術細節,請訪問 NKSR 項目頁面。

廚房水槽模
在發布代碼的同時,我們很高興引入廚房水槽模型,這是一個在不同規模的數據集上訓練的綜合模型。通過結合對象級和場景級數據,我們確保了模型在不同場景中的通用性。為了證明其有效性,我們成功地將廚房水槽模型應用于不同的數據集。
圖 2 顯示了使用稀疏輸入點云的房間級重建結果。我們的方法通過生成平滑準確的幾何圖形而優于其他基線。

圖 3 展示了我們的方法在賽道上的應用,圖 4 展示了一個社區場景。這些場景是使用配備激光雷達傳感器的自動駕駛汽車拍攝的。這兩個場景的長度都長達數公里,我們能夠在 GPU 上有效地處理它們。


如何使用 NKSR
NKSR 很容易通過 pip 訪問, PyTorch 是一個關鍵依賴項。這種集成實現了包的直接安裝,確保了簡化的設置過程。
使用以下安裝命令:
pip install nksr -f https://nksr.s3.ap-northeast-1.amazonaws.com/whl/torch-2.0.0%2Bcu118.html
使用 GPU 加速了 NKSR 的核心計算操作,從而實現了高速處理和高效性能。部署 NKSR 時,有必要定義輸入點云的位置和法線。或者,您可以輸入捕捉這些點的傳感器的位置。
下面的代碼片段演示了使用 NKSR 是多么容易:
import nksr
import torch
device = torch.device("cuda:0")
reconstructor = nksr.Reconstructor(device)
# Note that input_xyz and input_normal are torch tensors of shape [N, 3] and [N, 3] respectively.
field = reconstructor.reconstruct(input_xyz, input_normal)
# input_color is also a tensor of shape [N, 3]
field.set_texture_field(nksr.fields.PCNNField(input_xyz, input_color))
# Increase the dual mesh's resolution.
mesh = field.extract_dual_mesh(mise_iter=2)
# Visualizing
from pycg import vis
vis.show_3d([vis.mesh(mesh.v, mesh.f, color=mesh.c)])
這個過程的高潮是一個三角網格,您可以根據自己的具體需求直接保存或可視化。
如果默認配置(廚房水槽模式)不能充分滿足您的要求,則提供培訓代碼。這個額外的資源提供了訓練自定義模型或將 NKSR 集成到現有管道中的靈活性。我們對定制和可用性的承諾確保了 NKSR 能夠適應各種應用和場景。
結論
NVIDIA Neural Kernel Surface Reconstruction 提供了一種新穎而前沿的方法,可以從稀疏點云中提取高質量的 3D 曲面。通過采用稀疏神經核場方法, NKSR 廚房水槽模型可以從固定的形狀訓練集推廣到任何規模的任意輸入。 NKSR 是完全開源的,帶有訓練代碼和預訓練的廚房水槽模型,您可以直接使用 pip 安裝。您可以根據特定的數據集和問題域進一步微調 NKSR ,以便在專業應用程序中實現更高的重建質量。
使用 NKSR 有機會贏得免費 GPU
我們想看看你能用 NKSR 做些什么。使用 NKSR 展示您最令人印象深刻的重建結果和迷人的可視化效果,然后參加 NVIDIA NKSR Sweepstakes,截止至 2023 年 9 月 8 日,您將有機會贏得 GeForce RTX 3090 Ti 。
?