Une implémentation Pytorch d'EfficientDet.
Il est basé sur le
Il existe d'autres implémentations Pytorch. Soit leur approche ne correspondait pas à mon objectif à reproduire correctement les modèles TensorFlow (mais avec une sensation et une flexibilité pytorch), soit ils ne peuvent pas se rapprocher de l'entraînement MS Coco à partir de zéro.
Mis à part les configurations du modèle par défaut, il y a beaucoup de flexibilité pour faciliter les expériences et les améliorations rapides ici - certaines options basées sur le TensorFlow Implat officiel, certains des miens:
timm qui prend en charge l'extraction des fonctionnalités ( features_only arg) peut être utilisée comme bacbkone. timm 0.9timm Convert_SYNC_BATCHNORM car elle gère les modèles mis à jour avec les couches BatchNormact2Defficientnetv2_ds Pondeaux 50.1 MAP @ 1024x0124, en utilisant l'écrasement AGC et la squelette efficientnetv2_rw_s de timm . Utilisation de la mémoire comparable à D3, vitesse plus rapide que D4. Plus petit que la taille optimale du lot d'entraînement, donc peut-être faire mieux ...efficientnetv2_dt à un nouvel ensemble, 46.1 MAP @ 768x768, 47.0 MAP @ 896x896 en utilisant AGC Clipping.timm ). Idée de ( High-Performance Large-Scale Image Recognition Without Normalization - https://arxiv.org/abs/2102.06171)timm a augmenté à 0,4.12efficientnetv2_dt en fonction du modèle efficientnetv2_rw_t timm . 45.8 MAP @ 768x768.tf_efficientdet_d?_apefficientdet_q1 (Remplacez le modèle PREV à 40,6)cspresdet50cspdarkdet53m--torchscript ) est possible avec l'inclusion de ModeMav2 de timm et des ajouts de compat TorchScript précédents. GAGNANTS BIG SPEED pour l'entraînement lié au processeur.efficientdet_q0/q1/q2 ) et CSPRESDEXT + PAN ( cspresdext50pan ). Voir le tableau mis à jour ci-dessous. Un merci spécial à Artus pour avoir fourni des ressources pour la formation du modèle Q2.max / avgnew_focal , utilisez - Arg --legacy-focal pour utiliser l'original. Legacy utilise moins de mémoire, mais a plus de problèmes de stabilité numérique.timm > = 0.3.2 requis, noter double vérifier toute configuration du modèle défini personnalisé pour la rupture de la modificationA fusionné quelques mois de correctifs et d'ajouts accumulés.
size % 128 = 0 sur chaque dim.Quelques choses sur la liste des priorités que je n'ai pas encore abordées:
Notez qu'il y a quelques changements de rupture:
timm vers le dernier (> = 0,3), car certaines API pour les aides ont un peu changé.Les contrôles de santé mentale ont été effectués sur VOC et OI
Le tableau ci-dessous contient des modèles avec des poids pré-entraînés. Il existe un certain nombre d'autres modèles que j'ai définis dans les configurations du modèle qui utilisent divers squelles timm .
| Variante | Carte (VAL2017) | Carte (test-dev2017) | Carte (TF OFFICIEL VAL2017) | Carte (TF OFFICIEL TEST-DEV2017) | Paramètres (m) | Taille IMG |
|---|---|---|---|---|---|---|
| tf_efficientdet_lite0 | 27.1 | TBD | 26.4 | N / A | 3.24 | 320 |
| tf_efficientdet_lite1 | 32.2 | TBD | 31.5 | N / A | 4.25 | 384 |
| EfficientDet_D0 | 33.6 | TBD | N / A | N / A | 3.88 | 512 |
| tf_efficientdet_d0 | 34.2 | TBD | 34.3 | 34.6 | 3.88 | 512 |
| tf_efficientdet_d0_ap | 34.8 | TBD | 35.2 | 35.3 | 3.88 | 512 |
| EfficientDet_Q0 | 35.7 | TBD | N / A | N / A | 4.13 | 512 |
| tf_efficientdet_lite2 | 35.9 | TBD | 35.1 | N / A | 5.25 | 448 |
| EfficientDet_D1 | 39.4 | 39.5 | N / A | N / A | 6.62 | 640 |
| tf_efficientdet_lite3 | 39.6 | TBD | 38.8 | N / A | 8.35 | 512 |
| tf_efficientdet_d1 | 40.1 | TBD | 40.2 | 40.5 | 6.63 | 640 |
| tf_efficientdet_d1_ap | 40.8 | TBD | 40.9 | 40.8 | 6.63 | 640 |
| EfficientDet_Q1 | 40.9 | TBD | N / A | N / A | 6.98 | 640 |
| cspresdext50pan | 41.2 | TBD | N / A | N / A | 22.2 | 640 |
| resdet50 | 41.6 | TBD | N / A | N / A | 27.6 | 640 |
| EfficientDet_Q2 | 43.1 | TBD | N / A | N / A | 8.81 | 768 |
| cspresdet50 | 43.2 | TBD | N / A | N / A | 24.3 | 768 |
| tf_efficientdet_d2 | 43.4 | TBD | 42.5 | 43 | 8.10 | 768 |
| tf_efficientdet_lite3x | 43.6 | TBD | 42.6 | N / A | 9.28 | 640 |
| tf_efficientdet_lite4 | 44.2 | TBD | 43.2 | N / A | 15.1 | 640 |
| tf_efficientdet_d2_ap | 44.2 | TBD | 44.3 | 44.3 | 8.10 | 768 |
| cspdarkdet53m | 45.2 | TBD | N / A | N / A | 35.6 | 768 |
| efficacedetv2_dt | 46.1 | TBD | N / A | N / A | 13.4 | 768 |
| tf_efficientdet_d3 | 47.1 | TBD | 47.2 | 47.5 | 12.0 | 896 |
| tf_efficientdet_d3_ap | 47.7 | TBD | 48.0 | 47.7 | 12.0 | 896 |
| tf_efficientdet_d4 | 49.2 | TBD | 49.3 | 49.7 | 20.7 | 1024 |
| efficacedetv2_ds | 50.1 | TBD | N / A | N / A | 26.6 | 1024 |
| tf_efficientdet_d4_ap | 50.2 | TBD | 50.4 | 50.4 | 20.7 | 1024 |
| tf_efficientdet_d5 | 51.2 | TBD | 51.2 | 51.5 | 33.7 | 1280 |
| tf_efficientdet_d6 | 52.0 | TBD | 52.1 | 52.6 | 51.9 | 1280 |
| tf_efficientdet_d5_ap | 52.1 | TBD | 52.2 | 52.5 | 33.7 | 1280 |
| tf_efficientdet_d7 | 53.1 | 53.4 | 53.4 | 53.7 | 51.9 | 1536 |
| tf_efficientdet_d7x | 54.3 | TBD | 54.4 | 55.1 | 77.1 | 1536 |
Voir les configurations du modèle pour les URL et les différences de point de contrôle du modèle.
Remarque: les scores officiels pour tous les modules à l'aide de Soft-NMS, mais toujours en utilisant NMS normal ici.
Remarque: Lors de la formation de certains modèles expérimentaux, j'ai remarqué certains problèmes potentiels avec la combinaison de Batchnorm ( --sync-bn ) synchronisé et du poids EMA de jamais ( --model-ema ) lors de l'entraînement distribué. Le résultat est soit un modèle qui ne parvient pas à converger ou semble converger (perte d'entraînement) mais la perte d'EVAL (exécution des statistiques BN) est des ordures. Je n'ai pas observé cela avec des réseaux efficaces, mais j'ai avec des épine dorsaux comme CSPRESNEXT, VOVNET, etc. Désactiver EMA ou Sync BN semble éliminer le problème et entraîner de bons modèles. Je n'ai pas pleinement caractérisé ce problème.
Testé dans un environnement Python 3,7 - 3,9 conda en Linux avec:
pip install timm ou Installation locale depuis (https://github.com/rwightman/pytorch-image-models)Remarque - Il y a un conflit / bogue avec Numpy 1.18+ et Pycocotools 2.0, Force Installer Numpy <= 1.17.5 ou assurer d'installer des pycocotools> = 2.0.2
Données de validation MSCOCO 2017:
wget http://images.cocodataset.org/zips/val2017.zip
wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip
unzip val2017.zip
unzip annotations_trainval2017.zip
Données de test-DEV MSCOCO 2017:
wget http://images.cocodataset.org/zips/test2017.zip
unzip -q test2017.zip
wget http://images.cocodataset.org/annotations/image_info_test2017.zip
unzip image_info_test2017.zip
Exécuter la validation (VAL2017 par défaut) avec le modèle D2: python validate.py /localtion/of/mscoco/ --model tf_efficientdet_d2
Exécutez le test-dev2017: python validate.py /localtion/of/mscoco/ --model tf_efficientdet_d2 --split testdev
./distributed_train.sh 4 /mscoco --model tf_efficientdet_d0 -b 16 --amp --lr .09 --warmup-epochs 5 --sync-bn --opt fusedmomentum --model-ema
NOTE:
--fill-color mean ) comme arrière-plan pour le remplissage de la récolte / de l'échelle / de l'aspect, le référentiel officiel utilise des pixels noirs (0) ( --fill-color 0 ). Les deux fonctionnent probablement bien.2007, 2012, et combiné 2007 + 2012 avec le test de validation 2007 étiqueté est pris en charge.
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
find . -name '*.tar' -exec tar xf {} ;
Il devrait y avoir un dossier VOC2007 et VOC2012 dans VOCdevkit , la racine de l'ensemble de données pour la ligne CMD sera VocDevkit.
Liens de téléchargement alternatifs, plus lents mais plus souvent que OX.ac.uk:
http://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
http://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
http://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
Évaluer le jeu de validation VOC2012: python validate.py /data/VOCdevkit --model efficientdet_d0 --num-gpu 2 --dataset voc2007 --checkpoint mychekpoint.pth --num-classes 20
Fine mélodie /distributed_train.sh 4 /data/VOCdevkit --model efficientdet_d0 --dataset voc0712 -b 16 --amp --lr .008 --sync-bn --opt fusedmomentum --warmup-epochs 3 --model-ema --model-ema-decay 0.9966 --epochs 150 --num-classes 20 --pretrained
La configuration de l'ensemble de données OpenImages est un engagement. J'ai essayé de rendre les choses un peu plus faciles aux annotations, mais saisir l'ensemble de données va encore prendre un certain temps. Il faudra environ 560 Go d'espace de stockage.
Pour télécharger les données de l'image, je préfère l'emballage CVDF. La page de jeu de données OpenImages principale, les annotations, les informations sur la licence de jeu de données peuvent être trouvées sur: https://storage.googleapis.com/openimages/web/index.html
Suivez les instructions de téléchargement S3 ici: https://github.com/cvdfoundation/open-images-dataset#download-images-with-bouning-boxes-annotations
Chaque train_<x>.tar.gz doit être extrait dans le dossier train/<x> , où X est un chiffre hexagonal de 0-F. validation.tar.gz peut être extrait sous forme de fichiers plats dans validation/ .
Les annotations peuvent être téléchargées séparément de la page d'accueil OpenImages ci-dessus. Pour plus de commodité, je les ai tous emballés avec des fichiers CSV «Info» supplémentaires qui contiennent des ID et des statistiques pour tous les fichiers image. Mes ensembles de données reposent sur les fichiers <set>-info.csv . Veuillez consulter https://storage.googleapis.com/openimages/web/factsfigures.html pour la licence de ces annotations. Les annotations sont sous licence par Google LLC sous CC par licence 4.0. Les images sont répertoriées comme ayant une licence CC par 2.0.
wget https://github.com/rwightman/efficientdet-pytorch/releases/download/v0.1-anno/openimages-annotations.tar.bz2
wget https://github.com/rwightman/efficientdet-pytorch/releases/download/v0.1-anno/openimages-annotations-challenge-2019.tar.bz2
find . -name '*.tar.bz2' -exec tar xf {} ;
Une fois que tout est téléchargé et extrait la racine de votre dossier de données OpenImages devrait contenir:
annotations/<csv anno for openimages v5/v6>
annotations/challenge-2019/<csv anno for challenge2019>
train/0/<all the image files starting with '0'>
.
.
.
train/f/<all the image files starting with 'f'>
validation/<all the image files in same folder>
Formation avec le défi2019 Annotations (500 classes): ./distributed_train.sh 4 /data/openimages --model efficientdet_d0 --dataset openimages-challenge2019 -b 7 --amp --lr .042 --sync-bn --opt fusedmomentum --warmup-epochs 1 --lr-noise 0.4 0.9 --model-ema --model-ema-decay 0.999966 --epochs 100 --remode pixel --reprob 0.15 --recount 4 --num-classes 500 --val-skip 2
La tête de classe 500 (Challenge2019) ou 601 (V5 / V6) pour OI occupe beaucoup plus de mémoire GPU par rapport à Coco. Vous aurez probablement besoin de tailles de demi-lots.
Les modèles ici ont été utilisés avec des routines de formation personnalisées et des ensembles de données avec d'excellents résultats. Il y a beaucoup de détails à déterminer, alors veuillez ne pas déposer «j'obtiens des résultats de merde sur mes problèmes de jeu de données personnalisés». Si vous pouvez illustrer un problème reproductible sur un ensemble de données publique, non propriétaire et téléchargeable, avec la fourche GitHub publique de ce référentiel, y compris les implémentations de données / analyser de travail, j'ai peut-être le temps de jeter un œil.
Exemples:
timm EfficientNETV2 Backbones et les dernières versions des modèles EfficientDet iciSi vous avez un bon exemple de script ou de noyau qui formation de ces modèles avec un ensemble de données différent, n'hésitez pas à m'informer de l'inclusion ici ...
Dernière formation avec .336 pour D0 (sur 4x 1080ti): ./distributed_train.sh 4 /mscoco --model efficientdet_d0 -b 22 --amp --lr .12 --sync-bn --opt fusedmomentum --warmup-epochs 5 --lr-noise 0.4 0.9 --model-ema --model-ema-decay 0.9999
Ces hparams ci-dessus ont abouti à un bon modèle, quelques points:
VAL2017
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.336251
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.521584
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.356439
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.123988
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.395033
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.521695
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.287121
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.441450
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.467914
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.197697
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.552515
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.689297
Dernière analyse avec .394 Map (sur 4x 1080ti): ./distributed_train.sh 4 /mscoco --model efficientdet_d1 -b 10 --amp --lr .06 --sync-bn --opt fusedmomentum --warmup-epochs 5 --lr-noise 0.4 0.9 --model-ema --model-ema-decay 0.99995
Pour cette course, j'ai utilisé des augmentations améliorées, toujours expérimentées, donc pas prête pour la libération, devrait bien fonctionner sans eux, mais je commencerai probablement à surmonter un peu plus tôt et peut-être finir par une gamme .385-.39.
Remarque: j'ai seulement essayé de soumettre D7 à Dev Server for Sanity Check jusqu'à présent
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.534
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.726
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.577
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.356
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.569
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.660
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.397
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.644
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.682
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.508
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.718
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.818
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.341877
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.525112
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.360218
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.131366
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.399686
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.537368
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.293137
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.447829
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.472954
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.195282
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.558127
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.695312
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.401070
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.590625
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.422998
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.211116
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.459650
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.577114
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.326565
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.507095
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.537278
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.308963
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.610450
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.731814
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.434042
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.627834
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.463488
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.237414
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.486118
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.606151
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.343016
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.538328
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.571489
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.350301
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.638884
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.746671
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.471223
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.661550
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.505127
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.301385
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.518339
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.626571
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.365186
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.582691
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.617252
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.424689
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.670761
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.779611
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.491759
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.686005
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.527791
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.325658
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.536508
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.635309
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.373752
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.601733
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.638343
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.463057
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.685103
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.789180
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.511767
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.704835
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.552920
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.355680
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.551341
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.650184
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.384516
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.619196
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.657445
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.499319
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.695617
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.788889
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.520200
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.713204
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.560973
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.361596
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.567414
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.657173
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.387733
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.629269
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.667495
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.499002
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.711909
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.802336
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.531256
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.724700
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.571787
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.368872
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.573938
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.668253
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.393620
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.637601
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.676987
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.524850
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.717553
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.806352
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.543
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.737
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.585
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.401
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.579
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.680
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.398
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.649
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.689
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.550
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.725
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.823
Si vous êtes une organisation, vous souhaitez parrainer et que l'un de ces travaux, ou la hiérarchisation des instructions futures possibles vous intéresse, n'hésitez pas à me contacter (problème, linkedin, twitter, bonjour chez Rwightman dot com). Je vais configurer un parrain GitHub s'il y a un intérêt.