0.Abstrakt
Mit dem Aufkommen tiefer neuronaler Netze haben lernbasierte 3D-Rekonstruktionsmethoden an Popularität gewonnen. Im Gegensatz zu Bildern gibt es in 3D jedoch keine rechen- und speichereffiziente kanonische Darstellung, die die Darstellung hochauflösender Geometrien beliebiger Topologien ermöglicht. Daher können viele moderne lernbasierte 3D-Rekonstruktionsmethoden nur sehr grobe 3D-Geometrien darstellen oder sind auf begrenzte Regionen beschränkt. In diesem Artikel schlagen wir eine neue lernbasierte 3D-Rekonstruktionsmethode vor – ein Platzhalternetzwerk. Platzhalternetzwerke repräsentieren implizit 3D-Oberflächen als kontinuierliche Entscheidungsgrenzen für tiefe neuronale Netzwerkklassifikatoren . Im Gegensatz zu bestehenden Methoden kodiert unsere Darstellung eine 3D-Ausgabebeschreibung mit unendlicher Auflösung ohne übermäßigen Speicherbedarf. Wir überprüfen, ob unsere Darstellung die 3D-Struktur effizient kodieren kann und aus einer Vielzahl von Eingaben abgeleitet werden kann. Unsere Experimente zeigen sowohl qualitativ als auch quantitativ wettbewerbsfähige Ergebnisse bei der anspruchsvollen Aufgabe der 3D-Rekonstruktion aus Einzelbildern, verrauschten Punktwolken und groben diskreten Voxelgittern. Wir glauben, dass Platzhalternetzwerke ein nützliches Werkzeug für eine Vielzahl lernbasierter 3D-Aufgaben werden werden.
1. Hauptidee
Es wird ein Netzwerk entworfen: Belegungsnetzwerk. Das Netzwerk passt eine Funktion f durch Lernen an. Tatsächlich entspricht es dem Lernen eines Regressionsnetzwerks, der Eingabe eines Punktes, und das Netzwerk gibt die Belegungswahrscheinlichkeit [0,1] aus.
Eingabe: Tensor-Dimension ist (X,3),
Ausgabe: Tensor-Dimension (X,1).
2. Implementierungsdetails
2.1 Netzwerkstruktur
- Belegungsnetzwerk (Onet): Vollständig verbundene Schicht FCN+5 ResNet-Blöcke+ (Batch-Normalisierung)
- Unterschiedliche Eingaben, unterschiedliche Encoder (Warum benötigen Sie einen Encoder? Extrahieren Sie zuerst Features aus den Eingabedaten, konvertieren Sie sie in latenten Code und geben Sie dann Onet ein?)
- 3D-Rekonstruktion: ResNet18-Architektur
- Punktwolken: PointNet-Encoder
- Voxelisierte Eingaben: 3D-Faltungs-Neuronales Netzwerk
- bedingungslose Netzgenerierung: PointNet
Training, Verlustfunktion
- Zuerst werden die Probenahmepunkte ausgewählt. Die Probenahmemethode wirkt sich auf das Ergebnis aus. Uniform ist das Beste
- Zu unserer Überraschung stellen wir fest, dass die einheitliche, einfachste Stichprobenstrategie am besten funktioniert. Wir erklären dies durch die Tatsache, dass andere Sampling-Strategien zu einer Verzerrung des Modells führen: Wenn wir beispielsweise eine gleiche Anzahl von Punkten innerhalb und außerhalb des Netzes abtasten, teilen wir dem Modell implizit mit, dass jedes Objekt ein Volumen von 0,5 hat.
- Darüber hinaus stellen wir fest, dass eine Reduzierung der Anzahl der Abtastpunkte von 2048 auf 64 immer noch zu einer guten Leistung führt
- verlustfunktion
- Die Verlustfunktion des probabilistischen Modells versteckter Variablen, z ist die versteckte Variable
Argumentation, Netz rekonstruieren
- 1. Bestimmen Sie zunächst eine Anfangsauflösung, geben Sie die Koordinaten des Gitterpunkts in Onet ein und ermitteln Sie die Belegungswahrscheinlichkeit.
- 2. Legen Sie einen Schwellenwert T fest und subtrahieren Sie diesen Schwellenwert T von der Belegungswahrscheinlichkeit. (Schwellenwert T bestimmt die Dicke der extrahierten Oberfläche?) Wenn die Belegungswahrscheinlichkeit eines Gitterpunkts und mindestens zweier benachbarter Gitterpunkte unterschiedliche Vorzeichen haben, dann gilt: Gitterpunkte werden durch eine durch die Oberfläche verlaufende Linie verbunden
- 3. Teilen Sie jedes Gitter weiter und geben Sie die neu generierten Gitterpunkte in Onet ein, um die Belegungswahrscheinlichkeit zu erhalten.
- 4. Wiederholen Sie Schritt 3, bis die Auflösung den voreingestellten Wert erreicht
- 5. Sampling-Marching-Cubes-Algorithmus zum Extrahieren des Netzes
- 6. Verwenden Sie den Fast-Quadric-Mesh-Simplification- Algorithmus zur Feinabstimmung
- 7. Verwenden Sie Gradienteninformationen erster und zweiter Ordnung zur Feinabstimmung
3. Experimentieren
3.1 Ausdrucksfähigkeit
Wir betten jedes Trainingsmuster in einen 512-dimensionalen latenten Raum ein und trainieren unser neuronales Netzwerk, um aus dieser Einbettung die 3D-Form zu rekonstruieren.
- Details: Ordnen Sie die Eingabe zunächst einem 512-dimensionalen Merkmalsraum zu, geben Sie dann die Belegungswahrscheinlichkeit aus dem Merkmalsraum aus und rekonstruieren Sie dann die 3D-Form.
- Datensatz: ShapeNet-Stuhl
- Ergebnis:
3.2 Einzelbild-3D-Rekonstruktion
Wir verwenden einen ResNet-18-Bildencoder, der anhand des ImageNet-Datensatzes vorab trainiert wurde
- Detail:
- Datensatz:
- ShapeNet
- KITTY
- Datensätze zu Online-Produkten
- Ergebnis
3.3 Vervollständigung der Punktwolke
Netzrekonstruktion aus verrauschter Punktwolke China
3,4 Voxel-Superauflösung
3.5 Bedingungslose Netzgenerierung
4. Ablationsexperiment
4.1 Auswirkung der Stichprobenstrategie
4.2 Einfluss der Netzwerkstruktur
CBN: bedingte Chargennormalisierung