ReFineR: Single image to dense point cloud registration at pixel level with point splatting


BMVC 2026


Insalaco Ugo1, 2, Deschaud Jean Emmanuel1, Dellenbach Pierre2
1Mines Paris - PSL 2Chapsvision


Abstract

Cameras and LiDARs (Light Detection and Ranging) provide complementary observations of the same scene: cameras capture rich appearance cues while LiDAR sensors provide accurate geometric measurements. In this work, we address the problem of fine image-to-point cloud registration from a single image and a roughly estimated camera pose. On robotic platforms, residual reprojection errors of several pixels are commonly observed even after calibration due to temporal desynchronization, mechanical vibrations, or inaccuracies in point cloud reconstruction. Such errors can lead to decimeter-level geometric discrepancies at moderate distances and significantly affect multiple downstream tasks, such as dense cross-modal supervision, texture mapping, and semantic label transfer. To address this challenge, we introduce ReFineR: an offline framework to finely register individual images to pre-reconstructed point clouds. ReFineR builds upon differentiable point splatting rasterization and a smooth Gradient Orientation Measure (GOM) to iteratively refine the camera pose through analysis-by-synthesis optimization. We evaluated the method on a curated dataset of manually calibrated images collected from heterogeneous data sources. Furthermore, we show that an automatic point cloud rescale factor can be estimated prior to optimization, enabling robust refinement across a wide range of scenarios using a single scale-invariant formulation.

Intensity registration

Normals registration

BibTeX

@article{Insalaco2026,
  title = {ReFineR: Single image to dense point cloud registration at pixel level with point splatting},
  shorttitle = {ReFineR},
  author = {Insalaco, Ugo and Deschaud, Jean-Emmanuel and Dellenbach, Pierre},
  date = {2026},
  journaltitle = {2026 The British Machine Vision Conference (BMVC)},
  url = {https://refiner-project.github.io/}
}