Zusammenfassung der 3D-Rekonstruktionsmethoden

1. Was ist 3D-Rekonstruktion?

Bei der dreidimensionalen Rekonstruktion werden reale Objekte und Szenen mithilfe einer Kamera aufgenommen und mithilfe der Computer-Vision-Technologie verarbeitet, um ein dreidimensionales Modell des Objekts zu erhalten.

Zu den wichtigsten beteiligten Technologien gehören: Stereogeometrie mit mehreren Ansichten, Tiefenkartenschätzung, Punktwolkenverarbeitung, Netzrekonstruktion und -optimierung, Texturabbildung, Markov-Zufallsfeld, Bildsegmentierung usw.

Zu den Hauptanwendungsgebieten gehören: Augmented Reality, Mixed Reality, Roboternavigation, automatisches Fahren, industrielle Werkstückgrößenerkennung, Ebenheitserkennung usw.

2. Traditionelle 3D-Rekonstruktionsmethoden

2.1 RGBD

Base

Tiefenkamera: Eine Kamera, die direkt dreidimensionale Informationen des gemessenen Objekts erhalten kann.

Tiefenkameras werden hauptsächlich in Strukturlichtkameras und ToF-Kameras unterteilt. Bei einer Kamera mit strukturiertem Licht wird ein Gitter oder ein Laserfleck durch einen Infrarotprojektor nach vorne projiziert und dann mit der Kamera die Form und Größe des Gitters und des Lichtflecks erfasst, um dreidimensionale Informationen über das Objekt zu erhalten. ToF berechnet die Entfernung zum Ziel, indem es die Zeit zwischen der Aussendung des Impulses und seinem Empfang misst.

KinectFusion – 2011

Papier: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6162880
Code: https://github.com/chrdiller/KinectFusionApp

KinectFusion ist das erste 3D-Rekonstruktionssystem mit RGBD-Kameras. Die verwendete Karte ist eine TSDF-Karte. Viele nachfolgende Echtzeit-3D-Rekonstruktionssysteme werden auf KinectFusion erweitert.

Implementierungsprozess: Erhalten Sie zuerst das RGBD-Bild, berechnen Sie die Punktwolke und den normalisierten Normalvektor, berechnen Sie dann die Kameraposition des aktuellen Frames mithilfe des ICP-Algorithmus, verschmelzen Sie dann die aktuelle Punktwolke mit der TSDF-Karte und übergeben Sie schließlich die TSDF-Karte und der aktuelle Frame Das Tiefenbild des aktuellen Frames bei der Posenvorhersage von .

Die TSDF-Karte ist eine Karte vom Gittertyp. Wählen Sie zunächst den zu modellierenden dreidimensionalen Raum aus, teilen Sie diesen Raum entsprechend einer bestimmten Auflösung in viele kleine Blöcke auf und speichern Sie die Informationen in jedem kleinen Block. Innerhalb jedes TSDF-Voxels wird der Abstand zwischen dem Patch und der nächstgelegenen Objektoberfläche gespeichert. Der Wert ist positiv, wenn sich der Patch vor der Oberfläche des nächstgelegenen Objekts befindet, und negativ, wenn sich der Patch hinter der Oberfläche befindet. Da die Oberfläche des Objekts normalerweise eine sehr dünne Schicht ist, werden die zu großen und zu kleinen Werte als 1 und -1 angenommen, was den Abstand nach der Kürzung ergibt, den sogenannten TSDF.

BundleFusion – 2016

Papier: https://arxiv.org/abs/1604.01093
Code: https://github.com/niessner/BundleFusion

Grober Prozess: Der Eingabedatenfluss von Farbe + Tiefe muss zunächst mit der entsprechenden Beziehung zwischen den Bildern übereinstimmen und dann eine globale Posenoptimierung durchführen, um die Gesamtdrift (wie unten in der obigen Abbildung dargestellt) und das Modell als Ganzes zu korrigieren Der Rekonstruktionsprozess wird ständig dynamisch aktualisiert.

In Bezug auf das Matching wird hier eine parallele globale Optimierungsmethode mit geringer Dichte und geringer Dichte verwendet. Das heißt, verwenden Sie zunächst die spärlichen SIFT-Feature-Punkte für die grobe Registrierung, da die spärlichen Feature-Punkte selbst zur Erkennung und Neulokalisierung von Schleifenschlüssen verwendet werden können. Anschließend wird eine detailliertere Registrierung unter Verwendung dichter Geometrie und photometrischer Kontinuität durchgeführt.

bei der Posenoptimierung. Hier wird eine geschichtete lokal-zu-globale Optimierungsmethode verwendet, wie in der folgenden Abbildung dargestellt. Es ist insgesamt in zwei Schichten unterteilt. In der untersten ersten Schicht bilden alle 10 aufeinanderfolgenden Frames einen Block, der erste Frame wird als Schlüsselframe verwendet und dann wird eine lokale Posenoptimierung für alle Frames in diesem Block durchgeführt. In der zweiten Ebene werden nur die Keyframes aller Chunks zur Korrelation und globalen Optimierung verwendet. Warum ist das Layering so problematisch? Oder was sind die Vorteile einer solchen Schichtung? Da Keyframes entfernt werden können, werden Speicherplatz und zu verarbeitende Daten reduziert. Und diese mehrschichtige Optimierungsmethode reduziert die unbekannte Menge bei jeder Optimierung und stellt so sicher, dass die Methode auf große Szenen mit geringer Drift ausgeweitet werden kann.

Im Hinblick auf eine dichte Szenenrekonstruktion. Der Algorithmus legt beim Merkmalsabgleich drei Screening-Strategien fest. Die erste besteht darin, die Konsistenz und Stabilität der Verteilung der Schlüsselpunkte selbst direkt zu testen. Die zweite Hürde besteht darin, die Oberfläche des Merkmalsübereinstimmungspaars zu testen und die besonders kleinen zu entfernen, da es leicht zu Mehrdeutigkeiten kommen kann, wenn der Spannbereich klein ist. Die dritte Hürde besteht darin, eine dichte bilaterale geometrische und photometrische Überprüfung durchzuführen und passende Paare mit großen Reprojektionsfehlern zu entfernen.

Features: Robustes Echtzeit-Tracking unter GPU, das das Drift-Phänomen lösen und seit der Implementierung beseitigen kann.

2.2 MVS-Mehrbild-Bildrekonstruktion

Base

MVS besteht darin, aus einer Bildfolge ein 3D-Modell zu rekonstruieren.

Prozess: Bildaufnahme – Posenberechnung – Modellrekonstruktion – Texturkartierung. Bei der Bildaufnahme kann es sich um serialisierte Bilder wie Videos oder diskontinuierliche Bilder handeln. Bei der Posenberechnung gibt es unterschiedliche Methoden zur Posenberechnung, je nachdem, ob es sich um ein serialisiertes Bild handelt.

Anwendungen: audiovisuelle Unterhaltung, AR-Kulturrelikte, automatisches Fahren, 3D-Rekonstruktion großer Szenen usw.

Rezension: Multi-View Stero: Ein Tutorial

COLMAP – 2016

Papier: https://ieeexplore.ieee.org/document/7780814
Code: https://github.com/colmap/colmap

SFM führt normalerweise zunächst eine Merkmalsextraktion/-anpassung und anschließende geometrische Überprüfung durch, um Ausreißer herauszufiltern. Nach den obigen Schritten kann der sogenannte Szenengraph erhalten werden, der die Grundlage für nachfolgende inkrementelle Methoden (Bereitstellung von Informationen wie Datenzuordnung) bildet. Bei der inkrementellen Rekonstruktion müssen zwei Frames sorgfältig für die Rekonstruktion ausgewählt werden. Bevor das Bild registriert wird (dh die Position des aktuellen Frames in der Karte), müssen Szenenpunkte trianguliert/Punkte herausgefiltert und BA optimiert werden aktuelles Modell.

Die Innovation des COLMAP-Algorithmus liegt darin

  • Es wird eine Strategie zur Überprüfung der Geometrie mit mehreren Modellen vorgeschlagen: Die Robustheit der Initialisierung und Triangulation wird verbessert;
  • Nachfolgende optimale Rahmenauswahlstrategie: Verbesserung der Robustheit und Genauigkeit der Posenabrechnung;
  • Um die rekonstruierte Szenenstruktur vollständiger zu machen, wird eine robuste Triangulationsmethode vorgeschlagen.
  • Die vorgeschlagenen iterativen BA-, Re-Triangulations- und Ausreißerfilterungsstrategien tragen alle zur Integrität und Genauigkeit der Rekonstruktion bei;
  • Die effiziente BA-Parametrisierungsmethode ist hilfreich für die Rekonstruktion dichter Bilder;

OpenMVS

Code: https://github.com/cdcseacave/openMVS

Die Eingabe von OpenMVS ist ein Bild und eine Pose, wobei die Pose mit verschiedenen Methoden wie COLMAP und SLAM berechnet werden kann. Führen Sie dann eine dichte Rekonstruktion, Punktwolkenfusion, anfängliche Netzrekonstruktion, Netzoptimierung und Texturkartierung durch.

OpenMVS ist das aktuelle 3D-Rekonstruktions-Framework und der Wiederherstellungseffekt ist relativ gut. Es bietet auch automatisierte Skripte, die nicht schwer zu verwenden sind und in Github heruntergeladen, kompiliert und installiert werden können.

3. 3D-Rekonstruktion basierend auf Deep Learning

3.1 Netzrekonstruktion

Rekonstruktion basierend auf 3DMM

3DMM (3D Morphable Model) verformbares Modell: Jedes Gesichtsbild kann gemäß der folgenden Formel rekonstruiert werden

S-Modell = S 2 + ∑ i = 1 m − 1 α i S i , T-Modell = T 2 + ∑ i = 1 m − 1 β i T i S_{Modell} = S^2+\sum^{m- 1}_{i=1}\alpha_i S_i, T_{Modell} = T^2+\sum^{m-1}_{i=1}\beta_i T_iSm o d e l=S2+ich = 1m 1AichSich,Tm o d e l=T2+ich = 1m 1BichTich

Erweiterung des Netzwerks: Nichtlineares 3D-Face-Morphable-Modell

  • Es wird ein nichtlineares Modell erlernt, das eine größere Darstellungsleistung als herkömmliche lineare Modelle aufweist;
  • Schwach überwachtes Lernen: Verwenden einer großen Anzahl von 2D-Bildern ohne 3D-Scans, um gemeinsam Modelle und Modellanpassungsalgorithmen zu lernen

Ausbau des Netzwerks: 2DASL

  • Selbstüberwachtes Modell zur Überwindung des Problems unzureichender 3D-Annotationsdaten

Erweiterung des Netzwerks: PRNet

  • Das Problem der Gesichtsausrichtung und des 3D-Gesichts wird durchgängig gelöst, sodass es zusammen durchgeführt werden kann und nicht durch den niedrigdimensionalen Lösungsraum eingeschränkt ist
  • Ein leichtes Framework, das über 100 FPS läuft

IF-Netze

IF-NETS ist ein Objekt- und menschliches Rekonstruktionsnetzwerk. Das Netzwerk kann spärliche und dichte Punktwolken in Netzmodelle rekonstruieren. Aufgrund der Beschränkung des Datensatzes (die meisten Daten werden aus dem CAD-Modell gerendert) ist der Modellwiederherstellungseffekt der realen Szene durchschnittlich.

PifuHD

PIFu ist ein Netzwerk zur Rekonstruktion des menschlichen Körpers.

Vorteile des Algorithmus

  • Sowohl Einzelansicht als auch Mehrfachansicht werden unterstützt;
  • Hochkomplexe Formen wie Frisuren, Kleidung sowie deren Variationen und Verformungen können einheitlich digitalisiert werden
  • Rekonstruktionsgenauigkeit und Detailleistung sind besser als bestehende Methoden;
  • Im Gegensatz zu Voxeldarstellungen ist es speichereffizienter, kann beliebige Topologien verarbeiten und erzeugt Oberflächen, die räumlich am Eingabebild ausgerichtet sind

3.1 Tiefenkartenrekonstruktion MVSNet

Netzwerkstruktur: Die Eingabe besteht aus mehreren Bildern einer beliebigen Pose, und die Beziehung zwischen mehreren Bildern muss als Ganzes betrachtet werden.

Der Kern von MVSNet besteht darin, die Tiefenschätzungsmethode des binokularen Stereo-Matchings basierend auf dem Kostenvolumen von zwei Bildern zu nutzen und sie auf die Tiefenschätzung mehrerer Bilder zu erweitern. Das binokulare Stereo-Matching basierend auf dem Kostenvolumen ist jedoch relativ ausgereift. Daher greift MVSNet im Wesentlichen auf ein relativ ausgereiftes Feld zurück und schlägt dann ein Kostenvolumen vor, das auf einer differenzierbaren Homographietransformation für die Tiefenschätzung mit mehreren Ansichten basiert.

Verfahren:

(1) Geben Sie ein Referenzbild (Hauptbild) und mehrere Quellbilder (Hilfsbild) ein .

(2) Verwenden Sie das Netzwerk, um ein Viertel der 32-Kanal-Feature-Map des Downsamplings zu extrahieren.

(3) Unter Verwendung des beim Stereo-Matching vorgeschlagenen Konzepts des Kostenvolumens (dh der binokularen Tiefenschätzung) werden die Merkmale mehrerer Quellbilder mithilfe von Homographieverzerrung in Referenzbilder konvertiert. Während des Konvertierungsprozesses wird, ähnlich wie bei der extremen Liniensuche , Tiefe eingeführt Information. Man kann sagen, dass der Aufbau eines Kostenvolumens der Schlüssel zu MVSNet ist .

Konkret stellt ein Punkt auf dem Kostenvolumen die Varianz der Merkmale aller Bilder an diesem Punkt und den Tiefenwert dar. Je kleiner die Varianz, desto höher ist das Konfidenzniveau in dieser Tiefe.

(4) Verwenden Sie das Kostenvolumen der 3D-Faltungsoperation, geben Sie zunächst die Wahrscheinlichkeit jeder Tiefe aus, berechnen Sie dann den gewichteten Durchschnitt der Tiefe, um die vorhergesagten Tiefeninformationen zu erhalten, und verwenden Sie L1 oder SmoothL1, um die Tiefeninformationen zurückzuführen, was eine Regression darstellt Modell.

(5) Verwenden Sie die Rekonstruktionsbeschränkungen ( fotometrische und geometrische Konsistenz) zwischen mehreren Bildern, um die richtigen Tiefeninformationen auszuwählen, vorherzusagen und sie in eine 3D-Punktwolke zu rekonstruieren.

Erweiterung des Netzwerks: MVS-JDACS-MS
führt kollaborative Segmentierungs- und Datenverbesserungsstrategien im unbeaufsichtigten Netzwerk-Framework ein, um die Interferenz natürlicher Lichtunterschiede zwischen Bildern aus verschiedenen Perspektiven zu überwinden.

Erweitern Sie das Netzwerk: MVS-PatchMatchNet
ist ein effizientes Multi-View-Stereo-Framework, das auf dem traditionellen PatchMatch-Algorithmus basiert.

4. Website zur Algorithmenbewertung

Binokulares Stereo-Matching: https://vision.middlebury.edu/stereo/eval3/

Binokularer Stereokorrelationsalgorithmus für Fahrzeuge: http://www.cvlibs.net/datasets/kitti/eval_scene_flow.php?benchmark=stereo

Außenszene: https://www.eth3d.net/low_res_two_view

Aufsätze, Modelle, Datensätze, Codezusammenfassung zum Thema Computer Vision: https://paperswithcode.com/sota

Dieser Blog-Beitrag wurde zuerst auf der persönlichen Blog-Website veröffentlicht: https://www.mahaofei.com/ , herzlich willkommen.

Guess you like

Origin blog.csdn.net/weixin_44543463/article/details/125628192