Uma implementação de Pytorch do eficientedet.
É baseado no
Existem outras implementações de Pytorch. A abordagem deles não se encaixou no meu objetivo de reproduzir corretamente os modelos de tensorflow (mas com uma sensação e flexibilidade de pytorch) ou eles não podem chegar perto de replicar o treinamento do MS Coco do zero.
Além das configurações padrão do modelo, há muita flexibilidade para facilitar experimentos e melhorias rápidas aqui - algumas opções baseadas no Tensorflow Official Impl, algumas de minhas:
timm que suporta extração de recursos ( features_only arg) pode ser usada como um bacbkone. timm 0.9timm Convert_sync_batchnorm, pois lida com modelos atualizados com camadas BatchNormAct2Defficientnetv2_ds WEAXS 50.1 MAPO @ 1024X0124, usando o AGC CLIPPING e o Backbone efficientnetv2_rw_s de timm . Uso de memória comparável ao D3, velocidade mais rápido que D4. Menor que o tamanho ideal do lote de treinamento, então provavelmente pode fazer melhor ...efficientnetv2_dt pesos para um novo conjunto, 46.1 mapa @ 768x768, 47.0 mapa @ 896x896 usando o recorte AGC.timm ). Ideia de ( High-Performance Large-Scale Image Recognition Without Normalization -https://arxiv.org/abs/2102.06171)timm aumentou para 0,4.12efficientnetv2_dt com base no modelo efficientnetv2_rw_t (TINY) do timm . 45.8 Mapa @ 768x768.tf_efficientdet_d?_apefficientdet_q1 (Substitua o modelo Prev em 40.6)cspresdet50cspdarkdet53m--torchscript ) é possível com a inclusão de Modelemav2 do timm e adições anteriores de compacto de tochcript. Grandes ganhos de velocidade para o treinamento ligado à CPU.efficientdet_q0/q1/q2 ) e cspreSDEXT + PAN ( cspresdext50pan ). Consulte a tabela atualizada abaixo. Agradecimentos especiais à Artus por fornecer recursos para treinar o modelo Q2.avg maxnew_focal , use-arg --legacy-focal para usar o original. O legado usa menos memória, mas tem mais problemas de estabilidade numérica.timm > = 0.3.2 Necessário, observe verifique duas configurações de modelo definido personalizado para a mudança de rupturaMesclou alguns meses de correções e adições acumuladas.
size % 128 = 0 em cada dim.Algumas coisas na lista de prioridades que ainda não enfrentei:
Observe que existem algumas mudanças de ruptura:
timm para as últimas (> = 0,3), pois algumas APIs para ajudantes mudaram um pouco.Os verificações de sanidade de treinamento foram feitos no VOC e OI
A tabela abaixo contém modelos com pesos pré -terenciados. Existem vários outros modelos que defini em configurações de modelo que usam vários backbones timm .
| Variante | Mapa (VAL2017) | mapa (teste-DEV2017) | mapa (TF OFICIAL VAL2017) | mapa (TF OFICIAL TEST-DEV2017) | Params (m) | Tamanho IMG |
|---|---|---|---|---|---|---|
| TF_EFFAITICDDET_LITE0 | 27.1 | TBD | 26.4 | N / D | 3.24 | 320 |
| TF_EFFAITICDDET_LITE1 | 32.2 | TBD | 31.5 | N / D | 4.25 | 384 |
| eficientedet_d0 | 33.6 | TBD | N / D | N / D | 3.88 | 512 |
| TF_EFFAITEDDET_D0 | 34.2 | TBD | 34.3 | 34.6 | 3.88 | 512 |
| TF_EFFAITICDDET_D0_AP | 34.8 | TBD | 35.2 | 35.3 | 3.88 | 512 |
| eficientedet_q0 | 35.7 | TBD | N / D | N / D | 4.13 | 512 |
| TF_EFFAITICDDET_LITE2 | 35.9 | TBD | 35.1 | N / D | 5.25 | 448 |
| eficientedet_d1 | 39.4 | 39.5 | N / D | N / D | 6.62 | 640 |
| TF_EFFAITEDDET_LITE3 | 39.6 | TBD | 38.8 | N / D | 8.35 | 512 |
| TF_EFFAITICDDET_D1 | 40.1 | TBD | 40.2 | 40.5 | 6.63 | 640 |
| TF_EFFAITICDDET_D1_AP | 40.8 | TBD | 40.9 | 40.8 | 6.63 | 640 |
| eficientedet_q1 | 40.9 | TBD | N / D | N / D | 6.98 | 640 |
| CSPRESDEXT50PAN | 41.2 | TBD | N / D | N / D | 22.2 | 640 |
| ResDet50 | 41.6 | TBD | N / D | N / D | 27.6 | 640 |
| eficientedet_q2 | 43.1 | TBD | N / D | N / D | 8.81 | 768 |
| CSPRESDET50 | 43.2 | TBD | N / D | N / D | 24.3 | 768 |
| TF_EFFAITEDDET_D2 | 43.4 | TBD | 42.5 | 43 | 8.10 | 768 |
| TF_EFFAITICDDET_LITE3X | 43.6 | TBD | 42.6 | N / D | 9.28 | 640 |
| TF_EFFAITICDDET_LITE4 | 44.2 | TBD | 43.2 | N / D | 15.1 | 640 |
| TF_EFFAITICDDET_D2_AP | 44.2 | TBD | 44.3 | 44.3 | 8.10 | 768 |
| CSPDARKDET53M | 45.2 | TBD | N / D | N / D | 35.6 | 768 |
| eficientedetv2_dt | 46.1 | TBD | N / D | N / D | 13.4 | 768 |
| TF_EFFAITEDDET_D3 | 47.1 | TBD | 47.2 | 47.5 | 12.0 | 896 |
| TF_EFFAITICDDET_D3_AP | 47.7 | TBD | 48.0 | 47.7 | 12.0 | 896 |
| TF_EFFAITEDDET_D4 | 49.2 | TBD | 49.3 | 49.7 | 20.7 | 1024 |
| eficientedetv2_ds | 50.1 | TBD | N / D | N / D | 26.6 | 1024 |
| TF_EFFAITICDDET_D4_AP | 50.2 | TBD | 50.4 | 50.4 | 20.7 | 1024 |
| TF_EFFAITEDDET_D5 | 51.2 | TBD | 51.2 | 51.5 | 33.7 | 1280 |
| TF_EFFAITEDDET_D6 | 52.0 | TBD | 52.1 | 52.6 | 51.9 | 1280 |
| TF_EFFAITICDDET_D5_AP | 52.1 | TBD | 52.2 | 52.5 | 33.7 | 1280 |
| TF_EFFAITEDDET_D7 | 53.1 | 53.4 | 53.4 | 53.7 | 51.9 | 1536 |
| TF_EFFAITEDDET_D7X | 54.3 | TBD | 54.4 | 55.1 | 77.1 | 1536 |
Consulte Configurações do modelo para URLs e diferenças de ponto de verificação do modelo.
Nota: Pontuações oficiais para todos os módulos agora usando NMS Soft, mas ainda usando NMS normais aqui.
NOTA: Ao treinar alguns modelos experimentais, notei alguns problemas em potencial com a combinação de síncronizada BatchNorm ( --sync-bn ) e o modelo de peso ema ( --model-ema ) durante o treinamento distribuído. O resultado é um modelo que não converge ou parece convergir (perda de treinamento), mas a perda de avaliação (estatísticas de BN em execução) é o lixo. Não observei isso com eficientesnets, mas tenho com alguns backbones como CSPRESNEXT, VOVNET, etc. Desativar a EMA ou o Sync BN parece eliminar o problema e resultar em bons modelos. Não caracterizei totalmente esse problema.
Testado em um ambiente Python 3.7 - 3.9 CONDA no Linux com:
pip install timm ou instalação local em (https://github.com/rwightman/pytorch-image-models)NOTA - Há um conflito/bug com o Numpy 1.18+ e o pycocotools 2.0, a força instalar numpy <= 1.17.5 ou verifique se você instala pycocotools> = 2.0.2
Dados de validação do 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
MSCOCO 2017 TEST-DEV DATOS:
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
Execute a validação (VAL2017 por padrão) com o modelo D2: python validate.py /localtion/of/mscoco/ --model tf_efficientdet_d2
Executar teste-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
OBSERVAÇÃO:
--fill-color mean ) como pano de fundo para preenchimento de culturas/escala/aspecto, o repositório oficial usa pixel preto (0) ( --fill-color 0 ). Ambos provavelmente funcionam bem.2007, 2012, e combinados 2007 + 2012 com teste de 2007 para validação de 2007 são suportados.
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 {} ;
Deve haver uma pasta VOC2007 e VOC2012 no VOCdevkit , o conjunto de dados da linha CMD será vocdevkit.
Links de download alternativos, mais lentos, mas com mais frequência do 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
Avalie o conjunto de validação VOC2012: python validate.py /data/VOCdevkit --model efficientdet_d0 --num-gpu 2 --dataset voc2007 --checkpoint mychekpoint.pth --num-classes 20
Fine tune COCO pretrained weights to VOC 2007 + 2012: /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
Configurar o conjunto de dados OpenImages é um compromisso. Eu tentei facilitar o WRT das anotações, mas pegar o conjunto de dados ainda levará algum tempo. Levará aproximadamente 560 GB de espaço de armazenamento.
Para baixar os dados da imagem, prefiro a embalagem CVDF. A página principal do conjunto de dados do OpenImages, anotações, informações da licença do conjunto de dados podem ser encontradas em: https://storage.googleapis.com/openimages/web/index.html
Siga as instruções do download do S3 aqui: https://github.com/cvdfoundation/open-images-dataset#download-images-with-bounding-boxes-annotações
Cada train_<x>.tar.gz deve ser extraído para train/<x> , onde x é um dígito hexadecimal de 0-f. validation.tar.gz pode ser extraído como arquivos planos em validation/ .
As anotações podem ser baixadas separadamente da página inicial do OpenImages acima. Por conveniência, eu os empacotei em conjunto com alguns arquivos CSV adicionais de 'informações' que contêm IDs e estatísticas para todos os arquivos de imagem. Meus conjuntos de dados dependem dos arquivos <set>-info.csv . Consulte https://storage.googleapis.com/openimages/web/factsfigures.html para a licença dessas anotações. As anotações são licenciadas pelo Google LLC sob licença CC por 4.0. As imagens são listadas como tendo uma licença CC por 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 {} ;
Depois que tudo for baixado e extraído, a raiz da sua pasta de dados do OpenImages deve conter:
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>
Treinamento com Anotações de desafio2019 (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
A cabeça de classe 500 (desafio2019) ou 601 (V5/V6) para OI ocupa muito mais memória da GPU vs Coco. Você provavelmente precisará meio tamanhos de lote.
Os modelos aqui foram usados com rotinas de treinamento e conjuntos de dados personalizados com ótimos resultados. Existem muitos detalhes para descobrir, por isso, não registre nenhum 'eu recebo resultados de porcaria nos meus problemas personalizados do conjunto de dados'. Se você puder ilustrar um problema reprodutível em um conjunto de dados público, não proprietário e para download, com o Public Github Fork deste repositório, incluindo implementações de dados de dados de trabalho/analisador, posso ter tempo para dar uma olhada.
Exemplos:
timm eficienteNETV2 e as versões mais recentes dos modelos eficientes aquiSe você tem um bom exemplo de script ou kernel treinando esses modelos com um conjunto de dados diferente, fique à vontade para me notificar para inclusão aqui ...
Latest training run with .336 for D0 (on 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
Esses hparams acima resultaram em um bom modelo, alguns pontos:
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
Última execução com .394 mapa (em 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
Para esta execução, usei alguns aumentos aprimorados, ainda experimentando, por isso não está pronto para o lançamento, deve funcionar bem sem eles, mas provavelmente começarei a ajustar um pouco mais cedo e possivelmente acabará na faixa de 0,385-39.
Nota: Eu só tentei enviar o D7 para o servidor de dev para verificação de sanidade até agora
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
Se você é uma organização está interessada em patrocinar e qualquer um desses trabalhos, ou priorização das possíveis direções futuras, interessa -lhe, sinta -se à vontade para entrar em contato comigo (edição, LinkedIn, Twitter, Hello at Rwightman Dot Com). Vou configurar um patrocinador do GitHub se houver algum interesse.