Objekterkennung für Dummies Teil 2: CNN, DPM und Overfeat

In Teil 2 werden verschiedene klassische faltungsneurale Arbeitsarchitekturdesigns für die Bildklassifizierung (AlexNet, VGG, ResNet) sowie DPM (Deformable Parts Model) und Overfeat-Modelle für die Objekterkennung vorgestellt.

Teil 1 der Reihe “Objekterkennung für Dummies” vorgestellt: (1) das Konzept des Bildverlaufsvektors und wie der HOG-Algorithmus die Informationen über alle Gradientenvektoren in einem Bild zusammenfasst; (2) wie der Bildsegmentierungsalgorithmus funktioniert, um Regionen zu erkennen, die potenziell Objekte enthalten; (3) wie der selektive Suchalgorithmus die Ergebnisse der Bildsegmentierung für einen besseren Regionsvorschlag verfeinert.

In Teil 2 werden wir mehr über die klassischen neuronalen Faltungsnetzarchitekturen für die Bildklassifizierung erfahren. Sie legen den Grundstein für weitere Fortschritte bei den Deep-Learning-Modellen zur Objekterkennung. Schauen Sie sich Teil 3 an, wenn Sie mehr über R-CNN und verwandte Modelle erfahren möchten.

Links zu allen Beiträgen der Serie: .

CNN für die Bildklassifizierung

CNN, kurz für “Convolutional Neural Network”, ist die Lösung für Computer-Vision-Probleme in der Deep-Learning-Welt. Es wurde zu einem gewissen Grad von der Funktionsweise des menschlichen visuellen Kortexsystems inspiriert.

Faltungsoperation

Ich empfehle dringend dieses Handbuch zur Faltungsarithmetik, das eine saubere und solide Erklärung mit unzähligen Visualisierungen und Beispielen bietet. Konzentrieren wir uns hier auf die zweidimensionale Faltung, da wir in diesem Beitrag mit Bildern arbeiten.

Kurz gesagt, Faltungsoperation schiebt einen vordefinierten Kernel (auch “Filter” genannt) über die Eingabe-Feature-Map (Matrix von Bildpixeln), multipliziert und addiert die Werte des Kernels und der Teil-Input-Features, um die Ausgabe zu generieren. Die Werte bilden eine Ausgabematrix, da der Kernel normalerweise viel kleiner ist als das Eingabebild.

Faltungsoperation

Abb. 1. Eine Illustration zum Anwenden eines Kernels auf die Eingabe-Feature-Map, um die Ausgabe zu generieren. (Bildquellen: River Trail documentation)

Abbildung 2 zeigt zwei reale Beispiele, wie ein 3×3-Kernel über eine 5×5-2D-Matrix numerischer Werte gefaltet wird, um eine 3×3-Matrix zu generieren. Durch Steuern der Polstergröße und der Schrittlänge können wir eine Ausgabematrix einer bestimmten Größe generieren.

FaltungsoperationFaltungsoperation

Abb. 2. Zwei Beispiele für 2D-Faltungsoperationen: (oben) kein Auffüllen und 1×1 Schritte; (unten) 1×1 Randnullen Auffüllen und 2×2 Schritte. (Bildquelle: deeplearning.net)

AlexNet (Krischewski et al, 2012)

  • 5 Faltungsebenen + 2 MLP-Ebenen + 1 LR-Ebene
  • Verwenden Sie Datenvergrößerungstechniken, um den Trainingsdatensatz zu erweitern, z. B. Bildübersetzungen, horizontale Reflexionen und Patch-Extraktionen.

 Faltungsoperationsbeispiel

Abb. 3. Die Architektur von AlexNet. (Bildquelle: Link)

VGG (Simonyan und Zisserman, 2014)

  • Das Netzwerk gilt zu seiner Zeit als “sehr tief”; 19 schichten
  • Die Architektur ist mit nur 3×3 Faltungsschichten und 2×2 Pooling-Schichten extrem vereinfacht. Das Stapeln kleiner Filter simuliert einen größeren Filter mit weniger Parametern.

ResNet (Er et al., 2015)

  • Das Netzwerk ist in der Tat sehr tief; 152 Schichten einfacher Architektur.
  • Restblock: Einige Eingaben einer bestimmten Ebene können zwei Ebenen später an die Komponente übergeben werden. Restblöcke sind wichtig, um ein tiefes Netzwerk trainierbar zu halten und schließlich zu funktionieren. Ohne Restblöcke nimmt der Trainingsverlust eines einfachen Netzwerks nicht monoton ab, wenn die Anzahl der Schichten aufgrund verschwindender und explodierender Gradienten zunimmt.

 Restblock

Abb. 4. Eine Illustration des Restblocks von ResNet. In gewisser Weise können wir sagen, dass das Design von Restblöcken von V4 inspiriert ist, das direkt von V1 im menschlichen visuellen Kortexsystem eingegeben wird. (linke Bildquelle: Wang et al., 2017)

Bewertungsmetriken: mAP

Eine gängige Bewertungsmetrik, die in vielen Objekterkennungs- und Erkennungsaufgaben verwendet wird, ist “mAP”, kurz für “mean average precision”. Es ist eine Zahl von 0 bis 100; höherer Wert ist besser.

  • Kombinieren Sie alle Erkennungen aus allen Testbildern, um für jede Klasse eine Precision-Recall-Kurve (PR-Kurve) zu zeichnen; Die “average precision” (AP) ist die Fläche unter der PR-Kurve.
  • Da sich Zielobjekte in verschiedenen Klassen befinden, berechnen wir den AP zuerst separat für jede Klasse und dann den Durchschnitt über die Klassen.
  • Eine Erkennung ist wahr positiv, wenn sie “Intersection over Union” (IoU) mit einer Ground-Truth-Box hat, die größer als ein Schwellenwert ist (normalerweise 0,5; wenn ja, lautet die Metrik “[email protected]”)

Deformable Parts Model

Das Deformable Parts Model (DPM) (Felzenszwalb et al., 2010) erkennt Objekte mit einem grafischen Mischmodell (Markov random fields) verformbarer Teile. Das Modell besteht aus drei Hauptkomponenten:

  1. Ein grober Wurzelfilter definiert ein Detektionsfenster, das annähernd ein gesamtes Objekt abdeckt. Ein Filter gibt Gewichtungen für einen Regionsmerkmalsvektor an.
  2. Mehrere Teilefilter, die kleinere Teile des Objekts abdecken. Teilefilter werden mit der doppelten Auflösung des Wurzelfilters gelernt.
  3. Ein räumliches Modell zum Bewerten der Positionen von Teilefiltern relativ zur Wurzel.

DPM

Abb. 5. Das DPM-Modell enthält (a) einen Wurzelfilter, (b) mehrere Teilefilter mit doppelter Auflösung und (c) ein Modell zur Bewertung der Position und Verformung von Teilen.

Die Qualität der Erkennung eines Objekts wird durch die Bewertung der Filter abzüglich der Verformungskosten gemessen. Die übereinstimmende Punktzahl \ (f \) ist in Laienbegriffen:

\\]

in welcher,

  • \( x\) ist ein Bild mit einer bestimmten Position und Skalierung;
  • \(y\) ist ein Teilbereich von \(x\).
  • \(\beta_\text{root}\) ist der Root-Filter.
  • \(\beta_\text{part}\) ist ein Teilefilter.
  • cost() misst den Wert des Teils, das von seiner idealen Position relativ zur Wurzel abweicht.

Das grundlegende Score-Modell ist das Punktprodukt zwischen dem Filter \(\beta\) und dem Regionsmerkmalsvektor \(\Phi(x)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). Das Feature Set \(\Phi(x)\) kann durch HOG oder andere ähnliche Algorithmen definiert werden.

Eine Wurzelposition mit hoher Punktzahl erkennt eine Region mit hohen Chancen, ein Objekt zu enthalten, während die Positionen der Teile mit hohen Punktzahlen eine erkannte Objekthypothese bestätigen. Das Papier übernahm latente SVM, um den Klassifikator zu modellieren.

 DPM matching prozess

Abb. 6. Der Matching-Prozess von DPM. (Bildquelle: Felzenszwalb et al., 2010)

Der Autor behauptete später, dass DPM- und CNN-Modelle keine zwei unterschiedlichen Ansätze zur Objekterkennung sind. Stattdessen kann ein DPM-Modell als CNN formuliert werden, indem der DPM-Inferenzalgorithmus abgewickelt und jeder Schritt einer äquivalenten CNN-Schicht zugeordnet wird. (Überprüfen Sie die Details in Girshick et al., 2015!)

Overfeat

Overfeat ist ein pionier modell der integration der objekt erkennung, lokalisierung und klassifizierung aufgaben alle in einem convolutional neural network. Die Hauptidee besteht darin, (i) die Bildklassifizierung an verschiedenen Stellen in Bereichen mehrerer Skalen des Bildes in einer Schiebefensterart durchzuführen und (ii) die Begrenzungsrahmenpositionen mit einem Regressor vorherzusagen, der auf denselben Faltungsschichten trainiert ist.

Die Overfeat-Modellarchitektur ist AlexNet sehr ähnlich. Es wird wie folgt trainiert:

 Overfeat Training

Abb. 7. Die Trainingsphasen des Overfeat-Modells. (Bildquelle: Link)

  1. Trainieren Sie ein CNN-Modell (ähnlich wie AlexNet) für die Bildklassifizierungsaufgabe.
  2. Dann ersetzen wir die obersten Klassifikatorschichten durch ein Regressionsnetzwerk und trainieren es, um Objektbegrenzungsrahmen an jedem räumlichen Ort und Maßstab vorherzusagen. Der Regressor ist klassenspezifisch und wird jeweils für eine Bildklasse generiert.
    • Eingabe: Bilder mit Klassifizierung und Begrenzungsrahmen.
    • Ausgabe: \((x_ \text{links}, x_ \text{rechts}, y_\text{oben}, y_ \text{unten})\), insgesamt 4 Werte, die die Koordinaten der Kanten des Begrenzungsrahmens darstellen.
    • Verlust: Der Regressor wird trainiert, um die \(l2\) Norm zwischen dem generierten Begrenzungsrahmen und der Grundwahrheit für jedes Trainingsbeispiel zu minimieren.

Zur Detektionszeit,

  1. Führen Sie die Klassifizierung an jedem Standort mithilfe des vortrainierten CNN-Modells durch.
  2. Vorhersage von Objektbegrenzungsrahmen für alle klassifizierten Regionen, die vom Klassifikator generiert werden.
  3. Zusammenführen von Begrenzungsrahmen mit ausreichender Überlappung von der Lokalisierung und ausreichender Sicherheit, dass es sich um dasselbe Objekt aus dem Klassifikator handelt.

Zitiert als:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

Referenz

Vincent Dumoulin und Francesco Visin. “Ein Leitfaden zur Faltungsarithmetik für Deep Learning.” arXiv preprint arXiv:1603.07285 (2016).

Haohan Wang, Bhiksha Raj und Eric P. Xing. “Über den Ursprung von Deep Learning.” arXiv preprint arXiv:1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester und Deva Ramanan. “Objekterkennung mit diskriminativ trainierten bauteilbasierten Modellen.” IEEE transactions on pattern analysis and machine intelligence 32, Nr. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell und Jitendra Malik. “Verformbare Teilemodelle sind faltungsneurale Netze.” In Proc. IEEE Conf. über Computer Vision und Mustererkennung (CVPR), S. 437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus und Yann LeCun. “OverFeat: Integrierte Erkennung, Lokalisierung und Erkennung mithilfe von Faltungsnetzwerken” arXiv Preprint arXiv: 1312.6229 (2013).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.