[PYTHON] Apprentissage profond de la détection d'objets 7 articles à lire et résumé des points [Road to Efficient Det]

ça fait longtemps. À partir de la victoire écrasante de Hinton à l'ILSVRC par AlexNet en 2012, Deep Learning est entré sous les projecteurs dans le monde de la reconnaissance d'image.

Dans le monde de la détection d'objets, les modèles utilisant le Deep Learning sont actuellement les plus courants. Si vous regardez https://paperswithcode.com/sota/object-detection-on-coco,

スクリーンショット 2020-08-28 11.34.05.png

Dans COCO test-dev, le modèle de pointe (SoTA) semble être EfficientDet-D7x. Il y a des dogmatismes et des préjugés, mais j'ai rassemblé sept articles à lire pour comprendre l'Efficient Det.

Je voudrais me concentrer sur la détection d'objets après le Deep Learning et l'écrire de manière aussi concise et fluide que possible.

Qu'est-ce que la détection d'objets?

Si vous ne connaissez pas la détection d'objet, veuillez regarder la vidéo ci-dessous. C'est une vidéo YOLOv2, mais c'est incroyablement cool.

https://youtu.be/VOC3huqHrss

Détecteur de type à deux étages et détecteur de type à un étage

Les détecteurs d'objets sont grossièrement classés en type à deux étages et type à un étage. En tant que connaissances préalables, je vais les présenter brièvement ici.

--Type à deux étages

Ci-dessous, je voudrais saisir les 7 sélections d'articles sur le sujet. Je vais les présenter dans l'ordre de celles de base.

  1. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(2016)

Aperçu

Connu sous le nom de Faster R-CNN. Un article pionnier sur la détection d'objets par Deep Learning. Le créateur des détecteurs à deux étages.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Atteint une augmentation significative du temps d'inférence pour CNN régional (R-CNN) et Fast R-CNN. Réalisez de bout en bout.

Quelle est la clé de la technologie?

Comment avez-vous vérifié sa validité?

--A obtenu SoTA à l'époque avec PASCAL VOC et MS COCO

Y a-t-il une discussion?

―― Que dois-je faire pour le rendre encore plus rapide?

  1. You Only Look Once: Unified, Real-Time Object Detection(2016)

Aperçu

Connu sous le nom de YOLO. Un modèle de la même période que le Faster R-CNN. Le créateur des détecteurs à un étage. La vidéo présentée au début est de YOLO v2. Actuellement, l'auteur a changé, mais il a été publié jusqu'à la v5.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Bref, c'est rapide. (SoTA n'a pas été atteint en termes de précision) La détection en temps réel est possible avec Faster R-CNN, mais je pense que YOLO est la véritable détection en temps réel.

Quelle est la clé de la technologie?

―― L'idée simple de se diviser en grilles S × S et de penser pour chaque grille. --Une structure de réseau qui effectue simultanément la «classification» et la «régression» en utilisant la dernière étape de la carte des caractéristiques.

Comment avez-vous vérifié sa validité?

--Achie 45 FPS, ce qui est beaucoup plus rapide que Faster R-CNN. (R-CNN plus rapide est 5FPS)

Y a-t-il une discussion?

――Comment pouvez-vous améliorer la précision tout en maintenant la vitesse d'inférence?

  1. SSD: Single Shot MultiBox Detector(2016)

Aperçu

Connu sous le nom de SSD. Comme YOLO, c'est un détecteur original à un étage.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Atteint 59 FPS tout en conservant la même précision que le type à deux étages.

Quelle est la clé de la technologie?

--Utilisez une carte des caractéristiques hiérarchiques. L'ancre (appelée boîte par défaut dans l'article) est définie pour chaque carte des caractéristiques.

Comment avez-vous vérifié sa validité?

--A obtenu 74,3% mAP, 59 images par seconde en COV2007. (YOLO est 63,4% mAP, 45 FPS)

Y a-t-il une discussion?

――Comment pouvez-vous mieux détecter les petits objets?

  1. Feature Pyramid Networks for Object Detection(2017)

Aperçu

Connu sous le nom de FPN. La théorie derrière le BiFPN utilisé dans EfficientDet. Une nouvelle méthode d'extraction de fonctionnalités.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

En utilisant des caractéristiques en forme de pyramide, il est facile de reconnaître des objets de différentes échelles.

Quelle est la clé de la technologie?

Comment avez-vous vérifié sa validité?

Y a-t-il une discussion?

――Comment pouvez-vous améliorer l'image sans perdre ses fonctionnalités?

  1. Focal Loss for Dense Object Detection(2018)

Aperçu

Connu sous le nom de Retina Net. Introduit un nouveau concept appelé Focal Loss.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Si vous utilisez Anchor Box, etc., la classe d'arrière-plan augmentera inévitablement, et dans le passé, elle était résolue par Hard Negative Mining, etc., mais elle a été améliorée par une approche différente de changement de perte.

Quelle est la clé de la technologie?

Comment avez-vous vérifié sa validité?

Y a-t-il une discussion?

--Aucun.

  1. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(2019)

Aperçu

Connu sous le nom d'EfficientNet. Sur les sept cette fois, seul cet article traite de la «classification» au lieu de la «détection». Annoncé par Google Brain. Adopté car il est utilisé pour l'épine dorsale d'EfficientDet.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Un endroit où une grande précision a été obtenue avec un nombre de paramètres considérablement plus petit qu'auparavant.

Quelle est la clé de la technologie?

Comment avez-vous vérifié sa validité?

--Achieved SoTA avec 5 ensembles de données, y compris ImageNet.

Y a-t-il une discussion?

--Aucun.

  1. EfficientDet: Scalable and Efficient Object Detection(2020)

Aperçu

Connu sous le nom de Det efficace. Le dernier modèle de détection d'objets annoncé en 2020. Un modèle qui change le FPN de RetinaNet mentionné ci-dessus en BiFPN et change le backbone en EfficientNet.

Qu'est-ce qui est étonnant par rapport aux recherches précédentes?

Par rapport aux modèles existants qui ont le même degré de précision, EfficientDet a considérablement réduit le nombre de paramètres. De plus, le nombre d'opérations (FLOP) est petit.

Quelle est la clé de la technologie?

--Proposition de BiFPN, une méthode pour mélanger avec succès des cartes de caractéristiques de plusieurs résolutions pour obtenir une pyramide de caractéristiques. --Introduction de paramètres qui mettent à l'échelle la capacité du réseau, comme EfficientNet, pour équilibrer les FLOP et la précision.

Comment avez-vous vérifié sa validité?

--Selon les résultats expérimentaux de l'article, l'évaluation des performances chez COCO a atteint le SoTA de 55,1%.

Y a-t-il une discussion?

--Aucun.

Édition supplémentaire

Cela n'a rien à voir avec EfficientDet, mais je laisserai également l'édition supplémentaire. Si vous êtes intéressé, veuillez le lire.

en conclusion

Cette fois, j'ai brièvement écrit sur les points de l'article, mais je pense que cette compréhension s'approfondira si vous lisez l'article original sur cette base.

La mise en œuvre d'EfficientDet est ici. PyTorch: https://github.com/rwightman/efficientdet-pytorch TensorFlow: https://github.com/google/automl/tree/master/efficientdet (décrit dans l'article)

Merci d'avoir lu jusqu'au bout!

Recommended Posts

Apprentissage profond de la détection d'objets 7 articles à lire et résumé des points [Road to Efficient Det]
Introduction au Deep Learning ~ Pliage et mise en commun ~
Signification des modèles et paramètres d'apprentissage en profondeur
Détection d'objets par apprentissage profond pour comprendre en profondeur par Keras
Un mémorandum d'étude et de mise en œuvre du Deep Learning
Introduction à l'apprentissage profond ~ Fonction de localisation et de perte ~
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)
Intelligence artificielle, machine learning, deep learning pour mettre en œuvre et comprendre
Collecte et automatisation d'images érotiques à l'aide du deep learning