YOLOv7 vs YOLOv8: リアルタイム物体検出の進化
コンピュータビジョンの分野は、急速な進化とアーキテクチャの革新によって特徴づけられる。この歴史における最も重要な二つのマイルストーンは YOLOv7(2022年半ば発表)と YOLOv8である。Ultralytics ともリリースUltralytics 最先端技術(SOTA)を推進したが、モデル設計と開発者体験において異なる哲学を体現している。
YOLOv7 、アンカーベース検出器における「フリービーの袋」アプローチの最適化の頂点をYOLOv7 、学習可能なアーキテクチャ戦略に重点を置いた。一方、YOLOv8 ユーザー中心のエコシステムアプローチYOLOv8 、使いやすさ、モデル展開、セグメンテーションや姿勢推定など多様なタスクへの統一的なサポートを優先するアンカーフリーアーキテクチャへと移行した。
パフォーマンス比較
以下の表は、YOLOv8 性能指標を示しています。YOLOv8 、特にパラメータ数とFLOPsにおいて優れたYOLOv8 、前世代モデルの精度(mAP)を維持または上回っています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
YOLOv7:アンカーベースの強力なモデル
2022年7月にリリースされたYOLOv7 、リアルタイム物体検出の速度と精度の限界を押し広げることを目的YOLOv7 。勾配伝播経路の最適化を目的とした複数のアーキテクチャ上の革新を導入した。
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: Institute of Information Science, Academia Sinica, Taiwan
- 日付: 2022-07-06
- 論文:YOLOv7: 学習可能なフリービーの袋が新たな最先端技術を実現
- リポジトリ:GitHub
主要なアーキテクチャ機能
YOLOv7 拡張効率的層集約ネットワーク(E-ELAN)YOLOv7 。このアーキテクチャは、最短および最長の勾配経路を制御することでモデルがより多様な特徴を学習できるようにし、勾配の流れを損なうことなくネットワークが効果的に収束することを保証する。
また、ブロックの深さと幅を同時に調整する連結ベースのモデルスケーリングも採用した。このアーキテクチャは効果的だが、アンカーボックスに依存するため、カスタムデータセットで最高の性能を達成するには最適なアンカーの計算が必要となる。これにより、新しいアンカーフリー手法と比較して、トレーニングプロセスに複雑さが加わる。
学習の複雑さ
YOLOv7 、特定の研究向けリポジトリ構造と、トレーニング中の補助ヘッドの手動管理を必要とします。ユーザーは、MixUp 「bag-of-freebies」が小規模データセットで正しく機能するよう、ハイパーパラメータを手動で調整する必要が頻繁にあります。
YOLOv8: 統一されたエコシステムとアンカーフリー設計
Ultralytics YOLOv8 、純粋な研究ツールからエンタープライズグレードのフレームワークへのパラダイムシフトをYOLOv8 。データアノテーションからデプロイメントに至る機械学習ライフサイクル全体を効率化した。
- 著者: Glenn Jocher、Ayush Chaurasia、Jing Qiu
- 組織:Ultralytics
- 日付: 2023-01-10
- ドキュメント:YOLOv8 ドキュメント
アーキテクチャの革新
YOLOv8 は最先端のアンカーフリーモデルである。事前定義されたアンカーボックスの必要性を排除することで、YOLOv8 検出ヘッドYOLOv8 、異常な形状やアスペクト比を持つ物体に対する汎化性能を向上させる。
- C2fモジュール:従来世代のC3モジュールに代わるC2fモジュール(ELANに着想を得た)は、高度な機能と文脈情報を組み合わせることで、軽量性を維持しつつ勾配の流れを改善します。
- 分離型ヘッド: YOLOv8 物体検出、分類、回帰タスクを別々のブランチYOLOv8 。この分離により、モデルの収束がより迅速かつ正確に行われる。
- タスクの汎用性:主に検出モデルであるYOLOv7異なり、YOLOv8 画像分類、姿勢推定、方向付き境界ボックス(OBB)、インスタンスセグメンテーションを YOLOv8 サポートする。
詳細比較:開発者がUltralyticstralyticsを選ぶ理由
YOLOv7 優れたモデルYOLOv7 、YOLOv8 およびより新しいYOLO26)を取り巻くUltralytics 、開発者や研究者にとって明確な利点を提供します。
1. 使いやすさとエコシステム
YOLOv7 主に研究リポジトリとしてYOLOv7 トレーニングには、特定のGitHubリポジトリのクローン作成、厳格な構造でのフォルダ整理、複雑なCLI の実行が頻繁に必要となります。
対照的に、Ultralytics 標準的なPython として利用可能です(pip install ultralytics)。 Ultralytics Platform さらに、データセット管理とトレーニング監視のためのグラフィカルインターフェースを提供することで、これをさらに簡素化します。この「ゼロからヒーローへ」の体験は、AI開発への参入障壁を大幅に低減します。
2. 学習効率とメモリ
現代のAIにおいて最も重要な要素の一つはリソース利用率である。トランスフォーマーベースのモデルは膨大な量のCUDA 必要とし、トレーニングに数日を要することが多い。Ultralytics YOLO トレーニング効率を最適化している。
YOLOv8 モザイク拡張を動的にYOLOv8 、最終エポックでは精度を向上させるためこれを無効化する。これにより、最適化されたデータローダーと相まって、YOLOv7 RT-DETR YOLOv7 トランスフォーマーベースの代替手法と比較して、コンシューマー向けGPU上でより大きなバッチサイズを実行可能となる。
3. 展開と輸出
PyTorch から実稼働デバイスへモデルを移行することは、パイプラインにおいて最も困難な部分であることが多い。YOLOv8 統一されたエクスポートモードによりこれをYOLOv8 。
たった1行のコードで、開発者はYOLOv8 エクスポートできます:
- ONNX汎用的なクロスプラットフォーム互換性のため。
- TensorRTNVIDIA 最高の推論速度を実現します。
- CoreMLiOS macOSアプリへの統合用。
- TFLiteAndroid Raspberry Piでのモバイルおよびエッジデプロイメント向け。
エクスポート例
Python を介したYOLOv8 エクスポートはシームレスです:
from ultralytics import YOLO
model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)
コード例: 統一API
Ultralytics Python 、モデルアーキテクチャを簡単に切り替えることができます。同じインターフェースを使用して、YOLOv8 またはYOLOv7 (レガシー互換性のためにサポート)をロードできます。
from ultralytics import YOLO
# Load the latest YOLOv8 Nano model for efficiency
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
# The API handles dataset downloading and configuration automatically
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
# Returns a list of Results objects containing boxes, masks, or keypoints
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
# NOTE: You can also load YOLOv7 weights using the same API
# model_v7 = YOLO("yolov7.pt")
理想的なユースケース
YOLOv7をいつ使用するか
- レガシーベンチマーク:2022/2023年の学術論文を再現する場合、特にE-ELANアーキテクチャとの比較を対象とするものに限る。
- 特定のハイレゾ入力: The
yolov7-w6バリエーションは1280px入力用に特別に調整されましたが、最新のUltralytics 現在 P6/1280解像度 ネイティブに。
YOLOv8を使用するタイミング
- エッジコンピューティング: モデルのような
yolov8nにぴったりです ラズベリーパイ上で動作する またはJetson Nanoは、パラメータ数が少なく高速であるため。 - マルチタスクアプリケーション:アプリケーションが人物の追跡と姿勢(骨格)の同時識別を必要とする場合、YOLOv8のネイティブ姿勢推定機能が最適な選択肢です。
- 産業用オートメーション:レイテンシが重要な高スループット製造ラインにおいて、TensorRTへのエクスポートの容易さ TensorRTYOLOv8 容易なYOLOv8 となる。
- ラピッドプロトタイピング: Ultralytics により、チームは複雑なインフラを管理することなく、データセットとモデルを迅速に反復できます。
未来を見据えて:YOLO26の力
YOLOv7 YOLOv8 YOLOv7 、この分野は進化を続けている。今日新たなプロジェクトを始める開発者にとって、YOLO26はこの進化の頂点を体現している。
YOLOv8 やすさをYOLOv8 エンドツーエンドNMSを導入しています。非最大抑制(NMS)の後処理を排除することで、YOLO26は複雑なシーンにおいて大幅に簡素化された展開ロジックと低遅延を実現します。また、大規模言語モデル(LLM)のトレーニング技術に着想を得たMuSGDオプティマイザーを搭載し、トレーニング中の収束をさらに安定させます。
さらに、分布焦点損失(DFL)を排除したことで、YOLO26 CPUにおいて最大43%高速化され、GPUが利用できないエッジAIアプリケーションにおける決定的な選択肢となった。特殊なタスク向けに、姿勢推定のための残差対数尤度推定(RLE)やOBB用の専用角度損失など、タスク特化型の改良を導入している。
将来性が高く、効率的で正確なソリューションをお求めなら、YOLO26の検討をお勧めします。