Могу ли я оценить позу камеры / внешние параметры, используя известные размеры объекта вместо плоскости?

Я, возможно, назвал это плохо, если кто-то хочет предложить лучший вопрос, я изменю это:)

Ранее я успешно откалибровал камеру, используя плоскость заземления с известными мировыми измерениями, но сейчас я пытаюсь понять, могу ли я рассчитать внешние характеристики камеры (внутренние характеристики известны), исходя из простой идентификации объекта в 2D, когда я знаю его высоту.

Объект в мировом пространстве с известными размерами и обнаруженный объект в пространстве экранаЧестно говоря, я думаю, что это можно сделать с помощью тригонометрии, но я пока не понял этого...

Может быть, я могу построить треугольники между двумя объектами и определить расстояние над земной плоскостью, а затем выполнить нормальную оценку позы, когда у меня будет неопределенная плоскость?

Я искал, но не нашел никаких ссылок на алгоритмы для этого из этого подхода... Это можно сделать?

1 ответ

Единственное, что вы можете сделать, если объекты, стоящие на плоскости и имеющие одинаковую высоту, - это определить точки схода или, другими словами, точки, где параллельные линии сходятся на горизонте (Бесконечность). Почему это полезно? Рассмотрим матрицу проекции P, внутреннюю матрицу A(надеюсь, известную) и матрицу R|T, которую вы ищете.

P = A * R|T и R|T = A-1 P

Из точек схода на бесконечности вы можете определить P. Точки на бесконечности обладают свойством, что их последняя однородная координата равна нулю. Например, p = [1, 0, 0, 0]T - точка схода в направлении x, поэтому, когда вы приведете ее к декартовым координатам, вы получите [1/0, 0/0, 0/0] = [Inf, 0, 0]. Теперь, если вы умножите матрицу проекции 3x4 на эту точку справа, вы получите первый столбец P. По той же монете, обнаружив точки схода в направлениях y и z, вы получите второй и третий столбцы P. Последний столбец это положение вашего центра камеры P*[0 0 0 1]T

Другие вопросы по тегам