Матрица проецирования камеры корректно воспроизводится, но извлекается неверное внутреннее значение - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу преобразовать 3D-точки в 2D-точки в пространстве изображения. Согласно книге Хартли и Циссермана Multiview Geometry, нам нужно всего лишь 6 баллов для расчета проективной матрицы камеры с помощью DLT, и я сделал это. С помощью матрицы я могу точно перепроецировать точки.

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

Ниже приведеноПример внутреннего параметра, который я могу извлечь

10502.9 , -257.128 , 1831.12 

0      ,  10425.8  ,  -390.996

0      ,   0     , 1        

Размер датчика / пиксель моей камеры составляет 1,85 мкм, поэтому мое фокусное расстояние, рассчитанное с помощью внутреннего параметра, составляет около 19 мм, но согласно спецификации поставщика оно составляетоколо 16мм.

Я хотел бы прояснить некоторые сомнения по поводу

  1. Является ли вычисление моего фокусного расстояния правильным и почему некоторые значения внутренних параметров являются отрицательными.

  2. Действительно ли 6 точек достаточно для создания модели камеры? Несмотря на то, что матрица проецирования моей камеры работает, почему извлекаемые внутренние параметры все еще неверны.

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2019

Ваше вычисление фокусного расстояния является приближением первого порядка, так как оно игнорирует нелинейные искажения. Также ваш результат имеет довольно большое недиагональное значение (-257,1, или ~ 2,5% фокусного расстояния), что выглядит подозрительно.

Шесть точек - это минимум. Обычно вы следуете процедуре калибровки, которая автоматически обнаруживает и сопоставляет гораздо большее число точек на изображении на калибровочной цели (так называемой «буровой установке») известной геометрии, например плоской шахматной доске. Это приводит к «усреднению» ошибок в смысле наименьших квадратов. Оптимизатор калибровки также обычно использует робустификатор для (попытки) удаления или уменьшения веса при обнаружении / совпадении ошибочных точек («выбросы»). Процедура подходит для модели объектива, которая обычно включает нелинейные условия искажения.

Вы можете проверить этот другой ответ для получения более подробной информации о соответствующей процедуре.

...