初めに
画像や動画の物体検出にはYoloがよく使われますが、他の選択肢を知ったので触ってみます。
今回触ってみるDEIMv2(DETR with Improved Matching v2) は、DINOv3の特徴を活用したリアルタイム物体検出フレームワークです。
DINOv3とは
DINOv3 とは、Metaが開発したVision 基盤モデルです
DEIMv2とは
DEIMv2は 内部の処理(モデル)に DINO v3を使ったリアルタイム物体検出フレームワークです
YOLOとの比較
精度重視、研究用途の場合はDEIMv2を選択肢となりそうです
開発環境
環境構築
環境の作成します
uv venv --python 3.11 source .venv/bin/activate
依存関係のインストールをします
uv pip install torch torchvision # DEIMv2の依存関係 uv pip install PyYAML tensorboard scipy calflops transformers uv pip install "faster-coco-eval>=1.6.7" # モデルダウンロード用 uv pip install gdown # 推論用(画像・動画処理) uv pip install opencv-python pillow
モデルをダウンロードします(手動でも問題ないです)。今回は一番精度の良いものを使います
gdown "https://drive.google.com/uc?id=1pTiQaBGt8hwtO0mbYlJ8nE-HGztGafS7" -O deimv2_x.pth
実行
今回はサンプルの画像と動画を実行します
- 画像で推論
python tools/inference/torch_inf.py \ -c configs/deimv2/deimv2_dinov3_x_coco.yml \ -r deimv2_x.pth \ -i sample.jpg \ -d cpu

- 動画で推論
python tools/inference/torch_inf.py \ -c configs/deimv2/deimv2_dinov3_x_coco.yml \ -r deimv2_x.pth \ -i your_video.mp4 \ -d cpu
