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.
Antworten:
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.
quelle
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.
quelle
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.
quelle