MAC-VO: Metrics-Aware Covariance for Learning-Based Stereo Visual Odometry
Autores: Yuheng Qiu, Yutian Chen, Zihao Zhang, Wenshan Wang, Sebastian Scherer · ICRA 2025
Licenças
- Acesso aberto
- Artigo: CC BY 4.0
Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.
Em resumo
O MAC-VO aprende a incerteza de fluxo e de profundidade por pixel, a converte em covariâncias 3D métricas completas dos pontos-chave e as usa para selecionar pontos-chave e ponderar a otimização de pose entre dois quadros.
Por que importa
Covariâncias com escala métrica real dizem a um robô quanto confiar em cada estimativa de pose e dão uma base consistente para fundir a VO com outros sensores. O MAC-VO alcança seus resultados apenas com otimização entre dois quadros, sem fechamento de loop nem bundle adjustment, e se transfere de dados de treinamento sintéticos para conjuntos de dados reais sem ajuste fino.
Problema
A odometria visual se degrada com pouca luz, em cenas dinâmicas e em áreas sem textura. A VO geométrica seleciona pontos-chave por limiares de gradiente de imagem e usa covariâncias constantes ajustadas à mão, enquanto sistemas aprendidos como o DROID-SLAM usam pesos de confiança independentes da escala e diagonais. Esses pesos não refletem o erro 3D real, são inconsistentes entre as escalas de ambientes internos e externos e são difíceis de combinar com outros sensores.
Solução proposta
Uma rede de pareamento compartilhada, construída sobre o FlowFormer com um agregador de movimento GMA e um decodificador de incerteza adicional, prevê a profundidade estéreo, o fluxo óptico e suas incertezas; ela é treinada com uma perda de log-verossimilhança negativa apenas no conjunto de dados sintético TartanAir. Os pontos-chave passam por um filtro de incerteza (que descarta pixels acima de 1,5× a incerteza mediana do quadro), um filtro geométrico e uma supressão de não mínimos. As incertezas 2D são propagadas pelo modelo pinhole para uma covariância 3D completa com termos fora da diagonal, que pondera os resíduos de um grafo de poses entre dois quadros resolvido por Levenberg-Marquardt no PyPose.
Principais ideias
- A incerteza aprendida funciona como seletor de pontos-chave no lugar do seletor aleatório do DPVO ou das características feitas à mão do ORB-SLAM: ela remove pontos em veículos em movimento, objetos ocluídos, superfícies reflexivas e áreas sem características.
- Os termos de covariância fora da diagonal importam: removê-los (DiagCov) elevou o erro de translação no TartanAir v2 Hard de 0,0141 para 0,0461 m/quadro.
- A consistência de escala importa: uma covariância independente da escala (normalizada) elevou o erro de translação para 0,0204 m/quadro no TartanAir v2 Hard e de 0,0051 para 0,0086 m/quadro no conjunto Easy.
- A incerteza de profundidade de um ponto pareado é estimada como uma variância da profundidade ponderada por uma gaussiana em seu patch local, ligando a incerteza do fluxo ao erro de profundidade.
- Usar características esparsas no back-end mantém a memória de GPU em 4,20 GB, 6,7 vezes menos que o DROID-SLAM (28,34 GB).
Principais resultados
- EuRoC: erro médio de translação comparável ao do DROID-SLAM e erro de rotação cerca de 10 % melhor que todas as referências, incluindo sistemas de SLAM com fechamento de loop e bundle adjustment global.
- TartanAir v2 Hard: erro de translação 61,9 % menor que o do concorrente mais próximo; na trajetória de superfície lunar H00, erro de translação 82,4 % menor e o menor erro de rotação.
- KITTI: atrás apenas do ORB-SLAM3 em erro de translação e erro de translação 53,3 % menor que outros métodos de VO; o erro de rotação é pior, o que os autores atribuem à falta de otimização multiquadro.
- Ablação de módulos no TartanAir v2 Hard: erro de translação de 0,0141 m/quadro para o sistema completo contra 0,0743 com pontos-chave aleatórios e covariância identidade, 0,0679 sem otimização de covariância e 0,0188 sem seleção de pontos-chave baseada em incerteza.
- Tempo de execução em 640×640 em um Ryzen 9 5950X com uma RTX 3090 Ti: 2,15 fps bruto, 3,96 fps com TensorRT e multiprocessamento, e 10,57 fps no modo Fast (Tabela V; o texto diz 10,5 fps) a 70 % do desempenho completo; o modo Fast usa meia precisão, informada como bf16 na Tabela V e como float16 no Apêndice I.
Limitações
- Os autores observam que o método realiza apenas otimização de pose entre dois quadros e esperam ganhos com bundle adjustment, otimização multiquadro e fechamento de loop.
- O erro de rotação no KITTI é pior que o de translação, o que os autores atribuem à falta de otimização multiquadro.
- A fusão do modelo de covariância com outros sensores, como IMUs, fica para trabalhos futuros.
- O modelo completo roda a 2,15–3,96 fps em uma RTX 3090 Ti de desktop; o modo Fast a 10,5 fps mantém cerca de 70 % do desempenho.
- A aproximação da profundidade a partir da disparidade piora à medida que a disparidade se aproxima de zero; verificações de Monte Carlo a consideram aceitável para taxa de erro γ < 0,3.
Impacto na área
O artigo ganhou o IEEE ICRA 2025 Best Conference Paper Award e o IEEE ICRA 2025 Best Paper Award on Robot Perception, e tem 37 citações. A página do projeto indicada no artigo (mac-vo.github.io) aponta para um repositório de código público e documentação.
Resumo
Propomos o MAC-VO, uma nova VO estéreo baseada em aprendizado que aproveita a incerteza de pareamento aprendida e consciente da métrica para um duplo propósito: selecionar pontos-chave e ponderar o resíduo na otimização do grafo de poses. Em comparação com os métodos geométricos tradicionais, que priorizam características ricas em textura como bordas, nosso seletor de pontos-chave emprega a incerteza aprendida para filtrar as características de baixa qualidade com base na inconsistência global. Ao contrário dos algoritmos baseados em aprendizado que modelam para a covariância uma matriz de pesos diagonal e independente da escala, projetamos um modelo de covariância consciente da métrica para capturar o erro espacial durante o registro dos pontos-chave e as correlações entre os diferentes eixos. Integrar esse modelo de covariância à otimização do grafo de poses aumenta a robustez e a confiabilidade da estimativa de pose, em particular em ambientes desafiadores com iluminação, densidade de características e padrões de movimento variáveis. Em conjuntos de dados de benchmark públicos, o MAC-VO supera os algoritmos de VO existentes e até alguns algoritmos de SLAM em ambientes desafiadores. O mapa de covariância também fornece informações valiosas sobre a confiabilidade das poses estimadas, o que pode beneficiar a tomada de decisão de sistemas autônomos.
Links
- arXiv 2409.09479: https://arxiv.org/abs/2409.09479
- DOI 10.1109/ICRA55743.2025.11128482: https://doi.org/10.1109/ICRA55743.2025.11128482
- PDF: https://arxiv.org/pdf/2409.09479v1
- Código: https://github.com/MAC-VO/MAC-VO
- Página do projeto: https://mac-vo.github.io/