@VioletKnight
Computer vision R&D

Есть ли какие-то опенсорсные решения для SLAM на мобильных платформах?

Всем привет!

Решаю задачу, которая сводится к локализации телефона на готовой 3D карте (feature points) по кадру с камеры. Конкретный сценарий примерно такой - заранее строится 3d карта (например через COLMAP, openMVG, orb-slam2 и т.д.), потом на телефоне при включенной AR-сессии (ARCore/ARKit) берутся кадры с камеры (раз в секунду, например), отправляются на сервер, где передаются алгоритму локализации, находится позиция телефона относительно карты в координатах карты, потом через матрицу камеры из AR-фреймворка находится матрица перехода из координат сессии в координаты карты.
На данный момент единственным рабочим вариантом оказался COLMAP - новый кадр просто добавляется в базу, проводится мапинг и bundle adjustment, больше половины кадров локализаются таким образом, но производительность не очень - там полносвязный матчинг SIFT-дескрипторов нового кадра с дескрипторами всех картинок, которые использовались для построения карты.
Использовался также orb-slam2 и его форки. Построить карту при съёмке обычной камерой смартфона как правило не удаётся - дико сбивается. Хорошо строит карту по съёмке камерой 360 Ricoh Theta Z, но локализовать по ней кадры или видео со смартфона тоже отказывается.

Собственно, вопросов несколько:
- можно ли заставить orb-slam2 работать с обычными камерами?
- есть ли какие-то другие SLAM-фреймворки, которые можно для этого использовать?
- нет ли какого-то альтернативного решения для данной задачи?

Буду рад любым инсайтам и замечаниям, а также ссылкам на полезные ресурсы или тематические комьюнити.

Заранее большое спасибо!
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы