Wie bestimme ich die Qualität von ICP-Übereinstimmungen?

14

Wie können Sie in SLAM-Frontends, die den Iterative Closest Point (ICP) -Algorithmus zum Identifizieren der Zuordnung zwischen zwei übereinstimmenden Punktwolken verwenden, feststellen, ob der Algorithmus in einem lokalen Minimum steckt und ein falsches Ergebnis zurückgibt?

Das Problem wird als Übereinstimmung zweier Punktwolken definiert, die beide Muster einer willkürlichen Oberflächenstruktur sind, und die abgetasteten Bereiche haben eine Überlappung von 0-100%, was unbekannt ist. Ich weiß, dass die getrimmte ICP- Variante durch iteratives Bestimmen der Überlappung funktioniert, aber selbst diese kann in einem lokalen Minimum stecken bleiben.

Ein naiver Ansatz wäre es, den mittleren quadratischen Fehler der identifizierten Punktpaare zu ermitteln. Ohne eine Schätzung der Stichprobe scheint dies jedoch eine riskante Schwelle zu sein. Im Handbuch für den Leica Cyclone wird die manuelle Überprüfung des Paarfehlerhistogramms empfohlen. Wenn es eine Gaußsche Form hat, ist die Passform gut. Wenn es zu einem linearen Abfall kommt, ist die Übereinstimmung wahrscheinlich schlecht. Das erscheint mir plausibel, aber ich habe noch nie gesehen, dass es in einem Algorithmus verwendet wird.

Jakob
quelle
Jakob, bist du jemals ans Ende gekommen? Wenn Sie mit einem ähnlichen Problem konfrontiert sind, würden Sie gerne hören, was Sie dabei gelernt haben.
Fred August
Nein, soweit es mich betrifft, ist dies noch offen.
Jakob

Antworten:

2

Die meisten einfachen ICP-Methoden verwenden einen Least-Squares-Ansatz. Es ist üblich und am einfachsten zu modellieren, wenn angenommen wird, dass ein Gaußsches Fehlermodell die Punktwolkendaten beschädigt. In diesem Fall erzeugt die kleinste quadratische Anpassungskomponente des ICP-Algorithmus ein Gaußsches Fehlermodell für seine Lösungsparameter mit geschätzter Varianz.

Das heißt, wenn Sie nach dem Abgleichen Zugriff auf die Fehler haben, können Sie einen Gaußschen Fehler für die Parameter Ihrer Transformation auf dieselbe Weise abschätzen, wie Sie den Fehler in jeder anderen linearen Regression abschätzen würden.

Matanya
quelle
Die Verwendung eines Schwellenwerts für den Fehler des kleinsten Quadrats war das, worauf ich mich in der Frage bezog. Ich habe es auch in Anwendungen verwendet, aber es schien ein sehr spröder Parameter zu sein, der ziemlich szenario- / umgebungsspezifisch ist.
Jakob
1

Falls Sie Informationen von anderen Sensoren zur Verfügung haben (z. B. Kilometerzähler von Radgebern), können Sie diese verwenden, wenn die vom Laserscanner vorgeschlagene Starrkörperumwandlung weit entfernt ist.

Denken Sie daran, dass auf den langen Trajektorien der Weg des Kilometerzählers von der Bodenwahrheit abweicht, aber lokal ziemlich genau ist.

PS. Dies ist eine interessante Frage. Lassen Sie uns wissen, wie Sie es gemacht haben, falls Sie das Problem tatsächlich gelöst haben.

bergercookie
quelle
0

Ich denke, der beste Ansatz wäre, einen Datensatz zu verwenden, der eine Grundwahrheit enthält. Der Datensatz, der in der Literatur am häufigsten zitiert wird, ist in der Veröffentlichung "Ein Maßstab für die Bewertung von RGB-D-SLAM-Systemen" beschrieben. Sie beschreiben auch einige Metriken, um Ihr Posenschätzungsergebnis mit der Grundwahrheit zu vergleichen. Hoffe das hilft. Fröhliches Codieren.

Robotikmeche
quelle
Hey, danke für die Antwort, obwohl nicht ganz das, wonach ich gesucht habe. Ich bin daran interessiert, die Qualität des Spiels zu kennen, wenn es keine Grundwahrheit gibt. Dies ist relevant für die Ablehnung von ICP-Ergebnissen.
Jakob