Feature-Preserving Mesh Decimation for Normal Integration

Motivation
Normal integration reconstructs 3D surfaces from normal maps obtained e.g. by photometric stereo. These normal maps capture surface details down to the pixel level but require large computational resources for integration at high resolutions. In this work, we replace the dense pixel grid with a sparse anisotropic triangle mesh prior to normal integration. We adapt the triangle mesh to the local geometry in the case of complex surface structures and remove oversampling from flat featureless regions. For high-resolution images, the resulting compression reduces normal integration runtimes from hours to minutes while maintaining high surface accuracy.
Overview
Our algorithm iteratively refines an existing triangle mesh in screen space based on the observed surface normals from photometric stereo. We initialize this triangle mesh by covering each foreground pixel with two triangles. We then repeatedly
- Collapse Edges that are inconsequential for the surface shape,
- Align Edges with ridges and furrows of the underlying surface and
- Move Vertices onto ridges and furrows.
The result is triangle mesh that is much sparser than the original pixel grid and well-adapted to represent the underyling surface after normal integration.
Result
Our results show that careful alignment of vertices and edges to ridges and furrows of the underlying surface is key to surpassing the quality of previous methods and maintaining high geometric faithfulness even at high compression ratios. Conversely, we achieve comparable results to pixel-based methods at moderate compression ratios. Our method is versatile and allows balancing runtime and quality. It can be adjusted to the needs of almost any photometric stereo pipeline. We included mesh files in the supplementary material to give an impression of the quality of our method.
Citation
@article{heep2025feature,
title={Feature-Preserving Mesh Decimation for Normal Integration},
author={Heep, Moritz and Behnke, Sven and Zell, Eduard},
journal={arXiv preprint arXiv:2504.00867},
year={2025}
}