Peterande/D-FINE
D-FINE: Redefine Regression Task of DETRs as Fine-grained Distribution Refinement [ICLR 2025 Spotlight]
D‑FINE – 精細な分布修正によるリアルタイムオブジェクト検出
何であるか – D‑FINEはDETR(DEtection TRansformer)アーキテクチャに基づくオブジェクト検出器のファミリーです。著者たちは従来のバウンディングボックス回帰を細分化された分布修正(FDR)問題として再解釈し、グローバル最適局在自己蒸留(GO‑LSD)モジュールを追加しました。その結果、リアルタイム速度(NVIDIA T4で数百FPS)で動作しながら、最先端のCOCO/APスコアを達成するモデル群(‑N, ‑S, ‑M, ‑L, ‑X)が得られました。
主なアイデア
- FDR:単一のボックス座標を予測するのではなく、可能な位置の離散分布を予測し、反復的に修正することで、追加の計算コストなしにより正確な局在を実現します。
- GO‑LSD:モデルがグローバル最適なボックス予測を生成するように教える自己蒸留スキームであり、再び推論コストの追加なしに実現されます。
- 追加オーバーヘッドなし:両方の工夫はトレーニングパイプラインに組み込まれており、推論では従来のDETRと同様に軽量なバックボーン(HGNetV2のバリエーション)とトランスフォーマー・デコーダを使用します。
モデルズーライブラリ – 次のデータセット用に事前学習済みチェックポイントが提供されています:
- COCO(標準的な検出ベンチマーク) – 4 M〜62 Mパラメータの5つのサイズ(‑N 〜 ‑X)、APは42.8 %(‑N)から55.8 %(‑X)まで。
- Objects365 + COCO – より大きなObjects365データセットで事前学習し、その後COCOでファインチューニングしたモデル。APは最大59.3 %まで向上。
- Objects365のみ – 自分のデータにファインチューニングするための強力な汎用検出器が必要なユーザー向け。
すべてのチェックポイントには、YAML形式の設定ファイルとトレーニングログが付属しています。
導入方法
- 環境 – Python 3.11を使用するconda環境を作成し、
requirements.txtをインストールします。 - データ – リポジトリはCOCO‑2017、Objects365、CrowdHuman、またはCOCO形式に準拠したカスタムデータセットをサポートします。パス設定の詳細はREADMEに記載されています。
- トレーニング –
export model=l(n/s/m/l/x)でモデルサイズを指定し、torchrunでGPU acrossでトレーニングを開始します。例:CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 \ --nproc_per_node=4 train.py -c configs/dfine/dfine_hgnetv2_${model}_coco.yml \ --use-amp --seed=0 - テスト / ファインチューニング –
--test-onlyまたは-t <ckpt>を用いた類似のコマンドで実行します。
性能
- ラテントシーは1つのT4 GPU(fp16、TensorRT 10.4)でバッチサイズ1で測定。最小モデル(‑N)は約2 ms(≈472 FPS)で実行、最大モデル(‑X)は約13 ms(≈77 FPS)。
- FLOPsは7 GFLOPs(‑N)から202 GFLOPs(‑X)まで。
- リポジトリには、D‑FINEがYOLO‑11を上回る難易度の高い街中シーンの動画デモが含まれています。
ライセンスと注意事項
- コードはApache 2.0ライセンス。Objects365で学習されたチェックポイントは、そのデータセットのライセンス制限を引き継ぎ、商用利用の自動許可はされません。
- プロジェクトは積極的にメンテナンスされており(2024‑11‑07まで更新履歴あり)、インタラクティブな推論用のHugging Face Spaceも提供されています。
誰が使うべきか
- 高精度で高速なトランスフォーマー基盤の検出器が必要な研究者。
- 大きなDETRバリアントの重い計算コストなしに、リアルタイムアプリケーション(例:ビデオ分析、ロボット工学)向けの即時実行可能なモデルを必要とする実務家。
- カスタムCOCO形式データセット上でファインチューニングしたい人。リポジトリはデータ準備とクラスマッピング調整用のスクリプトを提供しています。
上記のすべての詳細はリポジトリのREADMEから直接引用;追加機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト