Это официальная реализация бумаги «Dino: Detr с улучшенными якорными ящиками для обнаружения комплексных объектов». (Дино произносит «да», как в динозавре)
Авторы: Хао Чжан*, Фенг Ли*, Шилонг Лю*, Лей Чжан, Ханс Су, Джун Чжу, Лайонел М. Ни, Хьюнг-Юн Шум
[2023/7/10] Мы выпускаем Semantic-Sam, универсальную модель сегментации изображений, чтобы включить сегмент и распознавать что-либо при любой желаемой гранулярности. Код и контрольная точка доступны!
[2023/4/28]: мы выпускаем сильную модель обнаружения и сегментации объектов с открытым набором. Код и контрольные точки доступны здесь.
[2023/4/26]: Дино снова сияет! Мы выпускаем стабильную дино, которая построена на основе Dino и Focalnet-Huge, которая достигает 64.8 AP
на Coco Test-Dev.
[2023/4/22]: С лучшими гипер-парамами наша модель Dino-4Scale достигает 49.8 AP
в условиях 12EP, пожалуйста, проверьте DetRex: DINO для получения более подробной информации.
[2023/3/13]: мы выпускаем сильную модель обнаружения объектов с открытым набором, заземляющая дино, которая достигает наилучших результатов по задачам обнаружения объектов с открытым набором. Он достигает 52,5 нулевых выстрелов при обнаружении Coco, без каких-либо учебных данных! Он достигает 63,0 AP на Coco после тонкой настройки. Код и контрольные точки будут доступны здесь.
[2023/1/23]: Дино был принят в ICLR 2023!
[2022/12/02]: Код для Mask Dino выпущен (также в DetRex)! Маска Дино также достигает 51,7 и 59,0 AP на Coco с Resnet-50 и Swinl без дополнительных данных обнаружения, превосходя дино под той же обстановкой!.
[2022/9/22]: мы выпускаем DetRex инструментария, который предоставляет современные алгоритмы обнаружения на основе трансформаторов. Он включает в себя Дино с лучшей производительностью . Добро пожаловать, чтобы использовать его!
[2022/9/18]: Мы организуем семинар ECCV Computer Vision в дикой природе (CVINW) , где размещаются две проблемы для оценки нулевого выстрела, нескольких выстрелов и полных выстрелов :
[Семинар] [IC Challenge] [OD Challenge]
[2022/8/6]: мы обновляем результаты модели SWIN-L без таких методов, как предварительное обучение O365, большой размер изображения и многомасштабный тест. Мы также загружаем соответствующие контрольные точки на Google Drive. Наша 5-масштабная модель без каких-либо трюков получает 58,5 AP на Coco Val.
[2022/7/14]: мы выпускаем код с помощью Swin-L и Convnext Backbone.
[2022/7/10]: мы выпускаем код и контрольные точки с помощью основы RESNET-50.
[2022/6/7]: мы выпускаем единую модель обнаружения и сегментации маски Dino, которая достигает наилучших результатов по всем трем задачам сегментации ( 54,7 AP на лидере COCO, 59,5 PQ на лидере Coco Panoptic и 60,8 MIO на ADE20K Semantic Таблица лидеров)! Код будет доступен здесь.
[2022/5/28] Код для DN-DETR доступен здесь.
[2020/4/10]: код для Dab-Detr здесь доступен.
[2022/3/8]: Мы достигаем SOTA на доске лидеров MS-COCO с 63.3AP !
[2022/3/9]: Мы строим потрясающий трансформатор обнаружения репо, чтобы представить документы о трансформаторе для обнаружения и сегмента. Добро пожаловать на ваше внимание!
Мы представляем дино ( D ETR с MPRIED DEN -AING ANCH O R BOXES) с:
Мы поместили наши контрольные точки модели здесь [Модельный зоопарк в Google Drive] [Зоопарк модели в 百度网盘] (提取码 "dino"), где контрольная точка {x} _ {y} Scale.pth обозначает контрольную точку модели Y-масштаба тренируется для x эпохи. Наши журналы обучения находятся в [Google Drive].
имя | магистраль | ящик | Контрольная точка | Где в нашей газете | |
---|---|---|---|---|---|
1 | Dino-4scale | R50 | 49,0 | Google Drive / Baidu | Таблица 1 |
2 | Dino-5scale | R50 | 49,4 | Google Drive / Baidu | Таблица 1 |
3 | Dino-4scale | SWIN-L | 56.8 | Google Drive | |
4 | Dino-5scale | SWIN-L | 57.3 | Google Drive |
имя | магистраль | ящик | Контрольная точка | Где в нашей газете | |
---|---|---|---|---|---|
1 | Dino-4scale | R50 | 50.4 | Google Drive / Baidu | Таблица 2 |
2 | Dino-5scale | R50 | 51.3 | Google Drive / Baidu | Таблица 2 |
имя | магистраль | ящик | Контрольная точка | Где в нашей газете | |
---|---|---|---|---|---|
1 | Dino-4scale | R50 | 50,9 | Google Drive / Baidu | Таблица 2 |
2 | Dino-5scale | R50 | 51.2 | Google Drive / Baidu | Таблица 2 |
3 | Dino-4scale | SWIN-L | 58.0 | Google Drive | |
4 | Dino-5scale | SWIN-L | 58.5 | Google Drive |
Мы используем окружающую среду такую же для Dab-DETR и DN-DETR для запуска DINO. Если вы запустили DN-DETR или DAB-DETR, вы можете пропустить этот шаг. Мы проверяем наши модели под python=3.7.3,pytorch=1.9.0,cuda=11.1
. Другие версии также могут быть доступны. Нажмите приведенные ниже Details
для получения более подробной информации.
git clone https://github.com/IDEA-Research/DINO.git
cd DINO
Следуйте инструкции на 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 ../../..
Пожалуйста, загрузите набор данных Coco 2017 и организуйте их следующим образом:
COCODIR/
├── train2017/
├── val2017/
└── annotations/
├── instances_train2017.json
└── instances_val2017.json
Загрузите нашу контрольную точку Dino Model "Checkpoint0011_4scale.pth" по этой ссылке и выполните команду ниже. Вы можете ожидать получить окончательный AP около 49,0.
bash scripts/DINO_eval.sh /path/to/your/COCODIR /path/to/your/checkpoint
Для вывода и визуализации мы приведем ноутбук в качестве примера.
В качестве примера мы используем модель Dino 4 масштаба, обученную для 12 эпох, чтобы продемонстрировать, как оценить и обучить нашу модель.
Вы также можете обучить нашу модель на одном процессе:
bash scripts/DINO_train.sh /path/to/your/COCODIR
Чтобы тренировать модель SWIN-L, вам нужно сначала загрузить контрольную точку Swin-L Backbone из Link и указать DIR предварительно обученной основы при запуске сценариев. Вот пример.
bash scripts/DINO_train_submitit_swin.sh /path/to/your/COCODIR /path/to/your/pretrained_backbone
Поскольку обучение занимает много времени, мы предлагаем обучить модель на многолетнем.
Если вы планируете обучить модели на кластере с помощью Slurm , вот пример команда для обучения:
# 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
Примечания: результаты чувствительны к размеру партии. Мы используем 16 (2 изображения каждый графический процессор x 8 для DINO-4SCALE и 1 изображения каждый графический процессор X 16 для DINO-5SCALE) по умолчанию.
Или запустить с помощью многопроцессов на одном узле :
# for DINO-4scale: 49.0
bash scripts/DINO_train_dist.sh /path/to/your/COCODIR
Чтобы обучить дино на пользовательский набор данных с нуля , вам нужно настроить два параметра в файле конфигурации:
num_classes
на количество классов для обнаружения в вашем наборе данных.dn_labebook_size
, чтобы убедиться, что dn_labebook_size >= num_classes + 1
Чтобы использовать наши предварительно обученные модели для точной настройки модели, мы предлагаем добавить еще две команды в Bash:
--pretrain_model_path /path/to/a/pretrianed/model
. Укажите предварительно обученную модель.--finetune_ignore label_enc.weight class_embed
. Игнорируйте некоторые непоследовательные параметры.Наша модель основана на DAB-DETR и DN-DETR.
DN-DETR: Ускорение обучения DETR, внедряя разоблачение запросов.
Feng Li*, Hao Zhang*, Shilong Liu, Jian Guo, Lionel M. Ni, Lei Zhang.
Конференция IEEE по компьютерному видению и распознаванию шаблонов ( CVPR ) 2022.
[Paper] [Code] [中文解读]
DAB-DETR: Динамические якорные коробки являются лучшими запросами для DETR.
Шилонг Лю, Фэн Ли, Хао Чжан, Сяо Ян, Сянбиао Ци, Ханг Су, Джун Чжу, Лей Чжан.
Международная конференция по обучению представителей ( ICLR ) 2022.
[Paper] [Код]
Мы также благодарим отличную предыдущую работу, включая DETR, деформируемый DETR, SMCA, условную DETR, Anchor DETR, Dynamic DETR и т. Д. Более подробная работа доступна на Awesome Detacection Transformer.
Dino выпускается по лицензии Apache 2.0. Пожалуйста, смотрите файл лицензии для получения дополнительной информации.
Авторское право (C) Идея. Все права защищены.
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать эти файлы, кроме как в соответствии с лицензией. Вы можете получить копию лицензии по адресу http://www.apache.org/licenses/license-2.0
Если не требуется применимый закон или не согласен в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.
Если вы обнаружите, что наша работа полезна для вашего исследования, пожалуйста, рассмотрите возможность сослаться на следующую запись 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 }
}