Вопрос по OpticalFlow.

Вопрос по OpticalFlow.

Сообщение Vorral » 11 окт 2011, 14:02

В процессе разработки алгоритма OpticalFlow, возникло несколько вопросов. Как правильнее определить положение камеры и всех особенных точек, если учесть, что эти точки могут быть частью движущихся объектов??

P.S. Пример вычисления особенных точек(центр виртуального круга в квадратах) приложил в виде картинок.
Вложения
aba10.JPG
aba9.JPG
aba8.JPG
aba7.JPG
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Вопрос по OpticalFlow.

Сообщение =DeaD= » 11 окт 2011, 15:00

Что такое правильней? И какое определение особых точек имеется в виду? Их же полно разных вариантов, в англоязычной вики вроде неплохой обзор по ним?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Вопрос по OpticalFlow.

Сообщение Vorral » 11 окт 2011, 15:19

Я имел ввиду другое. Особенные точки я выделяю и сравниваю, они на приведённых изображениях выделяются квадратами одинакового цвета. Пускай их пока не так много и есть ошибки, над этим работаю. Вопрос заключается как по этим точкам определить как переместилась камера? Ведь они в зависимости от типа перемещения камеры и своей удалённости, перемещаются по разному. Поэтому и привёл примеры изображения разных ситуаций. Т.е. по большому счёту, как по опорным точкам в двух изображениях сделать 3Д реконструкцию и вычислить перемещение координат камеры и её направления.
Vorral
 
Сообщения: 873
Зарегистрирован: 11 сен 2008, 17:18
Откуда: Москва
прог. языки: Delphi
ФИО: Владислав

Re: Вопрос по OpticalFlow.

Сообщение =DeaD= » 11 окт 2011, 16:36

Допустим параметры камеры (FOV и всякие коэф. искажения) мы знаем.

Тогда решение "в лоб":
1. Входных параметров 4*N, где N - количество точек.
2. Неизвестных 3*N+6 (координаты каждой точки относительно камеры в первом кадре + матрицы сдвига и вращения камеры в 3D-пространстве во втором кадре относительно своего положения в первом кадре).

Т.е. теоретически тупо строим систему уравнений и находим нечто, наиболее похожее на решение.
Строить с ходу её сейчас не возьмусь :)

Но реально будет так, что часть из N точек будут на движущихся объектах или вообще хаотичны.

Поэтому если в кадре будет слишком много точек не из ландшафта - они всё испортят.

Как вариант - найти первое решение, выкинуть ту часть точек, которая наиболее далека от него и повторить поиск решения.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов


Вернуться в Компьютерное зрение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4