Una implementación de Pytorch de eficiente DET.
Se basa en el
Hay otras implementaciones de Pytorch. O su enfoque no se ajustaba a mi objetivo de reproducir correctamente los modelos de flujo tensor (pero con una sensación de pytorch y flexibilidad) o no pueden acercarse a replicar el entrenamiento de Coco de MS desde cero.
Además de las configuraciones del modelo predeterminadas, hay mucha flexibilidad para facilitar los experimentos y mejoras rápidas aquí, algunas opciones basadas en el tensorflow oficial implementan, algunas propias:
timm que admita la extracción de características ( features_only arg) se puede usar como un bacbkone. timm 0.9timm Convert_Sync_BatchNorm mientras maneja modelos actualizados con capas BatchNormAct2Defficientnetv2_ds Peso 50.1 mapa @ 1024x0124, usando el recorte de AGC y la red troncal efficientnetv2_rw_s de timm . Uso de memoria Comparable a D3, velocidad más rápida que D4. Tamaño de lote de entrenamiento más pequeño que el óptimo, por lo que probablemente pueda hacerlo mejor ...efficientnetv2_dt a un nuevo conjunto, 46.1 mapa @ 768x768, 47.0 map @ 896x896 usando el recorte AGC.timm ). Idea de ( High-Performance Large-Scale Image Recognition Without Normalization -https://arxiv.org/abs/2102.06171)timm aumentó a 0.4.12efficientnetv2_dt basado en el modelo efficientnetv2_rw_t timm Tiny). 45.8 mapa @ 768x768.tf_efficientdet_d?_apefficientdet_q1 (reemplace el modelo anterior a 40.6)cspresdet50cspdarkdet53m--torchscript ) es posible con la inclusión de ModelEMAV2 de timm y adiciones anteriores de compat de Torchscript. Grandes ganancias de velocidad para el entrenamiento con límite de CPU.efficientdet_q0/q1/q2 ) y CSPresdext + PAN ( cspresdext50pan ). Vea la tabla actualizada a continuación. Un agradecimiento especial a Artus por proporcionar recursos para capacitar al modelo Q2.max / avg Poolnew_focal , use --legacy-focal Arg para usar el original. Legacy usa menos memoria, pero tiene más problemas de estabilidad numérica.timm > = 0.3.2 Requerido, nota Doble Compruebe cualquier configuración del modelo definido personalizado para romper el cambioFusionó unos meses de soluciones y adiciones acumuladas.
size % 128 = 0 en cada tenue.Algunas cosas en la lista de prioridades aún no he abordado:
Tenga en cuenta que hay algunos cambios de ruptura:
timm a lo último (> = 0.3), ya que algunas API para ayudantes cambiaron un poco.Entrenamiento de controles de cordura se realizaron en VOC y OI
La tabla a continuación contiene modelos con pesos previos a la aparición. Hay muchos otros modelos que he definido en configuraciones de modelos que usan varios troncos timm .
| Variante | Mapa (Val2017) | Mapa (Test-DeV2017) | Mapa (TF Oficial Val2017) | MAP (TF Oficial de prueba-DEV2017) | Parámetros (m) | Tamaño img |
|---|---|---|---|---|---|---|
| TF_EFFIENTDET_LITE0 | 27.1 | TBD | 26.4 | N / A | 3.24 | 320 |
| TF_EFFIENTDET_LITE1 | 32.2 | TBD | 31.5 | N / A | 4.25 | 384 |
| eficienteDet_D0 | 33.6 | TBD | N / A | N / A | 3.88 | 512 |
| TF_EFFIENTDET_D0 | 34.2 | TBD | 34.3 | 34.6 | 3.88 | 512 |
| TF_EFFIENTDET_D0_AP | 34.8 | TBD | 35.2 | 35.3 | 3.88 | 512 |
| eficienteDet_Q0 | 35.7 | TBD | N / A | N / A | 4.13 | 512 |
| TF_EFFIENTDET_LITE2 | 35.9 | TBD | 35.1 | N / A | 5.25 | 448 |
| eficienteDet_D1 | 39.4 | 39.5 | N / A | N / A | 6.62 | 640 |
| TF_EFFIENTDET_LITE3 | 39.6 | TBD | 38.8 | N / A | 8.35 | 512 |
| TF_EFFIENTDET_D1 | 40.1 | TBD | 40.2 | 40.5 | 6.63 | 640 |
| TF_EFFIENTDET_D1_AP | 40.8 | TBD | 40.9 | 40.8 | 6.63 | 640 |
| eficienteDet_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 |
| eficienteDet_Q2 | 43.1 | TBD | N / A | N / A | 8.81 | 768 |
| cspresdet50 | 43.2 | TBD | N / A | N / A | 24.3 | 768 |
| TF_EFFIENTDET_D2 | 43.4 | TBD | 42.5 | 43 | 8.10 | 768 |
| TF_EFFIENTDET_LITE3X | 43.6 | TBD | 42.6 | N / A | 9.28 | 640 |
| TF_EFFIENTDET_LITE4 | 44.2 | TBD | 43.2 | N / A | 15.1 | 640 |
| TF_EFFIENTDET_D2_AP | 44.2 | TBD | 44.3 | 44.3 | 8.10 | 768 |
| CSPDARKDET53M | 45.2 | TBD | N / A | N / A | 35.6 | 768 |
| eficienteDetv2_DT | 46.1 | TBD | N / A | N / A | 13.4 | 768 |
| TF_EFFIENTDET_D3 | 47.1 | TBD | 47.2 | 47.5 | 12.0 | 896 |
| TF_EFFIENTDET_D3_AP | 47.7 | TBD | 48.0 | 47.7 | 12.0 | 896 |
| TF_EFFIENTDET_D4 | 49.2 | TBD | 49.3 | 49.7 | 20.7 | 1024 |
| eficienteDetv2_DS | 50.1 | TBD | N / A | N / A | 26.6 | 1024 |
| TF_EFFIENTDET_D4_AP | 50.2 | TBD | 50.4 | 50.4 | 20.7 | 1024 |
| TF_EFFIENTDET_D5 | 51.2 | TBD | 51.2 | 51.5 | 33.7 | 1280 |
| TF_EFFIENTDET_D6 | 52.0 | TBD | 52.1 | 52.6 | 51.9 | 1280 |
| TF_EFFIENTDET_D5_AP | 52.1 | TBD | 52.2 | 52.5 | 33.7 | 1280 |
| TF_EFFIENTDET_D7 | 53.1 | 53.4 | 53.4 | 53.7 | 51.9 | 1536 |
| TF_EFFIENTDET_D7X | 54.3 | TBD | 54.4 | 55.1 | 77.1 | 1536 |
Consulte Configuraciones del modelo para las URL y diferencias del punto de control modelo.
Nota: puntajes oficiales para todos los módulos que ahora usan Soft-NMS, pero aún usan NM normales aquí.
Nota: En el entrenamiento de algunos modelos experimentales, he notado algunos problemas potenciales con la combinación de lotes sincronizados ( --sync-bn ) y Everage de peso EMA modelo ( --model-ema ) durante el entrenamiento distribuido. El resultado es un modelo que no converge o parece converger (pérdida de entrenamiento), pero la pérdida de evaluación (ejecutar estadísticas de BN) es basura. No he observado esto con Nets EfficeLet, pero tengo algunas redes troncales como CSPresnext, Vovnet, etc. Deshabilitar EMA o Sync Bn parece eliminar el problema y dar como resultado buenos modelos. No he caracterizado completamente este problema.
Probado en un entorno de condena de Python 3.7 - 3.9 en Linux con:
pip install timm o instalación local desde (https://github.com/rwightman/pytorch-image-models)Nota : hay un conflicto/error con Numpy 1.18+ y Pycocotools 2.0, Force Instalar Numpy <= 1.17.5 o asegúrese de instalar Pycocotools> = 2.0.2
Datos de validación de 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
Datos de prueba de prueba de 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
Validación Ejecutar (Val2017 por defecto) con el modelo D2: python validate.py /localtion/of/mscoco/ --model tf_efficientdet_d2
Ejecutar 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
NOTA:
--fill-color mean ) como fondo para el relleno de cultivo/escala/aspecto, el repositorio oficial usa píxel negro (0) ( --fill-color 0 ). Es probable que ambos funcionen bien.2007, 2012, y se admiten 2007 + 2012 con la prueba de validación de 2007 etiquetada.
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 {} ;
Debe haber una carpeta VOC2007 y VOC2012 dentro de VOCdevkit , la raíz del conjunto de datos para la línea CMD será VOVDEVKIT.
Enlaces de descarga alternativa, más lento pero más a menudo 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
Evaluar en el conjunto de validación VOC2012: python validate.py /data/VOCdevkit --model efficientdet_d0 --num-gpu 2 --dataset voc2007 --checkpoint mychekpoint.pth --num-classes 20
Fine Tune Coco Pretraned Peso a 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 el conjunto de datos de OpenImages es un compromiso. He tratado de hacer que sea un poco más fácil de las anotaciones, pero agarrar el conjunto de datos aún tomará algún tiempo. Tomará aproximadamente 560 GB de espacio de almacenamiento.
Para descargar los datos de la imagen, prefiero el embalaje CVDF. La página principal del conjunto de datos de OpenImages, las anotaciones, la información de la licencia del conjunto de datos se puede encontrar en: https://storage.googleapis.com/openimages/web/index.html
Siga las instrucciones de descarga S3 aquí: https://github.com/cvdfoundation/open-images-dataset#download-images-with-bounding-boxes-annotations
Cada train_<x>.tar.gz debe extraerse para train/<x> carpeta, donde x es un dígito hexadecimal de 0-F. validation.tar.gz se puede extraer como archivos planos en validation/ .
Las anotaciones se pueden descargar por separado de la página de inicio de OpenImages arriba. Por conveniencia, los he empaquetado a todos junto con algunos archivos CSV adicionales de 'Info' que contienen ID y estadísticas para todos los archivos de imagen. Mis conjuntos de datos se basan en los archivos <set>-info.csv . Consulte https://storage.googleapis.com/openimages/web/factsfigures.html para obtener la licencia de estas anotaciones. Las anotaciones son licenciadas por Google LLC bajo la licencia CC por 4.0. Las imágenes se enumeran como una licencia 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 {} ;
Una vez que todo se descarga y se extrae, la raíz de su carpeta de datos de OpenImages debe contener:
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>
Capacitación con Annotaciones Challenge2019 (500 clases): ./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 clase 500 (Challenge2019) o 601 (V5/V6) cabezal para OI ocupa mucha más memoria GPU vs Coco. Es probable que necesite a medias lotes.
Los modelos aquí se han utilizado con rutinas de entrenamiento y conjuntos de datos personalizados con excelentes resultados. Hay muchos detalles que resolver, así que por favor no presente ningún 'obtengo resultados de basura en mis problemas de conjunto de datos personalizados'. Si puede ilustrar un problema reproducible en un conjunto de datos público, no propietario y descargable, con la bifurcación pública de GitHub de este repositorio que incluye implementaciones de conjunto de datos/analgésicos de trabajo, es posible que tenga tiempo para echar un vistazo.
Ejemplos:
timm EficeTnetV2 y las últimas versiones de los modelos de EficeTientDet aquíSi tiene un buen ejemplo de script o núcleo de entrenamiento de estos modelos con un conjunto de datos diferente, no dude en notificarme para su inclusión aquí ...
Último entrenamiento se ejecuta con .336 para D0 (en 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
Estos Hparams anteriores dieron como resultado un buen modelo, algunos puntos:
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 ejecución con .394 mapa (en 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 ejecución, utilicé algunos aumentos mejorados, todavía experimentando, por lo que no está listo para su lanzamiento, debería funcionar bien sin ellos, pero probablemente comenzaré a sobrecargarse un poco antes y posiblemente termine en el rango .385-.39.
Nota: Solo he intentado enviar D7 al servidor de desarrollo para verificar la cordura hasta ahora
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 usted es una organización está interesada en patrocinar y cualquiera de este trabajo, o la priorización de las posibles instrucciones futuras le interesa, no dude en contactarme (Problema, LinkedIn, Twitter, Hola en Rwightman Dot Com). Configuraré un patrocinador de GitHub si hay algún interés.