X
Ultralytics YOLOv8.2 FreigabeUltralytics YOLOv8.2 Mobil freigebenUltralytics YOLOv8.2 Pfeil loslassen
Grüner Scheck
Link in die Zwischenablage kopiert

Was ist R-CNN? Ein kurzer Überblick

Erfahre mehr über RCNN und seinen Einfluss auf die Objekterkennung. Wir behandeln seine wichtigsten Komponenten, Anwendungen und seine Rolle bei der Weiterentwicklung von Techniken wie Fast RCNN und YOLO.

Die Objekterkennung ist eine Aufgabe der Computer Vision, mit der Objekte in Bildern oder Videos für Anwendungen wie autonomes Fahren, Überwachung und medizinische Bildgebung erkannt und lokalisiert werden können. Frühere Methoden zur Objekterkennung wie der Viola-Jones-Detektor und das Histogram of Oriented Gradients (HOG) mit Support Vector Machines (SVM) stützten sich auf handgefertigte Merkmale und gleitende Fenster. Diese Methoden hatten oft Probleme, Objekte in komplexen Szenen mit mehreren Objekten unterschiedlicher Form und Größe genau zu erkennen.

Regionale Faltungsneuronale Netze (R-CNN) haben die Art und Weise, wie wir die Objekterkennung angehen, verändert. Sie sind ein wichtiger Meilenstein in der Geschichte der Computer Vision. Um zu verstehen, wie Modelle wie YOLOv8 entstanden sind, müssen wir zunächst Modelle wie R-CNN verstehen. 

Die von Ross Girshick und seinem Team entwickelte R-CNN-Modellarchitektur generiert Regionsvorschläge, extrahiert Merkmale mit einem vortrainierten Convolutional Neural Network (CNN), klassifiziert Objekte und verfeinert Bounding Boxes. Das mag entmutigend klingen, aber am Ende dieses Artikels wirst du genau verstehen, wie R-CNN funktioniert und warum es so wirkungsvoll ist. Lass uns einen Blick darauf werfen!

Wie funktioniert R-CNN?

Der Prozess der Objekterkennung des R-CNN-Modells umfasst drei Hauptschritte: das Erzeugen von Regionsvorschlägen, das Extrahieren von Merkmalen und das Klassifizieren von Objekten, während ihre Bounding Boxen verfeinert werden. Schauen wir uns jeden Schritt an.

Abb. 1. Wie R-CNN funktioniert.

Vorschläge der Regionen: Das Rückgrat des RCNN

Im ersten Schritt scannt das R-CNN-Modell das Bild, um zahlreiche Regionsvorschläge zu erstellen. Regionsvorschläge sind potenzielle Bereiche, die Objekte enthalten könnten. Methoden wie die selektive Suche werden verwendet, um verschiedene Aspekte des Bildes wie Farbe, Textur und Form zu untersuchen und das Bild in verschiedene Teile zu zerlegen. Bei der selektiven Suche wird das Bild zunächst in kleinere Teile unterteilt und dann ähnliche Teile zu größeren Bereichen von Interesse zusammengefügt. Dieser Prozess wird fortgesetzt, bis etwa 2.000 Regionsvorschläge erstellt sind.

Abb. 2. Wie die selektive Suche funktioniert.

Diese Regionsvorschläge helfen dabei, alle möglichen Stellen zu identifizieren, an denen sich ein Objekt befinden könnte. In den folgenden Schritten kann das Modell die relevantesten Bereiche effizient verarbeiten, indem es sich auf diese spezifischen Bereiche konzentriert und nicht auf das gesamte Bild. Die Verwendung von Regionsvorschlägen schafft ein Gleichgewicht zwischen Gründlichkeit und Recheneffizienz.

Extraktion von Bildmerkmalen: Die Details einfangen

Der nächste Schritt in der Objekterkennung des R-CNN-Modells besteht darin, Merkmale aus den Regionsvorschlägen zu extrahieren. Jeder Regionsvorschlag wird auf eine einheitliche Größe gebracht, die das CNN erwartet (z. B. 224 x 224 Pixel). Die Größenanpassung hilft dem CNN, jeden Vorschlag effizient zu verarbeiten. Vor dem Warping wird die Größe jedes Regionsvorschlags leicht erweitert, um 16 Pixel zusätzlichen Kontext um die Region herum einzuschließen, damit mehr Umgebungsinformationen für eine bessere Merkmalsextraktion zur Verfügung stehen.

Nach der Größenänderung werden diese Regionsvorschläge in ein CNN wie AlexNet eingespeist, das normalerweise auf einem großen Datensatz wie ImageNet trainiert wird. Das CNN verarbeitet jede Region, um hochdimensionale Merkmalsvektoren zu extrahieren, die wichtige Details wie Kanten, Texturen und Muster erfassen. Diese Merkmalsvektoren fassen die wesentlichen Informationen aus den Regionen zusammen. Sie wandeln die rohen Bilddaten in ein Format um, das das Modell für die weitere Analyse nutzen kann. Die genaue Klassifizierung und Lokalisierung von Objekten in den nächsten Schritten hängt von dieser entscheidenden Umwandlung der visuellen Informationen in aussagekräftige Daten ab.

Abb. 3. Extrahieren von Merkmalen aus einem Regionenvorschlag mit AlexNet.

Objektklassifizierung: Identifizierung von erkannten Objekten

Der dritte Schritt besteht darin, die Objekte innerhalb dieser Regionen zu klassifizieren. Das bedeutet, dass die Kategorie oder Klasse jedes Objekts, das sich in den Vorschlägen befindet, bestimmt wird. Die extrahierten Merkmalsvektoren werden dann durch einen Machine Learning Classifier geleitet.

Im Fall von R-CNN werden zu diesem Zweck in der Regel Support Vector Machines (SVMs) verwendet. Jede SVM wird darauf trainiert, eine bestimmte Objektklasse zu erkennen, indem sie die Merkmalsvektoren analysiert und entscheidet, ob eine bestimmte Region eine Instanz dieser Klasse enthält. Im Grunde genommen gibt es für jede Objektkategorie einen eigenen Klassifikator, der jeden Regionsvorschlag für dieses spezifische Objekt überprüft.

Beim Training erhalten die Klassifikatoren gelabelte Daten mit positiven und negativen Beispielen:

  • Positive Proben: Regionen, die das Zielobjekt enthalten.
  • Negative Proben: Regionen ohne das Objekt.

Die Klassifikatoren lernen, zwischen diesen Proben zu unterscheiden. Die Bounding-Box-Regression verfeinert die Position und Größe der erkannten Objekte, indem sie die ursprünglich vorgeschlagenen Bounding-Boxen so anpasst, dass sie besser zu den tatsächlichen Objektgrenzen passen. Das R-CNN-Modell kann durch die Kombination von Klassifizierung und Bounding-Box-Regression Objekte identifizieren und genau lokalisieren.

Abb. 4. Ein Beispiel für eine Bounding-Box-Regression.

Alles zusammenfügen: Verfeinerung von Aufdeckungen mit NMS

Nach der Klassifizierung und der Regression der Boundingboxen erzeugt das Modell oft mehrere überlappende Boundingboxen für dasselbe Objekt. Die Non-Maximum Suppression (NMS) wird angewendet, um diese Erkennungen zu verfeinern und die genauesten Boxen zu behalten. Durch die Anwendung von NMS eliminiert das Modell überflüssige und überlappende Boxen und behält nur die sichersten Erkennungen bei. 

NMS wertet die Konfidenzwerte (die angeben, wie wahrscheinlich es ist, dass ein erkanntes Objekt tatsächlich vorhanden ist) aller Bounding Boxes aus und unterdrückt diejenigen, die sich signifikant mit höher bewerteten Boxen überschneiden. 

Abb. 5. Ein Beispiel für nicht-maximale Unterdrückung.

Hier ist eine Aufschlüsselung der Schritte in den NMS:

  • Sortieren: Die Boundingboxen werden nach ihren Vertrauenswerten in absteigender Reihenfolge sortiert.
  • Auswahl: Das Kästchen mit der höchsten Punktzahl wird ausgewählt und alle Kästchen, die sich mit diesem Kästchen signifikant überschneiden (basierend auf Intersection over Union, IoU), werden entfernt.
  • Iteration: Dieser Vorgang wird für das nächsthöhere Kästchen wiederholt und fortgesetzt, bis alle Kästchen bearbeitet wurden.

Das R-CNN-Modell erkennt Objekte, indem es Regionsvorschläge generiert, Merkmale mit einem CNN extrahiert, Objekte klassifiziert und ihre Positionen mit Bounding-Box-Regression verfeinert und mit Non-Maximum Suppression (NMS) nur die genauesten Erkennungen behält.

R-CNN ist ein Meilenstein in der Objektdetektion

R-CNN ist ein Meilenstein in der Geschichte der Objekterkennung, weil es einen neuen Ansatz einführte, der die Genauigkeit und Leistung erheblich verbesserte. Vor R-CNN hatten die Modelle zur Objekterkennung Schwierigkeiten, Geschwindigkeit und Präzision in Einklang zu bringen. Die R-CNN-Methode zur Erstellung von Regionsvorschlägen und die Verwendung von CNNs zur Merkmalsextraktion ermöglichen eine präzise Lokalisierung und Identifizierung von Objekten in Bildern. 

R-CNN ebnete den Weg für Modelle wie Fast R-CNN, Faster R-CNN und Mask R-CNN, die die Effizienz und Genauigkeit weiter verbesserten. Durch die Kombination von Deep Learning und regionenbasierter Analyse setzte R-CNN einen neuen Standard in diesem Bereich und eröffnete Möglichkeiten für verschiedene reale Anwendungen.

Mit R-CNN die medizinische Bildgebung verändern

Ein interessanter Anwendungsfall von R-CNN ist die medizinische Bildgebung. R-CNN-Modelle wurden verwendet, um verschiedene Arten von Tumoren, wie z. B. Hirntumore, in medizinischen Scans wie MRTs und CTs zu erkennen und zu klassifizieren. Der Einsatz des R-CNN-Modells in der medizinischen Bildgebung verbessert die Diagnosegenauigkeit und hilft Radiologen, bösartige Erkrankungen in einem frühen Stadium zu erkennen. Die Fähigkeit von R-CNN, selbst kleine und frühe Tumore zu erkennen, kann einen großen Unterschied bei der Behandlung und Prognose von Krankheiten wie Krebs ausmachen.

Abb. 6. Erkennung von Gehirntumoren mit RCNN.

Das R-CNN-Modell kann neben der Tumorerkennung auch für andere medizinische Bildgebungsaufgaben eingesetzt werden. Es kann zum Beispiel Knochenbrüche identifizieren, Netzhauterkrankungen in Augenscans erkennen und Lungenbilder auf Krankheiten wie Lungenentzündung und COVID-19 analysieren. Unabhängig vom medizinischen Problem kann eine frühzeitige Erkennung zu besseren Behandlungsergebnissen führen. Durch die Anwendung der Präzision von R-CNN bei der Identifizierung und Lokalisierung von Anomalien können Gesundheitsdienstleister die Zuverlässigkeit und Geschwindigkeit der medizinischen Diagnostik verbessern. Da die Objekterkennung den Diagnoseprozess vereinfacht, können die Patienten von rechtzeitigen und genauen Behandlungsplänen profitieren.

Die Grenzen von R-CNN und seine Nachfolger

R-CNN ist zwar beeindruckend, hat aber auch einige Nachteile, wie z.B. eine hohe Rechenkomplexität und langsame Inferenzzeiten. Diese Nachteile machen das R-CNN-Modell für Echtzeitanwendungen ungeeignet. Die Trennung von Regionsvorschlägen und Klassifizierungen in verschiedene Schritte kann zu einer weniger effizienten Leistung führen.

Im Laufe der Jahre wurden verschiedene Modelle zur Objekterkennung entwickelt, die diese Probleme angehen. Fast R-CNN kombiniert Regionsvorschläge und CNN-Merkmalextraktion in einem einzigen Schritt und beschleunigt so den Prozess. Faster R-CNN führt ein Region Proposal Network (RPN) ein, um die Generierung von Vorschlägen zu rationalisieren, während Mask R-CNN eine Segmentierung auf Pixelebene für detailliertere Erkennungen hinzufügt.

Abb. 7. Vergleich von R-CNN, fast R-CNN, faster R-CNN und mask R-CNN.

Etwa zur gleichen Zeit wie Faster R-CNN begann die YOLO (You Only Look Once)-Serie, die Objekterkennung in Echtzeit voranzutreiben. YOLO Modelle sagen Bounding Boxes und Klassenwahrscheinlichkeiten in einem einzigen Durchgang durch das Netzwerk voraus. Zum Beispiel bietet das Ultralytics YOLOv8 bietet verbesserte Genauigkeit und Geschwindigkeit mit erweiterten Funktionen für viele Computer Vision Aufgaben.

Die wichtigsten Erkenntnisse

RCNN hat die Computer Vision revolutioniert und gezeigt, wie Deep Learning die Objekterkennung verändern kann. Sein Erfolg inspirierte viele neue Ideen in diesem Bereich. Auch wenn neuere Modelle wie Faster R-CNN und YOLO die Schwächen von RCNN behoben haben, ist sein Beitrag ein wichtiger Meilenstein, an den man sich erinnern sollte.

Wenn die Forschung weitergeht, werden wir noch bessere und schnellere Modelle zur Objekterkennung sehen. Diese Fortschritte werden nicht nur die Art und Weise verbessern, wie Maschinen die Welt verstehen, sondern auch zu Fortschritten in vielen Branchen führen. Die Zukunft der Objekterkennung sieht aufregend aus!

Willst du weiter über KI forschen? Dann werde Teil der Ultralytics Community! Erforsche unser GitHub-Repository, um unsere neuesten Innovationen im Bereich der künstlichen Intelligenz zu sehen. Sieh dir unsere KI-Lösungen für verschiedene Bereiche wie Landwirtschaft und Produktion an. Mach mit, um zu lernen und voranzukommen!

Facebook-LogoTwitter-LogoLinkedIn-LogoKopier-Link-Symbol

Lies mehr in dieser Kategorie

Lass uns gemeinsam die Zukunft
der KI gestalten!

Beginne deine Reise in die Zukunft des maschinellen Lernens