<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>Image to Sphere: Learning Equivariant Features for Efficient Pose Prediction</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>2023</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10440087</idno>
					<idno type="doi"></idno>
					<title level='j'>ICLR</title>
<idno></idno>
<biblScope unit="volume"></biblScope>
<biblScope unit="issue"></biblScope>					

					<author>David Klee</author><author>Ondrej Biza</author><author>Robert Platt</author><author>Robin Walters</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[Predicting the pose of objects from a single image is an important but difficult computer vision problem. Methods that predict a single point estimate do not predict the pose of objects with symmetries well and cannot represent uncertainty. Alternatively, some works predict a distribution over orientations in SO(3). However, training such models can be computation-and sample-inefficient. Instead, we propose a novel mapping of features from the image domain to the 3D rotation manifold. Our method then leverages SO(3) equivariant layers, which are more sample efficient, and outputs a distribution over rotations that can be sampled at arbitrary resolution. We demonstrate the effectiveness of our method at object orientation prediction, and achieve state-of-the-art performance on the popular PASCAL3D+ dataset. Moreover, we show that our method can model complex object symmetries, without any modifications to the parameters or loss function.Code is available at https://dmklee.github.io/image2sphere.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">INTRODUCTION</head><p>Determining the pose of an object from an image is a challenging problem with important applications in artificial reality, robotics, and autonomous vehicles. Traditionally, pose estimation has been approached as a point regression problem, minimizing the error to a single ground truth 3D rotation. In this way, object symmetries are manually disambiguated using domain knowledge <ref type="bibr">(Xiang et al., 2018)</ref> and uncertainty is not accounted for. This approach to pose estimation cannot scale to the open-world setting where we wish to reason about uncertainty from sensor noise or occlusions and model novel objects with unknown symmetries.</p><p>Recent work has instead attempted to learn a distribution over poses. Single rotation labels can be modeled as random samples from the distribution over object symmetries, which removes the need for injecting domain knowledge. For instance, a table with front-back symmetry presents a challenge for single pose regression methods, but can be effectively modeled with a bimodal distribution. The drawback to learning distributions over the large space of 3D rotations is that it requires lots of data, especially when modeling hundreds of instances across multiple object categories. This poor data efficiency can be improved by constraining the weights to encode symmetries present in the problem <ref type="bibr">(Cohen &amp; Welling, 2016)</ref>. The pose prediction problem exhibits 3D rotational symmetry, e.g. the SO(3) abstract group. That is, if we change the canonical reference frame of an object, the predictions of our model should transform correspondingly. For certain input modalities, such as point clouds or 3D camera images, the symmetry group acts directly on the input data via 3D rotation matrices. Thus, many networks exploit the symmetry with end-to-end SO(3) equivariance to achieve sample efficient pose estimation. However, achieving 3D rotation equivariance in a network trained on 2D images is less explored. Thus, we present Image2Sphere, I2S, a novel method that learns SO(3)-equivariant features to represent distributions over 3D rotations. Features extracted by a convolutional network are projected from image space onto the half 2-sphere. Then, spherical convolution is performed on the features with a learned filter over the entire 2-sphere, resulting in a signal that is equivariant to 3D rotations. A final SO(3) group convolution operation produces a probability distribution over SO(3) parameterized in the Fourier domain. Our method can be trained to accurately predict object orientation and correctly express ambiguous orientations for objects with symmetries not specified at training time.</p><p>I2S achieves state-of-the-art performance on the PASCAL3D+ pose estimation dataset, and outperforms all baselines on the ModelNet10-SO(3) dataset. We demonstrate that our proposed architecture for learning SO(3) equivariant features from images empirically outperforms a variety of sensible, alternative approaches. In addition, we use the diagnostic SYMSOL datasets to show that our approach is more expressive than methods using parametric families of multi-modal distributions at representing complex object symmetries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Contributions:</head><p>&#8226; We propose a novel hybrid architecture that uses non-equivariant layers to learn SO(3)equivariant features which are further processed by equivariant layers. &#8226; Our method uses the Fourier basis of SO(3) to more efficiently represent detailed distributions over pose than other methods. &#8226; We empirically demonstrate our method is able to describe ambiguities in pose due to partial observability or object symmmetry unlike point estimate methods. &#8226; I2S achieves SOTA performance on PASCAL3D+, a challenging pose estimation benchmark using real-world images.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">RELATED WORK</head><p>6D Pose Estimation Predicting the 6D pose (e.g. 3D position and orientation) of objects in an image has important applications in fields like robotics <ref type="bibr">(Tremblay et al., 2018)</ref>, autonomous vehicles <ref type="bibr">(Geiger et al., 2012)</ref>, and microscopy <ref type="bibr">(Levy et al., 2022)</ref>. Most popular methods use deep convolutional networks, which are robust to occlusions and can handle multi-object scenes with a segmentation module <ref type="bibr">(He et al., 2017)</ref>. Convolutional networks have been trained using a variety of output formulations. <ref type="bibr">Xiang et al. (2018)</ref> regresses the 3D bounding box of the object in pixel space, while <ref type="bibr">He et al. (2020)</ref> predicts 3D keypoints on the object with which the pose can be extracted. Another line of work <ref type="bibr">(Wang et al., 2019;</ref><ref type="bibr">Li et al., 2019;</ref><ref type="bibr">Zakharov et al., 2019)</ref> outputs a dense representation of the object's coordinate space. Most of these methods are benchmarked on datasets with limited number of object instances <ref type="bibr">(Hinterstoisser et al., 2011;</ref><ref type="bibr">Xiang et al., 2018)</ref>. In contrast, our method is evaluated on datasets that have hundreds of object instances or novel instances in the test set. Moreover, our method makes minimal assumptions about the labels, requiring only a 3D rotation matrix per image regardless of underlying object symmetry.</p><p>Rotation Equivariance Symmetries present in data can be preserved using equivariant neural networks to improve performance and sample efficiency. For the symmetry group of 3D rotations, SO(3), a number of equivariant models have been proposed. equivariant embeddings from image input for object pose prediction; however, they use a supervised loss to replicate the embeddings of a spherical convolutional network pretrained on 3D images. In contrast, our method incorporates a novel architecture for achieving SO(3) equivariance from image inputs that can be trained end-to-end on the challenging pose prediction tasks.</p><p>Uncertainty over SO(3) Due to object symmetry or occlusion, there may be a set of equivalent rotations that result in the same object appearance, which makes pose prediction challenging. Most early works into object pose prediction have avoided this issue by either breaking the symmetry when labelling the data <ref type="bibr">(Xiang et al., 2014)</ref> or applying loss functions to handle to known symmetries <ref type="bibr">(Xiang et al., 2018;</ref><ref type="bibr">Wang et al., 2019)</ref>. However, this approach requires knowing what symmetries are present in the data, and does not work for objects that have ambiguous orientations due to occlusion (e.g. coffee mug when the handle is not visible). Several works have proposed models to reason about orientation uncertainty by predicting the parameters of von Mises <ref type="bibr">(Prokudin et al.,</ref> in terms of the spherical harmonics Y l k and for signals over <ref type="bibr">SO(3)</ref> in terms of Wigner D-matrix coefficients D l mn . Writing f : SO(3) &#8594; R in terms of the D l mn and then truncating to a certain frequency l &#8804; L we obtain an approximate representation f (g) &#8776; L l=0 2l+1 m=0 2l+1 n=0 c l mn D l mn (g). SO(3) group convolution (2) can be efficiently computed in the Fourier domain using the convolution theorem<ref type="foot">foot_0</ref> . Namely, the convolution of two functions is calculated as the element-wise product of the functions in the Fourier domain. For functions over SO(3), the Fourier domain is described by the Wigner D-matrix coefficients, corresponding to a block diagonal matrix with a (2l + 1) &#215; (2l + 1) block for each l <ref type="bibr">(Knapp, 1996)</ref>. A functions over S 2 in the Fourier domain is described by a vector of coefficients of spherical harmonics and convolution is performed using an outer product <ref type="bibr">(Cohen et al., 2018a)</ref>. This generates the same block diagonal matrix output as SO(3) convolution (e.g. both S 2 and SO(3) convolution generate signals that live on SO(3)). See <ref type="bibr">Geiger et al. (2022)</ref> for efficient implementation of Fourier and inverse Fourier transforms of S 2 and SO(3) signals.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">SO(3) DISTRIBUTIONS WITH THE FOURIER BASIS</head><p>The output of the above group convolution is a signal f : SO(3) &#8594; R defined as a linear combination of Wigner D-matrices. While this signal is useful for efficient group convolution, it cannot be directly normalized to produce a probability distribution. Instead, the signal can be queried at discrete points in SO(3) and then normalized using a softmax. To reduce errors introduced by the discretization, points should be taken from an equivolumetric grid. Equivolumetric grids over SO(3) can be generated using an extension of the HEALPix method developed by <ref type="bibr">Yershova et al. (2010)</ref>. The HEALPix method <ref type="bibr">(Gorski et al., 2005)</ref> starts with 12 'pixels' that cover the sphere, and recursively divides each pixel into four sections. The latitude and longitude of each pixel describe two Euler angles of a rotation. The extension to SO(3) specifies the final Euler angle in a way that the grid is equally-spaced in SO(3). The resolution of the final grid can be controlled by the number of recursions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">METHOD</head><p>Our method, Image2Sphere (I2S), is designed to predict object pose from images under minimal assumptions. Much previous work assumes objects with either no symmetry or known symmetry, and thus it is sufficient to output a single point estimate of the pose. Our method, in contrast, outputs a distribution over poses, which allows us to represent uncertainty due to partial observability and the inherent ambiguity in pose resulting from object symmetries. Recent work using distribution learning has suffered from difficulty in training multi-modal distributions and high data requirements. I2S circumvents these challenges by reasoning about uncertainty in the Fourier basis of SO(3), which is simple to train over and allows us to leverage equivariant layers for better data efficiency.</p><p>The I2S network consists of an encoder, a projection step, and a 2-layer spherical pose predictor (see Figure <ref type="figure">1</ref>). I2S generates SO(3) equivariant features from traditional convolutional network encoders. Our method then maps features from image space to the 2-sphere using an orthographic projection operation. Then, we perform two spherical convolution operations. Importantly, the output of the spherical convolution is a signal over the Fourier basis of SO(3), which can be queried in the spatial domain to create highly expressive distributions over the space of 3D rotations.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">MAPPING FROM IMAGE TO SPHERE</head><p>We use orthographic projection to map the output image feature map f : R 2 &#8594; R h from the ResNet to a spherical signal &#936; : S 2 &#8594; R h . Orthographic projection P : S 2 &#8594; R 2 defined P (x, y, z) = (x, y) maps a hemisphere onto the unit disk. By positioning the feature map f around the unit disk before projecting, we get a localized signal &#936;(x) = f (P (x)) supported over one hemisphere. The advantage of this method is that it preserves the spatial information of features in the original image. Practically, to compute &#936;, a HEALPix grid is generated over a hemisphere {x i } &#8834; S 2 and mapped to positions {P (x i )} in the image feature map. The value of &#936;(x i ) is interpolated from the value of f at pixels near position P (x i ). This process is illustrated in Figure <ref type="figure">2</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">EXPERIMENTS 5.1 DATASETS</head><p>To demonstrate the strengths of our method, we evaluate it on several challenging object orientation estimation datasets. Additional details can be found in Appendix B.2.</p><p>The first dataset, ModelNet10-SO(3) <ref type="bibr">(Liao et al., 2019)</ref>, is composed of rendered images of synthetic, untextured objects from ModelNet10 <ref type="bibr">(Wu et al., 2015)</ref>. The dataset includes 4,899 object instances over 10 categories, with novel camera viewpoints in the test set. Each image is labelled with a single 3D rotation matrix, even though some categories, such as desks and bathtubs, can have an ambiguous pose due to symmetry. For this reason, the dataset presents a challenge to methods that cannot reason about uncertainty over orientation.</p><p>Next, PASCAL3D+, <ref type="bibr">(Xiang et al., 2014)</ref>, is a popular benchmark for pose estimation that includes real images of objects from 12 categories. The dataset labels symmetric object categories in a consistent manner (e.g. bottles are symmetric about the z-axis, so label zero rotation about the z-axis), which simplifies the task. To improve accuracy, we follow the common practice of augmenting the training data with synthetic renderings from <ref type="bibr">Su et al. (2015)</ref>. Nevertheless, PASCAL3D+ still serves as a challenging benchmark due to the high variability of natural textures and presence of novel instances in the test set.</p><p>Lastly, the SYMSOL dataset was recently introduced by Murphy et al. ( <ref type="formula">2021</ref>) to evaluate the expressivity of methods that model distributions over 3D rotations. It includes synthetic renderings of objects split into two groups: geometric objects like the tetrahedron or cylinder with complex symmetries (SYMSOL I), and simple objects with single identifying feature such that the pose is ambiguous when the feature is occluded (SYMSOL II). The dataset provides the full set of equivalent rotation labels for each image so methods can be evaluated on how well they capture the distribution. Note that Murphy et al. ( <ref type="formula">2021</ref>) generates results using 100k renderings per shape, which we report as a baseline, but the publicly released dataset that we train on only includes 50k renderings per shape.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">EVALUATION METRICS</head><p>The goal of pose prediction is to minimize the angular error between the predicted 3D rotation and the ground truth 3D rotation. Two commonly used metrics are the median rotation error (MedErr) and the accuracy within a rotation error threshold (e.g. Acc@15 is the fraction of predictions with 15 degrees or less rotation error). However, these metrics assume that there exists a single, ground truth 3D rotation, which is not valid for symmetric objects or images with pose ambiguity. For ModelNet10-SO(3) and PASCAL3D+, only a single rotation is provided so these metrics must be used. However, when the full set of equivalent rotation labels are provided, like with SYMSOL, a more informative measure is the average log likelihood, computed as the expected log likelihood that the model, p &#952; , assigns to rotations sampled from the distribution of equivalent rotations p GT : E R&#8764;p GT [log p &#952; (R|x)]. Achieving high log likelihood requires modelling all symmetries of an object.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">NETWORK AND TRAINING DETAILS</head><p>I2S uses a residual network <ref type="bibr">(He et al., 2016)</ref> with weights pretrained on ImageNet <ref type="bibr">(Deng et al., 2009)</ref> to extract dense feature maps from 2D images. We use a ResNet50 backbone for ModelNet10-SO(3) and SYMSOL, and ResNet101 for PASCAL3D+. The orthographic projection uses a HEALPix grid with recursion level of 2, out of which 20 points are randomly selected during each forward pass. We parameterize the learned S 2 filter in the Fourier domain, e.g. learn weights for each spherical harmonic. The filter in the SO(3) convolutional layer is locally supported over rotations up to 22.5 degrees in magnitude. We query the signal in the spatial domain using SO(3) HEALPix grids with 36k points (7.5 degree spacing) during training and 2.4M (1.875 degree spacing) during evaluation. We use the same maximum frequency (L = 6) on all datasets. Additional details on the architecture can be found in Appendix B.1.</p><p>I2S is instantiated with PyTorch and the e3nn library <ref type="bibr">(Geiger et al., 2022)</ref>. It is trained using SGD with Nesterov momentum of 0.9 for 40 epochs using a batch size of 64. The learning rate starts at 0.001 and decays by factor of 0.1 every 15 epochs. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.7">SYMSOL</head><p>One of the strengths of our method is the ability to represent distributions over 3D rotations. As shown in the previous section, this formulation is beneficial when training on symmetric objects. In this section, we quantitatively evaluate the ability to model uncertainty in two settings: SYMSOL I which includes simple geometric objects with complex symmetries and SYMSOL II which has objects marked with a single identifier such that self-occlusion creates pose ambiguity. Because most images correspond to a set of equivalent rotation labels, we measure performance using average log likelihood, reported in Table <ref type="table">3</ref>.</p><p>The results show that our method effectively represents complex distributions over SO(3). We achieve higher log likelihood on all SYMSOL shapes than methods that map to a specific small family of distributions such as von Mises or Bingham. This highlights the advantage of parametrizing uncertainty in the Fourier basis of SO(3), which is a simpler approach that avoids training multimodal distributions. We note that Murphy et al. ( <ref type="formula">2021</ref>) outperforms our method when trained on 100k images per object; however, our method is better when trained on only 10k images per object. This demonstrates an important distinction between the two approaches: our method explicitly encodes the 3D rotation symmetry of the problem in the spherical convolutions, whereas Murphy et al. ( <ref type="formula">2021</ref>) must learn the symmetry from data. We argue that sample efficiency is important for real world applications since it is not practical to collect 100k images of an single object to model its symmetry.</p><p>We want to highlight that we use the same maximum frequency L for all experiments in this work which shows that I2S can be deployed without knowing if object symmetries are present in the task. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.8">COMPARISON OF ALTERNATIVE IMAGE TO SO(3) MAPPINGS</head><p>We argue that a main driver of our method's pose accuracy is SO(3)-equivariant processing. While many existing methods for end-to-end SO(3)-equivariance have been explored in the literature <ref type="bibr">(Fuchs et al., 2020;</ref><ref type="bibr">Deng et al., 2021;</ref><ref type="bibr">Cohen et al., 2018a)</ref>, it is not well-understood how to combine non-equivariant and equivariant layers in a network. In this section, we consider other sensible approaches to map from features in the image plane to features that live on SO(3) or a discrete subgroup of it. The approach taken by I2S is to perform orthographic projection to link features on the sphere to the image plane (spatial projection), then convolve it with a filter that is parametrized A DETAILED RESULTS</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A.1 MODELNET10-SO3 LIMITED TRAINING SET</head><p>We compare the sample efficiency of pose prediction methods by training on ModelNet10-SO(3) with limited training views in Table <ref type="table">5</ref>. Specifically, we reduce the number of training views from 100 per instance to 20 per instance. Our method outperforms the baselines by a larger margin in the low-data setting. This results highlights an important distinction between our and the baselines: our method explicitly encodes the 3D rotation symmetry present in the pose prediction problem, whereas other methods must learn the symmetry from data. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B.3 BASELINES</head><p>Here, we include details for baselines that we implemented ourselves. For information on other baselines, refer directly to their work. <ref type="bibr">Zhou et al. (2019)</ref> proposes using the Gram-Schmidt process to convert a 6D vector into a valid, 3x3 rotation matrix. To implement this network, we used a ResNet architecture with spatial pooling on the final feature map. The resulting vector was processed with two linear layers to generate the 6D vector. The model is trained with an L2 loss function using a ground truth rotation matrix. The method is trained on all classes at once, but uses a separate linear layer to predict the rotation of each class.</p><p>Br&#233;gier (2021) proposes using the Procrustes method to convert a 9D vector into a valid, 3x3 rotation matrix. They provide an efficient implementation of the Procrustes method. The architecture and loss function is the same as for <ref type="bibr">Zhou et al. (2019)</ref>, except the linear layer produces a 9D vector.</p><p>The original work of <ref type="bibr">Liao et al. (2019)</ref> only showed results for PASCAL3D+, which used an incorrect evaluation function as noted by <ref type="bibr">Murphy et al. (2021)</ref>. Thus, for PASCAL3D+, we used the results reported by Murphy et al. ( <ref type="formula">2021</ref>) with the corrected evaluation function. For ModelNet10-SO(3), we ran their code using a pretrained ResNet50 as an encoder.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B.4 CREATING VISUALS</head><p>We follow the visualization code that was publicly released by <ref type="bibr">Murphy et al. (2021)</ref> to represent distributions over 3D rotations as a 2D plot. The probability associated with each rotation is represented as a dot, with the size proportional the magnitude. The rotation is encoded by converting to XYX euler angles, the first two angles correspond to latitude and longitude in a Mollweide projection and the final angle is encoded as color using an HSV colormap. To make the visualizations more interpretable, we do not plot any probabilities less than a given threshold. In our visualizations, we generate probabilities associated with the SO(3) HEALPix grid used during model evaluation (recursion level of 5; 2.4M points).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C ADDITIONAL EXPERIMENTS C.1 EFFECT OF MAXIMUM FREQUENCY L</head><p>To efficiently perform SO(3) group convolutions, we must restrict our representations to in the frequency domain. Learning with lower frequency signals can be more efficient and may generalize better in some cases, while higher frequency signals may be better for encoding complex distributions like those shown in Figure <ref type="figure">4</ref>. In Table <ref type="table">7</ref>, we perform a small experiment showing the effects of different maximum frequencies, L, on pose prediction accuracy. Note that we use L = 6 for all other experiments in this work. Interestingly, we find that including higher frequencies in the representation, e.g. L &gt; 6 can actually reduce accuracy, despite the additional learnable parameters. Our method performs one S 2 convolution followed by one SO(3) convolution. In this section, we look at the performance benefits of this final refinement layer and potential benefits of an additional convolution. We find that the performing SO(3) convolution does lead to a marginal improvement, with little to be gained by performing more. This suggests that most of the SO(3) reasoning occurs within the first spherical convolution that uses a learned filter with global support.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0"><p>See Cohen et al. (2018a)  for explanation and visuals describing efficient SO(3) group convolution.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1"><p>https://e3nn.org</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2"><p>https://github.com/leoshine/Spherical_Regression</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3"><p>https://github.com/google-research/google-research/tree/master/ implicit_pdf</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4"><p>https://cvgl.stanford.edu/projects/pascal3d.html</p></note>
		</body>
		</text>
</TEI>
