Ultralytics YOLO27:
Get Started

YOLO26とYOLOv9の比較#

コンピュータービジョンの分野は急速に進歩しており、新しいアーキテクチャが次々と速度と精度の限界を押し広げています。この技術比較では、リアルタイム物体検出の分野で大きな影響力を持つ2つのモデル、YOLO26とYOLOv9の違いを検証します。どちらのモデルも独自のアーキテクチャ上の革新を備えていますが、次のビジョンプロジェクトに適したツールを選ぶには、性能上のトレードオフ、デプロイ機能、ハードウェア要件を理解することが重要です。

YOLO26:エッジ最適化の高性能モデル#

2026年初頭にリリースされたUltralytics YOLO26は、デプロイ効率とモデルの学習安定性を世代単位で大きく進化させています。ネイティブなエンドツーエンドフレームワークとして設計され、従来からエッジAIアプリケーションの課題となっていたデプロイのボトルネックに直接対応します。

モデルの詳細:

アーキテクチャと革新#

YOLO26は、エンドツーエンドのNMSフリー設計を導入することで、後処理パイプラインを根本から再設計しています。オプションのワンツーワンヘッド(nms=False)を使用すると、モデルは非最大抑制(NMS)をスキップし、レイテンシーの変動を大幅に抑えます。これにより、モバイルやエッジプラットフォームへのデプロイが大幅に容易になります。特に、ONNXやApple CoreMLなどのフレームワークにエクスポートする場合に効果的です。

さらに、Distribution Focal Loss(DFL)の廃止により、エクスポートプロセスが効率化され、低消費電力のマイクロコントローラーとの互換性も向上します。学習の安定性を高めるため、YOLO26は確率的勾配降下法(SGD)とMuonを組み合わせた新しいMuSGDオプティマイザーを統合しています。これは、大規模言語モデルの学習における革新に着想を得たものです。その結果、収束が高速化し、難易度の高いデータセットでも、より堅牢な特徴抽出を実現します。

エッジデバイスでの推論

アーキテクチャの簡素化とDFLの廃止により、YOLO26はCPU推論が最大43%高速化され、Raspberry PiやNVIDIA Jetson Nanoのようなリソースに制約のあるエッジデバイスに最適です。

ドローンによる航空画像のように検出が特に難しい対象に対して、YOLO26は更新された損失関数ProgLoss + STALを使用します。これにより、小物体の認識再現率が大幅に向上します。さらに、タスク固有の機能強化として、インスタンスセグメンテーション用のマルチスケールproto、姿勢推定用の残差対数尤度推定(RLE)、方向付きバウンディングボックス(OBB)検出用の専用角度損失関数も備えています。

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

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

モデルの詳細:

アーキテクチャと強み#

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

制限事項#

パラメーター効率に優れている一方で、YOLOv9はバウンディングボックスの後処理に従来型のNMSを大きく依存しているため、エッジデバイスでの推論時に計算上のボトルネックが生じることがあります。さらに、公式リポジトリは主に物体検出に重点を置いているため、トラッキングや姿勢推定などの特殊なタスクに適応させるには、大幅なカスタム開発が必要です。

YOLOv9の詳細を見る

パフォーマンス比較#

これらのモデルを実環境へのデプロイに向けて評価する際は、精度(mAP)、推論速度、メモリー使用量のバランスが重要です。Ultralyticsのモデルは学習時と推論時の両方でメモリー要件が低いことで知られており、CUDAメモリーの使用量は、RT-DETRのようなTransformerベースのモデルよりはるかに少なくなります。

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

モデルサイズ
(ピクセル)
mAPval
50-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速度は、NMSの設定によって大きく異なり、通常はYOLO26のネイティブなNMSフリー実装より遅いため、省略しています。

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

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

YOLO26を選ぶ場合#

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

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

YOLOv9を選ぶ場合#

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

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

Ultralyticsの強み#

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

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

Ultralytics Python APIは、「初心者から熟練者まで」シームレスに利用できる環境を提供します。複雑なリポジトリをクローンしたり、分散学習スクリプトを手動で設定したりする代わりに、開発者はpipからパッケージをインストールするだけで、すぐに学習を開始できます。活発にメンテナンスされているUltralyticsエコシステムでは、頻繁なアップデート、Weights & BiasesなどのMLプラットフォームとの自動連携、充実したドキュメントが提供されます。

その他のUltralyticsモデル

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

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

YOLOv9は主に検出エンジンですが、YOLO26は汎用的なビジョンツールです。統一された構文を使って、物体検出からピクセル単位で精密な画像セグメンテーションや画像全体の分類へ簡単に切り替えられます。この汎用性により、コンピュータービジョンの機能ごとに分断された複数のコードベースを保守する技術的負債を軽減できます。

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

学習効率は、Ultralyticsの理念の中核です。YOLO26は入手しやすい事前学習済み重みを利用し、大規模なビジョンTransformerと比較してメモリー使用量を大幅に抑えます。学習後は、組み込みのエクスポートパイプラインにより、TensorRTやLiteRTなどの最適化された形式へワンクリックで変換でき、本番環境への移行を円滑にします。

コード例:YOLO26を始める#

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アプリケーションを市場に投入でき、技術的な障壁も軽減できます。

コントリビューター

コメント