Supplementary Material for
Deep Marching Cubes: Learning Explicit Surface Representations
Yiyi Liao1,2
Simon Donné1,3Andreas Geiger1,41Autonomous Vision Group, MPI for Intelligent Systems and University of Tübingen2
Institute of Cyber-Systems and Control, Zhejiang University
3
4
imec - IPI - Ghent University
CVG Group, ETH Zürich{yiyi.liao,simon.donne,andreas.geiger}@tue.mpg.deAbstract
In this supplementary document, we first present implementation details for the experiments in the main paper. Then weshow more qualitative results for estimating 3D shape from unstructured point cloud. We further demonstrate that our method
is able to “lift” the binary occupancy maps to sub voxel resolution by learning to regress the 3D shape from the occupancy
map.

1. Implementation Details
1.1. Deep Marching Squares
The marching cubes algorithm can be easily adapted to 2D, where the topology encodes the number and connectivity ofline segments in each 2D cell. Similarly, our Deep Marching Cubes can also be applied in 2D, resulting in an algorithm
which we refer to as Deep Marching Squares. Specifically, we estimate the occupancy field O ∈ [0, 1]N ×N and the vertex
displacement field X ∈ [0, 1]N ×N ×2 . There are 22 = 4 occupancy variables corresponding to the 4 corners of a grid cell, andthe number of all possible topologies is 24 = 16. Again, we only consider the 14 singly connected topologies (highlighted inyellow in Fig. 1).

1.2. Network Architecture
We show the details of our Deep Marching Cubes network architecture in Fig. 2. Following common practice [1, 5], We
exploit skip connections to preserve details. The decoder head is split into two branches for estimating the occupancy field
O and the vertex displacement field X. Note that we apply feature concatenation to these two branches individually.

1.3. Hyperparameters
The hyperparameters in our experiments are specified in Table 1. We use the Adam optimizer [3], and we train the networkfor 20 epochs.

Figure 1: Surface Topologies for the Deep Marching Squares Algorithm in 2D. There are 24 = 16 possible topologies.
In this paper, we consider all singly connected topologies (highlighted in yellow).
1BN, Relu

Sigmoid

BN, Relu

DeConv1_2'
32,3,3x3x3

Sigmoid

DeConv1_1'
32,32,3x3x3

DeConv1_2
32,1,3x3x3

DeConv1_1
32,32,3x3x3

UnpoolConcatBN, Relu

ConcatBN, Relu

BN, Relu

DeConv2_2'
64,16,3x3x3

UnpoolBN, Relu

Concat

DeConv2_1'
64,64,3x3x3

DeConv2_2
64,16,3x3x3

DeConv2_1
64,64,3x3x3

UnpoolConcatBN, Relu

BN, Relu

DeConv3_2
128,32,3x3x3

DeConv3_1
128,128,3x3x3

UnpoolConcatBN, Relu

BN, Relu

DeConv4
128,64,3x3x3

PoolConv4
64,128,3x3x3

BN, Relu

BN, ReluConv3_2
64,64,3x3x3

Pool

Conv3_1
32,64,3x3x3

BN, Relu

BN, Relu

Conv2_2
32,32,3x3x3

Pool

Conv2_1
16,32,3x3x3

BN, Relu

BN, Relu

Conv1_2
16,16,3x3x3

Conv1_1
16,16,3x3x3Relu

FC2
256,16FC1
3,256

GridPooling

Figure 2: Detailed Network Architecture. We specify the input channel, output channel and kernel size for all convolution
and deconvolution layers. We apply Batch Normalization [2] and ReLU [4] after each convolution and deconvolution layer.
Description

Notation

Valuew1w2w3w41.0/N 30.4/N 3
0.6/N 3
0.6/N 35e − 48mesh

Weight on L
Weight on Locc
Weight on Lsmooth
Weight on Lcurve
Learning rate
Batch size

Table 1: Hyperparameters.
ChamferOccupancy + MCTSDF + MCTSDF (weighted) + MC
Ours

0.277
0.271
0.276
0.265

Accuracy Complete.
0.217
0.191
0.200
0.211

0.337
0.350
0.352
0.318

Table 2: 3D Shape Prediction from Occupancy Maps.

2. 3D Shape Prediction from X
In this section, we show more qualitative results for reconstructing 3D shapes from unstructured point clouds. In addition,
we show that our method can be applied to other input modalities such as volumetric occupancy maps.

2.1. 3D Shape from Point Cloud
Fig. 3 illustrates more 3D shapes predicted from point cloud. For car and sofa, we rendered the objects from two views forclarity. As can be seen, our method performs better in preserving details, such as the wheels of cars (row 1-2 in (a)), the legsof the sofa (row 1-2 in (b)) and the top of the bottles (row 2-3 in (c)). Our method is also robust to objects with holes such ascars missing windows (row 3 in (a)), and objects with irregular shapes (row 4-5 in (a)). More interestingly, our method canpredict the complete object shape when the car underbody is partially missing (row 6-10 in (a)) or completely missing (row11-12 in (a)), or in the presence of thin surfaces such as in the sofa example (row 3-5 in (b)), while the baseline methods failcompletely. Further note that our method not only predicts the observed part when the car underbody is completely missing,but also reconstructs a reasonable underbody, demonstrating the ability of our model to learn reasonable 3D shape models
even in the presence of sparse, noisy and incomplete ground truth.

2.2. 3D Shape from Occupancy
Our approach can also be used to “lift” binary occupancy grids to sub-voxel accurate meshes. For this experiment, wereplace the point encoder by a standard volumetric encoder which takes a binary occupancy map as input. We train this voxel
super-resolution network using the point cloud derived from the high resolution mesh. As the input occupancy map might beincorrect when the object is not closed as shown in Fig. 3, we filtered the occupancy maps by selecting an object only when
its occupied region is larger than a given threshold (2% of the full cube).
Again, We compare with the occupancy and TSDF prediction baselines. The results are shown in Table 2 and a qualitative
comparison is presented in Fig. 4. Our method achieves best performance in terms of the Chamfer distance. Note that ourmethod reduces both accuracy and completeness distances compared to the occupancy baseline, which means we effectively
learn a sub-voxel accurate mesh given the binary occupancy grids, while the TSDF baselines sacrifices completeness toachieve a higher accuracy. As can be seen from the qualitative comparison in Fig. 4, our method learns to complete thewheels (row 1-4) and fill missing windows (row 5-8) even when this information is missing from the input. Further note that
our method is able to predict a complete shape even when there is a larger part missing in the input (row 9-12).

References[1] A. Dosovitskiy, P. Fischer, E. Ilg, P. Haeusser, C. Hazirbas, V. Golkov, P. v.d. Smagt, D. Cremers, and T. Brox. Flownet: Learning
optical flow with convolutional networks. In Proc. of the IEEE International Conf. on Computer Vision (ICCV), 2015. 1[2] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proc. of theInternational Conf. on Machine learning (ICML), 2015. 2[3] D. P. Kingma and J. Ba. Adam: A method for stochastic optimization. In Proc. of the International Conf. on Learning Representations(ICLR), 2015. 1[4] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. of the International Conf. on Machinelearning (ICML), 2010. 2[5] G. Riegler, A. O. Ulusoy, and A. Geiger. Octnet: Learning deep 3d representations at high resolutions. In Proc. IEEE Conf. on
Computer Vision and Pattern Recognition (CVPR), 2017. 1

Input Points

Occ+MCwTSDF+MCOurs

Ground Truth

Occ+MCwTSDF+MCOurs

Ground Truth

Occ+MCwTSDF+MCOurs

Ground Truth(a) CarInput Points

Occ+MCwTSDF+MCOurs

Ground Truth(b) SofaInput Points

Occ+MCwTSDF+MCOurs

Ground Truth(c) Bottle

Figure 3: 3D Shape Prediction from Point Clouds. Here, wTSDF+MC denotes the weighted TSDF baseline.

Input Occ

Occ+MCwTSDF+MCOurs

Figure 4: 3D Shape Prediction from Occupancy.

Ground Truth