這是“ Dino:Detr,具有改進的Denoing錨固盒,以端到端對象檢測”的官方實施。 (Dino在恐龍中稱為“daɪnoʊ”)
作者:Hao Zhang*,Feng Li*,Shilong Liu*,Lei Zhang,Hang Su,Jun Zhu,Lionel M. Ni,Heung-Yeung Shum
[2023/7/10]我們釋放了語義-SAM,這是一種通用圖像分割模型,可實現段並識別任何所需粒度的任何內容。代碼和檢查點可用!
[2023/4/28]:我們發布一個強大的開式對象檢測和分割模型開放,該模型可以在開放集對象分割任務上實現最佳結果。代碼和檢查點可在此處找到。
[2023/4/26]:Dino再次閃耀!我們釋放穩定的迪諾裔,該勢座建立在可可測試dev上達到64.8 AP
恐龍和焦點骨架上。
[2023/4/22]:有了更好的超帕拉姆,我們的dino-4scale型號可在12ep設置下達到49.8 AP
,請檢查detrex:Dino:Dino,以獲取更多詳細信息。
[2023/3/13]:我們發布了強大的開放式對象檢測模型接地Dino,該模型在開放式對象檢測任務上取得了最佳結果。在沒有任何可可訓練數據的情況下,它可以在可可檢測上實現52.5零射擊AP!微調後,它可以在可可上獲得63.0 AP。代碼和檢查點將在此處提供。
[2023/1/23]:Dino已被ICLR 2023接受!
[2022/12/02]:發行了面具恐龍的代碼(也在detrex中)! Mask Dino在Coco上進一步實現了51.7和59.0 Box AP,並使用Resnet-50和Swinl沒有額外的檢測數據,在相同的設置下表現優於Dino !
[2022/9/22]:我們發布一個工具箱detrex ,提供基於最新的變壓器檢測算法。它包括表現更好的恐龍。歡迎使用它!
[2022/9/18]:我們在野外組織ECCV研討會(CVINW),在下游任務中,託管了兩個挑戰,以評估零射擊,幾乎沒有射擊和完整射擊的性能:
[研討會] [IC挑戰] [OD挑戰]
[2022/8/6]:我們更新SWIN-L模型結果,而沒有技術,例如O365預訓練,較大的圖像大小和多尺度測試。我們還將相應的檢查點上傳到Google Drive。我們沒有任何技巧的5尺度模型在可可谷獲得58.5 AP。
[2022/7/14]:我們使用Swin-L和Convnext Backbone發布代碼。
[2022/7/10]:我們使用Resnet-50骨乾髮行代碼和檢查點。
[2022/6/7]:我們發布了一個統一的檢測和分割模型蒙版dino,在所有三個分段任務上都取得了最佳效果(可可實例排行榜上的54.7 AP,可可Panoptic排行榜上的59.5 PQ,在ADE20K Sentical Sentical Sentical Sentic sentical Sentic sentic sentic sentic sentic sentic sentic sentic sentical sentic sentic sentic sentic sentic sentical sentic sentic sentical sentic sentical in排行榜)!代碼將在此處提供。
[2022/5/28] DN-DETR的代碼可在此處找到。
[2020/4/10]:dab-detr的代碼在這裡可用。
[2022/3/8]:我們以63.3AP到達MS-Coco領袖委員會的SOTA!
[2022/3/9]:我們構建了一個庫存真棒檢測變壓器,以介紹有關用於檢測和分段的變壓器的論文。歡迎您注意!
我們與以下方式一起展示Dino ( d eTr,帶有我的de n oising hang o r盒)
我們已經將模型檢查點放在此處[Google Drive中的模型動物園] [模型Zoo in百度網盤] (提取碼“ Dino”),其中檢查點{x} _ {y} scale.pth表示y尺度模型的檢查點接受了X時代的培訓。我們的培訓日誌在[Google Drive]中。
姓名 | 骨幹 | 盒子AP | 檢查點 | 在我們的論文中 | |
---|---|---|---|---|---|
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 |
姓名 | 骨幹 | 盒子AP | 檢查點 | 在我們的論文中 | |
---|---|---|---|---|---|
1 | Dino-4scale | R50 | 50.4 | Google Drive / Baidu | 表2 |
2 | Dino-5scale | R50 | 51.3 | Google Drive / Baidu | 表2 |
姓名 | 骨幹 | 盒子AP | 檢查點 | 在我們的論文中 | |
---|---|---|---|---|---|
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 |
我們使用相同的環境將dno和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模型檢查點“ CheckPoint0011_4Scale.pth”,並執行下面的命令。您可以期望獲得最終AP約49.0。
bash scripts/DINO_eval.sh /path/to/your/COCODIR /path/to/your/checkpoint
對於推理和可視化,我們提供了一個筆記本,例如。
我們使用對12個時期訓練的Dino 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 GPU,dino-4scale)和1張GPU x 16 GPU)。
或在單個節點上使用多過程運行:
# for DINO-4scale: 49.0
bash scripts/DINO_train_dist.sh /path/to/your/COCODIR
要從從頭開始訓練Dino在自定義數據集上,您需要在配置文件中調整兩個參數:
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-DER和DN-DRE。
DN-DETR:通過引入查詢DeNoisising加速DETR培訓。
Feng Li*,Hao Zhang*,Shilong Liu,Jian Guo,Lionel M. Ni,Lei Zhang。
IEEE計算機視覺和模式識別會議( CVPR )2022。
[紙] [代碼] [中文解讀]
dab-det:動態錨點是對detr的更好查詢。
Shilong Liu,Feng Li,Hao Zhang,Xiao Yang,Xianbiao Qi,Hang Su,Jun Zhu,Lei Zhang。
國際學習代表會議( ICLR )2022。
[紙] [代碼]
我們還要感謝以前的出色工作,包括DETR,可變形的DETR,SMCA,有條件的DETR,錨點DETR,Dynamic Detr等。在Awesome Dincection 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 }
}