На днях я поговорил с инженером, и мы оба были в тупике по вопросу, связанному с настройкой комплекта. Для освежения, вот хорошая ссылка с описанием проблемы:Нелинейная оптимизация для вращения
http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/ZISSERMAN/bundle/bundle.html
Проблема требует оптимизации по 3n + 11m параметров. Оптимизация камеры состоит из 5 встроенных параметров камеры, 3 DOF для положения (x, y, z) и 3 DOF для вращения (шаг, рыскание и рулон).
Теперь, когда вы действительно реализуете этот алгоритм, матрица вращения состоит из оптимизации по 9 числам. Теорема Эйлера Эйлера говорит, что эти 9 чисел связаны между собой и всего 3 степени свободы в целом.
Предположим, что вы представляете поворот с помощью нормализованного кватерниона. Тогда у вас есть оптимизация на 3 номера. То же самое.
Является ли одно представление более эффективным с точки зрения вычислительной эффективности и лучше другого? Будет ли у вас меньше переменных для оптимизации с помощью поворотного кватерниона над матрицей вращения?
Хороший ответ ... Я знал, что матричные экспоненты должны быть полезны где-то! Является ли нормированный кватернион, эквивалентный этой матричной параметризации? Используется ли над другим на практике? – PizzaFan
Представление алгебры Ли используется только в том случае, если вы можете использовать приближение первого порядка expmat (это значительно упрощает вычисления Якобиана, а также численные проблемы устойчивости и производительности с наивными приближениями expmat более высокого порядка). Это справедливо только в том случае, если ** R ** является достаточно маленьким вращением (это почти всегда имеет место при корректировке пучка, в течение которого мы оцениваем приращения вращения на каждой итерации). Но с кватернионом ** q ** единственным ограничением является * || q || = 1 *, поэтому вы можете оценить любое вращение. Тем не менее, мы не уверены в разнице в вычислительной стоимости между этими двумя. – Ash
Это принято, чтобы поддержать принятый ответ :) – Ash