R
R
Roman Bazhenov2020-04-20 11:17:14
OpenCV
Roman Bazhenov, 2020-04-20 11:17:14

Are there any open source solutions for SLAM on mobile platforms?

Hello!

I'm solving a problem that boils down to localizing a phone on a finished 3D map (feature points) based on a frame from a camera. The specific scenario is something like this - a 3d map is built in advance (for example, through COLMAP, openMVG, orb-slam2, etc.), then on the phone, with the AR session (ARCore / ARKit) enabled, frames are taken from the camera (once a second, for example) , are sent to the server, where they are passed to the localization algorithm, the position of the phone relative to the map is found in map coordinates, then the transition matrix from session coordinates to map coordinates is found through the camera matrix from the AR framework.
At the moment, COLMAP turned out to be the only working option - the new frame is simply added to the database, mapping and bundle adjustment are carried out, more than half of the frames are localized in this way, but the performance is not very good - there is a fully connected matching of the SIFT descriptors of the new frame with the descriptors of all the pictures that were used for building a map.
Orb-slam2 and its forks were also used. As a rule, it is not possible to build a map when shooting with a regular smartphone camera - it gets wildly lost. It builds a map well based on shooting with a 360 Ricoh Theta Z camera, but it also refuses to localize frames or video from a smartphone using it.

Actually, there are several questions:
- is it possible to make orb-slam2 work with regular cameras?
- are there any other SLAM frameworks that can be used for this?
Is there any alternative solution for this problem?

I will be glad to any insights and comments, as well as links to useful resources or thematic communities.

Thank you very much in advance!

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question