Ultralytics YOLO27:

YOLOv9とYOLOv7の比較#

リアルタイムの物体検出の進化は、計算効率と高精度のバランスを追求し続けることで推進されてきました。この過程における2つの画期的なアーキテクチャがYOLOv9とYOLOv7であり、どちらも台湾の中央研究院情報科学研究所の研究者によって開発されました。YOLOv7が革新的な学習可能なbag-of-freebiesを導入した一方で、より新しいYOLOv9は深層学習における情報ボトルネックに正面から取り組んでいます。

この包括的な技術比較では、両モデルのアーキテクチャの違い、パフォーマンス指標、および最適なデプロイシナリオを検証し、MLエンジニアや研究者がコンピュータビジョンのパイプラインに適したツールを選択できるようにします。

パフォーマンスとメトリクスの比較#

これらのモデルを比較する際には、実性能と効率が重要な要素となります。以下の表では、標準的なCOCOデータセットのベンチマークにおける平均適合率(mAP)と計算要件を詳しく示します。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター数
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
パフォーマンスのバランス

YOLOv9cは、YOLOv7x(53.1 mAP)とほぼ同等の精度(53.0 mAP)を達成しながら、パラメーター数(25.3M対71.3M)とFLOPsを大幅に削減していることに注目してください。これは、最新のアーキテクチャにおけるパフォーマンスバランスの改善を示しています。

YOLOv9:情報ボトルネックの解消#

2024年初頭に発表されたYOLOv9は、深層ニューラルネットワークが各層を通じてデータを保持する方法を根本的に変えました。

アーキテクチャの革新#

YOLOv9は、一般化効率的層集約ネットワーク(GELAN)とプログラマブル勾配情報(PGI)を導入しています。GELANはCSPNetとELANの長所を組み合わせて、パラメーター効率と計算コストを最適化し、より少ないパラメーター数で高精度を実現します。PGIは、深層ネットワークにおけるデータ損失を防ぐために設計された補助的な教師あり学習フレームワークであり、学習プロセス中の重み更新に使用する信頼性の高い勾配を生成します。

長所と制限事項#

YOLOv9の主な強みは、大きな計算オーバーヘッドなしに微細な特徴を抽出できる点です。そのため、医用画像解析のように高い特徴忠実度が求められるタスクで非常に高い能力を発揮します。ただし、学習時の複雑なPGI構造により、より統一されたフレームワークと比べて、初心者がカスタムアーキテクチャを変更することは難しくなる可能性があります。

YOLOv9の詳細を見る

YOLOv7:Bag-of-Freebiesの先駆者#

2022年にリリースされたYOLOv7は、コンシューマー向けハードウェアで可能な性能の新たなベンチマークを確立し、リアルタイム推論の速度を大幅に向上させる構造上の革新を導入しました。

アーキテクチャの革新#

YOLOv7の中核となる貢献は、拡張効率的層集約ネットワーク(E-ELAN)です。このアーキテクチャにより、モデルはより多様な特徴を継続的に学習できます。さらにYOLOv7は、「学習可能なbag-of-freebies」を採用しています。これには、計画的な再パラメーター化畳み込みや動的ラベル割り当てなどの技術が含まれます。これらの手法は、デプロイ時の推論コストを増加させることなく、学習中のモデル精度を向上させます。

長所と制限事項#

YOLOv7はリアルタイムのエッジ処理向けに高度に最適化されており、レガシーシステムや古いCUDA環境で現在も広く使用されています。現在の主な制限事項は、より新しいモデルと比べてパラメーターサイズが大きいことです。性能表に示すように、最上位の精度を達成するには大規模なYOLOv7xモデルが必要であり、同等の最新アーキテクチャよりも大幅に多くのGPUメモリを要求します。

YOLOv7の詳細を見る

Ultralyticsの優位性:効率化されたデプロイ#

YOLOv9とYOLOv7の元の研究リポジトリは優れた学術的基盤を提供しますが、これらのモデルを本番環境にデプロイするのは複雑になる可能性があります。ultralyticsパッケージを通じて統合することで、比類のない使いやすさが得られます。

統合されたUltralytics Platformを利用することで、開発者は直感的なPython API、活発なコミュニティサポート、堅牢な実験トラッキングを備えた、適切に保守されたエコシステムのメリットを得られます。

YOLO26による将来への備え#

新しいコンピュータビジョンプロジェクトを開始する場合は、YOLOv9とYOLOv7の両方よりも、新しくリリースされた**YOLO26**を検討することを強くおすすめします。新たな最先端標準としてリリースされたYOLO26は、画期的な進歩をもたらします。

  • エンドツーエンドのNMS不要設計: 非最大抑制の後処理を排除し、デプロイの複雑さとレイテンシを大幅に削減します。
  • CPU推論が最大43%高速: エッジコンピューティング環境向けに最適化されており、専用GPUがなくてもアプリケーションをスムーズに実行できます。
  • MuSGDオプティマイザー: LLMの学習に着想を得たハイブリッドオプティマイザーであり、非常に安定した収束を実現し、学習時間を短縮します。
  • DFLの削除: Distribution Focal Lossを削除することでモデルのエクスポートを簡素化し、低消費電力のモバイルデバイスとの互換性を高めます。
  • ProgLoss + STAL: 小さな物体の検出性能を大幅に向上させ、航空画像や監視用途に最適な選択肢となります。

エコシステム内のその他の人気の高い代替モデルには、Ultralytics YOLOv8YOLO11があります。どちらもインスタンスセグメンテーション姿勢推定など、さまざまなタスクで非常に高い汎用性を提供します。

実装例#

これらのアーキテクチャはいずれも、統合APIを使用して非常に簡単に学習およびエクスポートできます。以下のコードは、Ultralyticsツールの特徴である効率化された学習効率を示しています。

from ultralytics import YOLO

# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt")  # Swap with "yolo26n.pt" for faster edge performance

# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)

# Export the trained model to ONNX format for deployment
model.export(format="onnx")
メモリ要件

コンシューマー向けハードウェアで学習する場合、メモリ効率は非常に重要です。YOLOv9とYOLO26のUltralytics実装は、VRAMの急激な増加を抑えるために高度に最適化されています。一方、Transformerベースのモデル(RT-DETRなど)は、学習中に深刻なメモリ肥大化が発生することがよくあります。

実環境でのアプリケーションと最適なユースケース#

これらのアーキテクチャのどちらを選択するかは、多くの場合、本番環境における具体的な制約によって決まります。

YOLOv9を使用する場合: 微細なディテールの保持が必要な環境では、YOLOv9が優れた性能を発揮します。その堅牢な特徴抽出能力は、棚に密集して並ぶ商品を数える小売分析や、小さな葉に発生する作物の初期段階の病気を特定することが重要な農業用途に適しています。

YOLOv7を使用する場合: YOLOv7は、レガシーなデプロイパイプラインにおける有力な候補であり続けています。古いハードウェアシステム(特定世代のGoogle Coral Edge TPUなど)に統合する場合、YOLOv7の単純なCNNアーキテクチャは、より新しいモデルの複雑な勾配ブランチよりもコンパイルしやすい可能性があります。

YOLO26を使用する場合(推奨): 自律型ドローンからスマートシティの交通管理まで、最新のあらゆるデプロイにおいて、YOLO26が優れた選択肢です。そのNMS不要アーキテクチャは決定論的な推論時間を保証するため、安全性が重要なロボティクスに不可欠です。また、高精度により、全般的にYOLOv9とYOLOv7の両方を上回ります。

コメント