これは、論文「Dino:Detrが改善されたエンドツーエンドオブジェクト検出のための改善されたアンカーボックスを備えたデトル」の公式実装です。 (ディノは恐竜のように「ダノ」と発音した)
著者: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]:オープンセットのオブジェクトセグメンテーションタスクで最良の結果を達成する強力なオープンセットオブジェクト検出とセグメンテーションモデルがオープンされます。コードとチェックポイントはこちらから入手できます。
[2023/4/26]:ディノは再び輝いています! Coco Test-Devで64.8 AP
達成するDinoおよびFocalnet-Hugeバックボーンの上に構築されたStable-Dinoをリリースします。
[2023/4/22]:より良いハイパーパラムを使用すると、Dino-4scaleモデルは12EPの設定で49.8 AP
達成します。詳細については、Detrex:Dinoを確認してください。
[2023/3/13]:オープンセットオブジェクト検出タスクで最良の結果を達成する強力なオープンセットオブジェクト検出モデルの接地ディノをリリースします。 COCOトレーニングデータなしで、COCO検出で52.5ゼロショットAPを達成します!微調整後、ココで63.0 APを達成します。コードとチェックポイントはこちらからご利用いただけます。
[2023/1/23]:ディノはICLR 2023に受け入れられました!
[2022/12/02]:Mask Dinoのコードがリリースされます(Detrexでも)! Mask Dinoはさらに、COCOで51.7および59.0ボックスAPをresNet-50とSwinlで、同じ設定の下でDinoを上回ることを行います。
[2022/9/22]:最先端の変圧器ベースの検出アルゴリズムを提供するToolbox Detrexをリリースします。パフォーマンスが向上したディノが含まれています。使用してください!
[2022/9/18]:The Wild(CVINW)のECCVワークショップコンピュータービジョンを整理します。ここでは、下流タスクの事前訓練を受けたビジョンモデルのゼロショット、少数のショット、フルショットパフォーマンスを評価するために2つの課題がホストされています。 :
[ワークショップ] [ICチャレンジ] [ODチャレンジ]
[2022/8/6]:O365事前トレーニング、大きな画像サイズ、マルチスケールテストなどの手法なしでSWIN-Lモデルの結果を更新します。また、対応するチェックポイントをGoogleドライブにアップロードします。トリックのない5スケールモデルは、Coco Valで58.5 APを取得します。
[2022/7/14]:SWIN-LとConvnext Backboneでコードをリリースします。
[2022/7/10]:ResNet-50バックボーンでコードとチェックポイントをリリースします。
[2022/6/7]:3つのセグメンテーションタスクすべてで最良の結果を達成する統一検出およびセグメンテーションモデルマスクディノをリリースします(Cocoインスタンスリーダーボードで54.7 AP、Coco Panoptic Leaderboardの59.5 PQ、ADE20Kセマンティックの60.8 MIOUリーダーボード)!コードはこちらからご利用いただけます。
[2022/5/28] DN-DERTのコードはこちらから入手できます。
[2020/4/10]:DAB-DERTのコードはここで利用できます。
[2022/3/8]: 63.3apでMS-CocoリーダーボードのSOTAに到達しました!
[2022/3/9]:検出とセグメント化のためのトランスに関する論文を提示するために、レポの素晴らしい検出トランスを構築します。あなたの注意へようこそ!
dino ( d etrを使用して、Anch o r boxを使用しています)を紹介します。
モデルチェックポイントをここに[Googleドライブのモデル動物園] [モデル動物園のモデル動物園] (提取码 "" 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ドライブ | |
4 | dino-5scale | swin-l | 57.3 | Googleドライブ |
名前 | バックボーン | ボックス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ドライブ | |
4 | dino-5scale | swin-l | 58.5 | Googleドライブ |
同じ環境を使用して、DAB-DERTと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モデルCheckPoint「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バックボーンのチェックポイントをダウンロードし、スクリプトを実行するときに事前に訓練されたバックボーンの監督を指定する必要があります。これが例です。
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個(Dino-4scaleには各GPU x 8 GPU、Dino-5Scaleには各GPU x 16 GPU)を使用します。
または、単一のノードでマルチプロセスを使用して実行します。
# for DINO-4scale: 49.0
bash scripts/DINO_train_dist.sh /path/to/your/COCODIR
カスタムデータセットでdinoをゼロからトレーニングするには、構成ファイルで2つのパラメーターをチューニングする必要があります。
num_classes
クラスの数にチューニングします。dn_labebook_size
チューニングしてdn_labebook_size >= num_classes + 1
であることを確認しますモデルの微調整のために事前に訓練されたモデルを活用するには、バッシュにさらに2つのコマンドを追加することをお勧めします。
--pretrain_model_path /path/to/a/pretrianed/model
。事前に訓練されたモデルを指定します。--finetune_ignore label_enc.weight class_embed
。一貫性のないパラメーターを無視します。私たちのモデルは、DAB-DERTとDN-DERTに基づいています。
DN-DERT:クエリ除去を導入することにより、DETRトレーニングを加速します。
Feng Li*、Hao Zhang*、Shilong Liu、Jian Guo、Lionel M. Ni、Lei Zhang。
コンピュータービジョンとパターン認識に関するIEEE会議( CVPR )2022。
[紙] [コード] [中文解读]
DAB-DERT:ダイナミックアンカーボックスは、DETRのより良いクエリです。
Shilong Liu、Feng Li、Hao Zhang、Xiao Yang、Xianbiao Qi、Hang Su、Jun Zhu、Lei Zhang。
学習表現に関する国際会議( ICLR )2022。
[紙] [コード]
また、DETR、DERMORMABLE DETR、SMCA、条件付きDETR、アンカーDETR、ダイナミックデトルなどを含む非常に以前の作業にも感謝します。
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 }
}