2013-07-24 4 views
3

Я пытаюсь создать набор данных изображений объектов в разных позах, где каждое изображение аннотируется с позе камеры (или позе объекта).Компьютерное зрение: пометка камеры позы

Если, например, у меня есть мировая система координат, и я помещаю объект интереса в начало координат и размещаю камеру в известном положении (x, y, z) и делаю ее лицом к началу координат. Учитывая эту информацию, как я могу рассчитать позу (матрицу вращения) для камеры или для объекта.

У меня была одна идея, которая должна была иметь опорную координату i.e. (0,0, z '), где я могу определить поворот объекта. то есть его наклоном, шагом и рыскангом. Тогда я могу вычислить поворот из (0,0, z ') и (x, y, z), чтобы дать мне поворотную матрицу. Проблема в том, как теперь объединить две матрицы вращения?

BTW, я знаю положение камеры в мире, поскольку я визуализирую их с помощью OpenGL из модели САПР, а не для физического перемещения камеры.

ответ

1

Матрица гомографии отображает между однородными координатами экрана (i, j) в однородные координаты мира (x, y, z).

однородные координаты являются нормальными координатами с 1 добавленным. Итак, (3,4) в экранных координатах (3,4,1) в качестве однородных экранных координат.

Если у вас есть набор однородных координат экрана, S и связанные с ними однородные места мира, ЗД 4x4 гомография матрица удовлетворяет

S * H ​​= транспонировать (W)

Так это сводится к нахождение нескольких функций в мировых координатах, вы также можете определить положение i, j в координатах экрана, а затем сделать «наилучшую подходящую» гомографическую матрицу (openCV имеет функцию findHomography)

Несмотря на то, достаточно, чтобы полностью ограничить уравнение, и вам придется генерировать больше s в любом случае, пары creen-world. Таким образом, я не думаю, что это стоит того, чтобы интегрировать положение камер в микс.

Я сделал аналогичный эксперимент здесь: http://edinburghhacklab.com/2012/05/optical-localization-to-0-1mm-no-problemo/

Смежные вопросы