0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

D-FINE ONNX で机上の物体検出を試す

0
Last updated at Posted at 2026-07-09

D-FINE ONNX で机上の物体検出を試す

こんにちは、皆さん。

机の上にあるものを、AI がどこまで自然に見分けられるのか気になりませんか?わたしは、視覚を持つエージェントを作るなら、まずこういう日常的なシーンを扱えるかが大事だと思っています。

さて、今日は D-FINE の ONNX モデルを使い、机上の一般物体を検出して、検出結果と CPU での推論速度を確認しました。

今回検証する内容

D-FINE は、画像の中から物体の種類と位置を見つける object detection(物体検出)モデルです。今回は ONNX 版を使いました。ONNX は、学習済みモデルをいろいろな実行環境で動かしやすくするための形式です。

検証では、laptop、cell phone、cup、bottle、book、chair などが写る 1 枚の画像を入力し、次の点を確認します。

  • COCO 事前学習済みモデルで、机上の物体をどの程度検出できるか
  • 640x640 入力、CPU 実行時の 1 回あたりの推論時間
  • bounding box(物体の位置を囲む四角形)を元画像の座標に戻して描画できるか

対象の lab: kiarina/labs/2026/07/09/dfine-object-detection

検証環境の再現

以下のコマンドで、検証環境を構築して手元で実行できます。miseuv が必要です。初回実行時にはモデルファイルを Hugging Face からダウンロードするため、インターネット接続も必要です。

git clone --depth 1 --filter=blob:none --sparse \
  https://github.com/kiarina/labs.git
cd labs
git sparse-checkout set .gitignore .mise/tasks Makefile mise.toml 2026/07/09/dfine-object-detection
make download-test-assets
mise -C 2026/07/09/dfine-object-detection run

使用したモデルとライセンス

使用したモデルは onnx-community/dfine_s_coco-ONNX です。この ONNX 版は ustc-community/dfine-small-coco を元にした変換版として公開されています。

lab では、モデルと設定ファイルを固定 revision からダウンロードし、SHA-256 を検証しています。

検証に使用した画像

検証には、机上に laptop、cell phone、cup、bottle、book、chair などが写るように生成した 1536x1024 の画像を使用しました。

検証に使用した机上画像

検証結果

Mac Studio (Apple M4 Max) で実行した結果は以下のとおりです。score は「そのラベルである確信度」のような値で、今回は 0.5 以上の検出だけを採用しました。

--- Input ---
Image:      /Users/kiarina/src/github.com/kiarina/labs/assets/jpg/object_detection_desk_scene.png
Resolution: 1536x1024
Threshold:  0.50

--- Detections ---
Rank | Label            | Score | BBox xyxy
--------------------------------------------------------
   1 | laptop           | 0.970 | (177, 116, 910, 690)
   2 | cup              | 0.965 | (870, 326, 1089, 520)
   3 | chair            | 0.961 | (5, 80, 543, 446)
   4 | bottle           | 0.950 | (1122, 74, 1273, 506)
   5 | cell phone       | 0.947 | (329, 700, 686, 918)
   6 | pottedplant      | 0.937 | (1302, 2, 1535, 466)
   7 | book             | 0.916 | (930, 501, 1521, 838)
   8 | book             | 0.893 | (878, 614, 1519, 962)
   9 | diningtable      | 0.836 | (0, 240, 1533, 1012)
  10 | vase             | 0.543 | (1456, 252, 1535, 465)

Detection count: 10

--- Inference Speed Benchmark (Iterations: 20) ---
Average time: 127.60 ms
Min time:     119.11 ms
Max time:     170.92 ms
Std dev:      10.98 ms

bounding box を描画した結果は次の画像です。

D-FINE の検出結果

結果の考察

専門的なデータは上に載せたとおりですが、簡単に見ると次のようになります。

  1. 主要な物体はかなり高い score で検出できた
    laptop、cup、chair、bottle、cell phone、book は 0.89 以上で検出されました。今回のように物体がはっきり写っていて、重なりが少ない画像では、COCO の一般物体検出モデルとして素直に使えそうです。

  2. 背景の物体も COCO ラベルとして検出された
    植物は pottedplant、鉢の一部は vase、机は diningtable として検出されました。これは誤検出というより、COCO のラベル体系に合わせて「近いカテゴリへ割り当てられた」と見るのがよさそうです。

  3. CPU では 1 回 120ms 前後
    Apple M4 Max の CPU 実行で平均 127.60ms でした。静止画の解析や、低頻度での監視用途なら扱いやすい速度です。一方、動画をリアルタイムに全フレーム処理するには、GPU や推論間隔の調整を考えたくなります。

  4. NMS は今回入れていない
    NMS は Non-Maximum Suppression の略で、近い位置に重複して出た検出結果を整理する後処理です。今回の画像では大きな問題になっていませんが、複雑な画像では重複検出が残る可能性があります。

検証後の感想

D-FINE の ONNX 版は、かなり素直に使える印象でした。モデルのダウンロード、前処理、ONNX Runtime での推論、元画像座標への戻し、可視化までを短いコードで確認できたのはよかったです。

一方で、今回の検証は 1 枚の生成画像だけです。実写、暗い環境、小さい物体、物体同士の重なりがある画像では結果が変わるはずです。次に試すなら、複数の実写画像での安定性、NMS の有無、GPU 実行時の速度差を見たいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?