Как рассчитать относительный масштаб из двух основных матриц, которые разделяют вид с камеры? - PullRequest
1 голос
/ 06 октября 2019

Я понимаю, что масштаб, представленный фундаментальной матрицей F AB между двумя ракурсами камеры A и B, верен только в масштабе (т. Е. Вы не знаете,Вы, например, смотрите на маленькие деревья вблизи или на большие деревья подальше).

Однако, учитывая три пункта a , b , c и две фундаментальные матрицы F AB и F BC , должны иметь возможность соотносить их относительные масштабы. Моя первая мысль - просто выбрать две функции, которые существуют во всех трех видах, и рассчитать их расстояние, используя F AB и F BC и разделите их. Может быть, усреднение по всем функциям, которые существуют во всех трех представлениях? Я на правильном пути или есть лучший способ сделать это?

1 Ответ

1 голос
/ 06 октября 2019

Если вам известны внутренние параметры камер, вы можете оценить трехмерные точки с помощью триангуляции. Имея известное расстояние d (a, b) между точками a и b, вы можете непосредственно оценить масштабный коэффициент s с помощью s = d (a, b) / d (a ', b'), где d (a ', b') - расстояние между триангулированными точками. Если произвольный масштаб приемлем, вы можете использовать расстояние d (a ', b') от другой пары в качестве эталона. Для надежности рассчитайте масштабный коэффициент, используя точки, и используйте среднее значение в качестве конечного масштабного коэффициента.

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

...