2015-11-19 4 views
3

На днях я поговорил с инженером, и мы оба были в тупике по вопросу, связанному с настройкой комплекта. Для освежения, вот хорошая ссылка с описанием проблемы:Нелинейная оптимизация для вращения

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 номера. То же самое.

Является ли одно представление более эффективным с точки зрения вычислительной эффективности и лучше другого? Будет ли у вас меньше переменных для оптимизации с помощью поворотного кватерниона над матрицей вращения?

ответ

3

Вы никогда не оптимизируете более 9 номеров! Конечно, это было бы неэффективно. Одним эффективным представлением, в котором вам нужны только 3 параметра, является параметризация вашей матрицы вращения R с использованием алгебры Ли группы SO (3). Если вы не знакомы с алгеброй Ли, here - это учебник, который объясняет все в интуитивной (но иногда упрощенной) манере. Чтобы объяснить это в нескольких коротких предложениях, в этом представлении каждая матрица поворота R записывается как expmat(a*G_1+b*G_2+c*G_3), где expmat является матричной экспонентой, а G_i являются «генераторами» алгебры Ли SO (3), т.е. касательное пространство до SO (3) при идентификации. Поэтому для оценки матрицы вращения вам нужно изучить только три параметра: a,b,c. Это примерно эквивалентно разложению матрицы вращения в трех оборотах вокруг x,y,z и оценке трех углов этих поворотов.

+0

Хороший ответ ... Я знал, что матричные экспоненты должны быть полезны где-то! Является ли нормированный кватернион, эквивалентный этой матричной параметризации? Используется ли над другим на практике? – PizzaFan

+0

Представление алгебры Ли используется только в том случае, если вы можете использовать приближение первого порядка expmat (это значительно упрощает вычисления Якобиана, а также численные проблемы устойчивости и производительности с наивными приближениями expmat более высокого порядка). Это справедливо только в том случае, если ** R ** является достаточно маленьким вращением (это почти всегда имеет место при корректировке пучка, в течение которого мы оцениваем приращения вращения на каждой итерации). Но с кватернионом ** q ** единственным ограничением является * || q || = 1 *, поэтому вы можете оценить любое вращение. Тем не менее, мы не уверены в разнице в вычислительной стоимости между этими двумя. – Ash

+1

Это принято, чтобы поддержать принятый ответ :) – Ash

Смежные вопросы