Ultralytics YOLO27: ウェイティングリストに登録してください。
Get Started

YOLO26とYOLOv9の比較#

この技術比較では、リアルタイム物体検出で重要な2つのモデル、YOLO26とYOLOv9の違いを検証します。どちらも独自のアーキテクチャ上の革新を備えており、次のビジョンプロジェクトに適したモデルを選ぶには、性能のトレードオフ、デプロイ機能、ハードウェア要件を理解することが重要です。

YOLO26:エッジに最適化された検出#

2026年初頭にリリースされたUltralytics YOLO26は、デプロイ効率と学習の安定性を重視しています。オプションのエンドツーエンド推論によって、エッジAIアプリケーションで長年課題となってきたデプロイのボトルネックに対処します。

モデルの詳細:

アーキテクチャと革新#

YOLO26は、エンドツーエンドNMSフリーデザインの導入により後処理パイプラインを再設計しています。オプションの1対1ヘッド(nms=False)を使用すると、モデルは非最大値抑制(NMS)を省略し、レイテンシのばらつきを抑えます。そのため、特にONNXやApple CoreMLなどのフレームワークにエクスポートする場合、モバイルやエッジプラットフォームへのデプロイが容易になります。

さらに、Distribution Focal Loss(DFL)を削除することでエクスポートプロセスが簡素化され、低消費電力のエッジデバイスとの互換性が向上します。学習を安定させるため、YOLO26はMuSGDオプティマイザーを統合しています。これは、確率的勾配降下法(SGD)とMuonを組み合わせたもので、大規模言語モデル(LLM)の学習における革新に着想を得ています。その結果、収束が高速になります。

エッジデバイスでの推論

アーキテクチャの簡素化とDFLの削除により、YOLO26nはYOLO11nより最大43%高速なCPU推論を実現し、Raspberry PiやNVIDIA Jetson Nanoなど、リソースが限られたエッジデバイスに適しています。

ドローンによる航空画像のようなシーンで小物体を検出するため、YOLO26はProgLoss + STAL(Progressive Lossと小物体を考慮したラベル割り当て)を採用し、小物体の再現率を向上させます。また、インスタンスセグメンテーション向けのマルチスケールproto、姿勢推定向けの残差対数尤度推定(RLE)、回転バウンディングボックス(OBB)検出向けの専用角度損失など、タスク固有の拡張機能も備えています。

YOLOv9:プログラム可能な勾配情報#

2024年初頭に発表されたYOLOv9は、パラメーター効率と深い特徴の保持に重点を置き、学習時のニューラルネットワークにおける勾配フローの処理方法に理論的な進歩をもたらしました。

モデルの詳細:

アーキテクチャと強み#

YOLOv9は、プログラム可能な勾配情報(PGI)と一般化効率的層集約ネットワーク(GELAN)の概念を中心に構築されています。これらの概念は、深層ニューラルネットワークでよく見られる情報ボトルネック問題に対処します。順伝播の過程で重要な情報を保持することで、GELANは重みの更新に使用される勾配の信頼性を確保します。このアーキテクチャは高い精度を実現し、PyTorchフレームワークを用いたニューラルネットワーク理論や勾配経路の最適化に関する学術研究に適しています。

制限事項#

YOLOv9はパラメーター効率に優れていますが、バウンディングボックスの後処理には従来のNMSを使用するため、エッジデバイスでの推論時に計算上のボトルネックが生じる場合があります。また、公式リポジトリは主に物体検出に重点を置いており、追跡や姿勢推定などの特殊なタスクに適用するには、独自のエンジニアリングが必要です。

YOLOv9の詳細を見る

パフォーマンス比較#

実環境へのデプロイを想定してこれらのモデルを評価する際は、精度(mAP)、推論速度、メモリー使用量のバランスが重要です。Ultralyticsモデルは、学習時と推論時のどちらもメモリー要件が低いことで知られており、RT-DETRなどのTransformerベースの代替モデルよりも、通常は少ないCUDAメモリーで動作します。

以下に、COCOデータセットにおけるYOLO26とYOLOv9の性能を直接比較します。各列の最良値は太字で示しています。

モデルサイズ
(ピクセル)
mAPval50-95速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター
(M)
FLOPs
(B)
YOLO26n64040.938.91.72.45.5
YOLO26s64048.687.22.59.520.9
YOLO26m64053.1220.04.720.468.4
YOLO26l64055.0286.26.224.886.8
YOLO26x64057.5525.811.855.7194.4
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

注:YOLOv9のCPU ONNX速度はこの表には記載されていません。T4 TensorRTでは、YOLO26はすべてのサイズでYOLOv9より高速です。また、同程度のサイズではすべてYOLO26のほうが高精度です(たとえばYOLO26xとYOLOv9eのmAPは57.5対55.6で、YOLO26xのほうがパラメーター数も少なくなっています)。

ユースケースと推奨事項#

YOLO26とYOLOv9のどちらを選ぶかは、プロジェクト固有の要件、デプロイ上の制約、エコシステムに関する選好によって異なります。

YOLO26を選ぶ場合#

YOLO26は、次のような用途に適しています。

  • NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
  • CPUのみの環境: 専用GPUアクセラレーションのないデバイスでは、YOLO26nのCPU推論がYOLO11nより最大43%高速であることが大きな強みになります。
  • 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。

YOLOv9を選ぶ場合#

YOLOv9は、次のような用途に推奨されます。

  • 情報ボトルネックの研究: プログラム可能な勾配情報(PGI)や一般化効率的層集約ネットワーク(GELAN)のアーキテクチャを研究する学術プロジェクト。
  • 勾配フロー最適化の研究: 学習中の深層ネットワーク層における情報損失の理解と抑制に焦点を当てた研究。
  • 高精度検出のベンチマーク: アーキテクチャの比較において、YOLOv9の優れたCOCOベンチマーク性能を基準として必要とするシナリオ。

Ultralyticsの強み#

モデルの選択では、精度ベンチマークを読むだけでは不十分です。データ収集から本番環境への移行までにかかる時間は、周辺のソフトウェアエコシステムによって決まります。

使いやすさとエコシステム#

Ultralytics Python APIにより、ワークフローをシンプルに保てます。複雑なリポジトリをクローンしたり、分散学習スクリプトを手動で設定したりする代わりに、開発者はpipを使ってパッケージをインストールし、すぐに学習を開始できます。積極的に保守されているUltralyticsエコシステムでは、頻繁なアップデート、Weights & BiasesなどのMLプラットフォームとの統合、充実したドキュメントを提供しています。

その他のUltralyticsモデル

Ultralyticsエコシステムの他のモデルも検討する場合は、YOLO11や従来のYOLOv8との比較もご検討ください。どちらもカスタムアプリケーションに柔軟に対応します。

多様なビジョンタスクに対応#

YOLOv9は主に検出モデルですが、YOLO26は汎用ビジョンモデルです。統一された構文を使って、物体検出から画像セグメンテーション、セマンティックセグメンテーション、深度推定、画像全体の分類、姿勢推定、OBBまで対応できます。この汎用性により、異なるコンピュータービジョン機能ごとに分離した複数のコードベースを保守する技術的負債を軽減できます。

効率的な学習とデプロイ#

YOLO26は入手しやすい事前学習済み重みを使用し、大型のビジョンTransformerよりも必要なメモリーが少ないのが一般的です。学習後は、組み込みのエクスポートパイプラインにより、TensorRTやLiteRTなどの最適化フォーマットへ1行で変換でき、本番環境への移行がスムーズになります。

コード例:YOLO26を始める#

以下のPythonコードは、事前学習済みモデルの読み込み、カスタムデータでの学習、Ultralytics APIを使った推論の実行方法を示しています。

from ultralytics import YOLO

# 最新のYOLO26 nanoモデルを読み込みます
model = YOLO("yolo26n.pt")

# COCO8データセットでモデルを学習する(optimizer='auto'は、学習時間が長い場合にMuSGDを選択します)
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device=0,  # GPU 0を使用します。CPUで学習する場合は'cpu'を指定します
)

# サンプル画像でNMSフリー推論を実行する
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)

# バウンディングボックスと信頼度を表示する
predictions[0].show()

YOLO26の速度、簡素化されたアーキテクチャ、エコシステムにより、チームはビジョンAIアプリケーションをより少ない技術的障壁で、より迅速に市場へ投入できます。

コントリビューター

コメント