Допустим, у меня есть набор из 5 маркеров. Я пытаюсь найти относительные расстояния между каждым маркером, используя систему дополненной реальности, такую как ARToolkit . В моем фиде камер первые 20 кадров показывают мне только первые 2 маркера, поэтому я могу выполнить преобразование между двумя маркерами. Вторые 20 кадров показывают мне только 2-й и 3-й маркеры и так далее. Последние 20 кадров показывают мне 5-й и 1-й маркеры. Я хочу построить 3D-карту положения маркеров всех 5 маркеров.
Мой вопрос заключается в том, что, зная, что с расстояниями из-за низкого качества видеопотока будут возникать неточности, как я могу минимизировать неточности, учитывая всю собранную информацию?
Мой наивный подход состоял бы в том, чтобы использовать первый маркер в качестве базовой точки, из первых 20 кадров взять среднее значение преобразований и поместить 2-й маркер и так далее для 3-го и 4-го. Для 5-го маркера поместите его между 4-м и 1-м, поместив его в середину среднего значения преобразований между 5-м и 1-м и 4-м и 5-м. Я чувствую, что этот подход смещен в сторону размещения первого маркера и не учитывает, что камера видит более 2 маркеров на кадр.
В конечном счете, я хочу, чтобы моя система могла составить карту с количеством маркеров. В любом данном кадре может появляться до x маркеров, и существуют несистемные ошибки из-за качества изображения.
Любая помощь относительно правильного подхода к этой проблеме будет принята с благодарностью.
Ответы:
Вы можете использовать структуру из алгоритма типа движения для оценки позы камеры из окружающей среды, а не по маркерам, а затем объединить эту позу камеры с позами маркера, чтобы точно определить местоположение маркеров. Зная внешнюю позу вашей камеры (от SFM), вы можете триангулировать все 3D-позиции.
Для оценки поз 5-точечные методы обычно более точны, чем 8-точечные алгоритмы.
Предположительно, вам следует выполнить дальнейшую настройку связки, чтобы повысить общую точность.
источник