Оценка T и R по существенной матрице - PullRequest
6 голосов
/ 09 сентября 2010

Я создал простое тестовое приложение для выполнения перевода ( T ) и вращения ( R ) из основной матрицы.

  1. Создание 50 случайных Точки .
  2. Расчет проекции ТочкаSet1 .
  3. Преобразование Точки через матрицу ( R | T ).
  4. Рассчитать новую проекцию pointSet2 .
  5. Затем вычислите фундаментальную матрицу F .
  6. Извлечение необходимой матрицы, например E = K2^T F K1 (K1, K2 - внутренние матрицы камеры).
  7. Используйте SVD для получения UDV^T.

и рассчитать restoredR1 = UWV^T, restoredR2 = UW^T.И видите, что один из них равен начальному R .

Но когда я вычисляю вектор перевода, restoredT = UZU^T, я нормализуюсь T .

restoredT*max(T.x, T.y, T.z) = T

Как восстановить правильный вектор перевода?

1 Ответ

1 голос
/ 10 сентября 2010

Я понимаю!Мне не нужна реальная оценка длины на этом этапе.Когда я получаю первое изображение, я должен установить метрическое преобразование (масштабный коэффициент) или оценить его по калибровке известного объекта.После, когда я получаю второй кадр, я вычисляю нормированный T и, используя известные 3d-координаты из первого кадра, решить уравнение (sx2, sy2, 1) = K (R | lambda T) (X, Y, Z);и найди лямбду - чем лямбда Т будет правильным переводом метрики ...

Я проверю, и это правда / Так ... может, кто знает более простое решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...