Unsupervised Depth Completion mit kalibrierten Backprojection-Layern

Wir schlagen eine tiefe neuronalen Netzarchitektur vor, um dichte Tiefeninformationen aus einem Bild und einer spärlichen Punktewolke abzuleiten. Das Netzwerk wird anhand eines Video-Streams und der entsprechenden synchronisierten spärlichen Punktewolke trainiert, wie sie von einem LIDAR oder einem anderen Entfernungssensor erfasst wird, zusammen mit den inneren Kalibrierungsparametern der Kamera. Während der Inferenz wird die Kalibrierung der Kamera – die sich von derjenigen unterscheiden kann, die beim Training verwendet wurde – zusammen mit der spärlichen Punktewolke und einem einzelnen Bild als Eingabe an das Netzwerk übergeben. Eine kalibrierte Rückprojektionsschicht (Calibrated Backprojection Layer) projiziert jedes Pixel des Bildes unter Verwendung der Kalibrierungsmatrix und eines Tiefenmerkmalbeschreibers in den dreidimensionalen Raum. Die resultierende 3D-Positionscodierung wird mit dem Bildmerkmal und dem Ausgang der vorherigen Schicht verkettet, um die Eingabe für die nächste Schicht des Encoders zu bilden. Ein Decoder, der Skip-Connections nutzt, erzeugt schließlich eine dichte Tiefenkarte. Das resultierende Netzwerk, die sogenannte Calibrated Backprojection Network (KBNet), wird ohne überwachtes Lernen trainiert, indem der photometrische Wiederaufbaufehler minimiert wird. KBNet schätzt fehlende Tiefenwerte basierend auf dem Trainingsdatensatz, anstatt auf generischen Regularisierungsansätzen. Wir testen KBNet auf öffentlichen Benchmarks für Tiefenkompletierung und erreichen dabei eine Überlegenheit gegenüber dem Stand der Technik um 30,5 % im Innenbereich und 8,8 % im Außenbereich, wenn die gleiche Kamera für Training und Test verwendet wird. Bei unterschiedlichen Kameras im Testbereich steigt die Verbesserung auf 62 %. Der Quellcode ist verfügbar unter: https://github.com/alexklwong/calibrated-backprojection-network.