  Defining and reliably finding a canonical orientation for 3D surfaces is key
to many Computer Vision and Robotics applications. This task is commonly
addressed by handcrafted algorithms exploiting geometric cues deemed as
distinctive and robust by the designer. Yet, one might conjecture that humans
learn the notion of the inherent orientation of 3D objects from experience and
that machines may do so alike. In this work, we show the feasibility of
learning a robust canonical orientation for surfaces represented as point
clouds. Based on the observation that the quintessential property of a
canonical orientation is equivariance to 3D rotations, we propose to employ
Spherical CNNs, a recently introduced machinery that can learn equivariant
representations defined on the Special Orthogonal group SO(3). Specifically,
spherical correlations compute feature maps whose elements define 3D rotations.
Our method learns such feature maps from raw data by a self-supervised training
procedure and robustly selects a rotation to transform the input point cloud
into a learned canonical orientation. Thereby, we realize the first end-to-end
learning approach to define and extract the canonical orientation of 3D shapes,
which we aptly dub Compass. Experiments on several public datasets prove its
effectiveness at orienting local surface patches as well as whole objects.
