Thomas Wiemann, Alexander Mock, Tristan Igelbrink, Dorit

Thomas Wiemann, Alexander Mock, Tristan Igelbrink,
Dorit Borrmann, Joachim Hertzberg
Hintergrund
Steuerung mobiler Roboter mit
Daten von verschiedensten
Sensoren
•  2D / 3D-Laserscanner
•  RGB-Kameras
•  3D ToF / RGB-D Kameras
Integegration der Sensordaten in
Karten für mobile Roboter!
•  EKF with Odom., GPS, IMU etc.
•  6D SLAM
•  Localization mit Partikelfiltern
2
Kartenerstellung und Verwaltung
Kartierung
& Rekonstruktion
Individuelle Karte R1
GIS
Individuelle Karte R2
3
Individuelle Navigationskarten
Erstellung individueller
Navigationskarten für unterschiedliche
Roboter
4
3D Rekonstruktion für Mobile Roboter
✓Representation von Freiraum
✓Schnell und einfach
✓Verschiedene Layer
❍Zusammenhang
✘Speicheroverhead
✘Diskretisierung
✓Repräsentation von Freiraum
✓Schnell und einfach
❍Zusammenhang
✘Skalierung
✘Diskretisierung
✘”Annotatiertes 2D”
✘Mehrere Layer
✓Representation von Freiraum
✓Kompakte Repräsentation
✓Verschiedene Layer
✓Zusammenhang
✓Kontunuierliche Flächen
✓Erstellbar in Echtzeit (Kinfu)
✓Skalierung
❍Komplexität
✘Einsatz mit Standardalg.
5
KinectFusion
•  Online Rekonstruktion aus RGB-D Bildern
•  Integration der Frames mittels ICP
•  Aufrechterhaltung einer TSDF in einem
gegebenen Volumen
•  Realistisches Rendering mittels Raycasting
•  Oberflächenextraktion mittels Marching Cubes
6
KinectFusion Large Scale
• 
• 
• 
• 
KinectFusion arbeitet mit fixem Volumen
Large-Scale-Varianten shiften das Rekonstruktionsvolumen
Zyklischer Buffer
Vorhandene Implementierungen rekonstruieren Gesamtvolumen
offline
7
Probleme KinFu Large Scale
• 
• 
• 
• 
Nicht onlinefähig, aufwendiges Postprocessing
Inkonsistente Topologie in den rekonstruierten Dreiecksnetzen
Redundante Dreiecke
Keine online-Texturen
8
Online-Integration
•  Offline (CPU-Loop) zur Integration der Elmente in die globale
TSDF- und Meshrepräsentation
•  Identifikation von benachbarten Elementen in den Slices
•  Wiederverwendung von bereits erzeugten Vertices
9
Online Optimierung
•  Finde sliceübergreifend zusammenhängende Ebene Regionen
•  Alle Ebenen, die noch nicht verwendete Fusionsvertices haben,
sind noch nicht fertig rekonstruiert
•  Sobald Ebene vollständig, berechne Neutriangulation
10
Ergebnisse Kinfu-Large-Scale
11
Texturen für Ebenen
•  Berechne für jede gefundene Ebene eine Bitmap-Textur aus den
Bildern der Farbkamera
•  “Inverses Texturemapping”
•  Färbe die Dreiecke gekrümmter Flächen mit passenden Farben
ein
12
Rückprojektion der virtuellen Texturpixel
•  Intrinsische Parameter der Kamera sind bekannt
•  Offset zwischen Empfänger und RGB-Kamera ist bekannt
•  Position der Kamera im globalen Koordinatensystem ist durch
das Posetracking bekannt
•  Jeder virtuelle Pixel lässt sich rückprojizieren
•  Berechung der Homographie zwischen Bildebene und virtueller
Texturebene über die korrespondierenden Pixel
13
Texturoptimierung
•  Oberflächen können aus mehreren Blickwinkeln gesehen werden
•  Steilere Winkel ergeben mehr Verzerrungen und schlechtere
Auflösung
•  Bevorzuge für den Aufbau der Texturen Farbwerte, die aus
flachen Winkeln gesehen wurden
•  Evaluiere Normal zwischen rekonstruierter Ebene und
Sensorebene
•  Pflege Liste mit „kleinsten Blickwinkeln“
14
Ergebnisse Texturerzeugung
Polygonmodell
Polygonmodell mit Texturen
15
Ergebnisse Texturoptimierung
LVR-KinFu
PCL-KinFu
Fehlende Glättung der Oberfläche durch Redundanzen
Fehlerhafte Texturierung durch suboptimalen Blickwinkel
16
Laufzeit und Speicherverbrauch
17
Zusammenfassung und Ausblick
• 
• 
• 
• 
• 
• 
Online-Rekonstruktion großer Umgebungen mit KinectFusion
Online-Optimierung und Erzeugung von Texturen
Texturoptimierung durch Blickwinkenanlyse
Konsistente Polygonetze
Ausblick: Verbesserung der Lokalisierung mobiler Roboter
Ausblick: IMU an die Kamera kleben
18
Softwaredownload
• 
• 
• 
• 
www.las-vegas.uni-osnabrueck.de, [email protected]
Linux / Windows / MacOs
Windows-Installer und Debian-Pakete in Vorbereitung
OpenSource (GPLv2)
19