Fast R-CNN ist ein Machine-Learning-Modell zur Objekterkennung und -lokalisierung, das im April 2015 als Verbesserung gegenüber dem ursprünglichen R-CNN eingeführt wurde. Es gehört zur Familie der Faltungsneuronalen Netze (Region-based Convolutional Neural Networks, R-CNN), die darauf abzielen, Objekte in Bildern zu identifizieren, indem sie Begrenzungsrahmen und Klassenbezeichnungen erzeugen. Fast R-CNN behebt eine zentrale Ineffizienz seines Vorgängers, indem es das zugrunde liegende neuronale Netz nur einmal auf das gesamte Bild anwendet, anstatt es separat auf jede der tausenden Kandidatenregionen anzuwenden, was zu schnellerem Training und schnellerer Inferenz führt, während die Genauigkeit erhalten bleibt.
Das Modell wurde von Ross Girshick entwickelt und baut auf früheren Arbeiten mit R-CNN auf. Es verwendet einen Selective-Search-Algorithmus, um Regions of Interest (ROIs) vorzuschlagen, die anschließend von einem Faltungsnetzwerk verarbeitet werden. Ein spezielles ROIPooling-Modul extrahiert für jede ROI Merkmalskarten fester Größe, die dann klassifiziert und für die Begrenzungsrahmen-Regression verfeinert werden. Dieses Design reduziert die rechnerische Redundanz erheblich im Vergleich zu R-CNN, das für jede Region unabhängig Merkmale berechnete.
Architektur
Die Architektur von Fast R-CNN besteht aus einem Faltungs-Backbone (z. B. VGG16), der das Eingabebild einmal verarbeitet und eine Merkmalskarte erzeugt. Der Selective-Search-Algorithmus generiert bis zu 2000 Regionsvorschläge aus dem Bild. Jeder Vorschlag wird auf eine Region in der Merkmalskarte abgebildet, und ROIPooling teilt diese Region in ein festes Raster (z. B. 7×7) und wendet Max-Pooling an, um eine Ausgabe fester Größe zu erzeugen. Diese gepoolten Merkmale werden in voll verbundene Schichten eingespeist, die Softmax-Klassenwahrscheinlichkeiten und Begrenzungsrahmen-Offsets ausgeben. Das gesamte Netzwerk wird end-to-end mit einer Multi-Task-Verlustfunktion trainiert, die Klassifikation und Regression kombiniert.
Im Gegensatz zum ursprünglichen R-CNN, das für jede Komponente ein separates Trainingsstadium erforderte, optimiert Fast R-CNN alle Schichten gemeinsam, was die Trainingspipeline vereinfacht. Die Verwendung von ROIPooling ermöglicht es, Gradienten während der Backpropagation durch die Regionsvorschläge zu leiten, was ein effizientes Lernen ermöglicht.
Verbesserungen gegenüber R-CNN
Die primäre Verbesserung von Fast R-CNN ist die rechnerische Effizienz. R-CNN verarbeitete jede der 2000 ROIs unabhängig durch das CNN, was zu massiver redundanter Berechnung führte. Fast R-CNN teilt die Faltungsberechnungen über alle ROIs, wodurch die Trainingszeit von Tagen auf Stunden reduziert und die Inferenz um mehr als das 200-fache beschleunigt wird. Darüber hinaus verwendet Fast R-CNN eine Multi-Task-Verlustfunktion, die Klassifikation und Begrenzungsrahmen-Regression gleichzeitig optimiert, was die Lokalisierungsgenauigkeit im Vergleich zu den getrennten Trainingsstadien von R-CNN verbessert.
Eine weitere bemerkenswerte Änderung ist die Verwendung eines Softmax-Klassifikators anstelle der Support Vector Machines (SVMs), die in R-CNN verwendet wurden. Dies vereinfacht das Modell und verbessert die Leistung. Die ROIPooling-Schicht ermöglicht zudem ein end-to-end Training, das im ursprünglichen R-CNN aufgrund der getrennten Trainingsverfahren nicht möglich war.
Auswirkungen und Vermächtnis
Fast R-CNN war ein bedeutender Meilenstein in der Objekterkennung und beeinflusste nachfolgende Modelle. Es wurde im Juni 2015 von Faster R-CNN abgelöst, das Selective Search durch ein in das neuronale Netz integriertes Regionsvorschlagsnetzwerk ersetzte, was Geschwindigkeit und Genauigkeit weiter verbesserte. Spätere Erweiterungen umfassen Mask R-CNN (März 2017) für die Instanzsegmentierung, Cascade R-CNN (Dezember 2017) für verbesserte Lokalisierung durch zunehmende IoU-Schwellenwerte sowie Mesh R-CNN (Juni 2019) für die 3D-Netzgenerierung. Die R-CNN-Familie wurde auf verschiedene Aufgaben angewendet, darunter die Verfolgung von Objekten in Drohnenaufnahmen, die Textlokalisierung und die Unterstützung von Google Lens.
Die Architektur von Fast R-CNN, insbesondere das ROIPooling, beeinflusste viele nachfolgende Erkennungsframeworks. Seine Prinzipien der gemeinsamen Berechnung und des end-to-end Trainings sind heute Standard in modernen Objekterkennern, einschließlich solcher, die in Deep-Learning-Anwendungen verwendet werden.
Training und Leistung
Fast R-CNN wird auf Datensätzen wie PASCAL VOC und COCO mit stochastischem Gradientenabstieg und einer Lernratenplanung trainiert. Typischerweise wird ein vorab trainiertes Backbone (z. B. VGG16) auf dem Zieldatensatz feinabgestimmt. Das Modell erreicht eine hohe mittlere durchschnittliche Präzision (mAP) auf Benchmark-Datensätzen mit erheblichen Geschwindigkeitsverbesserungen gegenüber R-CNN. Beispielsweise erreichte Fast R-CNN auf PASCAL VOC 2012 eine mAP von 66 % und war bei der Inferenz etwa 25-mal schneller als R-CNN.
Der Trainingsprozess umfasst das Stichproben von ROIs aus einer kleinen Anzahl von Bildern pro Stapel, wobei positive und negative Beispiele ausgewogen werden. Die Multi-Task-Verlustfunktion gewichtet Klassifikation und Regression, wobei Hyperparameter für optimale Leistung abgestimmt werden. Die Effizienz von Fast R-CNN machte es für praktische Anwendungen geeignet und trug zu seiner breiten Übernahme in der Computer-Vision-Forschung und -Industrie bei.
Siehe auch
- Convolutional Neural Network
- Object Detection
- Selective Search
- Region Proposal Network