Visual Inertial System-Technologie
Um was handelt es sich hierbei? Wie wurde es entwickelt? Was wird noch kommen?
Vor einigen Jahren identifizierten wir im Rahmen unseres Technologie-Screenings am Hexagon Technology Center den Entwicklungsbedarf einer visuellen SLAM-Technologie (SLAM: Simultaneous Localization and Mapping, zu Deutsch: Simultane Positionsbestimmung und Kartierung). Von Anfang an war klar, dass diese Technologie zur Positionsbestimmung von Geräten im dreidimensionalen Raum verwendet werden und daher für künftige Innovationen sehr nützlich sein könnte. Wir begannen mit einer ersten Implementierung eines generischen Visual-SLAM-Algorithmus und gingen der Frage nach, wie das Potenzial dieser Technologie für verschiedene Anwendungsbereiche, die für unsere Geschäftsbereiche relevant waren, genutzt werden könnte.
Was ist Visual SLAM?
Visual SLAM ist im Prinzip nichts anderes als eine wiederholte Anwendung von freier Stationierung und Vorwärtseinschneiden mit einer optionalen Bündelblockausgleichung am Ende. Diese einfachen Algorithmen sind aus der Photogrammetrie bereits seit mehr als einem Jahrhundert bekannt. Die Entwicklungen im Bereich der Merkmalsverfolgung und des Merkmalsabgleichs, die durch Computer-Vision und Robotik angestoßen wurden und die manuelle Auswahl von Anschlusspunkten überflüssig machten, ermöglichten jedoch die Einführung eines automatisierten Arbeitsablaufs.
Die Navigation durch den dreidimensionalen Raum auf Basis von Visual SLAM ist recht intuitiv. Sie funktioniert ähnlich wie wir Menschen uns durch die Welt bewegen. Wenn wir auf ein Objekts zugehen, z. B. auf ein Gebäude, wird das Objekt in unserem Gesichtsfeld größer. Gehen wir rückwärts, wird es kleiner.
Bei Visual SLAM erkennt die Merkmalsverfolgung Punktmerkmale – sogenannte Landmarken – in der Bildsequenz und verfolgt deren Position von einem Bild zum nächsten. Wenn sich nun die Kamera in Richtung eines Gebäudes bewegt, bewegen sich die erkannten Merkmale, wie z. B. die Ecken, die Tür oder die Fenster des Gebäudes von der Bildmitte nach Außen, da das Gebäude im Gesichtsfeld größer wird. Schwenkt die Kamera von links nach rechts, bewegen sich die Merkmale im Bild nach rechts und links. Visual SLAM kann so von der Bewegung der Merkmalspunkte zwischen den einzelnen Bildern der Bildsequenz die Bewegungsrichtung der Kamera im dreidimensionalen Raum ableiten.
In einem kontinuierlichen Prozess berechnet der SLAM-Algorithmus aus zwei oder mehr Positionen die 3D-Koordinaten der verfolgten Merkmale (Mapping) und verwendet diese zur Bestimmung der folgenden Position (Lokalisierung). Die generierte Landmarkenkarte entwickelt sich ständig weiter, während sich der Anwender entlang dieser Strecke zur nächsten Scanner-Stationierung bewegt, und fungiert als Referenz für den gesamten Positionierungsalgorithmus. Die Karte, die während dieses Prozesses aufgebaut und laufend aktualisiert wird, ist folglich wichtig, um den Driftfehler klein zu halten.
Daneben gibt es auch alternative Ansätze, die nur auf Inertialmessungen basieren. Eine inertiale Messeinheit (englisch: Inertial Measurement Unit, IMU) misst Beschleunigungen und Winkelgeschwindigkeiten. Diese werden integriert, um zunächst die Geschwindigkeit und schließlich die Position und Orientierung des Geräts abzuleiten. Da diese Messungen mit Messfehlern behaftet sind, führt die Integration dazu, dass die abgeleiteten Größen stark driften. Zudem nutzt dieser Ansatz keine Karte als globale Referenz, sodass der resultierende Drift hier deutlich größer ausfällt als bei Visual SLAM. Obwohl allein auf Basis von inertialen Messungen kein optimales Ergebnis erhalten werden kann, können die Daten der IMU mit den Bildmessungen zusammengeführt werden und Visual SLAM unterstützen.
Wie wird durch Visual SLAM der Registrierungsprozess neu definiert?
Die Registrierung von Laserscans, d. h. die Kombination der einzelnen Scans zu einer zusammengefügten Punktwolke, erfolgt in der Regel nach Abschluss der Datenerfassung im Büro mithilfe von Post-Processing-Software. Es ist daher meist erst im Büro, dass Anwender das Ergebnis des Scanprojekts zum ersten Mal überprüfen und die Vollständigkeit der erfassten Daten kontrollieren können. Es kann daher passieren, dass Anwender feststellen, dass einige Bereiche fehlen und sie zur Baustelle zurückkehren müssen, um zusätzliche Scans vorzunehmen. Liegt der Projektstandort weit entfernt vom Büro, kann dazu eine recht lange Fahrt erforderlich sein, weshalb Kunden dies unbedingt vermeiden wollen.
Die Vorregistrierung von mehreren Laserscans vor Ort war eine neue Funktion, die Jürgen Mayer, Geschäftsführer Terrestrisches Laserscanning, damals vorschwebte, um das Problem von kostspieligen Nacharbeiten ein für alle Mal zu lösen. Die Idee war, dass die erfassten Daten nach jedem Scan automatisch mit den zuvor erfassten Scandaten registriert würden. Die sich daraus ergebende kombinierte Punktwolke sollte anschließend auf einem mobilen Tablet-Computer angezeigt werden. Kunden würden so unmittelbar überprüfen können, welche Daten erfasst wurden und welche Daten möglicherweise noch fehlten, sodass die nächste Scanner-Stationierung optimal geplant werden konnte. Vor allem aber sollte es auf diese Weise möglich sein, die Vollständigkeit der Daten noch vor Ort zu überprüfen.
Diese Idee konnte in unserer Machbarkeitsstudie bestätigt werden, in der wir endlich zeigen konnten, dass das Konzept auch in der Praxis funktioniert. Auf Basis dieser Ergebnisse konnten wir zusammen mit unseren Kollegen aus dem Geschäftsbereich mit der Entwicklung des Produkts beginnen, die mit der Ankündigung des Leica RTC360 auf der HxGN LIVE 2018 endete.
Könnte Visual SLAM die Basis dieser neuen Feldregistrierungsfunktion bilden?
Theoretisch lag es auf der Hand, dass anhand von Visual SLAM die Bewegung zwischen zwei Scan-Stationierungen bestimmt werden könnte. Sind Translation und Rotation bekannt, kann die Punktwolke des aktuellen Scans automatisch an der Punktwolke aus dem vorherigen Scan ausgerichtet werden. Ziel war es, zu beweisen, dass das Konzept auch in der Praxis funktioniert.
Die Visual Inertial System-Technologie (VIS-Technologie) sollte den Laserscanning-Arbeitsablauf, so wie er zu dem damaligen Zeitpunkt ausgeführt wurde, nicht einschränken. Das bedeutete, dass Anwender durch zusätzliche Regeln wie den Transport des Laserscanners auf eine bestimmte Weise, in ihrer Arbeit nicht beeinträchtigt werden sollten. Dies war eine der Hauptanforderungen, als die Machbarkeitsstudie begann. Selbst wenn eine Seite des RTC360 verdeckt ist, z. B. durch den Körper des Anwenders, sollte die VIS-Technologie funktionieren. Dies ist im Prinzip der Hauptgrund, warum der RTC360 über fünf Kameras verfügt. Darüber hinaus sollte die automatische Vorregistrierung in Echtzeit erfolgen, sodass Anwender das Ergebnis unmittelbar nach Durchführung des nächsten Scans erhalten. Angesichts dieser Anforderungen mussten wir zeigen, dass unser Visual-SLAM-Algorithmus gut in den terrestrischen Laserscanning-Arbeitsablauf integriert werden kann.
Wie geht es weiter?
In der Zwischenzeit wurden am Hexagon Technology Center weitere Anwendungen für Visual SLAM untersucht. Obwohl das Grundprinzip dasselbe ist, benötigt es stets einige Feinabstimmungen und Anpassungen an eine bestimmte Umgebung und einen spezifischen Arbeitsablauf, um die besten Ergebnisse zu erhalten. Ein Höhepunkt in diesem Kontext ist die Entwicklung des bildgebenden Handheld-Laserscanners Leica BLK2GO, der Visual SLAM mit LiDAR SLAM kombiniert und so den Algorithmus auf das nächste Level bringt. Dies ist nur ein Beispiel aus vielen, in denen die Anwendbarkeit dieser Technologie für Positionierungs-Arbeitsabläufe unter Beweis gestellt wurde. Einige dieser Entwicklungen wurden bereits als Produkt vorgestellt und von vielen weiteren kann in der Zukunft erwartet werden, dass sie das gesamte Produkt-Portfolio von Hexagon Geosystems bereichern.
Bernhard Metzler
Head of Image & Point Cloud Processing
Hexagon Technology Center