Перейти к содержимому
Compvision.ru
Виталий

Поиск положения камеры, image based localization

Recommended Posts

Как по координатам нескольких точек трехмерной сцены и координатам их изображения при проецировании найти положение камеры?

Например, есть скриншот компьютерной игры на котором имеются некоторые предметы, положение которых мы знаем на 3d сцене. Как востановить координаты камеры на 3d сцене?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гуглите по ключевому слову monoSLAM (Monocular Simultaneous Localisation And Mapping) или просто SLAM (Simultaneous Localisation And Mapping).

Полезный сайтик: http://openslam.org/

Еще хорошая книжка есть "Probabilistic robotics".

На сайте книги есть свободно скачиваемые презентации (в том числе slam.ppt).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо. Почти то что мне нужно. Я думаю, что достаточно использовать surf дескрипторы, расчитанные в 3d пространстве.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

openslam вроде как по серии картинок позволяет построить 3Д карту помещения, если я правильно понял.

Как по координатам нескольких точек трехмерной сцены и координатам их изображения при проецировании найти положение камеры?

Например, есть скриншот компьютерной игры на котором имеются некоторые предметы, положение которых мы знаем на 3d сцене. Как востановить координаты камеры на 3d сцене?

вообще не очень понятна постановка задачи, мы знаем какая 3Д сцена и имеет какой то скриншот.

или мы знаем какая 3Д сцена и знаем соответствия точек на сцене и скриншоте?

или не знаем всю 3Д сцену.

мне почему то кажется, что ответ может быть не во всех случаях однозначный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Задача как раз в этом и состоит - ориентация на местности по предварительно составленной карте. Плюс уточнение карты при последующих измерениях.

Задача 1: Составить 3d карту по набору картинок(видеозапись) при достаточно точно заданных положениях камеры.

Задача 2: По построенной карте и фотографии местности найти положение камеры.

Задача 3(желательно): уточнять карту после первой съемки параллельно с вычислением ее ориентации.

SLAM практически это и делает, только я не до конца понял реализацию алгоритма.

Думаю сделать так:

-на самой первой записи(при известном положении камер) найти SURf дескрипторы на всех изображениях.

-найти соответствующие дескрипторы на нескольких подряд идущих кадрах.

-вычислить 3d координаты каждого дескриптора, который найден на нескольких фотографиях(мы знаем положения камер и коодинаты дескриптора на каждом кадре). Набор 3d дескрипторов и будет составлять карту.

-найти дескрипторы на изображении с камеры, положении которой хотим вычислить.

-найти соответствие дескрипторов карты и дескрипторов на изображении. Тут как раз и возникает задача о которой я писал - известны координаты дескрипторов на изображении, известны их координаты в 3d пространстве, нужно - определить положение камеры.

Описал достаточно подробно. какие есть соображения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
-на самой первой записи(при известном положении камер) найти SURf дескрипторы на всех изображениях.

-найти соответствующие дескрипторы на нескольких подряд идущих кадрах.

-вычислить 3d координаты каждого дескриптора, который найден на нескольких фотографиях(мы знаем положения камер и коодинаты дескриптора на каждом кадре). Набор 3d дескрипторов и будет составлять карту.

ну да вроде так стандартно и делают, только я с 3Д координатами не работал.

интересно можно ли восстановить местность не зная положения камер, а имея только картинки.

http://grail.cs.washington.edu/rome/ тут вроде только картинки используют, хотя может там в exif еще и gps информация хранилась.

-найти дескрипторы на изображении с камеры, положении которой хотим вычислить.

-найти соответствие дескрипторов карты и дескрипторов на изображении. Тут как раз и возникает задача о которой я писал - известны координаты дескрипторов на изображении, известны их координаты в 3d пространстве, нужно - определить положение камеры.

я предполагаю, что задача сводится к матчингу дескрипторов плоскости к дескрипторам в 3Д пространстве.

опять же тут можно почитать http://grail.cs.washington.edu/rome/rome_paper.pdf , используют ANN и RANSAC.

вот вроде на основе этого все сделано http://phototour.cs.washington.edu/bundler/

тут вообще готовое решение с гуями

http://www.cs.washington.edu/homes/ccwu/vsfm/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подумал и мне кажется, что если восстанавливать только из картинок могут быть неопределенности(например обходим камерой вокруг столба)

а если знаем точку с которой снимали, то все должно определятся однозначно. (хотя может все таки чего то и не учел)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поиск относительного положения камеры и известного объекта выполняется через SolvePnP:

Описание здесь: http://www.compvision.ru/forum/index.php?showtopic=897

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×