  Establishing a consistent normal orientation for point clouds is a
notoriously difficult problem in geometry processing, requiring attention to
both local and global shape characteristics. The normal direction of a point is
a function of the local surface neighborhood; yet, point clouds do not disclose
the full underlying surface structure. Even assuming known geodesic proximity,
calculating a consistent normal orientation requires the global context. In
this work, we introduce a novel approach for establishing a globally consistent
normal orientation for point clouds. Our solution separates the local and
global components into two different sub-problems. In the local phase, we train
a neural network to learn a coherent normal direction per patch (i.e.,
consistently oriented normals within a single patch). In the global phase, we
propagate the orientation across all coherent patches using a dipole
propagation. Our dipole propagation decides to orient each patch using the
electric field defined by all previously orientated patches. This gives rise to
a global propagation that is stable, as well as being robust to nearby
surfaces, holes, sharp features and noise.
