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の後処理を省略できるオプションの1対1ヘッド(
nms=False)を備えています。この画期的な手法は、YOLOv10で初めて導入されました。混雑したシーンでよく発生するレイテンシの変動を回避し、より高速でシンプルなデプロイパイプラインを実現します。 - DFLの廃止: Distribution Focal Loss(DFL)を削除することで、モデルを大幅に簡素化してエクスポートしやすくし、エッジデバイスや低消費電力のIoTハードウェアとの互換性を大きく向上させています。
- CPU推論を最大43%高速化: アーキテクチャの簡素化により、YOLO26はエッジコンピューティングや専用GPUのないデバイス向けに特化して最適化され、一般的なプロセッサで旧世代のアーキテクチャを容易に上回ります。
- MuSGD Optimizer: 大規模言語モデルのトレーニング技術(特にMoonshot AIのKimi K2)に着想を得て、YOLO26は確率的勾配降下法とMuonを組み合わせたハイブリッドのMuSGD Optimizerを採用しています。これにより、コンピュータービジョンタスクで比類のないトレーニング安定性と大幅に速い収束を実現します。
- ProgLoss + STAL: これらの高度な損失関数の導入により、小物体認識が大幅に向上します。これは航空画像、ロボティクス、自動品質検査で重要です。
- タスク固有の改良: YOLO26は標準的な物体検出に加え、セグメンテーションタスク向けのマルチスケールプロトと専用のセマンティックセグメンテーション損失、姿勢推定向けの残差対数尤度推定(RLE)、方向付きバウンディングボックス(OBB)の境界問題を解決する専用の角度損失アルゴリズムを導入しています。
旧世代アーキテクチャからYOLO26へのアップグレードは、Pythonコード内のモデル文字列をyolo26n.ptに変更するだけで簡単に行えます。Ultralyticsパッケージが、自動的な重みのダウンロードや設定のスケーリングを含め、移行全体を処理します。
パフォーマンスと指標の比較#
計算負荷を比較すると、YOLO26はパフォーマンスとメモリー要件のバランスで明らかな優位性を示します。Transformerベースのモデルや旧世代の大規模なアーキテクチャでは大量のCUDAメモリーが必要になることがありますが、YOLO26はコンシューマー向けGPUでも効率的にトレーニングできます。
| モデル | サイズ (ピクセル) | mAPval 50-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による非常に高速な推論を実現します。
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は精度、速度、シンプルさを比類なく融合し、オープンソースコミュニティによる包括的なサポートも備えています。