Como determinar a qualidade das correspondências do ICP?

14

Nas interfaces SLAM que usam o algoritmo Iterative Closest Point (ICP) para identificar a associação entre duas nuvens de pontos correspondentes, como você pode determinar se o algoritmo está preso em um mínimo local e retorna um resultado errado?

O problema é definido como combinar duas nuvens de pontos, que são amostras de alguma estrutura superficial superficial e as áreas amostradas têm uma sobreposição de 0 a 100%, que é desconhecida. Eu sei que a variante Trimmed ICP funciona iterativamente tentando determinar a sobreposição, mas mesmo essa pode ser mantida em um mínimo local.

Uma abordagem ingênua seria procurar o erro quadrático médio dos pares de pontos identificados. Mas, sem alguma estimativa da amostragem, isso parece um limiar arriscado. No manual para o Leica Cyclone, eles sugerem uma inspeção manual do histograma de erro de pares. Se tiver uma forma gaussiana, o ajuste é bom. Se houver uma queda linear, a partida provavelmente será ruim. Isso parece plausível para mim, mas nunca o vi usado em um algoritmo.

Jakob
fonte
Jakob, você chegou ao fim disso? Diante de um problema semelhante, gostaria de ouvir o que aprendeu no processo.
21316 de agosto
Não, para mim, isso ainda está em aberto.
Jakob

Respostas:

2

A maioria dos métodos simples de ICP usa uma abordagem do tipo Mínimos Quadrados. É comum e mais fácil modelar ao assumir que um modelo de erro gaussiano corrompe os dados da nuvem de pontos. Nesse caso, o componente de ajuste menos quadrado do algoritmo ICP produz um modelo de erro gaussiano para seus parâmetros de solução com variação estimada.

Ou seja, se você tiver acesso aos erros após a correspondência, poderá estimar um erro gaussiano nos parâmetros da sua transformação da mesma maneira que estimaria o erro em qualquer outra regressão linear.

Matanya
fonte
O que eu estava me referindo na pergunta era usar um limite no erro do quadrado mínimo. Eu também o usei em aplicativos, mas parecia um parâmetro muito frágil que é bastante específico do cenário / ambiente.
Jakob
1

Caso você tenha alguma informação de outros sensores disponíveis (por exemplo, odometria dos codificadores de roda), você poderá usá-la quando a transformação rígida do corpo que o laserScanner sugere estiver distante.

Lembre-se de que nas longas trajetórias o caminho da odometria diverge da verdade do solo, mas localmente é bastante preciso.

PS. Essa é uma pergunta bastante interessante; por isso, deixe-nos saber como você fez isso, caso realmente tenha resolvido o problema.

bergercookie
fonte
0

Eu acho que a melhor abordagem seria usar um conjunto de dados que contém uma verdade básica. O conjunto de dados mais freqüentemente citado na literatura é descrito no artigo "Uma referência para a avaliação de sistemas SLAM RGB-D". Eles também descrevem algumas métricas para comparar seu resultado de estimativa de pose com a verdade básica. Espero que isto ajude. Feliz codificação.

roboticsmeche
fonte
Ei, obrigado pela resposta, embora não seja exatamente o que eu estava procurando. Estou interessado em conhecer a qualidade da partida quando não há uma verdade de base disponível. Isso é relevante para rejeitar os resultados do ICP.
Jakob