Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

PyTorchGeoNodes: Enabling Differentiable Shape Programs for 3D Shape Reconstruction

About

We propose PyTorchGeoNodes, a differentiable module for reconstructing 3D objects and their parameters from images using interpretable shape programs. Unlike traditional CAD model retrieval, shape programs allow reasoning about semantic parameters, editing, and a low memory footprint. Despite their potential, shape programs for 3D scene understanding have been largely overlooked. Our key contribution is enabling gradient-based optimization by parsing shape programs, or more precisely procedural models designed in Blender, into efficient PyTorch code. While there are many possible applications of our PyTochGeoNodes, we show that a combination of PyTorchGeoNodes with genetic algorithm is a method of choice to optimize both discrete and continuous shape program parameters for 3D reconstruction and understanding of 3D object parameters. Our modular framework can be further integrated with other reconstruction algorithms, and we demonstrate one such integration to enable procedural Gaussian splatting. Our experiments on the ScanNet dataset show that our method achieves accurate reconstructions while enabling, until now, unseen level of 3D scene understanding.

Sinisa Stekovic, Arslan Artykov, Stefan Ainetter, Mattia D'Urso, Friedrich Fraundorfer• 2024

Related benchmarks

TaskDatasetResultRank
3D Shape Attribute ClassificationScanNet Chairs (test)
Has Back Accuracy100
6
3D Shape ReconstructionScanNet sofa category (val)
Width (MAD)0.12
6
3D Shape ReconstructionScanNet All Categories (test)
Chamfer Distance (m)0.11
6
Shape Parameter ClassificationScanNet Table (test)
Top Shape94
6
3D Shape Parameter RegressionSynthetic chair dataset (test)
Seat Width Error0.00e+0
6
3D Shape Parameter RegressionScanNet Chairs (test)
Seat Width Error0.03
6
3D Shape Attribute ClassificationSynthetic chair dataset (test)
Has Back1
6
Shape Parameter RegressionScanNet category: Table (test)
Width (cm)0.15
6
Showing 8 of 8 rows

Other info

Code

Follow for update