[PYTHON] Grundlegendes Verständnis der Stereo-Tiefenschätzung (Deep Learning)

Ich habe den Fluss der Tiefenschätzung (Disparität) durch die Stereokamera zusammengefasst.

Im vorherigen Artikel finden Sie Informationen zur allgemeinen Stereoanpassung https://qiita.com/minh33/items/55717aa1ace9d7f7e7dd

Tiefenoptimierungsprozess 1. Feature Extraction => Extrahieren Sie Features mit demselben Netzwerk und demselben Gewicht links und rechts (BxHxC). ex) Intensität, Form, ..... etc. 2. Cost Volume => Erstellen Sie einen Disparitätskanal durch Verschieben des Pixels (DxBxHxC). D ist ein beliebiger Wert, und Sie bestimmen die maximale Disparität (Pixel), die Sie annehmen können. Wenn es zu groß ist, ist es schwer, und wenn es zu klein ist, werden nahe Objekte nicht abgeglichen. 3. 3D Feature Matching => Lernen Sie, einen großen Wert zu erhalten, bei dem das rechte und das linke Merkmal nahe beieinander liegen, indem Sie (DxBxHxC) mit den erhaltenen Merkmalen (DxBxHx1) falten. 4. Disparity Regression => Konvertiere von (DxBxH) nach (1xBxH), um die endgültige Disparität zu finden 5. Verlust berechnen => Berechnen Sie den Verlust, indem Sie LiDAR für Ground Truth verwenden oder das linke und das rechte Bild verzerren. In letzter Zeit wird oft gesehen, nur mit Bildern zu lernen.

image.png

Computing the Stereo Matching Cost with a Convolutional Neural Network(2015)

Verbessern Sie die Genauigkeit, indem Sie Mehrkanalmerkmale ersetzen, indem Sie die Merkmale des rechten und linken Bildes anstelle der Intensität falten image.png

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(2015)

Sie müssen sich auf einen größeren Pixelbereich beziehen, um mit Objekten in der Nähe übereinzustimmen. Die Lösung besteht darin, die Auflösung der Feature-Map mit feinen und groben zu kombinieren. image.png

End-to-End Learning of Geometry and Context for Deep Stereo Regression(2017)

Generieren Sie eine Faltungs-Feature-Map (BxHxC) mit dem gleichen Gewicht für jedes der rechten und linken Bilder wie zuvor. Erstellen Sie eine Feature-Map (DxBxHxC), die die Pixel des linken Bilds horizontal von 0 auf maxDisparity (beliebig) in Bezug auf das rechte Bild verschiebt. Verschieben Sie das Pixel einfach horizontal (Breitenrichtung). Durch Ausführen von 3D-Faltung und 3D-Entfaltung bei 1/2, 1/4, 1/8, 1/16, 1/32 können Sie grobe Merkmale und detaillierte Merkmale erlernen. Die Ausgabe hier ist (DxHxW). Die endgültige Disparität wird ausgegeben, indem der eindimensionale Übereinstimmungswert mit der Disparität multipliziert und ein gewichteter Durchschnitt genommen wird. Mit softArgMin ist es möglich, die Disparität mit Subpixel-Genauigkeit zu berechnen.

image.png

image.png

Self-Supervised Learning for Stereo Matching with Self-Improving Ability(2017)

Ich habe Disparität oder Tiefe von LiDAR erhalten, um Verluste zu finden. Die Dichte von LiDAR ist gröber als die des Bildes, und da das Training auch in einem System durchgeführt wird, das kein LiDAR verwendet, wird das Bild links simuliert, indem das Pixel um die geschätzte Disparität des rechten Bildes verschoben wird. Der Verlust kann definiert werden, indem der SAD (Intensität oder RGB-Unterschied) oder SSIM (strukturelle Ähnlichkeit) zwischen dem erzeugten linken Bild und dem ursprünglichen linken Bild betrachtet wird. Wenn die Disparität korrekt geschätzt werden kann, ist das verzerrte Bild fast das gleiche wie das gegenüberliegende Bild.

image.png

Recommended Posts

Grundlegendes Verständnis der Stereo-Tiefenschätzung (Deep Learning)
Grundlegendes Verständnis der Tiefenschätzung mit einer Monokamera (Deep Learning)
Deep Learning 1 Übung des Deep Learning
Techniken zum Verständnis der Grundlagen von Deep-Learning-Entscheidungen
Deep Running 2 Tuning von Deep Learning
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Bedeutung von Deep-Learning-Modellen und -Parametern
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
Objekterkennung durch tiefes Lernen, Keras tief zu verstehen
Emotionale Analyse von Tweets mit Deep Learning
Tiefes Lernen
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Die Geschichte des tiefen Lernens mit TPU
Deep Learning / Fehler-Backpropagation der Sigmoid-Funktion
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Paralleles Lernen von Deep Learning durch Keras und Kubernetes
Angemessene Preisschätzung von Mercari durch maschinelles Lernen
Implementierung eines Deep Learning-Modells zur Bilderkennung
Tiefes Lernen durch Implementierung (Segmentierung) ~ Implementierung von SegNet ~
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
Anwendung von Deep Learning 2 von Grund auf neu Spam-Filter
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Katzen haben es schon satt, locker und locker zu lernen
Sammlung und Automatisierung erotischer Bilder durch Deep Learning
DEEP PROBABILISTIC PROGRAMMING --- Bibliothek "Deep Learning + Bayes" --- Einführung von Edward