YOLOv5 対 YOLOv10#
リアルタイムコンピュータビジョンの分野は過去数年間で飛躍的な成長を遂げ、さまざまなアーキテクチャが最新ハードウェアで可能な処理の限界を押し広げてきました。最先端アーキテクチャを評価する際、YOLOv5とYOLOv10の比較は、物体検出分野における大きな進化の段階を示しています。この技術的な詳細分析では、両者のアーキテクチャ上のパラダイム、性能上のトレードオフ、そして開発者がこれらのツールを本番環境で活用する方法について詳しく説明します。
アーキテクチャの詳細#
これらのモデルの構造上の違いを理解することは、実環境に効率的にデプロイするうえで重要です。
Ultralytics YOLOv5:業界標準#
Ultralytics によって導入された YOLOv5 は、速度、精度、利用しやすさの比類ないバランスで長く評価されてきました。
- 著者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: YOLOv5リポジトリ
- ドキュメント: YOLOv5 ドキュメント
YOLOv5 は、深く最適化された CSPDarknet バックボーンと組み合わせたアンカーベースの検出メカニズムを採用しています。このアーキテクチャは、ほぼすべての推論エンジンでサポートされている標準的な演算に大きく依存しているため、非常に汎用性に優れています。主な強みは、合理化されたユーザーエクスペリエンス、シンプルな API、充実したドキュメントを提供する Ultralytics Python SDK にあります。さらに、YOLOv5 は Transformer ベースのモデルと比較して必要なメモリが少ないため、VRAM の大きなオーバーヘッドなしに、コンシューマー向け GPU で高速にトレーニングできます。
YOLOv10:パラダイムの進化#
清華大学の研究者によって開発された YOLOv10 は、従来のアーキテクチャに見られた特定のレイテンシボトルネックへの対処を目的としていました。
- 著者: Ao Wang、Hui Chen、Lihao Liu、ほか
- 組織: 清華大学
- 日付: 2024-05-23
- ArXiv: 2405.14458
- GitHub: YOLOv10リポジトリ
- ドキュメント: YOLOv10 Docs
YOLOv10 の特徴は、ネイティブな NMS フリー(非最大抑制 (NMS))設計です。トレーニング中に一貫したデュアルアサインメントを使用することで、推論時の NMS 後処理を不要にしています。この理論上のレイテンシ削減は、強力な NVIDIA TensorRT アクセラレーションを備えたハイエンドハードウェアで実行するデプロイに非常に有効ですが、エッジデバイスでは構造上の複雑さを招く可能性があります。
YOLOv10 は興味深いアーキテクチャ上の新規性を備えていますが、YOLOv5 や新しい YOLO26 などの Ultralytics モデルは Ultralytics Platform 内でネイティブにサポートされており、優れたトレーニング効率、自動ハイパーパラメータ進化、すぐに利用できる豊富なエクスポートオプションを提供します。
パフォーマンス分析#
これらのモデルを比較する際には、精度(mAP)と計算コスト(レイテンシとパラメータ)のバランスによって最適なユースケースが決まります。以下に、COCO データセットでの技術的な性能比較を示します。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター数 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
YOLOv10 は、最新の効率性と精度を重視したモデル設計を活用することで、同等のサイズスケールにおいて明らかに高い mAP50-95 を達成します。一方、YOLOv5 は、特に Nano および Small ティアで非常に競争力のあるレイテンシを維持しており、NVIDIA Jetson シリーズのようなリソースが制限された組み込み環境や、OpenVINO を介した標準 CPU で高い信頼性を発揮します。
トレーニング手法とエコシステム#
モデルの価値は、そのモデルを取り巻くエコシステムと深く結び付いています。Ultralytics は非常に整備されたエコシステムを維持しており、極めて幅広いタスクをサポートしています。YOLOv10 が 2D 物体検出に厳密に重点を置いているのに対し、Ultralytics はネイティブにインスタンスセグメンテーション、画像分類、姿勢推定、方向付きバウンディングボックス (OBB)をサポートしています。
さらに、Ultralytics モデルのトレーニングに必要なメモリオーバーヘッドは、競合する Transformer ベースの手法より大幅に少ないため、開発サイクルを高速かつコスト効率よく維持できます。
シームレスなコード実行#
モデルのトレーニング、検証、エクスポートは単一の API に統合されています。文字列を変更するだけでモデルを切り替えられます。
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for baseline testing
model_v5 = YOLO("yolov5s.pt")
# Load a YOLOv10 model for comparison
model_v10 = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset efficiently
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Automatically utilizes PyTorch CUDA acceleration
batch=16,
)
# Export to ONNX for CPU inference deployment
model_v5.export(format="onnx", simplify=True)ユースケースと推奨事項#
YOLOv5 と YOLOv10 のどちらを選択するかは、プロジェクト固有の要件、デプロイの制約、エコシステムに関する選好によって決まります。
YOLOv5を選ぶべきケース#
YOLOv5 は次の用途に適しています:
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、豊富なドキュメント、広範なコミュニティサポートが重視される既存のデプロイ環境。
- リソースに制約のあるトレーニング: YOLOv5の効率的なトレーニングパイプラインと少ないメモリ要件が有利になる、GPUリソースが限られた環境。
- 幅広いエクスポート形式のサポート: ONNX、TensorRT、CoreML、TFLiteなど、多数の形式にまたがるデプロイが必要なプロジェクト。
YOLOv10を選択する場合#
YOLOv10は次の用途に推奨されます。
- NMSフリーのリアルタイム検出: Non-Maximum Suppressionを使用しないエンドツーエンド検出のメリットを活かし、デプロイの複雑さを軽減できるアプリケーション。
- 速度と精度のバランスの取れたトレードオフ: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが求められるプロジェクト。
- レイテンシが一貫したアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
Ultralytics (YOLO26)を選ぶタイミング#
ほとんどの新規プロジェクトでは、Ultralytics YOLO26が性能と開発者エクスペリエンスの最適な組み合わせを提供します。
- NMSフリーのエッジデプロイ: Non-Maximum Suppressionの後処理を複雑にすることなく、一貫した低レイテンシー推論が必要なアプリケーション。
- CPUのみの環境: 専用GPUアクセラレーションを持たないデバイスで、YOLO26の最大43%高速なCPU推論が決定的な優位性となる場合。
- 小さな物体の検出: aerial drone imageryやIoTセンサー分析など、ProgLossとSTALによって微小物体の精度が大幅に向上する難しいシナリオ。
未来:Ultralytics YOLO26#
YOLOv5 が利用しやすさに革命をもたらし、YOLOv10 が NMS フリーアーキテクチャの限界を押し広げた一方で、最先端技術は進化を続けています。新規プロジェクトには、2026年1月にリリースされた最先端の Ultralytics YOLO26 を強く推奨します。
YOLO26 は、Ultralytics エコシステムの信頼性と画期的な進歩を融合しています:
- エンドツーエンドの NMS フリー設計: NMS フリーのパラダイムを Ultralytics フレームワークに直接組み込むことで、YOLO26 はデプロイを簡素化し、低レイテンシを実現します。
- CPU 推論が最大 43% 高速: Distribution Focal Loss (DFL) を削除することで、YOLO26 は GPU を搭載しないエッジデバイス上で大幅に高速化されています。
- MuSGD Optimizer: Moonshot AI による LLM トレーニングの革新から着想を得た MuSGD Optimizer は、これまでにない安定性と高速な収束を実現します。
- ProgLoss + STAL: これらの新しい損失関数は、小さな物体の認識を大幅に向上させます。これは、ドローン画像やロボティクスなどの分野で重要です。
Ultralytics Platform を介して YOLO26 を直接管理、トレーニング、デプロイできます。
まとめ#
YOLOv5 と YOLOv10 のどちらを選択するかは、多くの場合、具体的なプロジェクトの制約に左右されます。YOLOv10 は、研究者や生の GPU スループットを活用するアプリケーションに優れた mAP を提供します。一方、YOLOv5 は、標準的なデプロイに適した、堅実で高い互換性を持つワークホースであり続けています。
しかし、コンピュータビジョンの分野は常に変化しています。性能、汎用性、使いやすさの最適なバランスを実現するには、開発者は Ultralytics YOLO26 に注目するべきです。YOLO26 は、NMS フリー推論の速度と、堅牢で十分に文書化された Ultralytics エコシステムを融合し、ビジョン AI ソリューションの将来性を確保します。専門的なユースケースでは、汎用的な堅牢性を備えた YOLO11 や、Transformer ベースの精度を提供する RT-DETR も検討できます。