Ultralytics YOLO27:
Get Started

YOLOv7とYOLOv10#

コンピュータービジョンの分野はここ数年で目覚ましく進歩し、YOLO(You Only Look Once)モデルファミリーがリアルタイム物体検出を牽引しています。コンピュータービジョンプロジェクトに適したアーキテクチャを選ぶには、選択肢を深く理解する必要があります。この包括的な技術比較では、重要な2つのアーキテクチャであるYOLOv7とYOLOv10の主な違いを解説します。

モデルの概要#

どちらのモデルも人工知能の歴史における重要な節目ですが、物体検出の課題を解決するアプローチは根本的に異なります。

YOLOv7:バッグ・オブ・フリービーの先駆け#

2022年7月6日、中央研究院情報科学研究所の研究者Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liaoによって公開されたYOLOv7は、ニューラルネットワークの最適化に新たなパラダイムをもたらしました。学術論文で詳述され、公式GitHubリポジトリで公開されたこの研究は、アーキテクチャの再パラメーター化と、トレーニング可能な「bag-of-freebies」に重点を置いていました。

YOLOv7は拡張効率的レイヤー集約ネットワーク(E-ELAN)を活用し、元の勾配経路を損なうことなく、ネットワークが多様な特徴を学習できるようにします。そのため、学術研究のベンチマークや、標準的なハイエンドGPUに大きく依存するシステムに適した堅牢な選択肢となっています。

YOLOv7の詳細を見る

YOLOv10: リアルタイムのエンドツーエンド検出#

清華大学のAo Wang氏と研究チームによって開発されたYOLOv10は、2024年5月23日に公開されました。arXivの論文と清華大学のGitHubリポジトリで詳述されているように、このモデルは物体検出に長年存在したボトルネック、すなわち非最大抑制(NMS)を取り除きます。

YOLOv10は、NMSフリーのトレーニングを実現する一貫性のあるデュアルアサインメントを導入し、後処理パイプラインを根本から変えました。効率と精度を総合的に考慮したモデル設計戦略により、YOLOv10は計算の冗長性を削減します。その結果、極めて低いレイテンシが求められるエッジデバイスに特化したアーキテクチャを実現しています。

YOLOv10の詳細を見る

NMSフリーアーキテクチャ

YOLOv10では非最大抑制(NMS)を取り除くことで、モデル全体を単一の計算グラフとしてエクスポートできます。これにより、TensorRTやOpenVINOなどのランタイムを使ったデプロイが大幅に簡素化されます。

パフォーマンスと指標の比較#

モデルの性能を分析する際は、精度、速度、計算負荷のトレードオフを評価することが重要です。以下の表では、各モデルの異なるサイズを比較しています。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメーター
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv10n64038.5-1.842.36.7
YOLOv10s64046.3-2.497.221.6
YOLOv10m64051.1-4.7415.459.1
YOLOv10b64052.5-5.7419.192.0
YOLOv10l64053.2-7.2824.4120.3
YOLOv10x64054.4-10.7029.5160.4

トレードオフの分析#

上記の指標から、世代間に大きな差があることが分かります。YOLOv7xは53.1%のmAPvalという非常に高い値を達成していますが、71.3Mのパラメーターと189.9BのFLOPsが必要です。一方、YOLOv10lはその精度を上回る53.2%のmAPを、パラメーター数を約3分の1(24.4M)に抑え、FLOPsも大幅に少ない120.3Bで達成します。さらに、高度に最適化されたYOLOv10nは、驚異的な1.84msの推論速度を実現し、リアルタイムの動画分析やモバイルアプリケーションに最適です。

実際のユースケース#

これらのモデルのアーキテクチャの違いによって、最適なユースケースも異なります。

YOLOv7の活用に適したケース#

豊かな特徴表現を備えたYOLOv7は、非常に複雑な環境で優れた性能を発揮します。都市部の混雑した地域での交通流の監視、衛星画像の分析、重工業の製造自動化における欠陥の特定などでは、堅牢な構造的再パラメーター化が役立ちます。また、特定のPyTorch 1.12パイプラインに深く統合されたレガシー環境でも広く利用されています。

YOLOv10の活用に適したケース#

NMSフリーで軽量なYOLOv10の設計は、リソースに制約のある環境で優れた性能を発揮します。NVIDIA Jetson NanoやRaspberry Piなどのエッジコンピューティングデバイスでの利用を強く推奨します。低レイテンシの性能は、スポーツ分析、自律型ドローンのナビゲーション、コンベヤーベルト上での高速ロボット仕分けなど、迅速な処理が必要なアプリケーションに最適です。

Ultralyticsエコシステムの利点#

どちらのモデルも学術研究に深く根ざしていますが、YOLOv10の真価は統合されたUltralytics Platformで活用することで発揮されます。コンピュータービジョンモデルを一から開発するのは非常に困難ですが、Ultralyticsのエコシステムは機械学習エンジニアに比類のない開発環境を提供します。

  • 使いやすさ: Ultralytics Python APIは統一されたインターフェースを提供します。数行のコードでモデルのトレーニング、検証、エクスポートを実行でき、一般的な学術リポジトリにありがちな複雑な依存関係の問題を回避できます。
  • 適切にメンテナンスされたエコシステム: Ultralyticsは、基盤となるコードを継続的に開発しています。ユーザーは、ログ記録用のWeights & Biasesや、手軽なWebデモ用のGradioなど、一般的なMLツールとのスムーズな統合を活用できます。
  • メモリ要件: Transformerベースの物体検出器は、トレーニング中に大量のCUDAメモリを消費することがよくあります。一方、Ultralytics YOLOモデルは必要なメモリがはるかに少ないため、一般向けハードウェアでも、より大きなバッチサイズを使用できます。
  • 汎用性: Ultralyticsのパイプラインは標準的なバウンディングボックスに限定されません。姿勢推定、インスタンスセグメンテーション、回転バウンディングボックスにシームレスに対応し、YOLO11やYOLOv8など、サポート対象のモデルファミリーで利用できます。

簡素化されたトレーニング例#

Ultralyticsでトレーニングパイプラインを実行するのは非常に簡単です。YOLOv10のNMSフリーの速度を活用する場合でも、別のサポート対象モデルを使う場合でも、構文は一貫しています(UltralyticsパッケージはYOLOv7のトレーニングをサポートしていない点に注意してください)。

from ultralytics import YOLO

# 優先するモデル(例: YOLOv10 Nano)を読み込みます
model = YOLO("yolov10n.pt")

# COCO8データセットでモデルをトレーニングします
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# サンプル画像に対して推論を実行します
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# ONNXなど、エッジに適した形式にエクスポートします
model.export(format="onnx")

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

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

YOLOv7を選ぶ場合#

YOLOv7が適しているケース:

  • 学術的なベンチマーク: 2022年当時の最先端の結果を再現する場合、またはE-ELANやトレーニング可能なbag-of-freebies技術の効果を研究する場合。
  • 再パラメーター化の研究: 計画的な再パラメーター化畳み込みや、複合モデルスケーリング戦略を調査する場合。
  • 既存のカスタムパイプライン: YOLOv7固有のアーキテクチャを中心に高度にカスタマイズされ、容易にリファクタリングできないパイプラインを使用するプロジェクト。

YOLOv10を選ぶ場合#

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

  • NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
  • 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
  • レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。

Ultralytics (YOLO26)を選ぶ場合#

多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。

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

今後の展望: YOLO26の紹介#

YOLOv7とYOLOv10は目覚ましい進展を遂げましたが、AIの最前線は常に進歩しています。2026年1月にリリースされたUltralytics YOLO26は、あらゆるエッジおよびクラウドのデプロイシナリオにおいて、効率と精度を実現する新たな標準モデルです。

現在、新しいコンピュータービジョンプロジェクトを始める場合は、YOLO26を推奨します。先行モデルの実績を引き継ぎながら、いくつもの画期的な技術を取り入れています。

  • エンドツーエンドのNMSフリー設計: YOLOv10から着想を得たYOLO26のオプションのone-to-oneヘッド(nms=False)は、NMSによる後処理を省略し、決定論的なリアルタイムロボティクスに超低レイテンシの推論をもたらします。
  • CPU推論が最大43%高速化: Distribution Focal Loss(DFL)モジュールを戦略的に削除することで、YOLO26はGPUを搭載しないエッジコンピューティングハードウェア上での実行を大幅に高速化し、IoTデバイスで高い性能を発揮します。
  • MuSGDオプティマイザー: 近年の大規模言語モデルのトレーニング技術に着想を得て、YOLO26はSGDとMuonを組み合わせたハイブリッド手法を取り入れ、トレーニング経路を安定させて収束を速めます。
  • ProgLoss + STAL: これらの高度な損失関数により、小物体認識が大きく向上し、旧世代のYOLOモデルにおける長年の弱点を克服します。
  • 比類のない汎用性: YOLO26は、姿勢トラッキング向けのResidual Log-Likelihood Estimation(RLE)や、航空画像における高精度なOBB検出向けの専用角度損失など、タスクに応じた最適化をネイティブに備えています。

速度、精度、デプロイのシンプルさを最高水準で両立したいエンジニアにとって、レガシーモデルからYOLO26への移行は、即時に測定可能な競争優位性をもたらします。

コントリビューター

コメント