Lange nicht gesehen. Beginnend mit Hintons überwältigendem Sieg bei ILSVRC durch AlexNet im Jahr 2012 ist Deep Learning in der Welt der Bilderkennung ins Rampenlicht gerückt.
In der Welt der Objekterkennung sind Modelle, die Deep Learning verwenden, derzeit der Mainstream. Wenn Sie sich https://paperswithcode.com/sota/object-detection-on-coco ansehen,
In COCO test-dev scheint das SoTA-Modell (State-of-the-Art) EfficientDet-D7x zu sein. Es gibt einige Dogmatismen und Vorurteile, aber ich habe sieben Artikel zum Lesen gesammelt, um die effiziente Det zu verstehen.
Ich möchte mich nach Deep Learning auf die Objekterkennung konzentrieren und sie so präzise und reibungslos wie möglich schreiben.
Wenn Sie nichts über Objekterkennung wissen, sehen Sie sich bitte das folgende Video an. Es ist ein YOLOv2-Video, aber es ist wahnsinnig cool.
https://youtu.be/VOC3huqHrss
Objektdetektoren werden grob in zweistufige und einstufige Typen unterteilt. Als Grundvoraussetzung werde ich es hier kurz vorstellen.
Im Folgenden möchte ich die 7 ausgewählten Artikel zu diesem Thema eingeben. Ich werde sie in der Reihenfolge der grundlegenden vorstellen.
Bekannt als schnelleres R-CNN. Ein wegweisendes Papier zur Objekterkennung durch Deep Learning. Der Urheber von zweistufigen Detektoren.
Erzielte eine signifikante Verlängerung der Inferenzzeit für regionales CNN (R-CNN) und schnelles R-CNN. End-to-End erreichen.
――Was soll ich tun, um es noch schneller zu machen?
Bekannt als YOLO. Ein Modell aus der gleichen Zeit wie das Faster R-CNN. Der Urheber einstufiger Detektoren. Das zu Beginn vorgestellte Video stammt von YOLO v2. Derzeit hat sich der Autor geändert, aber es wurde bis v5 veröffentlicht.
Wie auch immer, es ist schnell. (SoTA wurde in Bezug auf Genauigkeit nicht erreicht) Echtzeiterkennung ist mit Faster R-CNN möglich, aber ich denke, YOLO ist die echte Echtzeiterkennung.
――Die einfache Idee, in S × S-Gitter zu unterteilen und für jedes Gitter zu denken.
――Wie können Sie die Genauigkeit verbessern, während Sie die Inferenzgeschwindigkeit beibehalten?
Bekannt als SSD. Wie YOLO ist es ein originaler einstufiger Detektor.
Erreicht 59 FPS bei gleichbleibender Genauigkeit wie beim zweistufigen Typ.
--Verwenden Sie eine hierarchische Feature-Map. Der Anker (im Papier als Standardbox bezeichnet) wird für jede Feature-Map definiert.
――Wie können Sie kleinere Objekte besser erkennen?
Bekannt als FPN. Die Theorie hinter dem in EfficientDet verwendeten BiFPN. Eine neue Methode zur Merkmalsextraktion.
Durch die Verwendung pyramidenförmiger Merkmale können Objekte mit unterschiedlichen Maßstäben leicht erkannt werden.
――Wie können Sie das Bild verbessern, ohne seine Funktionen zu verlieren?
Bekannt als Retina Net. Einführung eines neuen Konzepts namens Focal Loss.
Wenn Sie Anchor Box usw. verwenden, wird die Hintergrundklasse zwangsläufig zunehmen. In der Vergangenheit wurde sie durch Hard Negative Mining usw. gelöst, aber durch einen anderen Ansatz zur Änderung des Verlusts verbessert.
--Keiner.
Bekannt als EfficientNet. Von den sieben dieses Mal geht es nur in diesem Artikel um "Klassifizierung" anstelle von "Erkennung". Angekündigt von Google Brain. Angenommen, weil es für das Rückgrat von EfficientDet verwendet wird.
Ein Ort, an dem eine hohe Genauigkeit mit einer erheblich geringeren Anzahl von Parametern als zuvor erreicht wurde.
--Keiner.
Bekannt als Efficient Det. Das neueste Objekterkennungsmodell, das im Jahr 2020 angekündigt wurde. Ein Modell, das die FPN von Retina Net in BiFPN und das Backbone in Efficient Net ändert.
Im Vergleich zu bestehenden Modellen mit gleicher Genauigkeit hat EfficientDet die Anzahl der Parameter erheblich reduziert. Auch die Anzahl der Operationen (FLOPs) ist gering.
--Keiner.
Es hat nichts mit EfficientDet zu tun, aber ich werde auch die Extra Edition verlassen. Wenn Sie interessiert sind, lesen Sie es bitte.
Dieses Mal habe ich kurz über die Punkte des Papiers geschrieben, aber ich denke, dass sich das Verständnis vertiefen wird, wenn Sie das Originalpapier auf dieser Grundlage lesen.
Die Implementierung von EfficientDet ist hier. PyTorch: https://github.com/rwightman/efficientdet-pytorch TensorFlow: https://github.com/google/automl/tree/master/efficientdet (im Artikel beschrieben)
Vielen Dank für das Lesen bis zum Ende!
Recommended Posts