Как оценить 3D-позу с помощью 2D-трекинга и исходной 3D-позы

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


person hby001    schedule 04.09.2014    source источник
comment
Нельзя вычислить 3D-позу из 2D-движения, если в движении нет ограничений (например, движение в 2D-плоскости). Но в области психологии Джеймс Гибсон проанализировал, как точки изображения ведут себя при движении камеры. Эта информация об оптическом потоке может быть полезна.   -  person Micka    schedule 04.09.2014
comment
@Мика Спасибо за ответ. Но как насчет того, известна ли начальная 3D-поза?   -  person hby001    schedule 04.09.2014


Ответы (2)


Когда вы знаете 3D-местоположение ваших характерных точек в некоторой фиксированной системе координат, то при перемещении камеры все, что вам действительно нужно сделать, это оценить положение камеры и применить обратное преобразование, чтобы узнать текущее положение объекта. в текущей системе отсчета. Такие проблемы известны как проблемы Pn-P. Существует огромное количество работ по этому поводу, но одна из недавних статей по этой теме, которая обещает эффективный алгоритм для оценки позы, — http://cvlabwww.epfl.ch/~lepetit/papers/lepetit_ijcv08.pdf

Вы также можете использовать cv::solvePnP

person Ajay    schedule 05.09.2014

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

person Dima    schedule 04.09.2014