Was ist R-CNN? Ein kurzer Überblick
Erfahre, wie R-CNN funktioniert – von Selective Search und der Merkmalsextraktion mit CNNs bis hin zur SVM-Klassifizierung und NMS – und wie es den Weg für Fast R-CNN und YOLO ebnete.
Abirami Vina8 Min. Lesezeit
Objekterkennung ist eine Computer-Vision-Aufgabe, mit der Objekte in Bildern oder Videos erkannt und lokalisiert werden können, etwa für autonomes Fahren, Überwachung und medizinische Bildgebung. Frühe Verfahren zur Objekterkennung, etwa der Viola-Jones-Detektor und Histogram of Oriented Gradients (HOG) mit Support Vector Machines (SVM), beruhten auf manuell entwickelten Merkmalen und gleitenden Fenstern. Diese Verfahren hatten oft Schwierigkeiten, Objekte in komplexen Szenen mit mehreren Objekten unterschiedlicher Formen und Größen genau zu erkennen.
Region-based Convolutional Neural Networks (R-CNN) haben die Herangehensweise an die Objekterkennung verändert. Sie sind ein wichtiger Meilenstein in der Geschichte der Computer Vision. Um zu verstehen, wie Modelle wie Ultralytics YOLOv8 entstanden sind, müssen wir zunächst Modelle wie R-CNN verstehen.
Die von Ross Girshick und seinem Team entwickelte R-CNN-Architektur erzeugt Regionsvorschläge, extrahiert Merkmale mit einem vortrainierten Convolutional Neural Network (CNN), klassifiziert Objekte und verfeinert Begrenzungsrahmen. Das mag zunächst kompliziert klingen, aber am Ende dieses Artikels wirst du genau verstehen, wie R-CNN funktioniert und warum es so bedeutend ist.
Wie funktioniert R-CNN?#
Der Objekterkennungsprozess des R-CNN-Modells umfasst drei Hauptschritte: das Erzeugen von Regionsvorschlägen, das Extrahieren von Merkmalen und das Klassifizieren von Objekten bei gleichzeitiger Verfeinerung ihrer Begrenzungsrahmen. Gehen wir die einzelnen Schritte durch.

Abb. 1. Funktionsweise von R-CNN.
Regionsvorschläge: Die Grundlage von R-CNN#
Im ersten Schritt scannt das R-CNN-Modell das Bild, um zahlreiche Regionsvorschläge zu erstellen. Regionsvorschläge sind mögliche Bereiche, in denen sich Objekte befinden könnten. Verfahren wie Selective Search untersuchen verschiedene Aspekte des Bildes, etwa Farbe, Textur und Form, und teilen es in unterschiedliche Bereiche auf. Selective Search beginnt damit, das Bild in kleinere Bereiche zu unterteilen, und fügt anschließend ähnliche Bereiche zu größeren interessanten Regionen zusammen. Dieser Prozess wird fortgesetzt, bis etwa 2.000 Regionsvorschläge erzeugt wurden.

Abb. 2. Funktionsweise von Selective Search.
Diese Regionsvorschläge helfen dabei, alle möglichen Stellen zu erkennen, an denen sich ein Objekt befinden könnte. In den folgenden Schritten kann das Modell die wichtigsten Bereiche effizient verarbeiten, indem es sich auf diese spezifischen Regionen statt auf das gesamte Bild konzentriert. Regionsvorschläge schaffen so ein ausgewogenes Verhältnis zwischen Gründlichkeit und Rechenaufwand.
Bildmerkmale extrahieren: Details erfassen#
Der nächste Schritt im Objekterkennungsprozess des R-CNN-Modells besteht darin, Merkmale aus den Regionsvorschlägen zu extrahieren. Jeder Regionsvorschlag wird auf eine einheitliche Größe angepasst, die das CNN erwartet (zum Beispiel 224x224 Pixel). Durch die Größenanpassung kann das CNN jeden Vorschlag effizient verarbeiten. Vor der Verzerrung wird jeder Regionsvorschlag etwas vergrößert, sodass der Bereich um die Region um 16 Pixel erweitert wird. Dadurch stehen mehr Umgebungsinformationen für eine bessere Merkmalsextraktion zur Verfügung.
Nach der Größenanpassung werden die Regionsvorschläge in ein CNN wie AlexNet eingespeist, das üblicherweise mit einem großen Datensatz wie ImageNet vortrainiert wurde. Das CNN verarbeitet jede Region, um hochdimensionale Merkmalsvektoren zu extrahieren, die wichtige Details wie Kanten, Texturen und Muster erfassen. Diese Merkmalsvektoren verdichten die wesentlichen Informationen aus den Regionen. Sie wandeln die unverarbeiteten Bilddaten in ein Format um, das das Modell für weitere Analysen verwenden kann. Die genaue Klassifizierung und Lokalisierung von Objekten in den nachfolgenden Phasen hängt entscheidend davon ab, visuelle Informationen auf diese Weise in aussagekräftige Daten umzuwandeln.

Abb. 3. Merkmale aus einem Regionsvorschlag mit AlexNet extrahieren.
Objektklassifizierung: Erkannte Objekte identifizieren#
Im dritten Schritt werden die Objekte in diesen Regionen klassifiziert. Das bedeutet, dass die Kategorie oder Klasse jedes in den Vorschlägen gefundenen Objekts bestimmt wird. Anschließend werden die extrahierten Merkmalsvektoren an einen Klassifikator für maschinelles Lernen übergeben.
Bei R-CNN werden dafür häufig Stützvektormaschinen (SVMs) verwendet. Jede SVM wird darauf trainiert, eine bestimmte Objektklasse zu erkennen, indem sie die Merkmalsvektoren analysiert und entscheidet, ob eine bestimmte Region ein Objekt dieser Klasse enthält. Für jede Objektkategorie gibt es also einen eigenen Klassifikator, der jeden Regionsvorschlag auf das jeweilige Objekt überprüft.
Während des Trainings erhalten die Klassifikatoren beschriftete Daten mit positiven und negativen Beispielen:
- Positive Beispiele: Regionen, die das Zielobjekt enthalten.
- Negative Beispiele: Regionen, die das Objekt nicht enthalten.
Die Klassifikatoren lernen, zwischen diesen Beispielen zu unterscheiden. Die Regression der Begrenzungsrahmen verfeinert außerdem Position und Größe erkannter Objekte, indem die zunächst vorgeschlagenen Begrenzungsrahmen so angepasst werden, dass sie besser mit den tatsächlichen Objektkonturen übereinstimmen. Durch die Kombination von Klassifizierung und Regression der Begrenzungsrahmen kann das R-CNN-Modell Objekte erkennen und präzise lokalisieren.

Abb. 4. Beispiel für die Regression von Begrenzungsrahmen. (Quelle: towardsdatascience.com)
Alles zusammenführen: Erkennungen mit NMS verfeinern#
Nach der Klassifizierung und der Regression der Begrenzungsrahmen erzeugt das Modell häufig mehrere überlappende Begrenzungsrahmen für dasselbe Objekt. Zur Verfeinerung dieser Erkennungen wird Non-Maximum Suppression (NMS) angewendet, wobei die genauesten Rahmen beibehalten werden. Mithilfe von NMS entfernt das Modell überflüssige und überlappende Rahmen und behält nur die Erkennungen mit der höchsten Konfidenz.
Bei NMS werden die Konfidenzwerte aller Begrenzungsrahmen ausgewertet, die angeben, wie wahrscheinlich ein erkanntes Objekt tatsächlich vorhanden ist. Rahmen, die sich deutlich mit Rahmen höherer Bewertung überschneiden, werden unterdrückt.

Abb. 5. Beispiel für die Unterdrückung nicht maximaler Werte. (Quelle: towardsdatascience.com)
Hier sind die einzelnen Schritte von NMS:
- Sortierung: Die Begrenzungsrahmen werden nach ihren Konfidenzwerten in absteigender Reihenfolge sortiert.
- Auswahl: Der Rahmen mit dem höchsten Wert wird ausgewählt. Alle Rahmen, die sich deutlich mit ihm überschneiden (gemessen anhand der Schnittmenge über Vereinigungsmenge, IoU), werden entfernt.
- Wiederholung: Dieser Vorgang wird mit dem jeweils nächsthöher bewerteten Rahmen fortgesetzt, bis alle Rahmen verarbeitet wurden.
Zusammengefasst erkennt das R-CNN-Modell Objekte, indem es Regionsvorschläge erzeugt, Merkmale mit einem CNN extrahiert, Objekte klassifiziert und ihre Positionen mithilfe der Regression von Begrenzungsrahmen verfeinert. Anschließend wird NMS eingesetzt, um nur die genauesten Erkennungen beizubehalten.
R-CNN ist ein Meilenstein in der Objekterkennung#
R-CNN ist ein Meilenstein in der Geschichte der Objekterkennung, da es einen neuen Ansatz eingeführt hat, der Genauigkeit und Leistung deutlich verbesserte. Vor R-CNN mussten Modelle zur Objekterkennung häufig zwischen Geschwindigkeit und Präzision abwägen. Die Methode von R-CNN, Regionsvorschläge zu erzeugen und CNNs zur Merkmalsextraktion zu verwenden, ermöglicht 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 Effizienz und Genauigkeit weiter verbesserten. Durch die Kombination von Deep Learning und regionsbasierter Analyse setzte R-CNN neue Maßstäbe auf diesem Gebiet und eröffnete Möglichkeiten für zahlreiche praktische Anwendungen.
Medizinische Bildgebung mit R-CNN verbessern#
Ein interessanter Anwendungsfall für R-CNN ist die medizinische Bildgebung. R-CNN-Modelle wurden eingesetzt, um verschiedene Tumorarten, etwa Hirntumoren, in medizinischen Aufnahmen wie MRT- und CT-Bildern zu erkennen und zu klassifizieren. Der Einsatz des R-CNN-Modells in der medizinischen Bildgebung verbessert die diagnostische Genauigkeit und hilft Radiologen, bösartige Tumoren frühzeitig zu erkennen. Die Fähigkeit von R-CNN, selbst kleine Tumoren in frühen Stadien zu erkennen, kann die Behandlung und Prognose von Krankheiten wie Krebs erheblich beeinflussen.

Abb. 6. Erkennung von Hirntumoren mit R-CNN.
Das R-CNN-Modell lässt sich neben der Tumorerkennung auch für andere Aufgaben in der medizinischen Bildgebung einsetzen. Es kann beispielsweise Knochenbrüche erkennen, Netzhauterkrankungen in Augenaufnahmen feststellen und Lungenbilder auf Erkrankungen wie Lungenentzündung und COVID-19 untersuchen. Unabhängig von der Erkrankung kann eine frühzeitige Erkennung zu besseren Behandlungsergebnissen führen. Dank der Präzision von R-CNN bei der Erkennung und Lokalisierung von Anomalien können Anbieter im Gesundheitswesen die Zuverlässigkeit und Geschwindigkeit medizinischer Diagnosen verbessern. Da die Objekterkennung den Diagnoseprozess vereinfacht, können Patientinnen und Patienten von zeitnahen und präzisen Behandlungsplänen profitieren.
Die Grenzen von R-CNN und seine Nachfolger#
R-CNN ist zwar beeindruckend, hat aber einige Nachteile, etwa einen hohen Rechenaufwand und langsame Inferenzzeiten. Dadurch eignet sich das R-CNN-Modell nicht für Echtzeitanwendungen. Wenn Regionsvorschläge und Klassifizierung in getrennten Schritten erfolgen, kann die Leistung weniger effizient sein.
Im Laufe der Jahre sind verschiedene Objekterkennungsmodelle entstanden, die diese Probleme angehen. Fast R-CNN führt das CNN einmal über das gesamte Bild aus und fasst Merkmale für jeden Regionsvorschlag aus dieser gemeinsamen Merkmalskarte zusammen, wodurch der Prozess schneller wird. Faster R-CNN vereinfacht die Erzeugung von Vorschlägen durch ein Region Proposal Network (RPN), während Mask R-CNN für detailliertere Erkennungen eine Segmentierung auf Pixelebene hinzufügt.

Abb. 7. Vergleich von R-CNN, Fast R-CNN, Faster R-CNN und Mask R-CNN.
Etwa zur selben Zeit, als Faster R-CNN entwickelt wurde, trug die YOLO-Reihe (Du siehst nur einmal) zu Fortschritten bei der Objekterkennung in Echtzeit bei. YOLO-Modelle sagen Begrenzungsrahmen und Klassenwahrscheinlichkeiten in einem einzigen Durchlauf durch das Netzwerk voraus. Ultralytics YOLOv8 bietet beispielsweise dank fortschrittlicher Funktionen für zahlreiche Computer-Vision-Aufgaben höhere Genauigkeit und Geschwindigkeit. Neuere Modelle wie Ultralytics YOLO26 gehen noch weiter, indem sie vollständig auf NMS verzichten.
Die wichtigsten Erkenntnisse#
R-CNN war ein Wendepunkt für die Computer Vision und zeigte, wie Deep Learning die Objekterkennung verändern kann. Sein Erfolg regte zahlreiche neue Ideen auf diesem Gebiet an. Neuere Modelle wie Faster R-CNN und YOLO haben zwar die Schwächen von R-CNN überwunden, doch sein Beitrag bleibt ein bedeutender Meilenstein, an den man sich erinnern sollte.
Mit der weiteren Forschung werden noch bessere und schnellere Modelle zur Objekterkennung entstehen. Diese Fortschritte werden nicht nur das Verständnis der Welt durch Maschinen verbessern, sondern auch in vielen Branchen neue Entwicklungen ermöglichen.
Möchtest du dich weiter mit KI beschäftigen? Werde Teil der Ultralytics-Community! In unserem GitHub-Repository findest du unsere neuesten Innovationen im Bereich künstliche Intelligenz. Entdecke unsere KI-Lösungen für verschiedene Branchen, etwa für die Landwirtschaft und die Fertigung. Mach mit und entwickle dich mit uns weiter!
Verfasst von
Kommentare
Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.










