Я пытаюсь оценить оценку позиции (фактически [0]: 3DOF] вращение - все, что мне нужно) от планарного маркера с 4 углами = 4 копланарных точки.
До сегодняшнего дня я был под впечатлением от всего, что я читал, что вы всегда будете вычислять гомографию (например, используя DLT) и разлагать эту матрицу с использованием различных доступных методов (Faugeras, Zhang, аналитический метод, который также описан в this post here on stackexchange) и уточнить его, используя нелинейную оптимизацию, если это необходимо.Путаница о методах оценки позы
Первый второстепенный вопрос: если это аналитический метод (просто взяв два столбца из матрицы и создав из них ортонормированную матрицу, приводящую к желаемой матрице вращения), что нужно оптимизировать? Я пробовал это в Matlab, и результат плохо дрожит, поэтому я могу ясно видеть, что результат не идеален или даже достаточен, но я также не понимаю, почему нужно было бы использовать довольно дорогие и сложные SVD, используемые Faugeras и Zhang если этот простой метод дает результаты уже.
Затем существуют методы оценки итеративной позы, такие как алгоритм ортогональной итерации (OI) Лу и др. или алгоритм оценки надежной позы Швайгофера и Пинца, где даже не упоминается слово «гомография». Все, что им нужно, это оценка начальной позы, которая затем оптимизируется (эталонная реализация в Matlab, выполненная Schweighofer, использует алгоритм OI, например, который сам использует какой-то метод на основе SVD).
Моя проблема: все, что я читал до сих пор, было «4 очка? Гомография, гомография, гомография. Распад? Ну, сложно, в общем, не уникально, несколько методов. Теперь этот итеративный мир открывается, и я просто не могу связать эти два мира в моей голове, я не совсем понимаю их отношение. Я не могу даже четко сформулировать свою проблему, я просто надеюсь, что кто-то поймет, где я.
Я был бы очень благодарен за намек или два.
Редактировать: Правильно ли сказать: 4 точки на плоскости и их изображение связаны гомографией, то есть 8 параметрами. Поиск параметров позы маркера можно сделать путем вычисления и разложения матрицы гомографии с помощью Faugeras, Zhang или прямого решения, каждый из которых имеет свои недостатки. Это также может быть сделано с использованием итеративных методов, таких как алгоритм OI или Schweighofer, которые ни в коем случае не вычисляют матрицу гомографии, а просто используют соответствующие точки и требуют начальной оценки (для которой можно было бы использовать начальное предположение из разложения гомографии).
Мы должны начать с основами. У вас уже есть эти хорошие 4 угла? Если это так, делать нечего, проблема уже решена. Что произойдет, если вы не сможете точно определить эти четыре точки? Теперь другие подходы имеют смысл, не так ли? – mmgp
Хм, найти эти 4 угловые точки - вопрос обработки изображений, не так ли? Я использую алгоритм обнаружения прямоугольника, используемый ARToolKitPlus, так что да, дайте или возьмите несколько пикселей шума, у меня есть 4 угла. Но ни один из этих алгоритмов не помогает мне найти углы, но в использовании этих угловых координат, чтобы найти позу. Я не вижу, как итеративный алгоритм может улучшить точность моих угловых точек в любом случае, ведь все изображение у меня есть. – Garp
Я только что понял, что я не написал явно, что мне нужно вращение вокруг трех осей, а не только по оси z (с плоскостью маркера при z = 0), и в этом случае, конечно, проблема будет «решена уже» с 4 угловых точки. Это то, что вы говорили? – Garp