Ultralytics YOLO27:

YOLO26 vs YOLOv9#

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

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

2026年初頭にリリースされたUltralytics YOLO26は、デプロイ効率とモデル学習の安定性における世代的な飛躍を実現しています。ネイティブなエンドツーエンドフレームワークとして設計されており、これまでエッジAIアプリケーションを悩ませてきたデプロイ上のボトルネックに直接対処します。

モデルの詳細:

アーキテクチャと革新#

YOLO26は、エンドツーエンドのNMSフリーデザインを導入することで、後処理パイプラインを根本から再設計しています。非最大抑制(NMS)の必要性をなくすことで、モデルはレイテンシーの変動を大幅に低減します。これにより、特にONNXApple CoreMLなどのフレームワークへエクスポートする際に、モバイルおよびエッジプラットフォームへのデプロイが大幅に容易になります。

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

エッジデバイスでの推論

アーキテクチャの簡素化とDFLの削除により、YOLO26は最大43%高速なCPU推論を実現します。そのため、Raspberry PiNVIDIA Jetson Nanoなど、リソースに制約のあるエッジデバイスに最適です。

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

YOLOv9:プログラマブル勾配情報#

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

モデルの詳細:

アーキテクチャと強み#

YOLOv9は、プログラマブル勾配情報(PGI)と汎用効率的レイヤー集約ネットワーク(GELAN)の概念を中心に構築されています。これらの概念は、深層ニューラルネットワークでしばしば見られる情報ボトルネック問題に対処します。フィードフォワード処理を通じて重要な情報を保持することで、GELANは重み更新に使用される勾配の信頼性を確保します。このアーキテクチャは高い精度を実現し、PyTorchフレームワークを使用したニューラルネットワーク理論や勾配経路最適化の学術研究において、YOLOv9を有力な候補にしています。

制限事項#

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

YOLOv9についてさらに詳しく学ぶ

性能比較#

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

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

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター数
(M)
FLOPs
(B)
YOLO26n64040.938.91.72.45.4
YOLO26s64048.687.22.59.520.7
YOLO26m64053.1220.04.720.468.2
YOLO26l64055.0286.26.224.886.4
YOLO26x64057.5525.811.855.7193.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

注: YOLOv9のCPU速度はNMS設定による変動が大きく、一般にYOLO26のネイティブなNMSフリー実装より低速であるため、省略しています。

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

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

YOLO26を選ぶタイミング#

YOLO26は次の用途に適しています:

  • NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
  • CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
  • 小さな物体の検出: aerial drone imageryや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はすぐに利用できる事前学習済み重みを使用し、大規模なビジョントランスフォーマーと比べてメモリ使用量を大幅に抑えています。学習後は、組み込みのエクスポートパイプラインにより、TensorRTTensorFlow Liteなどの最適化フォーマットへワンクリックで変換でき、本番環境への移行を円滑にします。

コード例:YOLO26を始める#

YOLO26の実装は非常に簡単です。次のPythonスニペットでは、事前学習済みモデルを読み込み、カスタムデータで学習し、Ultralytics APIを使用して推論を実行する方法を示します。

from ultralytics import YOLO

# Load the latest state-of-the-art YOLO26 nano model
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset utilizing the MuSGD optimizer
results = model.train(
    data="coco8.yaml",
    epochs=100,
    imgsz=640,
    device=0,  # Uses GPU 0, or use 'cpu' for CPU training
)

# Run an NMS-free inference on a sample image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Display the bounding boxes and confidences
predictions[0].show()

YOLO26の速度、簡素化されたアーキテクチャ、堅牢なエコシステムを活用することで、チームはこれまで以上に少ない技術的ハードルで、高度なビジョンAIアプリケーションをより迅速に市場へ投入できます。

コメント