Я использую DPVO для извлечения 6DoF камеры траектории из видеобронхоскопии.
DPVO – это модель визуальной одометрии/SLAM, построенная на основе глубокого соответствия и корректировки пакетов (преемник DROID-SLAM).
Я настраиваю DPVO на специальном наборе данных.
2. Набор данных и достоверная информация
Мой набор данных состоит из видео моделирования бронхоскопии, обработанных в Unity Hub.
Для каждого кадра у меня есть правдивые позы камеры с 6 степенями свободы (x, y, z, qx, qy, qz, qw), экспортированные непосредственно из Unity.
/>
Поэтому эти позы основной истины выражаются в системе координат Unity (левосторонней).
3. Проблема: несоответствие системы координат
Внутренне DPVO использует другую систему координат (вероятно, правостороннюю, но не четко документированную).
Unity и DPVO явно не используют одни и те же соглашения по осям или направления.
Однако документация DPVO не соответствует явно укажите точные соглашения о системе координат (направления осей, направление руки, камера-мир или мир-камера).
Поэтому, прежде чем использовать Unity в качестве контроля, мне нужно выровнять координаты Unity по координатам DPVO.
4. Моя попытка выравнивания
Поскольку точное соглашение о координатах DPVO недокументировано, я попробовал подход выравнивания на основе данных:
Шаг 1. Удаление разминки
У DPVO есть начальный период разминки, когда позы ненадежны.
Я отбрасываю первые N кадров и использовать для выравнивания только стабильные кадры.
Шаг 2. Перечисляем все сопоставления осей
Я генерирую все подписанные матрицы перестановок (перестановка осей + смена знаков):
Этот подход дает низкое позиционное среднеквадратическое отклонение и визуально выравнивается траектории.
Несмотря на хорошее позиционное выравнивание, я наблюдаю проблемы во время обучения и вывода (например, нестабильное поведение вращения, спиральные траектории).
Это поднимает несколько вопросов:
Является ли эта стратегия выравнивания концептуально правильной для согласования поз Unity с позами DPVO/DROID-SLAM?
Особенно, когда соглашения о позах DPVO недокументированы.
Кто-нибудь знает точные соглашения о системе координат, используемые DPVO или DROID-SLAM?
Рука (левая/правая)
Направления осей
Определение позы «камера-мир» и «мир-камера»
Достаточно ли выравнивания только по положению или следует также явно преобразовать основную истину вращения (кватерниона) с использованием того же базового изменения?
На данный момент трансформируется только перевод; Кватернионы Unity оставлены без изменений.
Существуют ли какие-либо рекомендации по использованию поз камеры, созданных Unity, в качестве контроля для моделей SLAM/VO, таких как DPVO?
Любые идеи от людей, знакомых с DPVO, DROID-SLAM или системами координат Unity буду очень признателен.
Я настраиваю [b]DPVO[/b] (https://github.com/princeton-vl/DPVO?tab=readme-ov-file, преемник [b]DROID-SLAM[/b]) для оценки [b]позы камеры с 6 степенями свободы по видео бронхоскопии[/b]. [list] [*]Я использую [b]DPVO[/b] для извлечения 6DoF камеры траектории из [b]видеобронхоскопии[/b].
[*]DPVO – это модель визуальной одометрии/SLAM, построенная на основе глубокого соответствия и корректировки пакетов (преемник DROID-SLAM).
[*]Я настраиваю DPVO на специальном наборе данных.
[/list] 2. Набор данных и достоверная информация [list] [*]Мой набор данных состоит из [b]видео моделирования бронхоскопии, обработанных в Unity Hub[/b].
[*]Для каждого кадра у меня есть [b]правдивые позы камеры с 6 степенями свободы (x, y, z, qx, qy, qz, qw)[/b], экспортированные непосредственно из Unity. /> [*]Поэтому эти позы основной истины выражаются в [b]системе координат Unity (левосторонней)[/b].
[/list] 3. Проблема: несоответствие системы координат [list] [*]Внутренне DPVO использует [b]другую систему координат[/b] (вероятно, правостороннюю, но не четко документированную).
[*]Unity и DPVO явно не используют одни и те же соглашения по осям или направления.
[*]Однако [b]документация DPVO не соответствует явно укажите точные соглашения о системе координат[/b] (направления осей, направление руки, камера-мир или мир-камера).
[/list] Поэтому, прежде чем использовать Unity в качестве контроля, мне нужно [b]выровнять координаты Unity по координатам DPVO[/b]. 4. Моя попытка выравнивания Поскольку точное соглашение о координатах DPVO недокументировано, я попробовал [b]подход выравнивания на основе данных[/b]: [h4]Шаг 1. Удаление разминки[/h4] [list] [*]У DPVO есть начальный период разминки, когда позы ненадежны.
[*]Я отбрасываю первые N кадров и использовать для выравнивания только стабильные кадры.
[/list] [h4]Шаг 2. Перечисляем все сопоставления осей[/h4] [list] [*]Я генерирую все [b]подписанные матрицы перестановок[/b] (перестановка осей + смена знаков):
[*]Каждая матрица кандидатов C представляет собой возможное сопоставление осей Unity с осями DPVO.
[h4]Шаг 3: выравнивание по последовательности[/h4] Для каждого видео последовательность: [list] [*]Применить сопоставление потенциальных осей: Punity′=Punity⋅C⊤P_{unity}' = P_{unity} \cdot C^\topPunity′=Punity⋅C⊤
[*]Оценить преобразование [b]Sim(3)[/b] (масштаб s, вращение R, сдвиг t) с использованием [b]Выравнивание по Умеяме[/b]: Pdpvo≈s⋅(Punity′⋅R⊤)+tP_{dpvo} \approx s \cdot (P_{unity}' \cdot R^\top) + tPdpvo≈s⋅(Punity′⋅R⊤)+t
[*]Вычислить RMSE между выровненными позициями Unity и расчетными позициями DPVO.
[*]Выберите отображение оси C_k с минимальным RMSE.
[/list] [h4]Шаг 4: Голосование по осям[/h4] [list] [*]Повторите шаг 3 для нескольких последовательностей.
[/list] Этот подход дает [b]низкое позиционное среднеквадратическое отклонение[/b] и визуально выравнивается траектории. Несмотря на хорошее позиционное выравнивание, я наблюдаю проблемы во время обучения и вывода (например, нестабильное поведение вращения, спиральные траектории). Это поднимает несколько вопросов: [list] [*][b]Является ли эта стратегия выравнивания концептуально правильной для согласования поз Unity с позами DPVO/DROID-SLAM?[/b] [list] Особенно, когда соглашения о позах DPVO недокументированы. [/list]
[*][b]Кто-нибудь знает точные соглашения о системе координат, используемые DPVO или DROID-SLAM?[/b] [list] Рука (левая/правая)
[*]Направления осей
[*]Определение позы «камера-мир» и «мир-камера»
[/list]
[*][b]Достаточно ли выравнивания только по положению или следует также явно преобразовать основную истину вращения (кватерниона) с использованием того же базового изменения?[/b] [list] На данный момент трансформируется только перевод; Кватернионы Unity оставлены без изменений. [/list]
[*]Существуют ли какие-либо [b]рекомендации[/b] по использованию поз камеры, созданных Unity, в качестве контроля для моделей SLAM/VO, таких как DPVO?
[/list] Любые идеи от людей, знакомых с [b]DPVO, DROID-SLAM или системами координат Unity[/b] буду очень признателен.