JetBrainsは、YOLO12、YOLO26、RF-DETRという3つの最新物体検出モデルを、標準データだけでなく、実際の利用状況に近い画像で検証する実践的な実験を紹介しています。対象となったのは、ケーブルの損傷、X線画像における骨折、積み重ねられた飲料ボトルです。基本的な結論は明確です。事前学習済みモデルが、必ずしもそのまま展開できるモデルとは限りません。
これらのモデルは基本的に、約118,000枚の訓練画像と、人物、自動車、犬、椅子などの一般的な80クラスを含むCOCOデータで学習されています。しかし、骨折のような実用上の対象は、そもそもこれらのクラスの語彙に含まれていません。また、X線画像、産業用画像、視覚的に混雑したシーンは、モデルが見慣れてきた自然画像とは異なります。
学習前にベースラインを検証する
ファインチューニングに移行する前に、JetBrainsは3つのモデルファミリーそれぞれについて、2種類のサイズ、計6つのチェックポイントを、5,000枚で構成されたCOCOの検証セットval2017で評価しました。RF-DETR Baseは、mAP50-95で0.5325という最高値を記録しました。一方、2つの中型YOLOモデルは0.5259と0.5181でこれに近い結果を示し、パラメーター数は約1,000万少なくなっています。
比較では、速度にも実用上の違いが示されました。YOLO26-Nは12.3ミリ秒を記録し、mAP50-95はYOLOv12-Nに近い結果でした。YOLOv12-Nは実験中で最小のモデルであるにもかかわらず、23.9ミリ秒でした。RF-DETR Nanoの推論時間は12.4ミリ秒でしたが、パラメーター数は約3,000万で、YOLO26-Mを上回っています。
これらの数値は、モデルの論文で公表されている値と必ずしも一致しません。今回の実験では、比較で一般的に使われるNVIDIA T4とは異なるハードウェアを使用し、モデルをTensorRTへ変換せず、それぞれの元のフレームワーク内で実行したためです。JetBrainsは、TensorRTがレイヤーの融合やハードウェアに最適化されたカーネルの選択によって推論時間を短縮できる一方、追加のビルド工程が必要で、特定のGPUに依存するエンジンを生成すると説明しています。そのため、今回の数値は最適化後に達成可能な最大性能ではなく、より直接的な実行に近い性能を反映しています。
学習範囲外でのテスト
この実験では、通常の学習データでは珍しい対象を網羅するよう設計された、100種類のマルチモーダルデータセットを含むRF100-VLから3つのデータセットを使用しました。選ばれたデータセットはbone-fracture-7fylg、cable-damage、soda-bottlesです。
COCOで学習したチェックポイントをこれらのデータにそのまま適用すると、結果はほぼゼロでした。JetBrainsは、使用したモデルがクローズドボキャブラリーの検出器であることが理由だと説明しています。モデルは限定された数のクラスしか持たず、80クラスで構成されたモデルのヘッドにfractureが存在しなければ、そのクラスを出力できません。したがって、あるモデルがCOCOでmAP50 0.72を達成したからといって、骨折を自動的に認識できることを意味するわけではありません。
ファインチューニングで何が変わるのか?
JetBrainsは、3つのモデルを各データセットで、1台のA100を使って10エポック学習し、UltralyticsとRF-DETRの標準的な学習経路を利用しました。学習後、ケーブル損傷と飲料ボトルのタスクでは結果が明確に改善しましたが、より難しい骨折のタスクでは課題が残りました。
飲料ボトルは最も容易なケースでした。すべてのモデルでmAP50は0.91から0.97の範囲となり、YOLOv12-MがmAP50-95で0.6422という最高値を達成しました。JetBrainsは、その理由として、製品画像がCOCOに含まれるいくつかのクラスに近く、問題が2つの視覚領域間の完全な移行というより、新しい語彙を追加することに近いためだと推測しています。
ケーブル損傷のタスクでは、mAP50は0.93に達しましたが、最高のmAP50-95は0.446にとどまりました。これは、モデルが損傷をかなり良好に見つけられる一方、細く長く伸びた欠陥の周囲に正確なバウンディングボックスを描くことには苦労していることを意味します。骨折画像では、RF-DETR Baseが記録した最高のmAP50でも0.447にとどまり、モデル間の差も大きくなりました。また、目視確認では、一部の結果において、骨折が検出された画像は半数未満でした。
開発チームが見直すべき点
- 再現可能なベースラインから始める:公表された数値と結果を比較する前に、自分の環境とハードウェアでチェックポイントの性能を検証します。
- ソフトウェア環境を分離する:JetBrainsは、YOLOの世代ごとに必要なultralyticsライブラリのバージョンに互換性がないため、1つのPyCharmプロジェクト内で3つの分離されたuv環境を使用しました。PyCharmでリモートインタープリターを使用するにはProfessional版が必要ですが、Community Editionがサポートするのはローカル環境のみです。
- 単一の指標に頼らない:ケーブル損傷におけるmAP50とmAP50-95の差は、mAP50だけを見ていると現れない可能性のある、正確な位置推定の問題を明らかにします。
- タスクに応じてモデルを選ぶ:RF-DETR Baseはより高い一貫性を示し、3つのデータセットのうち2つで勝利しました。しかし、それによってあらゆるケースで最良になるわけではありません。
- 領域の差が大きい場合はデータを計画する:X線画像の結果は、ファインチューニングだけでは不十分な可能性を示しています。より多くのデータ、より長い学習、または領域に特化した事前学習が必要になる場合があります。これらは記事で提示されている選択肢ですが、今回の実験ではいずれかが優れていることは証明されていません。
この実験は、「先進的」または「事前学習済み」という言葉だけでは、物体検出モデルが展開環境に適しているかどうかを要約できないことを示しています。実際の判断では、精度、推論時間、モデルサイズ、ライセンス要件、そして何よりも学習データと対象領域の類似性の度合いを考慮する必要があります。また、JetBrainsの結果は、使用した3つのデータセットと学習設定に依存しているため、あらゆる検出タスクに適用できる最終的な順位として一般化すべきではありません。