Where am I?

At Scape, we’ve initially focused on one sub-section of computer vision called ‘localization’ — that is, determining the position of a device in the world.

Specifically, we’re focussed on providing centimetre-level location accuracy outdoors and at an infinitely large scale.

As discussed in the previous post, accurately determining the position of a device is vital for many industries including augmented reality, self-driving cars and robotics.

Various types of ‘Fiducial Markers’

To simplify the task of recognising a camera’s location within a scene, in the past, computer vision researchers relied on visual tags or ‘fiducial markers’. These image markers, similar to ‘QR Codes’, are easy for cameras to recognise due to their high contrast and simple pattern.

Having identified a visual marker, a camera system can then calculate where the camera must be in relation to that marker, given how the marker appears in both shape and size.

Sadly for computer vision researchers, however, the world is not painted with predefined and easy to recognise image markers. In reality, the real world is infinitely more complex.

Scenes change in appearance during the course of a day.

For one thing, the world outside is constantly changing. If you look out the window, it’s likely that the scene you see looks a lot different than it looked a few hours ago, at least from the perspective of a camera. In the real world, environmental changes like light conditions can drastically change how a scene appears to a computer.

Seasons and weather can also impact how a scene appears to a camera

Also consider how changing environmental conditions, like rain, snow, sun or cloud can alter the appearance of a location over time.

This combination of environmental factors is the reason why, if you capture a location using existing augmented reality SDKs such as ARCore or ARKit today, your device may not recognise the same scene when visited just minutes later. Indeed, if you visit Apple’s website documenting the use of ARKit, you will see the specific notice below, warning that ARKit will be unable to recognise the same scene, as environmental conditions change.

Apple’s warning about relocalizing ARKit over periods of time

This is because, using existing SDKs alone, the 1’s and 0’s your camera perceives, look too different to be recognisable.