YOLOv7とYOLO26の比較#
コンピュータービジョンの進化には重要なマイルストーンがあり、従来のアーキテクチャと最新モデルを比較することで、MLエンジニアに有益な知見が得られます。この技術比較では、影響力の大きいYOLOv7とUltralytics YOLO26の違いを検証し、アーキテクチャ、学習手法、デプロイ効率の進歩を紹介します。
YOLOv7:「Bag-of-Freebies」の先駆け#
2022年半ばに登場したYOLOv7は、推論コストを増やすことなく精度を高める複数のアーキテクチャ最適化により、GPUハードウェアでのリアルタイム検出を進歩させました。
モデルの詳細
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織:中央研究院情報科学研究所
- 日付: 2022-07-06
- arXiv: 2207.02696
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7ドキュメント
YOLOv7は、学習可能な「bag-of-freebies」の概念を導入し、再パラメーター化手法と拡張型効率的レイヤー集約ネットワーク(E-ELAN)を多用しました。これにより、元の勾配経路を損なうことなく、モデルがより多様な特徴を学習し、ネットワークの学習能力を継続的に向上できました。当時、COCOで最先端の結果を達成しましたが、アーキテクチャはアンカーベースの出力に依存しており、デプロイ時にレイテンシのボトルネックを招く可能性があるNon-Maximum Suppression(NMS)の後処理が必要です。
YOLO26:エッジファーストのビジョンAI標準#
2026年1月にリリースされたUltralytics YOLO26は、デプロイの容易さ、学習の安定性、ハードウェア効率を重視して検出パイプラインを再設計しています。
モデルの詳細
- 著者: Glenn Jocher、Jing Qiu
- 組織: Ultralytics
- 日付: 2026-01-14
- GitHub: ultralytics/ultralytics
- プラットフォーム: プラットフォーム上のUltralytics YOLO26
YOLO26は、最新のデプロイ要件に対応するよう設計されています。そのアーキテクチャには、複数の重要な技術革新が盛り込まれています。
- エンドツーエンドNMSフリーデザイン: YOLO26は、NMSの後処理を省略するオプションのワンツーワンヘッド(
nms=False)を提供しています。この方式はYOLOv10で初めて導入されました。混雑したシーンで通常発生するレイテンシの変動を回避し、より高速でシンプルなデプロイパイプラインを実現します。 - DFLの削除: Distribution Focal Loss(DFL)を削除することでモデルを簡素化し、エッジデバイスや低消費電力のIoTハードウェアとの互換性を高めて、エクスポートを容易にします。
- CPU推論が最大43%高速: アーキテクチャの簡素化により、YOLO26はエッジコンピューティングや専用GPUを搭載しないデバイス向けに最適化されています。YOLO26nはCPU上でYOLO11nより最大43%高速に動作します。
- MuSGDオプティマイザー: 大規模言語モデルの学習手法(特にMoonshot AIのKimi K2)をヒントに、YOLO26は確率的勾配降下法とMuonを組み合わせたMuSGDオプティマイザーを使用します。これにより、コンピュータービジョンタスクの学習がより安定し、収束が速くなります。
- ProgLoss + STAL: Progressive Lossと、小さなターゲットを考慮したラベル割り当て戦略により、小物体の認識が向上します。これは航空画像、ロボティクス、自動品質検査で重要です。
- タスク固有の改良: YOLO26は標準的な物体検出に加え、セグメンテーションタスク向けのマルチスケールプロトと専用のセマンティックセグメンテーション損失、姿勢推定向けの残差対数尤度推定(RLE)、方向付きバウンディングボックス(OBB)の境界問題を解決する専用の角度損失アルゴリズムを導入しています。
すでにultralyticsパッケージを使用しているプロジェクトでは、Pythonコード内のモデル文字列をyolo26n.ptに変更するだけでYOLO26にアップグレードでき、重みは自動的にダウンロードされます。元のリポジトリを使ったYOLOv7プロジェクトでは、YOLO形式のデータセットを再利用し、Ultralytics APIで再学習できます。
パフォーマンスと指標の比較#
計算リソースの使用量を比較すると、YOLO26は精度、速度、メモリ要件のバランスに優れています。Transformerベースのモデルや旧来の大型アーキテクチャでは、大量のCUDAメモリが必要になることがよくありますが、YOLO26はコンシューマー向けGPUで効率よく学習できます。
| モデル | サイズ (ピクセル) | mAPval50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLO26n | 640 | 40.9 | 38.9 | 1.7 | 2.4 | 5.5 |
| YOLO26s | 640 | 48.6 | 87.2 | 2.5 | 9.5 | 20.9 |
| YOLO26m | 640 | 53.1 | 220.0 | 4.7 | 20.4 | 68.4 |
| YOLO26l | 640 | 55.0 | 286.2 | 6.2 | 24.8 | 86.8 |
| YOLO26x | 640 | 57.5 | 525.8 | 11.8 | 55.7 | 194.4 |
上記のとおり、YOLO26mモデルは、はるかに大きなYOLOv7xと同等の精度(53.1 mAP)を、パラメーター数を3分の1未満(20.4M対71.3M)に抑えて達成し、TensorRTによる推論も高速です(4.7 ms対11.57 ms)。
Ultralyticsエコシステムの利点#
従来のモデルをデプロイする場合、複雑なサードパーティリポジトリ、依存関係の競合、手動のエクスポートスクリプトが必要になることがよくあります。一方、Ultralytics Platformは、十分にメンテナンスされた一貫性のあるエコシステムを提供し、機械学習のライフサイクル全体を効率化します。
- 使いやすさ: 直感的なPython APIと充実したドキュメントを使えば、数分でアノテーション、学習、デプロイを行えます。ONNXやCoreMLなどの形式へのエクスポートは、コード1行で実行できます。
- メモリ要件: Ultralyticsのモデルは、メモリ使用量の少なさで知られています。一部の大規模なビジョンTransformerとは異なり、YOLO26はメモリ不足(OOM)エラーを起こさずに標準的なハードウェアでファインチューニングできます。
- 汎用性: YOLOv7は主に物体検出モデルであり、他のタスクには実験的なブランチがいくつかある程度でした。一方、YOLO26は検出、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、分類、姿勢推定、OBB、および複数物体追跡に対応する統合フレームワークです。
YOLO26が推奨される標準モデルですが、従来のシステムを移行する開発者は、長期サポートが必要なプロジェクトで実績のある安定性を提供する、Ultralytics製品群の前世代モデルYOLO11も検討できます。
コード例: トレーニングとデプロイ#
次の例では、旧来のリポジトリで使用されていた長いコマンドライン引数を置き換えるultralyticsのワークフローを示します。
from ultralytics import YOLO
# Load the lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Train the model efficiently on a dataset (e.g., COCO8)
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=32, # Efficient memory usage allows larger batch sizes
device=0,
)
# Run an NMS-free, end-to-end inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg", nms=False)
# Export directly to ONNX for edge deployment
export_path = model.export(format="onnx")
print(f"Model exported successfully to: {export_path}")実際のユースケース#
適切なアーキテクチャは、本番環境の制約に応じて選択してください。
YOLOv7を検討する場合: YOLOv7は、2022年当時の基準に対する学術的なベンチマークに今も有用です。インフラストラクチャがYOLOv7固有のアンカー出力をハードコードした従来のCUDAパイプラインを使用しており、リファクタリングにリソースを割けない場合は、引き続き堅牢なベースライン検出器として機能します。
YOLO26を選択する場合: 新しいプロジェクトにはYOLO26を推奨します。オプションのNMSフリーヘッドは、低レイテンシが求められる自律ナビゲーションやリアルタイムセキュリティシステムに適しています。DFLの削除とCPU推論の高速化により、Raspberry Piでの実行や家電製品への組み込みなど、エッジAIのデプロイにも適しています。さらに、ProgLoss + STALの強化により、製造品質保証や衛星画像で微小な異常を検出しやすくなります。
最終的に、YOLO26は活発なオープンソースコミュニティに支えられ、精度、速度、シンプルさを兼ね備えた強力な選択肢を開発者に提供します。
コメント2
質問したり、結果を共有したり、ほかの人をサポートしたりできます。
Murat Raimbekov(編集済み)hey @bit-scientist, you're right - the YOLOv7 vs YOLO26 comparison tables only included
YOLOv7l(51.4 mAP, 36.9M params) andYOLOv7x(53.1 mAP, 71.3M params) at 640px. they didn't includeYOLOv7-tinyor the higher-resolution variants (W6, E6, D6, E6E at 1280px).these variants do exist in the yolov7 model docs with the numbers from the original paper:
variant imgsz mAP params (M) flops (B) YOLOv7-tiny-SiLU 640 38.7 6.2 13.8 YOLOv7 640 51.4 36.9 104.7 YOLOv7-X 640 53.1 71.3 189.9 YOLOv7-W6 1280 54.9 70.4 360.0 YOLOv7-E6 1280 56.0 97.2 515.2 YOLOv7-D6 1280 56.6 154.7 806.8 YOLOv7-E6E 1280 56.8 151.7 843.2 the comparison focused on the two 640-resolution scales that line up most directly with the modern yolo26 sizes (n/s/m/l/x @ 640).
worth noting: yolov7 is a third-party model from wang et al. and is not natively supported in the ultralytics package. we publish docs for reference, but training/inference uses the original WongKinYiu/yolov7 repo.
1
bit-scientistwhy were the smaller yolov7 models not included in comparison tables and graphs?