Skip to main content

About Maps

Recall the last time you have visited somewhere new? You are ready to visit a recommended attraction. What would you do? Read a map, find the street names, distinct landmarks nearby, then locate and orientate yourself and you’re able to navigate to the destination.

When you visited the same attraction a few times, you may be able to go to the location without checking up the map anymore. How? Since you’ve created a mental map by memorizing street names, distinct landmarks where everything is relative to each other.

This is exactly the same idea of how computers create maps. However, computers cannot recognize street names and distinct landmarks by simply looking at them. Therefore, we create feature points for the computers to recognize and create a 3D points map.

Feature Points

ios-arm64-arch

Extracting feature points

ios-arm64-arch

Feature matching: Recognition of feature points

To read more, please refer to OpenCV’s Feature Detection, Feature Description, Feature Matching

What Is a Map

A map contains 3D points and camera poses.

Creating a map

White points are feature points
Green objects are camera poses

Visualize 3D Objects on the Real-World

Overlay 3D object on camera image ⇒ Not realistic

Need to know the position of the camera with respect to the object for all frames

Understand the Spatial Environment

The locate and orientate, so-called relocalization, means that you had a scanned map already and all you have to do is find out where you’re on the map.

Relocalization: locate and orientate the camera pose, to understand the spatial environment. To read more, see Concept of Relocalization.

White camera perspective: Not relocalized
Red camera perspective: Relocalized