Canonical Capsules: Self-Supervised Capsules in Canonical Pose

Weiwei Sun, Andrea Tagliasacchi, Boyang Deng, Sara Sabour, Soroosh Yazdani, Geoffrey Hinton, Kwang Moo Yi

Introduction

Understanding objects is one of the core problems of computer vision . While this task has traditionally relied on large annotated datasets , unsupervised approaches that utilize self-supervision have emerged to remove the need for labels. Recently, researchers have attempted to extend these methods to work on 3D point clouds , but the field of unsupervised 3D learning remains relatively uncharted. Conversely, researchers have been extensively investigating 3D deep representations for shape auto-encodingAuto-encoding is also at times referred to as “reconstruction” or “shape-space” learning. , making one wonder whether these discoveries can now benefit from unsupervised learning for tasks other than auto-encoding.

Importantly, these recent methods for 3D deep representation learning are not entirely unsupervised. Whether using point clouds , meshes , or implicits , they owe much of their success to the bias within the dataset that was used for training. Specifically, all 3D models in the popular ShapeNet dataset are “object-centric” – they are pre-canonicalized to a unit bounding box, and, even more importantly, with an orientation that synchronizes object semantics to Euclidean frame axes (e.g. airplane cockpit is always along +y+y, car wheels always touch z=0z=0). Differentiable 3D decoders are heavily affected by the consistent alignment of their output with an Euclidean frame as local-to-global transformations cannot be easily learnt by fully connected layers. As we will show in Section 4.2, these methods fail in the absence of pre-alignment, even when data augmentation is used. A concurrent work also recognizes this problem and proposes a separate learnt canonicalizer, which is shown helpful in downstream classification tasks.

In this work, we leverage the modeling paradigm of capsule networks . In capsule networks, a scene is perceived via its decomposition into part hierarchies, and each part is represented with a (pose, descriptor) pair: \raisebox{-.6pt}{1}⃝ The capsule pose specifies the frame of reference of a part, and hence should be transformation equivariant; \raisebox{-.6pt}{2}⃝ The capsule descriptor specifies the appearance of a part, and hence should be transformation invariant. Thus, one does not have to worry how the data is oriented or translated, as these changes can be encoded within the capsule representation.

We introduce Canonical Capsules, a novel capsule architecture to compute a K-part decomposition of a point cloud. We train our network by feeding pairs of a randomly rotated/translated copies of the same shape (i.e. siamese training) hence removing the requirement of pre-aligned training datasets. We then decompose the point cloud by assigning each point into one of the K parts via attention, which we aggregate into K keypoints. Equivariance is then enforced by requiring the two keypoint sets to only differ by the known (relative) transformation (i.e. a form of self-supervision). For invariance, we simply ask that the descriptors of each keypoint of the two instances match.

With Canonical Capsules, we exploit our decomposition to recover a canonical frame that allows unsupervised “object-centric” learning of 3D deep representations without requiring a semantically aligned dataset. We achieve this task by regressing canonical capsule poses from capsule descriptors via a deep network, and computing a canonicalizing transformation by solving a shape-matching problem . This not only allows more effective shape auto-encoding, but our experiments confirm this results in a latent representation that is more effective in unsupervised classification tasks. Note that, like our decomposition, our canonicalizing transformations are also learnt in a self-supervised fashion, by only training on randomly transformed point clouds.

propose an architecture for 3D self-supervised learning based on capsule decomposition;

enable object-centric unsupervised learning by introducing a learned canonical frame of reference;

achieve state-of-the-art performance 3D point cloud auto-encoding/reconstruction, canonicalization, and unsupervised classification.

Related works

Convolutional Neural Networks lack equivariance to rigid transformations, despite their pivotal role in describing the structure of the 3D scene behind a 2D image. One promising approach to overcome this shortcoming is to add equivariance under a group action in each layer . In our work, we remove the need for a global SE(3)\mathbf{SE}(3)-equivariant network by canonicalizing the input.

Capsule Networks have been proposed to overcome this issue towards a relational and hierarchical understanding of natural images. Of particular relevance to our work, are methods that apply capsule networks to 3D input data , but note these methods are not unsupervised, as they either rely on classification supervision , or on datasets that present a significant inductive bias in the form of pre-alignment . In this paper, we take inspiration from the recent Stacked Capsule Auto-Encoders , which shows how capsule-style reasoning can be effective as long as the primary capsules can be trained in a self-supervised fashion (i.e. via reconstruction losses). The natural question, which we answer in this paper, is “How can we engineer networks that generate 3D primary capsules in an unsupervised fashion?”

Deep 3D representations

Reconstructing 3D objects requires effective inductive biases about 3D vision and 3D geometry. When the input is images, the core challenge is how to encode 3D projective geometry concepts into the model. This can be achieved by explicitly modeling multi-view geometry , by attempting to learn it , or by hybrid solutions . But even when input is 3D, there are still significant challenges. It is still not clear which is the 3D representation that is most amenable to deep learning. Researchers proposed the use of meshes , voxels , surface patches , and implicit functions . Unfortunately, the importance of geometric structures (i.e. part-to-whole relationships) is often overlooked. Recent works have tried to close this gap by using part decomposition consisting of oriented boxes , ellipsoids , convex polytopes , and grids . However, as previously discussed, most of these still heavily rely on a pre-aligned training dataset; our paper attempts to bridge this gap, allowing learning of structured 3D representations without requiring pre-aligned data.

Canonicalization

One way to circumvent the requirement of pre-aligned datasets is to rely on methods capable of registering a point cloud into a canonical frame. The recently proposed CaSPR fulfills this premise, but requires ground-truth canonical point clouds in the form of normalized object coordinate spaces for supervision. Similarly, regresses each view’s pose relative to the canonical pose, but still requires weak annotations in the form of multiple partial views. C3DPO learns a canonical 3D frame based on 2D input keypoints. In contrast to these methods, our solution is completely self-supervised. The concurrent Compass also learns to canonicalize in a self-supervised fashion, but as the process is not end-to-end, this results in a worse performance than ours, as it will be shown in Section 4.3.

Registration

Besides canonicalization, many pairwise registration techniques based on deep learning have been proposed (e.g. ), even using semantic keypoints and symmetry to perform the task . These methods typically register a pair of instances from the same class, but lack the ability to jointly and consistently register all instances to a shared canonical frame.

Method

Our network trains on unaligned point clouds as illustrated in Figure 1: we train a network that decomposes point clouds into parts, and enforce invariance/equivariance through a Siamese training setup . We then canonicalize the point cloud to a learnt frame of reference, and perform auto-encoding in this coordinate space. The losses employed to train E\mathcal{E}, K\mathcal{K}, and D\mathcal{D}, will be covered in Section 3.1, while the details of their architecture are in Section 3.2.

Hence, as long as E\mathcal{E} is invariant w.r.t. rigid transformations of P\mathbf{P}, the pose θk\boldsymbol{\theta}_{k} will be transformation equivariant, and the descriptor βk\boldsymbol{\beta}_{k} will be transformation invariant. Note that this simplifies the design (and training) of the encoder E\mathcal{E}, which only needs to be invariant, rather than equivariant .

Canonicalization

Because fully connected layers are biased towards learning low-frequency representations , this regressor also acts as a regularizer that enforces semantic locality.

Auto-encoding

Finally, in the learnt canonical frame of reference, to train the capsule descriptors via auto-encoding, we reconstruct the point clouds with per-capsule decoders Dk\mathcal{D}_{k}:

where ∪\cup denotes the union operator. The canonicalizing transformation Tˉ=(Rˉ,tˉ)\bar{\mathbf{T}}=(\bar{\mathbf{R}},\bar{\mathbf{t}}) can be readily computed by solving a shape-matching problem , thanks to the property that our capsule poses and regressed keypoints are in one-to-one correspondence:

While the reconstruction in (4) is in canonical frame, note it is trivial to transform the point cloud back to the original coordinate system after reconstruction, as the transformation Tˉ−1\bar{\mathbf{T}}^{-1} is available.

1 Losses

As common in unsupervised methods, our framework relies on a number of losses that control the different characteristics we seek to obtain in our representation. Note none of these losses require ground truth labels. We organize the losses according to the portion of the network they supervise: decomposition, canonicalization, and reconstruction.

While a transformation invariant encoder architecture should be sufficient to achieve equivariance/invariance, this does not prevent the encoder from producing trivial solutions/decompositions once trained. As capsule poses should be transformation equivariant, the poses of the two rotation augmentations θka\boldsymbol{\theta}_{k}^{a} and θkb\boldsymbol{\theta}_{k}^{b} should only differ by the (known) relative transformation:

Conversely, capsule descriptors should be transformation invariant, and as the two input points clouds are of the same object, the corresponding capsule descriptors β\boldsymbol{\beta} should be identical:

We further regularize the capsule decomposition to ensure each of the KK heads roughly represent the same “amount” of the input point cloud, hence preventing degenerate (zero attention) capsules. This is achieved by penalizing the attention variance:

where ak=Σp(Ap,k)a_{k}=\Sigma_{p}(\mathbf{A}_{p,k}) denotes the total attention exerted by the k-th head on the point cloud.

Finally, to facilitate the training process, we ask for capsules to learn a localized representation of geometry. We express the spatial extent of a capsule by computing first-order moments of the represented points with respect to the capsule pose θk\boldsymbol{\theta}_{k}:

Canonicalization

To train our canonicalizer K\mathcal{K}, we relate the predicted capsule poses to regressed canonical capsule poses via the optimal rigid transformation from (5):

Recall that Rˉ\bar{\mathbf{R}} and Tˉ\bar{\mathbf{T}} are obtained through a differentiable process. Thus, this loss is forcing the aggregated pose θk\boldsymbol{\theta}_{k} to agree with the one that goes through the regression path, θˉk\bar{\boldsymbol{\theta}}_{k}. Now, since θˉk\bar{\boldsymbol{\theta}}_{k} is regressed solely from the set of capsule descriptors, similar shapes will result in similar canonical keypoints, and the coordinate system of θˉk\bar{\boldsymbol{\theta}}_{k} is one that employs Euclidean space to encode semantics.

Reconstruction

To learn canonical capsule descriptors in an unsupervised fashion, we rely on an auto-encoding task. We train the decoders {Dk}\{\mathcal{D}_{k}\} by minimizing the Chamfer Distance (CD) between the (canonicalized) input point cloud and the reconstructed one, as in :

2 Network Architectures

We briefly summarize our implementation details, including the network architecture; for further details, please refer to the supplementary material.

Our architecture is based on the one suggested in : a pointnet-like architecture with residual connections and attentive context normalization. We utilize Batch Normalization instead of the Group Normalization , which trained faster in our experiments. We further extend their method to have multiple attention maps, where each attention map corresponds to a capsule.

Decoder – 𝒟𝒟\mathcal{D}

The decoder from (4) operates on a per-capsule basis. Our decoder architecture is similar to AtlasNetV2 (with trainable grids). The difference is that we translate the per-capsule decoded point cloud by the corresponding capsule pose.

Regressor – 𝒦𝒦\mathcal{K}

We concatenate the descriptors and apply a series of fully connected layers with ReLU activation to regress the PP capsule locations. At the output layer we use a linear activation and subtract the mean of the outputs to make our regressed locations zero-centered in the canonical frame.

Canonicalizing the descriptors

As our descriptors are only approximately rotation invariant (via Linvariance\mathcal{L}_{\text{invariance}}), we found it useful to re-extract the capsule descriptors βk\boldsymbol{\beta}_{k} after canonicalization. Specifically, we compute Fˉ\bar{\mathbf{F}} with the same encoder setup, but with Pˉ=RˉP+Tˉ\bar{\mathbf{P}}{=}\bar{\mathbf{R}}\mathbf{P}{+}\bar{\mathbf{T}} instead of P\mathbf{P} and use it to compute βˉk\bar{\boldsymbol{\beta}}_{k}; we validate this empirically in the supplementary material.

Results

We first discuss the experimental setup, and then validate our method on a variety of tasks: auto-encoding, canonicalization, and unsupervised classification. While the task differs, our learning process remains the same: we learn capsules by reconstructing objects in a learnt canonical frame. We also provide an ablation study, which is expanded in detail in the supplementary material, where we provide additional qualitative results.

To evaluate our method, we rely on the ShapeNet (Core) dataset Available to researchers for non-commercial research and educational use.. We follow the category choices from AtlasNetV2 , using the airplane and chair classes for single-category experiments, while for multi-category experiments we use all 1313 classes: airplane, bench, cabinet, car, chair, monitor, lamp, speaker, firearm, couch, table, cellphone, and watercraft. To make our results most compatible with those reported in the literature, we also use the same splits as in AtlasNetV2 : 3174731747 shapes in the train, and 79437943 shapes in the test set. Unless otherwise noted, we randomly sample 10241024 points from the object surface for each shape to create our 3D point clouds.

As discussed in the introduction, ShapeNet (Core) contains substantial inductive bias in the form of consistent semantic alignment. To remove this bias, we create random SE(3)\mathbf{SE}(3) transformations, and apply them to each point cloud. We first generate uniformly sampled random rotations, and add uniformly sampled random translations within the range [−0.2,0.2][-0.2,0.2], where the bounding volume of the shape ranges in [−1,+1][-1,+1]. Note the relatively limited translation range is chosen to give state-of-the-art methods a chance to compete with our solution. We then use the relative transformation between the point clouds extracted from this ground-truth transformation to evaluate our methods. We refer to this unaligned version of the ShapeNet Core dataset as the unaligned setup, and using the vanilla ShapeNet Core dataset as the aligned setup. For the aligned setup, as there is no need for equivariance adaptation, we simply train our method without the random transformations, and so Lequivariance\mathcal{L}_{\text{equivariance}} and Linvariance\mathcal{L}_{\text{invariance}} are not used. This setup is to simply demonstrate how Canonical Capsules would perform in the presence of a dataset bias.

We emphasize here that a proper generation of random rotation is important. While some existing works have generated them by uniformly sampling the degrees of freedom of an Euler-angle representation, this is known to be an incorrect way to sample random rotations , leading to biases in the generated dataset; see the supplementary material.

Implementation details

For all our experiments we use the Adam optimizer with an initial learning rate of 0.0010.001 and decay rate of 0.10.1. We train for 325325 epochs for the aligned\it aligned setup to match the AtlasNetV2 original setup. For the unaligned\it unaligned setting, as the problem is harder, we train for a longer number of 450450 epochs. We use a batch size of 16. The training rate is ∼\sim2.5 iters/sec. We train each model on a single NVidia V100 GPU. Unless stated otherwise, we use k=10k{=}10 capsules and capsule descriptors of dimension C=128C{=}128. We train three models with our method: two that are single-category (i.e., for airplane and chairs), and one that is multi-category (i.e., all 13 classes). To set the weights for each loss term, we rely on the reconstruction performance (CD) in the training set. We set weights to be one for all terms except for Lequivariance\mathcal{L}_{\text{equivariance}} (5) and Lequilibrium\mathcal{L}_{\text{equilibrium}} (10−310^{-3}). In the aligned case, because Lequivariance\mathcal{L}_{\text{equivariance}} and Linvariance\mathcal{L}_{\text{invariance}} are not needed (always zero), we reduce the weights for the other decomposition losses by 10310^{3}; Llocalization\mathcal{L}_{\text{localization}} to 10−310^{-3} and Lequilibrium\mathcal{L}_{\text{equilibrium}} to 10−610^{-6}.

2 Auto-encoding – Figure 2 and Table 4.1

We evaluate the performance of our method for the task that was used to train the network – reconstruction / auto-encoding – against three baselines (trained in both single-category and multi-category variants): \raisebox{-.6pt}{1}⃝ 3D-PointCapsNet , an auto-encoder for 3D point clouds that utilize a capsule architecture; \raisebox{-.6pt}{2}⃝ AtlasNetV2 , a state-of-the-art auto-encoder which utilizes a multi-head patch-based decoder; \raisebox{-.6pt}{3}⃝ AtlasNetV2 with a spatial-transformer network (STN) aligner from PointNet , a baseline with canonicalization. We do not compare against , as unfortunately source code is not publicly available.

We achieve state-of-the-art performance in both the aligned and unaligned settings. The wider margin in the unaligned setup indicates tackling this more challenging scenario damages the performance of AtlasNetV2 and 3D-PointCapsNet much more than our methodResults in this table differ slightly from what is reported in the original papers as we use 1024 points to speed-up experiments throughout our paper. However, in the supplementary material the same trend holds regardless of the number of points, and match with what is reported in the original papers with 2500 points.. We also include a variant of AtlasNetV2 for which a STN (Spatial Transformer Network) is used to pre-align the point clouds , demonstrating how the simplest form of pre-aligner/canonicalizer is not sufficient.

Qualitative analysis – Figure 2

We illustrate our decomposition-based reconstruction of 3D point clouds, as well as the reconstructions of 3D-PointCapsNet and AtlasNetV2 . As shown, even in the unaligned\it unaligned setup, our method is able to provide semantically consistent capsule decompositions – e.g. the wings of the airplane have consistent colours, and when aligned in the canonical frame, the different airplane instances are well-aligned. Compared to AtlasNetV2 and 3D-PointCapsNet , the reconstruction quality is also visibly improved: we better preserve details along the engines of the airplane, or the thin structures of the bench; note also that the decompositions are semantically consistent in our examples. Results are better appreciated in our supplementary material, where we visualize the performance as we continuously traverse SE(3)\mathbf{SE}(3).

3 Canonicalization – Table 2

We compare against three baselines: \raisebox{-.6pt}{1}⃝ Deep Closest Points , a deep learning-based pairwise point cloud registration method; \raisebox{-.6pt}{2}⃝ DeepGMR a state-of-the-art pairwise registration method that decomposes clouds into Gaussian mixtures and utilizes Rigorously Rotation-Invariant (RRI) features ; \raisebox{-.6pt}{3}⃝ Compass a concurrent work on learnt alignment/canonicalization. For all compared methods we use the official implementation. For DeepGMR we use both RRI and the typical XYZ coordinates as input. We also try our method with the RRI features, following DeepGMR’s training protocol and train for 100 epochs.

To evaluate the canonicalization performance, we look into the stability of the canonicalization – the shakiness shown in the videos in our supplementary material– represented as the mean standard deviation of the rotations (mStd):

where ∠\angle is the angular distance between two rotation matrices , Rij\mathbf{R}^{ij} is the rotation matrix of the jj-th instance of the ii-th object in canonical frame, and Rmeani{\mathbf{R}}_{mean}^{i} is the mean rotation of the ii-th object. Note that with mStd we measure the stability of canonicalization with respect to rotations to accommodate for methods that do not deal with translation . To allow for comparisons with pairwise registration methods, we also measure performance in terms of the RMSE metric .

Quantitative analysis – Table 2

Compared to Compass , our method provides improved stability in canonicalization. This also provides an advantage in pairwise registration, delivering state-of-the-art results when XYZ-coordinates are used. Note that while pairwise methods can align two sets of given point clouds, creating a canonical frame that simultaneously registers all point clouds is a non-trivial extension to the problem.

When RRI is used as input, our method is on par with DeepGMR , up to a level where registration is near perfect – alignment differences when errors are in the 10−410^{-4} ballpark are indiscernible. We note that the performance of Deep Closest Points is not as good as reported in the original paper, as we uniformly draw rotations from SO(3)\mathbf{SO}(3). When a sub-portion of SO(3)\mathbf{SO}(3) is used, e.g. a quarter of what we are using, DCP performs relatively well (0.008 in the multi-class experiment). While curriculum learning could be used to enhance the performance of DCP, our technique does not need to rely on these more complex training techniques.

We further note that, while RRI delivers good registration performance, using RRI features cause the learnt canonicalization to fail – training becomes unstable. This hints that RRI features may be throwing away too much information to achieve transformation invariance. Our method using raw XYZ coordinates as input, on the other hand, provides comparable registration performance, and is able to do significantly more than just registration (i.e. classification, reconstruction).

4 Unsupervised classification – Table 4.4

Beyond reconstruction and canonicalization, we evaluate the usefulness of our method via a classification task that is not related in any way to the losses used for training. We compute the features from the auto-encoding methods from Section 4.2 against those from our method (where we build features by combining pose with descriptors) to perform 1313-way classification with two different techniques:

We train a supervised linear Support Vector Machine (SVM) on the extracted features [1, Ch. 7];

We perform unsupervised K-Means clustering [1, Ch. 9] and then label each cluster via bipartite matching with the actual labels through the Hungarian algorithm.

Note the former provides an upper bound for unsupervised classification, while better performance on the latter implies that the learnt features are able to separate the classes into clusters that are compact (in an Euclidean sense).

Note how our method provides best results in all cases, and when the dataset is not unaligned the difference is significant. This shows that, while 3D-PointCapsNet and AtlasNetV2 (with and without STN) are able to somewhat auto-encode point clouds in the unaligned\it unaligned setup, what they learn does not translate well to classification. However, the features learned with Canonical Capsules are more related to the semantics of the object, which helps classification.

Analysis of results – K-Means

The performance gap becomes wider when K-Means is used – even in the aligned\it aligned case. This could mean that the features extracted by Canonical Capsules are better suited for other unsupervised tasks, having a feature space that is close to being Euclidean in terms of semantics. The difference is striking in the unaligned\it unaligned setup. We argue that these results emphasize the importance of the capsule framework – jointly learning the invariances and equivariances in the data – is cardinal to unsupervised learning .

5 Ablation study

To make the computational cost manageable, we perform all ablations with the airplane category (the category with most instances), and in the unaligned\it unaligned setup (unless otherwise noted). Please also see supplementary material for more ablation studies.

We analyze the importance of each loss term, with the exception of Lrecon\mathcal{L}_{\text{recon}} which is necessary for training. All losses beneficially contribute to reconstruction performance, but note how Lequiv\mathcal{L}_{\text{equiv}}, Llocalization\mathcal{L}_{\text{localization}} and Lequilibrium\mathcal{L}_{\text{equilibrium}} affect it to a larger degree. By considering our canonicalization metric, we can motivate this outcome by observing that the method fails to perform canonicalization when these losses are not employed (i.e. training collapses).

Encoder architecture – Table 4.5

Our method can be used with any backbone, as our main contribution lies in the self-supervised canonicalization architecture. For completeness, we explore variants of our method using different back-bones: PointNet , PointNet++ , DGCNN , and ACNe . Among these, the ACNe backbone performs best; note that all the variants in Table 4.5, regardless of backbone choice, significantly outperforms all other methods reported in Table 4.1.

Conclusions

In this paper, we provide a self-supervised framework to train primary capsule decompositions for 3D point clouds. We rely on a Siamese setup that allows self-supervision and auto-encoding in canonical space, circumventing the customary need to train on pre-aligned datasets. Despite being trained in a self-supervised fashion, our representation achieves state-of-the-art performance across auto-encoding, canonicalization and classification tasks. These results are made possible by allowing the network to learn a canonical frame of reference. We interpret this result as giving our neural networks a mechanism to construct a “mental picture” of a given 3D object – so that downstream tasks are executed within an object-centric coordinate frame.

As many objects have natural symmetries that we do not consider at the moment , providing our canonicalizer a way to encode such a prior is likely to further improve the representation. We perform decomposition at a single level, and it would be interesting to investigate how to effectively engineer multi-level decompositions ; one way could be to over-decompose the input in a redundant fashion (with large KK), and use a downstream layers that “selects” the decomposition heads to be used . We would also like to extend our results to more “in-the-wild” 3D computer vision and understand whether learning object-centric representations is possible when incomplete (i.e., single view or occluded) data is given in input, when an entire scene with potentially multiple objects is given , or where our measurement of the 3D world is a single 2D image , or by exploiting the persistence of objects in video .

Broader impact

While our work is exclusively on 3D shapes, and thus not immediately subject to any societal concerns, it enhances how Artificial Intelligence (AI) can understand and model 3D geometry. Thus, similar to how image recognition could be misused, one should be careful when extending the use of our method. In addition, while not subject to how the data itself is aligned, the learnt canonical frame of our method is still data-driven, thus subject to any data collection biases that may exist – canonicalization will favour shapes that appear more often. This should also be taken into account with care to prevent any biased decisions when utilizing our method within a decision making AI platform.

Acknowledgements

This work was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) Discovery Grant, NSERC Collaborative Research and Development Grant, Google, Compute Canada, and Advanced Research Computing at the University of British Columbia.

References

Appendix A Architectural details

We detail our architecture design for the capsule encoder E\mathcal{E}, the decoder D\mathcal{D} and the regressor K\mathcal{K}.

We then compute the moments that are used to normalize in ACN, but now for each attention head:

which we then use to normalize and aggregate (sum) to get our final normalized feature map:

where ϵ=0.001\epsilon=0.001 is to avoid numerical instabilities.

A.2 Capsule Decoder – 𝒟𝒟\mathcal{D}

A.3 Regressor– 𝒦𝒦\mathcal{K}

Appendix B Additional ablation studies

For completeness, we further show qualitative results for auto-encoding on an aligned dataset, the most common setup of prior works in the literature. As shown in Figure 3, our method provides best reconstruction performance even in this case; for quantitative results, please see Table 4.1. Interestingly, while our decoder architecture is similar to AtlasNetV2 , our reconstructions are of much higher quality; our methods provides finer details at the propellers on the airplane, at the handle of the firearm, and at the back of the chair. This further supports the effectiveness of our capsule encoding.

Number of points P𝑃P – Table B

To speed-up experiments we have mostly used P=1024P{=}1024, but in the table we show that our findings are consistent regardless of the number of points used. Note that the results of AtlasNetV2 are very similar to what is reported in the original paper. The slight differences exist due to random subsets that were used in AtlasNetV2.And to a minor bug in the evaluation code (i.e. non deterministic test set creation) that we have already communicated to the authors of .

Effect of number of capsules – Table B

To verify how the number of capsules affect performance, we test with varying the number of capsules. We keep the representation power constant by reducing the dimension of descriptors as more capsules are used; for example, with 10 capsules we use a 128-dimensional descriptor, with 20 we use 64, and with 5, we use 256. Our experimental results show that representation with 10 capsules achieves the best performance. Note that our method, even with the sub-optimal number of capsules, still outperforms compared methods by a large margin.

Increasing the number of capsules w/ fixed descriptor dimension – Table B

We also report the performance for the increasing number of capsules while keeping descriptor dimension fixed. Note this is different from Table B, as in that setting the overall network capacity was kept fixed, but here it grows linearly to the number of capsules. As shown in the Table B, unsurprisingly, more capsules lead to better reconstruction performance as the network capacity is enhanced.

One-shot canonicalization – Table B

A naive alternative to our learnt canonicalizer would be to use one point cloud as a reference to align to. Using the canonicalizer provides improved reconstruction performance over this naïve approach, removes the dependency on the choice of the reference point cloud, and allows our method to work effectively when dealing with multi-class canonicalization.

Canonical descriptors – Table B

We evaluate the effectiveness of the descriptor enhancement strategy described in Section 3.2. We report the reconstruction performance with and without the enhancement. Recomputing the descriptor in canonical frame helps when dealing with the unaligned\it unaligned setup. Note that even without this enhancement, our method still outperforms the state-of-the-art.

Using Lcanonical\mathcal{L}_{\text{canonical}} is required to achieve the best performance; see the inset table. However, the reconstruction loss Lrecon\mathcal{L}_{\text{recon}} alone is able to guide canonicalization up to some degree. It is worth noting that excluding Lrecon\mathcal{L}_{\text{recon}}, thus training the canonicalization component in a standalone fashion, unsurprisingly provides best mStd performance. Thus, this could be an alternative strategy to train our framework, should one not require end-to-end differentiability. Nonetheless, our observations still hold and our method delivers the best performance (including when compared to Compass ) with all losses enabled.

Supervising the attention’s invariance

Since θ\boldsymbol{\theta} is inferred by weighted averaging of P\mathbf{P} with the attention map A\mathbf{A} in (2), we also considered directly adding a loss on A\mathbf{A} that enforces invariance instead of a loss on θ\boldsymbol{\theta}. This variant degrades only slightly in terms reconstruction (CD=1.13CD{=}1.13, where ours provides CD=1.11CD{=}\bf 1.11) but performs very poorly when canonicalizing (mStd=94.906\text{mStd}{=}94.906 vs mStd=8.278\text{mStd}{=}\bf 8.278 of ours). We hypothesize that this is because Lequivariance\mathcal{L}_{\text{equivariance}} directly supervises the end-goal (capsule pose equivariance) whereas supervising A\mathbf{A} is an indirect one.

Random sampling of rotations – Figure 4

Lastly, we revisit how rotations are randomly sampled to generate the augmentations used by Siamese training. Uniform sampling of Euler angles (i.e., yaw,pitch,roll) leads to a non-uniform coverage of the SO(3) manifold as shown in Figure 4 (a). Due to this non-uniformity, the reconstruction quality is biased with respect to test-time rotations; see Figure 4 (b). Instead, by properly sampling the reconstruction performance is much more uniform across the manifold; see see Figure 4 (c) In our experiments, this leads to a significant difference in auto-encoding performance; CD=1.11CD{=}\bf 1.11 with proper uniform sampling vs CD=1.19CD{=}1.19 with the Euclidean random sampling.

Large range of random translations – Table B

We increase the range of random translations ([−0.2,0.2][-0.2,0.2] in the original paper). As shown in the Table B, we observe the negligible changes in reconstruction performance (CD) with larger random translations.

Appendix C Per-class results for auto-encoding

In addition to the auto-encoding results in Table 4.1, we provide per-class performance for the models trained with multiple categories. As shown in Table C, we achieve the best performance for all classes.