Esta es la implementación oficial del documento "Dino: DETR con cajas de anclaje de renovación mejoradas para la detección de objetos de extremo a extremo". (Dino pronunció `daɪnoʊ 'como en el dinosaurio)
Autores: Hao Zhang*, Feng Li*, Shilong Liu*, Lei Zhang, Hang Su, Jun Zhu, Lionel M. Ni, Heung-Yeung Shum
[2023/7/10] Lanzamos Semantic-Sam, un modelo de segmentación de imágenes universal para habilitar el segmento y reconocer cualquier cosa en cualquier granularidad deseada. ¡El código y el punto de control están disponibles!
[2023/4/28]: Liberamos un modelo de detección de objetos y segmentación de establos abiertos sólidos que logra los mejores resultados en las tareas de segmentación de objetos abiertos. El código y los puntos de control están disponibles aquí.
[2023/4/26]: ¡Dino está brillando de nuevo! Lanzamos Stable-Dino que se basa en Dino y Focalnet-Huge Backbone que logra 64.8 AP
en Coco Test-Dev.
[2023/4/22]: Con mejores hiperparams, nuestro modelo Dino-4Scale logra 49.8 AP
en 12P Configuración, consulte Detrex: Dino para obtener más detalles.
[2023/3/13]: Lanzamos un modelo de detección de objetos de conjunto abierto sólido Dino que logra los mejores resultados en las tareas de detección de objetos abiertos. ¡Logra 52.5 AP de disparo cero en la detección de coco, sin ningún datos de entrenamiento de Coco! Logra 63.0 AP en Coco después del ajuste. El código y los puntos de control estarán disponibles aquí.
[2023/1/23]: ¡Dino ha sido aceptado para ICLR 2023!
[2022/12/02]: ¡Se lanza el código para Mask Dino (también en Detrex)! ¡Mask Dino logra aún más la caja AP de 51.7 y 59.0 en Coco con un resnet-50 y Swinl sin datos de detección adicionales, superando a Dino bajo el mismo entorno!
[2022/9/22]: Lanzamos una caja de herramientas Detrex que proporciona algoritmos de detección basados en transformadores de última generación. Incluye Dino con mejor rendimiento . ¡Bienvenido a usarlo!
[2022/9/18]: Organizamos la visión de la computadora del taller de ECCV en la naturaleza (CVinW) , donde se alojan dos desafíos para evaluar el rendimiento de visión de disparo cero, pocos disparos y completo de los modelos de visión previamente capacitados en tareas posteriores :
[Taller] [IC Challenge] [OD Challenge]
[2022/8/6]: Actualizamos los resultados del modelo SWIN-L sin técnicas como el pre-entrenamiento O365, el tamaño de imagen grande y la prueba de múltiples escala. También cargamos los puntos de control correspondientes a Google Drive. Nuestro modelo a escala de 5 sin trucos obtiene 58.5 AP en Coco Val.
[2022/7/14]: Lanzamos el código con Swin-L y ConvNext Backbone.
[2022/7/10]: liberamos el código y los puntos de control con la red troncal Resnet-50.
[2022/6/7]: Lanzamos un modelo de detección y segmentación unificado Dino Dino que logra los mejores resultados en las tres tareas de segmentación ( 54.7 AP en la clasificación de instancias de Coco, 59.5 PQ en la tabla de clasificación de Coco Panoptic y 60.8 Miou en Ade20k Semántico en el semántico ADE20K tabla de clasificación)! El código estará disponible aquí.
[2022/5/28] El código para DN-Detr está disponible aquí.
[2020/4/10]: el código para DAB-Detr es avaliable aquí.
[2022/3/8]: ¡Llegamos a la Sota en MS-Coco Leader Board con 63.3AP !
[2022/3/9]: Construimos un transformador de detección de repo impresionante para presentar documentos sobre transformador para detección y segmentación. ¡Bienvenido a tu atención!
Presentamos Dino ( d ETR con las cajas de anclaje de la anulación ) con: con:
Hemos puesto nuestros puntos de control de modelo aquí [Modelo Zoo en Google Drive] [Modelo Zoo en 百度网盘] (提取码 "Dino"), donde el punto de control {x} _ {y} scale.pth denota el punto de control del modelo a escala y a escala Entrenado para X épocas. Nuestros registros de entrenamiento están en [Google Drive].
nombre | columna vertebral | AP de la caja | Control | Donde en nuestro artículo | |
---|---|---|---|---|---|
1 | Dino-4 escala | R50 | 49.0 | Google Drive / Baidu | Tabla 1 |
2 | Escala de dino-5 | R50 | 49.4 | Google Drive / Baidu | Tabla 1 |
3 | Dino-4 escala | Listón | 56.8 | Google Drive | |
4 | Escala de dino-5 | Listón | 57.3 | Google Drive |
nombre | columna vertebral | AP de la caja | Control | Donde en nuestro artículo | |
---|---|---|---|---|---|
1 | Dino-4 escala | R50 | 50.4 | Google Drive / Baidu | Tabla 2 |
2 | Escala de dino-5 | R50 | 51.3 | Google Drive / Baidu | Tabla 2 |
nombre | columna vertebral | AP de la caja | Control | Donde en nuestro artículo | |
---|---|---|---|---|---|
1 | Dino-4 escala | R50 | 50.9 | Google Drive / Baidu | Tabla 2 |
2 | Escala de dino-5 | R50 | 51.2 | Google Drive / Baidu | Tabla 2 |
3 | Dino-4 escala | Listón | 58.0 | Google Drive | |
4 | Escala de dino-5 | Listón | 58.5 | Google Drive |
Utilizamos el entorno igual para DAB-Detr y Dn-Detr para ejecutar Dino. Si ha ejecutado DN-DETR o DAB-Detr, puede omitir este paso. Probamos nuestros modelos en python=3.7.3,pytorch=1.9.0,cuda=11.1
. Otras versiones también pueden estar disponibles. Haga clic en los Details
a continuación para obtener más detalles.
git clone https://github.com/IDEA-Research/DINO.git
cd DINO
Siga las instrucciones en https://pytorch.org/get-started/locally/.
# an example:
conda install -c pytorch pytorch torchvision
pip install -r requirements.txt
cd models/dino/ops
python setup.py build install
# unit test (should see all checking is True)
python test.py
cd ../../..
Descargue el conjunto de datos de Coco 2017 y organice como sigue:
COCODIR/
├── train2017/
├── val2017/
└── annotations/
├── instances_train2017.json
└── instances_val2017.json
Descargue nuestro punto de control del modelo Dino "Checkpoint0011_4scale.pth" de este enlace y realice el comando a continuación. Puede esperar obtener el AP final alrededor de 49.0.
bash scripts/DINO_eval.sh /path/to/your/COCODIR /path/to/your/checkpoint
Para inferencia y visualizaciones, proporcionamos un cuaderno como ejemplo.
Utilizamos el modelo Dino 4 a escala entrenado para 12 épocas como ejemplo para demostrar cómo evaluar y capacitar a nuestro modelo.
También puede capacitar a nuestro modelo en un solo proceso:
bash scripts/DINO_train.sh /path/to/your/COCODIR
Para entrenar al modelo Swin-L, primero debe descargar el punto de control de Swin-L Backbone desde el enlace y especificar el DIR de la esquelera previamente entrenada al ejecutar los scripts. Aquí hay un ejemplo.
bash scripts/DINO_train_submitit_swin.sh /path/to/your/COCODIR /path/to/your/pretrained_backbone
Como la capacitación lleva mucho tiempo, sugerimos capacitar al modelo en múltiples dispositivos.
Si planea entrenar a los modelos en un clúster con slurm , aquí hay un comando de ejemplo para el entrenamiento:
# for DINO-4scale: 49.0
bash scripts/DINO_train_submitit.sh /path/to/your/COCODIR
# for DINO-5scale: 49.4
bash scripts/DINO_train_submitit_5scale.sh /path/to/your/COCODIR
Notas: Los resultados son sensibles al tamaño del lote. Usamos 16 (2 imágenes cada GPU x 8 GPU para Dino-4Scale y 1 imágenes cada GPU x 16 GPU para Dino-5Scale) de forma predeterminada.
O ejecutar con múltiples procesos en un solo nodo :
# for DINO-4scale: 49.0
bash scripts/DINO_train_dist.sh /path/to/your/COCODIR
Para entrenar un dinosaurio en un conjunto de datos personalizado desde cero , debe sintonizar dos parámetros en un archivo de configuración:
num_classes
a la cantidad de clases para detectar en su conjunto de datos.dn_labebook_size
para garantizar que dn_labebook_size >= num_classes + 1
Para aprovechar nuestros modelos previamente capacitados para el ajuste del modelo, sugerimos agregar dos comandos más en una fiesta:
--pretrain_model_path /path/to/a/pretrianed/model
. especificar un modelo previamente capacitado.--finetune_ignore label_enc.weight class_embed
. Ignorar algunos parámetros inconsistentes.Nuestro modelo se basa en DAB-DETR y DNTR.
DETR DN: Acelerar el entrenamiento DETR mediante la introducción de la consulta Denoising.
Feng Li*, Hao Zhang*, Shilong Liu, Jian Guo, Lionel M. Ni, Lei Zhang.
Conferencia IEEE sobre visión por computadora y reconocimiento de patrones ( CVPR ) 2022.
[documento] [código] [中文解读]
Detr de DAB: las cajas de anclaje dinámico son mejores consultas para DETR.
Shilong Liu, Feng Li, Hao Zhang, Xiao Yang, Xianbiao Qi, Hang Su, Jun Zhu, Lei Zhang.
Conferencia Internacional sobre Representaciones de Aprendizaje ( ICLR ) 2022.
[documento] [código]
También agradecemos que los grandes trabajos anteriores incluyen DETR, DETR deformable, SMCA, DETR condicional, Anchor DETR, Dynamic DETR, etc. El trabajo más relacionado está disponible en Awesome Detection Transformer.
Dino se lanza bajo la licencia Apache 2.0. Consulte el archivo de licencia para obtener más información.
Copyright (c) Idea. Reservados todos los derechos.
Licenciado bajo la licencia Apache, versión 2.0 (la "licencia"); No puede usar estos archivos, excepto de conformidad con la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/license-2.0
A menos que la ley aplicable sea requerida o acordado por escrito, el software distribuido bajo la licencia se distribuye de manera "como es", sin garantías o condiciones de ningún tipo, ya sea expresas o implícitas. Consulte la licencia para los permisos y limitaciones de rigor de idioma específico bajo la licencia.
Si encuentra útil nuestro trabajo para su investigación, considere citar la siguiente entrada de Bibtex.
@misc { zhang2022dino ,
title = { DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection } ,
author = { Hao Zhang and Feng Li and Shilong Liu and Lei Zhang and Hang Su and Jun Zhu and Lionel M. Ni and Heung-Yeung Shum } ,
year = { 2022 } ,
eprint = { 2203.03605 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CV }
}
@inproceedings { li2022dn ,
title = { Dn-detr: Accelerate detr training by introducing query denoising } ,
author = { Li, Feng and Zhang, Hao and Liu, Shilong and Guo, Jian and Ni, Lionel M and Zhang, Lei } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition } ,
pages = { 13619--13627 } ,
year = { 2022 }
}
@inproceedings {
liu2022dabdetr,
title = { {DAB}-{DETR}: Dynamic Anchor Boxes are Better Queries for {DETR} } ,
author = { Shilong Liu and Feng Li and Hao Zhang and Xiao Yang and Xianbiao Qi and Hang Su and Jun Zhu and Lei Zhang } ,
booktitle = { International Conference on Learning Representations } ,
year = { 2022 } ,
url = { https://openreview.net/forum?id=oMI9PjOb9Jl }
}