Skip to content

Geo registration Tutorial

Jonathan Ventura edited this page Apr 28, 2015 · 7 revisions

VRLT includes programs to register a 3D reconstruction with OpenStreetMap data.

  1. The first step of geo-registration is to align the 3D model's up vector with gravity using the EstimateVertical program. This will finding vertical line segments, estimate the common vertical vanishing point, and rotate the model to match.

  2. The next step is to find the ground plane using EstimateGround. This program uses a simple heuristic to find the ground plane. Specifically, it collects the distribution of height values of the point cloud and uses a percentile value of this distribution as the ground height. The reconstruction is then translated vertically to make the estimate ground coincide with zero height. Use MakePLY to output a 3D model and check it in MeshLab (use Render->Show Axis to see where the origin is). The third argument to EstimateGround changes the percentile used to estimate the ground height.

  3. Using the OpenStreetMap web interface, locate the reconstructed area in the map view. Click the Export tab at the top and then click the Export button in the left frame. The downloaded map.osm.xml file contains building outlines for the selected area.

  4. Now it is possible to register the reconstruction with OpenStreetMap data using the AlignOSM program. This will perform a 2D alignment (translation and rotation). However, it needs a manual initialization. For this, the program displays the 3D point cloud (as black dots) and the OpenStreetMap building outlines. Use the following keys to align the reconstruction with the map:

  • a/z zoom in/out
  • k/i move up/down
  • K/I move up/down slowly
  • j/l move left/right
  • J/L move left/right slowly
  • w/s scale up/down
  • t/r rotate right/left
  • b run automatic non-linear refinement -- can hold this down until it converges
  • q save result and quit
  1. After AlignOSM, the reconstruction will be correctly translated, rotated and scaled to be geo-registered and in meter units. Because storing and using the reconstruction in actual UTM coordinates leads to precision issues, center coordinates in UTM is removed from the reconstruction and stored in the XML header.
Clone this wiki locally