We introduce Patchwork, a new general-purpose shape representation capable of modeling 2D and 3D geometry with a small number of parameters. Patchwork is grounded in a rigorous mathematical framework, providing provable complexity bounds and the ability to approximate arbitrary shapes with arbitrary precision in any dimension. We propose an efficient gradient-based optimization scheme to fit Patchwork representations to 2D and 3D data, along with a novel regularization loss that progressively prunes redundant elements, yielding high compactness after convergence. Our approach offers fast fitting performance, a fraction of the required parameters compared to existing alternatives, and native support for inside-outside classification, making it a versatile and compact representation for geometric learning and reconstruction tasks, with future potential for 3D generation. Our implementation is available at: https://github.com/Ankbzpx/patchwork-experiment.
Figures & tables
Figure 1: Our method represents 3D shapes in a very compact and memory-efficient way.
Figure 2: A patchwork (the boundary between the dark and light areas) for increasing values of β (left and middle) and the limiting case β→+∞ (right). The design lines (blue), the equality lines (dashed), the candidate intervals (brown/orange), and the active intervals (orange). Just two design lines represent a concave angle.
Figure 3: Nonconvex (left), disconnected (middle), and non-simply-connected (right) shapes and their approximations by patchworks computed by optimization (right per pair). Each patchwork is the boundary between a dark and a light region. These compact representations have just n=12,37,55 design lines (left to right). The candidate intervals (brown/orange) decompose the plane into polygons. The “interior” of the patchwork is roughly the union of the polygons corresponding to the indices i with si<0 , and the patchwork is roughly the union of active intervals (orange).
Figure 4: Patchworks (orange) approximating a given curve (red). The construction can employ a square grid (left), a honeycomb lattice (middle), or an affine transformation of the latter (right). The squares/hexagons inside the curve are light, the other ones are dark, and the patchwork separates the colors.
Figure 5: Patchworks approximating a sphere (a and c) and a torus (e), and their limiting cases β→+∞ (b, d, f). The patchworks (a, c, e) visually coincide with the shapes, although their width is just n=13 , 31 , 30 (left to right). For (a and b), the 12 design planes contain the faces of the dodecahedron (b), and the 13 th linear function is constant. For (e and f), just 30 design planes represent an intricate nonconvex shape.
Method
CH ↓
HD ↓
FS ↑
# Params
MC
6.79
8.68
49.93
8000
RFTA
3.62
5.88
36.83
8000
SPSR
5.55
7.20
19.66
8806
VoroMesh
17.27
16.81
7.95
8000
PoNQ
8.01
13.44
53.61
8800
SIREN
22.57
77.28
51.52
8641
Table 1: Quantitative results on the roof modeling dataset. The bold text indicates the best score. To approximate the SPSR parameter count, we voxelize input clouds over sparse octrees of the same depth, then average the number of nodes. Ours is the average parameter size after the progressive pruning. CH = Chamfer; HD = Hausdorff; FS = F-score.
Figure 6: Qualitative results on the roof modeling dataset. Our method has clear advantages both in visual quality and compactness.
Method
CH ↓
HD ↓
FS ↑
# Params
MC
4.61 / 3.56
6.00 / 6.78
48.10 / 43.82
125000
RFTA
3.82 / 12.92
5.60 / 7.15
53.09 / 53.51
125000
SPSR
2.49 / 2.02
3.77 / 4.32
58.01 / 63.21
150975
VoroMesh
5.95 / 3.62
6.94 / 6.65
36.99 / 42.17
125000
PoNQ
3.30 / 2.87
5.82 / 6.20
58.59 / 51.79
132000
SIREN
2.79 / 3.18
25.32 / 26.24
57.25 / 61.28
132865
Table 2: Quantitative results on ABC / Thingi10K. The bold text indicates the best score; the underlined text indicates the second-best. To approximate the SPSR parameter count, we voxelize input clouds over sparse octrees of the same depth, then average the number of nodes. Ours is the average parameter size after the progressive pruning. CH = Chamfer; HD = Hausdorff; FS = F-score.
Figure 7: Qualitative results on the ABC and Thingi10k datasets. Our method can compactly represent CAD and general shapes.
Chamfer ↓
Hausdorff ↓
F-score ↑
w.o.
14.33 / 61.73 / 59.00
18.20 / 40.24 / 41.46
29.87 / 8.16 / 3.98
w.
1.42 / 2.48 / 2.39
1.45 / 4.93 / 5.88
76.88 / 60.83 / 61.59
Table 3: Ablation study of our explicit geometric initialization on roof modeling / ABC / Thingi10k datasets.
Lsur
Lnormal
Lreg
Chamfer ↓
Hausdorff ↓
F-score ↑
✓
✗
✗
132.68
115.16
3.36
✓
✓
✗
57.49
83.27
39.92
✓
✗
✓
1.56
2.06
76.79
✗
✗
✓
496.99
114.51
0.05
✗
✓
✓
503.22
132.20
0.09
✓
✓
✓
1.42
1.45
76.88
Table 4: Ablation study of Lsur , Lnormal , and Lreg on the roof modeling dataset.
N
Chamfer ↓
Hausdorff ↓
F-score ↑
w.o.
1.69
1.90
76.71
w.
1.42
1.45
76.88
Table 5: Ablation study of progressive pruning on the roof modeling dataset.
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
Curve complexity measure
Notation
Bound
Underlying theorem
x -projection degree
D
M≥D
Bézout’s theorem
number of components
C
M≥2C
Harnack’s curve theorem
Appendix
Table 6: A few lower bounds on the precision complexity M of a patchwork representing a given bounded curve. The x -projection degree D is the maximal number of intersections of the curve with an y -parallel line. See Section 0.C for details.
Surface complexity measure
Bound
Underlying theorem
xy -projection degree
D
M≥D
Bézout’s theorem
number of components
C
M≥32C
Generalized Harnack Inequality
number of handles
G
M≥32(C+G)
[ 12 ] and Proposition 1
Appendix
Table 7: A few lower bounds on the precision complexity M of a patchwork representing a given closed surface. The xy -projection degree D is the maximal number of intersections of the surface with a z -parallel line. The number of handles G is the total genus of all the surface components. See Section 0.C for details.
Figure 8: Explicit extraction. The top row illustrates the patchwork extraction procedure, from left to right: 1) equality lines; 2) halfspace intersections with connectivity; 3) resulting interior candidate polygons; 4) resulting active segments. The bottom row shows extractions, interior candidate polyhedra, and tessellations for 3D cases. We use Qhull [ 2 ] for convex hull computation and Polycope [ 28 ] for visualization.
Figure 9: More qualitative results on the roof modeling dataset.
Figure 10: More qualitative results on the ABC dataset.
Figure 11: More qualitative results on the Thingi10K dataset.
Figure 12: Two failure cases of our method. Per row, from left to right, the pairs correspond to Ours Init, Ours, and GT.
Figure 13: Some 2D examples. Numbers indicate the number of parameters (i.e., 3× the number of design lines) needed to represent them as a patchwork.