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

Например, для камер с 6 степенями свободы две камеры имеют 12 параметры состояния и 12*12 ковариационная матрица (допустим гауссово распределение). Как изменяется эта ковариация, когда к камерам применяется жесткое движение в 6 градусов?

Что если 6-dof тоже гауссово распределение?

1 ответ

Вы можете использовать теорему о "прямом распространении" (вы можете найти ее в книге по геометрии множественного вида Хартли и Циссермана, глава 5, стр. 139).

В основном, если у вас есть случайная величина x со средним x_m и ковариация Cи другая гибкая функция f к которому вы обращаетесь xто среднее f(x) будет f(x_m) и его ковариация C_f будет примерно JCJ^t, где ^t обозначает транспонирование, и JЯкобиева матрица f оценивается в x_m,

Давайте теперь рассмотрим проблемы распространения ковариации отдельно для положения камеры и ориентации камеры.

  • Сначала посмотрим, что происходит с параметрами перевода камеры в вашем случае, давайте обозначим их x_t.В твоем случае, f это жесткое преобразование, это означает, что

    f(x_t)=Rx_t+T //R is a rotation and T a translation, x_t is the position of the camera
    

    Теперь якобиан f в отношении x_t это просто Rпоэтому ковариация определяется как

    C_f=RCR^T
    

    что является интересным результатом: это указывает на то, что изменение ковариации зависит только от вращения. Это имеет смысл, поскольку интуитивно, перевод (позиционных) данных фактически не меняет ось, по которой они изменяются (вещь об анализе главных компонентов).

    Также обратите внимание, что если C изотропна, т.е. диагональная матрица lambda*Identity, затем C_f=lambda*Identity, что также имеет смысл, поскольку интуитивно мы не ожидаем, что изотропная ковариация изменится с вращением.

  • Теперь рассмотрим параметры ориентации. Давайте использовать алгебру Ли из SO(3) группа. В этом случае yaw, pitch, scale будет параметризован как v=[alpha_1, alpha_2, alpha_3]^t (это в основном коэффициенты алгебры Ли). В дальнейшем мы будем использовать показательные и логарифмические отображения из алгебры Ли so(3) в группу SO(3), Мы можем написать нашу функцию как

    f(v)=log(R*exp(v)) 
    

    В приведенном выше примере exp (v) - это матрица вращения вашей камеры, и R это поворот от вашего жесткого преобразования. Обратите внимание, что перевод не влияет на параметры ориентации. Вычисление якобиана f в отношении v математически участвует. Я подозреваю, что вы можете сделать это, используя присоединенную алгебру или алгебру Ли, или вы можете сделать это, используя формулу Бейкера-Кэмпбелла-Хаусдорфа, однако вам придется ограничить точность. Здесь мы возьмем ярлык и воспользуемся результатом, приведенным в этом вопросе.

    jacobian_f_with_respect_to_v=R*inverse(R*exp(v))
    =R*exp(v)^t*R^t
    

    Итак, наша ковариация будет

    R*exp(v)^t*R^t *  Cov(v) * (R*exp(v)^t*R^t)^t
    =R*exp(v)^t*R^t * Cov(v) * R * exp(v) * R^t
    

    Опять же, мы наблюдаем то же самое: если Cov (v) изотропен, то и ковариация f,

Изменить: Ответы на вопросы, которые вы задали в комментариях

  • Почему вы предполагали условную независимость между переводом / ротацией?

    Условная независимость между параметрами перевода / ориентации часто предполагается во многих работах (особенно в литературе по позе, например, см. Тезис Хауке Страсдата), и я всегда обнаруживал, что на практике это работает намного лучше (не очень убедительный аргумент, Я знаю). Тем не менее, я признаю, что при написании этого ответа я не особо задумывался над этим (если он вообще имел место), потому что моей главной целью было "использовать теорему прямого распространения". Вы можете применить его совместно к ориентации / положению, и все эти изменения таковы, что ваш якобиан будет выглядеть

    J=[J_R J_T]//J_R Jacobian w.r.t orientation , J_T Jacobian w.r.t position
    

    и тогда "уплотнение" ковариационной матрицы произойдет в результате распространения, подобного J^T*C*J,

  • Почему вы использовали SO(3) вместо SE(3)?

    Вы сами сказали, я отделил параметры перевода от ориентации. SE(3) пространство жестких преобразований, включающее переводы. Мне было бы бессмысленно использовать его, так как я уже позаботился о параметрах позиции.

  • Как насчет ковариации между двумя камерами?

    Я думаю, что мы все еще можем применить ту же теорему. Разница теперь в том, что твоя жесткая трансформация будет функцией M(x_1,x_2) из 12 параметры, и ваш якобиан будет выглядеть [J_R_1 J_R_2 J_T_1 J_T2], Это может быть утомительно для вычисления, как вы знаете, так что если вы можете просто попробовать числовое или автоматическое дифференцирование.

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