Jak określić jakość dopasowań ICP?

14

W frontendach SLAM, które używają algorytmu Iterative Closest Point (ICP) do identyfikacji powiązania między dwiema pasującymi chmurami punktów, w jaki sposób można ustalić, czy algorytm utknął w lokalnym minimum i zwraca nieprawidłowy wynik?

Problem definiuje się jako dopasowanie dwóch chmur punktów, które są próbkami jakiejkolwiek arbitralnej struktury powierzchni, a obszary próbkowane mają nachodzenie 0-100%, co jest nieznane. Wiem, że wariant Trimmed ICP działa iteracyjnie, próbując określić nakładanie się, ale nawet ten może utknąć w lokalnym minimum.

Naiwnym podejściem byłoby spojrzenie na średni błąd kwadratowy zidentyfikowanych par punktów. Ale bez pewnych szacunków dotyczących próbkowania wydaje się to ryzykownym progiem. W instrukcji obsługi Leica Cyclone sugerują ręczną kontrolę histogramu błędu pary. Jeśli ma kształt Gaussa, dopasowanie jest dobre. Jeśli występuje liniowy odpad, mecz jest prawdopodobnie zły. Wydaje mi się to prawdopodobne, ale nigdy nie widziałem, aby był używany w algorytmie.

Jakob
źródło
Jakob, czy zdarzyło ci się do tego dojść? W obliczu podobnego problemu chciałbym usłyszeć, czego nauczyłeś się w tym procesie.
fred sierpnia
Nie, moim zdaniem jest to nadal otwarte.
Jakob

Odpowiedzi:

2

Większość prostych metod ICP wykorzystuje podejście typu najmniejszych kwadratów. Modelowanie jest powszechne i najłatwiejsze, gdy założenie, że model błędu Gaussa powoduje uszkodzenie danych w chmurze punktów. W tym przypadku najmniej dopasowany komponent algorytmu ICP wytwarza model błędu Gaussa dla jego parametrów rozwiązania z oszacowaną wariancją.

Oznacza to, że jeśli masz dostęp do błędu po dopasowaniu, możesz oszacować błąd Gaussa parametrów transformacji w taki sam sposób, jak oszacowałeś błąd w dowolnej innej regresji liniowej.

Matanya
źródło
Użycie progu dla błędu najmniejszych kwadratów było tym, o czym mówiłem w pytaniu. Użyłem go również w aplikacjach, ale wydawało się, że jest to bardzo kruchy parametr, który jest dość specyficzny dla scenariusza / środowiska.
Jakob
1

Jeśli masz jakieś informacje z innych czujników (np. Odometria z koderów kół), możesz użyć tego, gdy sztywna transformacja ciała sugerowana przez laserScanner jest daleka.

Pamiętaj, że na długich trajektoriach ścieżka odometrii odbiega od podstawowej prawdy, ale lokalnie jest dość dokładna.

PS. To dość interesujące pytanie, więc daj nam znać, jak to zrobiłeś, jeśli rzeczywiście rozwiązałeś problem.

bergercookie
źródło
0

Myślę, że najlepszym rozwiązaniem byłoby użycie zestawu danych, który zawiera podstawową prawdę. Zbiór danych, który jest najczęściej cytowany w literaturze, opisano w artykule „Punkt odniesienia dla oceny systemów SLAM RGB-D”. Opisują także kilka wskaźników, które pozwalają porównać wynik oceny pozy z prawdą podstawową. Mam nadzieję że to pomoże. Szczęśliwego kodowania.

roboticsmeche
źródło
Hej, dzięki za odpowiedź, choć nie do końca to, czego szukałem. Interesuje mnie znajomość jakości meczu, gdy nie ma dostępnej prawdziwej prawdy. Jest to istotne w przypadku odrzucania wyników ICP.
Jakob,