YOLOv7 YOLOv6.0の比較:包括的な技術比較
急速に進化するコンピュータ・ビジョンにおいて、適切な物体検出モデルを選択することは、プロジェクトの成功にとって極めて重要である。この分野を形成してきた2つの重要なフレームワークは、YOLOv7 YOLOv6.0である。どちらもYOLO (You Only Look Once)の系譜を受け継いでいますが、そのアーキテクチャ哲学と最適化目標は大きく異なっています。
本ガイドでは、この2つのモデルのアーキテクチャ、パフォーマンス指標、理想的な導入シナリオを比較し、技術的に詳しく分析します。また Ultralytics YOLO11のような最新の代替製品が、これらの先行製品の優れた機能を統合し、統一されたユーザーフレンドリーなエコシステムにどのように統合しているかを探ります。
YOLOv7:精度のアーキテクチャ
YOLOv72022年7月にリリースされたYOLO 7は、YOLO ファミリーに大きな変化をもたらし、リアルタイム推論機能を犠牲にすることなく、精度を最大化するためのアーキテクチャの革新を優先した。YOLOv7は、COCO データセットのベンチマークの限界を押し広げるために設計された。
著者Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date:2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Docsultralytics
主な建築上の特徴
YOLOv7 、推論コストを増加させることなく精度を向上させる最適化手法のセットである "trainable bag-of-freebies "を導入した。
- E-ELAN(Extended-Efficient Layer Aggregation Networks):このアーキテクチャは、最短および最長の勾配パスを制御することで、ネットワークの学習能力を向上させる。計算ブロックのカーディナリティを拡張することで、より多様な特徴を学習できるようになる。
- モデルのスケーリング YOLOv7 、深さと幅を同時に変更する複合スケーリング技術を採用しており、異なるモデルサイズ(TinyからE6Eまで)で最適なパフォーマンスを保証します。
- 補助ヘッドのトレーニング:このモデルは、学習時に補助ヘッドを使用して深い監視を行い、推論時にはそれを取り除く。これにより、ディープラーニングモデルの収束性が向上する。
長所と短所
YOLOv7 、特に小さなオブジェクトやオクルージョンオブジェクトにおける平均平均精度(mAP)の高さで有名です。YOLOv7は、精度が最優先される研究やシナリオに最適です。しかし、連結ベースのレイヤーに大きく依存するその複雑なアーキテクチャは、合理化された産業用モデルと比較して、学習時のメモリ消費量が多くなる可能性があります。
YOLOv6.0:工業用スピードのために設計された
Meituanのビジュアル・コンピューティング部門が開発したYOLOv6.0は、実用的な産業アプリケーションに重点を置いている。2023年初頭にリリースされ、推論速度とハードウェア効率を優先しているため、エッジコンピューティングの有力候補となっている。
著者Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, and Xiangxiang Chu
組織:Meituan
Date:2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
主な建築上の特徴
YOLOv6.0はハードウェアを意識した設計が特徴で、特にGPU CPU スループットを最適化している。
- RepVGGバックボーン:モデルは再パラメータ化(RepVGG)ブロックを利用する。学習中、モデルはより良い学習のためにマルチ・ブランチ・トポロジーを持ち、推論のために数学的にシングル・ブランチ構造に融合される。これにより、NVIDIA Jetsonのようなハードウェア上での実行が高速化される。
- 分離ヘッド:分類とローカライゼーションの機能を共有していた以前のYOLO バージョンとは異なり、YOLOv6 分離ヘッドを採用している。この分離により、収束速度と検出精度が向上した。
- 量子化フレンドリー:アーキテクチャは、リソースに制約のあるデバイスに展開するために不可欠なモデルの量子化(INT8など)にフレンドリーな設計となっている。
長所と短所
YOLOv6.0は、生のスループットに優れている。ミリ秒単位が重要な産業オートメーション・ラインやロボット工学にとって、最適化された推論グラフは大きな利点である。しかし、その焦点は主に検出であり、YOLO11ような後のバージョンに見られるネイティブ・マルチタスクの汎用性はない。
パフォーマンス比較
以下の表は、2つのモデル間のトレードオフを示している。YOLOv6.0は一般的に、同程度の精度層で優れたスピードを提供し、YOLOv7 検出精度の上限を押し上げる。
| モデル | サイズ (ピクセル) | mAP値 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
結果の分析
- 速度対精度: YOLOv6.0nは、T4 GPUで1.17msの推論を達成し、高速ビデオ分析に理想的な、非常に高速な傑出した製品です。
- ピーク精度:YOLOv7xは、より高いピーク精度を達成した。 mAP(53.1%)と、YOLOv6.0l(52.8%)を上回り、難解な事例の検出に強みを発揮しています。
- 計算効率: YOLOv6 、「EfficientRep」設計哲学を実証するため、同等の性能レベルでより少ないFLOPを使用しています。
配備に関する考慮事項
ベンチマークはベースラインを提供するが、実世界のパフォーマンスは導入ハードウェアに大きく依存する。YOLOv66のリパラメータ化はGPUで輝きを放ち、YOLOv77の連結ベースのアーキテクチャは堅牢だが、メモリ帯域幅を消費する可能性がある。
Ultralytics 優位性比較を超える
YOLOv7 YOLOv6.0はコンピュータ・ビジョンの歴史において重要な功績を残したが、この分野の進歩は速い。持続可能で将来性のあるソリューションを求める開発者のために、 Ultralytics YOLO11は、個々のモデル・アーキテクチャの限界に打ち勝つ包括的なエコシステムを提供します。
Ultralytics YOLO11を選ぶ理由
- 比類のない使いやすさ:複雑なリポジトリクローニングや環境設定を必要とする多くのオープンソースモデルとは異なり、Ultralytics モデルはシンプルなpipインストールでアクセスできます。Python API設計は直感的で、わずか数行のコードで学習と推論を行うことができます。
- パフォーマンスのバランス YOLO11 、YOLOv6 YOLOv7アーキテクチャの教訓を基に構築されており、リアルタイムアプリケーションに必要な推論速度を維持しながら、最先端の精度を達成する洗練されたアーキテクチャを採用している。
- 汎用性: Ultralytics エコシステムの最も強力な利点の1つは、複数のタスクのサポートです。YOLOv6 YOLOv7 主に検出に焦点を当てていますが、YOLO11 インスタンス・セグメンテーション、ポーズ推定、分類、指向性オブジェクト検出(OBB)をネイティブにサポートしています。
- トレーニングの効率化: Ultralytics モデルは、トレーニング中の収束の高速化とメモリ使用量の低減のために最適化されています。この効率的なリソース管理により、旧式の変換器や連結を多用するアーキテクチャにありがちな膨大なCUDA メモリオーバーヘッドを発生させることなく、コンシューマーグレードのGPUでトレーニングを行うことができます。
- 整備されたエコシステム: Ultralytics 、頻繁なアップデート、広範なドキュメント、活気あるコミュニティにより、あなたのプロジェクトが最新のPyTorch バージョンと以下のようなエクスポートフォーマットとの互換性を保つことを保証します。 ONNXやTensorRT、CoreMLエクスポート形式との互換性を保ちます。
実施例
Ultralytics 最先端のモデルを導入するのは簡単です。ここでは、オブジェクト検出をどのように簡単に実装できるかを紹介します:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save(filename="output.jpg") # save to disk
結論
YOLOv7 YOLOv6.0はどちらも特定のニッチに対応している:YOLOv7 高精度の研究タスクに、YOLOv6.0は産業用スピードの最適化に。しかし、大多数の開発者や研究者にとっては Ultralytics YOLO11エコシステムは、最もバランスのとれた、多用途で保守可能なソリューションを提供します。Ultralytics 、卓越したユーザーエクスペリエンスと幅広いタスクサポートに高性能を組み合わせることで、ユーザーがモデルアーキテクチャと格闘するのではなく、現実の問題を解決することに集中できるようにします。
その他のモデルを見る
コンピュータ・ビジョンの選択肢を増やすことに興味がある方は、以下の比較を検討してみてください:
- YOLOv7 RT-DETR比較:CNNベースの検出器とTransformerベースのアーキテクチャの比較。
- YOLOv6 YOLOv8:Ultralytics 前世代モデルと業界標準との比較。
- YOLOv7 YOLOXの比較:アンカーフリーとアンカーベースの検出戦略の分析。