이것은 엔드 투 엔드 객체 감지를위한 디포 이어스 앵커 박스가 개선 된 DINO : DETR "의 공식 구현입니다. (Dino는 공룡에서와 같이`daɪnoʊ '라고 발음했다)
저자 : Hao Zhang*, Feng Li*, Shilong Liu*, Lei Zhang, Hang Su, Jun Zhu, Lionel M. NI, Heung-Yeung Shum
[2023/7/10] 우리는 세그먼트를 활성화하고 원하는 세분화에서 무엇이든 인식하기 위해 보편적 인 이미지 세분화 모델 인 Semantic-Sam을 출시합니다. 코드 와 체크 포인트를 사용할 수 있습니다!
[2023/4/28] : Open-Set 객체 분할 작업에서 최상의 결과를 얻는 강력한 오픈 세트 객체 감지 및 세분화 모델 OpenSeed를 출시합니다. 코드 및 체크 포인트는 여기에서 제공됩니다.
[2023/4/26] : 디노가 다시 빛납니다! 우리는 Coco Test-Dev에서 64.8 AP
달성하는 Dino 및 Facalnet-Huge 백본에 제작 된 안정적인 디노를 출시합니다.
[2023/4/22] : 더 나은 하이퍼 패람을 사용하면 Dino-4Scale 모델이 12EP 설정에서 49.8 AP
달성하십시오. 자세한 내용은 Detrex : Dino를 확인하십시오.
[2023/3/13] : 우리는 오픈 세트 객체 감지 작업에서 최상의 결과를 달성하는 강력한 오픈 세트 객체 감지 모델 접지 디노를 출시합니다. Coco Training 데이터없이 Coco Detection에서 52.5 Zero-Shot AP를 달성합니다! 미세 조정 후 코코에서 63.0 AP를 달성합니다. 코드 및 체크 포인트는 여기에서 제공됩니다.
[2023/1/23] : Dino는 ICLR 2023에 받아 들여졌습니다!
[2022/12/02] : 마스크 디노 코드가 릴리스되었습니다 (또한 Detrex)! 마스크 디노는 추가 감지 데이터없이 RESNET-50 및 SWINL을 사용하여 COCO에서 51.7 및 59.0 Box AP를 추가로 달성하여 동일한 설정에서 디노를 능가합니다 !.
[2022/9/22] : 우리는 최첨단 변압기 기반 탐지 알고리즘을 제공하는 도구 상자 Detrex를 출시합니다. 더 나은 성능을 가진 디노가 포함됩니다. 그것을 사용하는 것을 환영합니다!
[2022/9/18] : 우리는 야생 (CVINW)에서 ECCV 워크숍 컴퓨터 비전을 조직합니다. 여기서 두 가지 과제가 다운 스트림 작업에서 미리 훈련 된 비전 모델의 제로 샷, 소수 및 전체 샷 성능을 평가하기 위해 호스팅됩니다. :
[워크샵] [IC 챌린지] [OD Challenge]
[2022/8/6] : O365 사전 훈련, 큰 이미지 크기 및 다중 규모 테스트와 같은 기술없이 SWIN-L 모델 결과를 업데이트합니다. 또한 해당 체크 포인트를 Google 드라이브에 업로드합니다. 트릭이없는 5 스케일 모델은 Coco Val에서 58.5 AP를 얻습니다.
[2022/7/14] : 우리는 SWIN-L 및 CONDNEXT 백본으로 코드를 해제합니다.
[2022/7/10] : RESNET-50 백본으로 코드와 체크 포인트를 해제합니다.
[2022/6/7] : 우리는 세 가지 세분화 작업 모두에서 최상의 결과를 얻는 통합 감지 및 세분화 모델 마스크 디노를 출시합니다 (Coco Instance Leaderboard의 54.7 AP, Coco Panoptic Leaderboard의 59.5 PQ 및 ADE20K SEMINCY의 60.8 MIOU 리더 보드)! 코드는 여기에서 사용할 수 있습니다.
[2022/5/28] DN-Detr에 대한 코드는 여기에서 확인할 수 있습니다.
[2020/4/10] : DAB-Detr에 대한 코드는 여기에서 불가능합니다.
[2022/3/8] : 우리는 63.3ap 으로 MS-Coco 리더 보드의 SOTA에 도착합니다!
[2022/3/9] : 우리는 감지 및 세그먼트를위한 변압기에 관한 논문을 제시하기 위해 REPO Awesome Detection Transformer를 구축합니다. 당신의 관심에 오신 것을 환영합니다!
우리는 dino ( d etr과 함께 d etr de n oing anch o r box)를 제시합니다.
우리는 여기에 [Google 드라이브의 모델 동물원] [모델 동물원의 모델 동물원]] { "Dino"), 여기서 체크 포인트 {x} _ {y} scale.pth는 y-scale 모델의 체크 포인트를 나타냅니다. X Epochs를 위해 교육을 받았습니다. 우리의 교육 로그는 [Google Drive]에 있습니다.
이름 | 등뼈 | 상자 AP | 검문소 | 우리 논문의 곳 | |
---|---|---|---|---|---|
1 | Dino-4Scale | R50 | 49.0 | Google 드라이브 / 바이두 | 표 1 |
2 | 디노 5 스케일 | R50 | 49.4 | Google 드라이브 / 바이두 | 표 1 |
3 | Dino-4Scale | Swin-L | 56.8 | 구글 드라이브 | |
4 | 디노 5 스케일 | Swin-L | 57.3 | 구글 드라이브 |
이름 | 등뼈 | 상자 AP | 검문소 | 우리 논문의 곳 | |
---|---|---|---|---|---|
1 | Dino-4Scale | R50 | 50.4 | Google 드라이브 / 바이두 | 표 2 |
2 | 디노 5 스케일 | R50 | 51.3 | Google 드라이브 / 바이두 | 표 2 |
이름 | 등뼈 | 상자 AP | 검문소 | 우리 논문의 곳 | |
---|---|---|---|---|---|
1 | Dino-4Scale | R50 | 50.9 | Google 드라이브 / 바이두 | 표 2 |
2 | 디노 5 스케일 | R50 | 51.2 | Google 드라이브 / 바이두 | 표 2 |
3 | Dino-4Scale | Swin-L | 58.0 | 구글 드라이브 | |
4 | 디노 5 스케일 | Swin-L | 58.5 | 구글 드라이브 |
우리는 DINO를 실행하기 위해 DAB-DETR 및 DN-DETR과 동일한 환경을 사용합니다. 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 Checkpoint "Checkpoint0011_4scale.pth"를 다운로드하고 아래 명령을 수행하십시오. 최종 AP는 약 49.0을 얻을 수 있습니다.
bash scripts/DINO_eval.sh /path/to/your/COCODIR /path/to/your/checkpoint
추론 및 시각화를 위해 예를 들어 노트북을 제공합니다.
우리는 모델을 평가하고 훈련하는 방법을 보여주는 12 개의 에포크 훈련을받은 디노 4 스케일 모델을 사용합니다.
단일 프로세스에서 모델을 훈련시킬 수도 있습니다.
bash scripts/DINO_train.sh /path/to/your/COCODIR
SWIN-L 모델을 훈련하려면 먼저 링크에서 SWIN-L 백본의 체크 포인트를 다운로드하고 스크립트를 실행할 때 미리 훈련 된 백본의 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 개 (각 GPU x 8 gpus 각 GPU x 8 gpus 및 1 개의 이미지 1 개를 기본적으로 사용합니다.
또는 단일 노드에서 멀티 프로세스 로 실행하십시오.
# for DINO-4scale: 49.0
bash scripts/DINO_train_dist.sh /path/to/your/COCODIR
사용자 정의 데이터 세트에서 Dino를 처음부터 시작하려면 구성 파일에서 두 개의 매개 변수를 조정해야합니다.
num_classes
를 클래스 수로 조정하여 데이터 세트에서 감지합니다.dn_labebook_size >= num_classes + 1
인지 확인하기 위해 매개 변수 dn_labebook_size
조정하십시오.모델 미세 조정을 위해 미리 훈련 된 모델을 활용 하려면 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.
[종이] [코드] [中文解读]
DAB-DETR : 동적 앵커 박스는 Detr에 더 나은 쿼리입니다.
Shilong Liu, Feng Li, Hao Zhang, Xiao Yang, Xianbiao Qi, Hang Su, Jun Zhu, Lei Zhang.
학습 대표에 관한 국제 회의 ( ICLR ) 2022.
[종이] [코드]
또한 DETR, 변형 가능한 DETR, SMCA, 조건부 DETR, Anchor DETR, Dynamic DETR 등을 포함한 훌륭한 이전 작업에 감사드립니다. Awesome Detection 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 }
}