EfficientDet: Auf Dem Weg Zur Skalierbaren Und Effizienten Objekterkennung

Inhaltsverzeichnis:

EfficientDet: Auf Dem Weg Zur Skalierbaren Und Effizienten Objekterkennung
EfficientDet: Auf Dem Weg Zur Skalierbaren Und Effizienten Objekterkennung

Video: EfficientDet: Auf Dem Weg Zur Skalierbaren Und Effizienten Objekterkennung

Video: EfficientDet: Auf Dem Weg Zur Skalierbaren Und Effizienten Objekterkennung
Video: [DeepReader] EfficientDet: Scalable and Efficient Object Detection 2024, April
Anonim

Als eine der Hauptanwendungen in der Computer Vision gewinnt die Objekterkennung in Szenarien, die hohe Präzision erfordern, aber über begrenzte Rechenressourcen verfügen, wie Robotik und fahrerlose Autos, immer mehr an Bedeutung. Leider erfüllen viele moderne hochpräzise Detektoren diese Einschränkungen nicht. Noch wichtiger ist, dass reale Objekterkennungsanwendungen auf verschiedenen Plattformen ausgeführt werden, die oft unterschiedliche Ressourcen erfordern.

Skalierbare und effiziente Objekterkennung
Skalierbare und effiziente Objekterkennung

Die natürliche Frage ist also, wie man genaue und effiziente Objektdetektoren entwickelt, die sich auch an eine Vielzahl von Ressourcenbeschränkungen anpassen können?

EfficientDet: Scalable and Efficient Object Detection, verabschiedet auf der CVPR 2020, führt eine neue Familie skalierbarer und effizienter Objektdetektoren ein. Aufbauend auf früheren Arbeiten zur Skalierung neuronaler Netze (EfficientNet) und der Integration eines neuen bidirektionalen funktionalen Netzwerks (BiFPN) und neuer Skalierungsregeln erreicht EfficientDet eine moderne Präzision, ist aber 9-mal kleiner und erfordert deutlich weniger Rechenaufwand als bekannte moderne Detektoren. Die folgende Abbildung zeigt die allgemeine Netzwerkarchitektur der Modelle.

Bild
Bild

Optimierung der Modellarchitektur

Die Idee hinter EfficientDet stammt aus dem Bemühen, Lösungen zur Verbesserung der Recheneffizienz zu finden, indem die bisherigen Erkennungsmodelle nach dem neuesten Stand der Technik systematisch untersucht werden. Im Allgemeinen haben Objektdetektoren drei Hauptkomponenten: ein Rückgrat, das Merkmale aus einem gegebenen Bild extrahiert; ein Netzwerk von Objekten, das mehrere Funktionsebenen vom Backbone als Eingabe übernimmt und eine Liste von kombinierten Funktionen ausgibt, die charakteristische Eigenschaften des Bildes darstellen; und ein endgültiges Klasse/Box-Netzwerk, das kombinierte Funktionen verwendet, um die Klasse und den Ort jedes Objekts vorherzusagen.

Nachdem wir die Designoptionen für diese Komponenten überprüft hatten, identifizierten wir mehrere wichtige Optimierungen zur Verbesserung der Leistung und Effizienz. Bisherige Detektoren verwenden meist ResNets, ResNeXt oder AmoebaNet als Backbones, die entweder weniger leistungsfähig sind oder eine geringere Effizienz als EfficientNets aufweisen. Mit der erstmaligen Implementierung des EfficientNet Backbone lässt sich deutlich mehr Effizienz erzielen. Ausgehend von einer RetinaNet-Basislinie, die ein ResNet-50-Backbone verwendet, zeigt unsere Ablationsstudie beispielsweise, dass der einfache Austausch von ResNet-50 durch EfficientNet-B3 die Genauigkeit um 3 % verbessern und gleichzeitig die Berechnung um 20 % reduzieren kann. Eine weitere Optimierung besteht darin, die Effizienz funktionaler Netzwerke zu verbessern. Während die meisten der früheren Detektoren einfach das Downlink Pyramid Network (FPN) verwenden, stellen wir fest, dass das Downstream-FPN von Natur aus auf einen einseitigen Informationsfluss beschränkt ist. Alternative FPNs wie PANet fügen auf Kosten zusätzlicher Berechnungen zusätzlichen Upstream hinzu.

Jüngste Versuche, die Neural Architecture Search (NAS) zu verwenden, haben eine komplexere NAS-FPN-Architektur entdeckt. Diese Netzstruktur ist zwar effektiv, aber auch unregelmäßig und für eine bestimmte Aufgabe stark optimiert, was eine Anpassung an andere Aufgaben erschwert. Um diese Probleme zu lösen, schlagen wir ein neues Netzwerk bidirektionaler Funktionen BiFPN vor, das die Idee der Kombination von Multi-Layer-Funktionen von FPN / PANet / NAS-FPN umsetzt, wodurch Informationen sowohl von oben nach unten übertragen werden können als auch von unten nach oben. mit regelmäßigen und effektiven Verbindungen.

Bild
Bild

Um die Effizienz weiter zu verbessern, schlagen wir eine neue schnelle normalisierte Synthesetechnik vor. Herkömmliche Ansätze behandeln normalerweise alle Eingaben für FPN gleich, selbst bei unterschiedlichen Auflösungen. Wir beobachten jedoch, dass Eingabefunktionen mit unterschiedlichen Auflösungen oft ungleich zu den Ausgabefunktionen beitragen. Daher fügen wir jeder Eingabefunktion zusätzliches Gewicht hinzu und lassen das Netzwerk die Bedeutung jeder einzelnen lernen. Wir werden auch alle regulären Windungen durch kostengünstigere, tief trennbare Windungen ersetzen. Mit dieser Optimierung verbessert unser BiFPN die Genauigkeit weiter um 4 % und reduziert gleichzeitig die Rechenkosten um 50 %.

Die dritte Optimierung beinhaltet das Erreichen des besten Kompromisses zwischen Genauigkeit und Effizienz unter verschiedenen Ressourcenbeschränkungen. Unsere bisherige Arbeit hat gezeigt, dass die gemeinsame Skalierung von Tiefe, Breite und Auflösung eines Netzwerks die Bilderkennungsleistung erheblich verbessern kann. Inspiriert von dieser Idee schlagen wir eine neue zusammengesetzte Skalierungsmethode für Objektdetektoren vor, die gemeinsam die Auflösung / Tiefe / Breite erhöht. Jede Netzwerkkomponente, dh Backbone-, Objekt- und Block-/Klassen-Vorhersagenetzwerk, hat einen komplexen Skalierungsfaktor, der alle Skalierungsdimensionen unter Verwendung heuristischer Regeln steuert. Dieser Ansatz macht es einfach zu bestimmen, wie das Modell zu skalieren ist, indem ein Skalierungsfaktor für eine bestimmte Zielressourcenbeschränkung berechnet wird.

Durch die Kombination des neuen Backbones und BiFPN entwerfen wir zunächst eine kleine EfficientDet-D0-Basislinie und wenden dann eine zusammengesetzte Skalierung an, um EfficientDet-D1 bis D7 zu erhalten. Jedes serielle Modell hat einen höheren Rechenaufwand, deckt einen breiten Bereich von Ressourcenbeschränkungen von 3 Milliarden FLOPs bis 300 Milliarden FLOPS ab und bietet eine höhere Genauigkeit.

Leistungsmodell

Evaluierung von EfficientDet auf dem COCO-Datensatz, einem weit verbreiteten Referenzdatensatz für die Objekterkennung. EfficientDet-D7 erreicht eine durchschnittliche durchschnittliche Genauigkeit (mAP) von 52,2, die 1,5 Punkte höher ist als das vorherige moderne Modell, mit 4 mal weniger Parametern und 9,4 mal weniger Berechnungen

Bild
Bild

Wir haben auch Parametergröße und CPU / GPU-Latenz zwischen EfficientDet und früheren Modellen verglichen. Bei ähnlichen Genauigkeitsbeschränkungen laufen EfficientDet-Modelle 2–4 Mal schneller auf der GPU und 5–11 Mal schneller auf dem Prozessor als andere Detektoren. Während EfficientDet-Modelle in erster Linie für die Objekterkennung gedacht sind, testen wir ihre Wirksamkeit auch bei anderen Aufgaben wie der semantischen Segmentierung. Um Segmentierungsaufgaben durchzuführen, modifizieren wir EfficientDet-D4 leicht, indem wir den Detektionskopf und den Kopfverlust und -verlust ersetzen, während das gleiche skalierte Backbone und BiFPN beibehalten werden. Wir vergleichen dieses Modell mit früheren modernen Segmentierungsmodellen für Pascal VOC 2012, einem weit verbreiteten Segmentierungstestdatensatz.

Bild
Bild

Aufgrund seiner außergewöhnlichen Leistung soll EfficientDet als neue Grundlage für die zukünftige Objekterkennungsforschung dienen und potenziell hochpräzise Objekterkennungsmodelle in vielen realen Anwendungen nützlich machen. Also alle Breakpoints des Codes und des vortrainierten Modells auf Github.com geöffnet.

Empfohlen: