web-dev-qa-db-fra.com

YOLOv3 SPP et différence YOLOv3?

Je n'ai trouvé aucune bonne explication sur YOLOv3 SPP qui a une meilleure mAP que YOLOv3. L'auteur lui-même déclare YOLOv3 SPP comme ceci sur son dépôt:

YOLOv3 avec regroupement de pyramides spatiales, ou quelque chose

Mais je ne le comprends toujours pas vraiment. Dans yolov3-spp.cfg Je remarque qu'il y a des ajouts

575 ### SPP ###
576 [maxpool]
577 stride=1
578 size=5
579 
580 [route]
581 layers=-2
582 
583 [maxpool]
584 stride=1
585 size=9
586 
587 [route]
588 layers=-4
589 
590 [maxpool]
591 stride=1
592 size=13
593 
594 [route]
595 layers=-1,-3,-5,-6
596 
597 ### End SPP ###
598 
599 [convolutional]
600 batch_normalize=1
601 filters=512
602 size=1
603 stride=1
604 pad=1
605 activation=leaky

N'importe qui peut donner des explications supplémentaires sur le fonctionnement de YOLOv3 SPP? Pourquoi les couches -2, -4 et -1, -3, -5, -6 sont choisies dans [route] layers? Merci.

2
gameon67

Enfin, certains chercheurs ont publié un article sur l'application SPP dans Yolo https://arxiv.org/abs/1903.08589 .

Pour les différences yolov3-tiny, yolov3 et yolov3-spp:

  • yolov3-tiny.cfg utilise le sous-échantillonnage (foulée = 2) dans les couches de regroupement maximal
  • yolov3.cfg utilise le sous-échantillonnage (foulée = 2) dans les couches convolutives
  • yolov3-spp.cfg utilise le sous-échantillonnage (foulée = 2) dans les couches convolutives + obtient les meilleures fonctionnalités dans les couches Max-Pooling

Mais ils n'ont obtenu que mAP = 79,6% sur le test Pascal VOC 2007 avec l'utilisation du modèle Yolov3SPP sur le framework d'origine.

Mais nous pouvons atteindre une précision plus élevée mAP = 82,1% même avec le modèle yolov3.cfg en utilisant le référentiel d'AlexeyAB https://github.com/ AlexeyAB/darknet/issues/2557 # issuecomment-474187706

Et pour sûr, nous pouvons atteindre un mAP encore plus élevé avec yolov3-spp.cfg en utilisant le repo d'Alexey. enter image description here

Question github originale: https://github.com/AlexeyAB/darknet/issues/2859

5
gameon67

Voir la figure 3. Explication du SPP.

Dans yolov3-spp.cfg, ils utilisent 3 pools max de taille différente pour la même image en utilisant [route]

Ensuite, ils collectent la carte d'entités créée, appelée "représentation à longueur fixe" sur la figure 3.

enter image description here

2
Roy Lee