AI-For-Beginners/translations/de/lessons/4-ComputerVision/11-ObjectDetection
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
lab Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Objekt Erkennung

Die Bildklassifizierungsmodelle, mit denen wir bisher gearbeitet haben, nahmen ein Bild und lieferten ein kategoriales Ergebnis, wie die Klasse 'Zahl' in einem MNIST-Problem. In vielen Fällen wollen wir jedoch nicht nur wissen, dass ein Bild Objekte darstellt - wir wollen in der Lage sein, ihren genauen Standort zu bestimmen. Genau das ist der Punkt der Objekt Erkennung.

Vorlesungsquiz

Objekt Erkennung

Bild von YOLO v2 Webseite

Ein Naiver Ansatz zur Objekt Erkennung

Angenommen, wir wollten eine Katze auf einem Bild finden, ein sehr naiver Ansatz zur Objekt Erkennung wäre folgender:

  1. Zerlegen Sie das Bild in eine Anzahl von Kacheln.
  2. Führen Sie die Bildklassifizierung auf jeder Kachel durch.
  3. Die Kacheln, die eine ausreichend hohe Aktivierung ergeben, können als solche betrachtet werden, die das betreffende Objekt enthalten.

Naive Objekt Erkennung

Bild aus Übungsnotizbuch

Dieser Ansatz ist jedoch alles andere als ideal, da er es dem Algorithmus nur ermöglicht, die Begrenzungsbox des Objekts sehr ungenau zu lokalisieren. Für eine genauere Lokalisierung müssen wir eine Art Regression durchführen, um die Koordinaten der Begrenzungsrahmen vorherzusagen - und dafür benötigen wir spezifische Datensätze.

Regression zur Objekt Erkennung

Dieser Blogbeitrag bietet eine großartige sanfte Einführung in die Erkennung von Formen.

Datensätze zur Objekt Erkennung

Sie könnten auf die folgenden Datensätze für diese Aufgabe stoßen:

  • PASCAL VOC - 20 Klassen
  • COCO - Gemeinsame Objekte im Kontext. 80 Klassen, Begrenzungsrahmen und Segmentierungs-Masken

COCO

Metriken zur Objekt Erkennung

Schnittmenge über Vereinigung

Während es bei der Bildklassifizierung einfach ist, zu messen, wie gut der Algorithmus funktioniert, müssen wir bei der Objekt Erkennung sowohl die Richtigkeit der Klasse als auch die Präzision des abgeleiteten Begrenzungsrahmenstandorts messen. Für letzteres verwenden wir die sogenannte Schnittmenge über Vereinigung (IoU), die misst, wie gut zwei Boxen (oder zwei beliebige Bereiche) überlappen.

IoU

Abbildung 2 aus diesem ausgezeichneten Blogbeitrag über IoU

Die Idee ist einfach - wir teilen die Fläche der Schnittmenge zwischen zwei Figuren durch die Fläche ihrer Vereinigung. Für zwei identische Bereiche wäre IoU 1, während es für vollständig disjunkte Bereiche 0 sein würde. Ansonsten variiert es von 0 bis 1. Wir berücksichtigen typischerweise nur diejenigen Begrenzungsrahmen, für die IoU über einem bestimmten Wert liegt.

Durchschnittliche Präzision

Angenommen, wir wollen messen, wie gut eine gegebene Klasse von Objekten C erkannt wird. Um dies zu messen, verwenden wir Durchschnittliche Präzisions-Metriken, die wie folgt berechnet werden:

  1. Betrachten Sie die Precision-Recall-Kurve, die die Genauigkeit in Abhängigkeit von einem Erkennungsschwellenwert (von 0 bis 1) zeigt.
  2. Je nach Schwellenwert erhalten wir mehr oder weniger Objekte, die im Bild erkannt werden, und unterschiedliche Werte für Präzision und Rückruf.
  3. Die Kurve sieht folgendermaßen aus:

Bild aus NeuroWorkshop

Die durchschnittliche Präzision für eine gegebene Klasse C ist die Fläche unter dieser Kurve. Genauer gesagt, wird die Recall-Achse typischerweise in 10 Teile unterteilt, und die Präzision wird über all diese Punkte gemittelt:


AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})

AP und IoU

Wir werden nur diejenigen Erkennungen berücksichtigen, für die IoU über einem bestimmten Wert liegt. Zum Beispiel wird im PASCAL VOC-Datensatz typischerweise \mbox{IoU-Schwellenwert} = 0.5 angenommen, während im COCO AP für unterschiedliche Werte von \mbox{IoU-Schwellenwert} gemessen wird.

Durchschnittliche Durchschnittliche Präzision - mAP

Die Hauptmetrik für die Objekt Erkennung wird Durchschnittliche Durchschnittliche Präzision oder mAP genannt. Es ist der Wert der Durchschnittlichen Präzision, gemittelt über alle Objektklassen und manchmal auch über \mbox{IoU-Schwellenwert}. Im Detail wird der Prozess zur Berechnung von mAP in diesem Blogbeitrag beschrieben, und auch hier mit Codebeispielen.

Verschiedene Ansätze zur Objekt Erkennung

Es gibt zwei breite Klassen von Algorithmen zur Objekt Erkennung:

  • Region Proposal Networks (R-CNN, Fast R-CNN, Faster R-CNN). Die Hauptidee besteht darin, Regionen von Interessen (ROI) zu generieren und CNN darüber laufen zu lassen, um maximale Aktivierung zu suchen. Es ist ein wenig ähnlich wie der naive Ansatz, mit der Ausnahme, dass ROIs auf eine cleverere Weise generiert werden. Einer der größten Nachteile solcher Methoden ist, dass sie langsam sind, da wir viele Durchläufe des CNN-Klassifikators über das Bild benötigen.
  • Einmalige (YOLO, SSD, RetinaNet) Methoden. In diesen Architekturen entwerfen wir das Netzwerk, um sowohl Klassen als auch ROIs in einem Durchgang vorherzusagen.

R-CNN: Region-Based CNN

R-CNN verwendet Selective Search, um eine hierarchische Struktur von ROI-Regionen zu generieren, die dann durch CNN-Feature-Extraktoren und SVM-Klassifizierer geleitet werden, um die Objektklasse zu bestimmen, und durch lineare Regression, um die Begrenzungsrahmen-Koordinaten zu bestimmen. Offizielles Papier

RCNN

Bild von van de Sande et al. ICCV11

RCNN-1

Bilder aus diesem Blog

F-RCNN - Fast R-CNN

Dieser Ansatz ähnelt R-CNN, aber die Regionen werden definiert, nachdem die Faltungsschichten angewendet wurden.

FRCNN

Bild aus dem offiziellen Papier, arXiv, 2015

Faster R-CNN

Die Hauptidee dieses Ansatzes ist es, ein neuronales Netzwerk zu verwenden, um ROIs vorherzusagen - so genannte Region Proposal Network. Papier, 2016

FasterRCNN

Bild aus dem offiziellen Papier

R-FCN: Region-Based Fully Convolutional Network

Dieser Algorithmus ist sogar schneller als Faster R-CNN. Die Hauptidee ist folgende:

  1. Wir extrahieren Merkmale mit ResNet-101.
  2. Merkmale werden durch Positionssensitives Score Map verarbeitet. Jedes Objekt aus C Klassen wird in k\times k Regionen unterteilt, und wir trainieren, um Teile von Objekten vorherzusagen.
  3. Für jedes Teil aus k\times k Regionen stimmen alle Netzwerke für Objektklassen ab, und die Objektklasse mit der maximalen Stimme wird ausgewählt.

r-fcn image

Bild aus offiziellen Papier

YOLO - You Only Look Once

YOLO ist ein Echtzeit-Einmal-Algorithmus. Die Hauptidee ist folgende:

  • Das Bild wird in S\times S Regionen unterteilt.
  • Für jede Region sagt CNN n mögliche Objekte, Begrenzungsrahmen-Koordinaten und Konfidenz=Wahrscheinlichkeit * IoU voraus.

YOLO

Bild aus offiziellen Papier

Andere Algorithmen

✍️ Übungen: Objekterkennung

Setze dein Lernen im folgenden Notizbuch fort:

ObjectDetection.ipynb

Fazit

In dieser Lektion hast du eine rasante Tour durch die verschiedenen Möglichkeiten der Objekterkennung gemacht!

🚀 Herausforderung

Lies dir diese Artikel und Notizbücher über YOLO durch und probiere sie selbst aus.

Nach der Vorlesung Quiz

Überprüfung & Selbststudium

Aufgabe: Objekterkennung

Haftungsausschluss:
Dieses Dokument wurde mit maschinellen KI-Übersetzungsdiensten übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als die maßgebliche Quelle betrachtet werden. Für wichtige Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die aus der Verwendung dieser Übersetzung entstehen.