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:パラダイムの進化#
Tsinghua Universityの研究者によって開発されたYOLOv10は、従来のアーキテクチャに見られた特定のレイテンシのボトルネック解消を目指しました。
- 著者: Ao Wang、Hui Chen、Lihao Liuほか
- 組織: 清華大学
- 日付: 2024-05-23
- ArXiv: 2405.14458
- GitHub: YOLOv10リポジトリ
- ドキュメント: YOLOv10ドキュメント
YOLOv10の最大の特徴は、ネイティブで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 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 160.4 |
YOLOv10は、最新化された効率性と精度を重視したモデル設計により、同等のサイズでmAP50-95の値が明らかに高くなっています。一方、YOLOv5は特にNanoおよびSmallの階層で非常に競争力のあるレイテンシを維持しており、NVIDIA Jetsonシリーズのような制約のある組み込み環境や、OpenVINOを介した一般的なCPUでの利用において、高い信頼性を発揮します。
トレーニング手法とエコシステム#
モデルの価値は、その周辺のエコシステムに大きく左右されます。Ultralyticsは、非常に幅広いタスクに対応する、特に充実したエコシステムを維持しています。YOLOv10が2Dの物体検出に特化している一方、Ultralyticsはインスタンスセグメンテーション、画像分類、姿勢推定、回転バウンディングボックス(OBB)をネイティブにサポートしています。
さらに、Ultralyticsモデルの学習では、競合するTransformerベースの手法よりもメモリ使用量を大幅に抑えられるため、開発サイクルを短縮し、コストを削減できます。
シームレスなコード実行#
モデルの学習、検証、エクスポートは、単一のAPIに統合されています。文字列を変更するだけでモデルを切り替えられます。
from ultralytics import YOLO
# ベースラインテスト用に学習済みYOLOv5モデルを読み込みます
model_v5 = YOLO("yolov5su.pt") # YOLOv5u: ultralyticsパッケージ向けのアンカーフリーYOLOv5重み
# 比較用にYOLOv10モデルを読み込みます
model_v10 = YOLO("yolov10s.pt")
# COCO8データセットでモデルを効率的にトレーニングします
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # PyTorchのCUDAアクセラレーションを自動的に使用します
batch=16,
)
# CPU推論でのデプロイ用にONNXへエクスポートします
model_v5.export(format="onnx", simplify=True)ユースケースと推奨事項#
YOLOv5とYOLOv10のどちらを選ぶかは、プロジェクト固有の要件、デプロイの制約、エコシステムに関する好みによって決まります。
YOLOv5を選ぶ場合#
YOLOv5は、次のような場合に適しています。
- 実績のある本番システム: YOLOv5の長年にわたる安定性の実績、充実したドキュメント、幅広いコミュニティサポートが重視される既存のデプロイ環境です。
- リソースが限られたトレーニング: GPUリソースが限られており、YOLOv5の効率的なトレーニングパイプラインと低いメモリ要件が有利となる環境です。
- 幅広いエクスポート形式への対応: ONNX、TensorRT、CoreML、LiteRTなど、多様な形式でのデプロイが必要なプロジェクトです。
YOLOv10を選ぶ場合#
YOLOv10は、次のような用途に推奨されます。
- NMSを使用しないリアルタイム検出: 非最大抑制を使用しないエンドツーエンド検出によって、デプロイを簡素化できるアプリケーション。
- 速度と精度のバランス: さまざまなモデルスケールで、推論速度と検出精度の優れたバランスが必要なプロジェクト。
- レイテンシーが安定している必要のあるアプリケーション: ロボティクスや自律システムなど、予測可能な推論時間が重要なデプロイシナリオ。
Ultralytics (YOLO26)を選ぶ場合#
多くの新規プロジェクトにおいて、Ultralytics YOLO26はパフォーマンスと開発者体験を最適なバランスで提供します。
- NMSを使用しないエッジデプロイ: 非最大抑制の後処理を複雑化させずに、安定した低レイテンシー推論を必要とするアプリケーション。
- CPUのみの環境: 専用のGPUアクセラレーションを備えていないデバイスで、YOLO26の最大43%高速なCPU推論が大きな優位性を発揮します。
- 小物体検出: ドローンによる航空画像やIoTセンサーの分析など、ProgLossとSTALによって小さな物体の精度が大幅に向上する難しいシナリオ。
未来を見据えて:Ultralytics YOLO26#
YOLOv5が利用しやすさに革命をもたらし、YOLOv10がNMSフリーアーキテクチャの限界を押し広げた一方で、最先端技術は進化を続けています。新しいプロジェクトには、2026年1月にリリースされた最先端のUltralytics YOLO26を強くお勧めします。
YOLO26は、Ultralyticsエコシステムの信頼性と画期的な進歩を融合しています。
- エンドツーエンドのNMSフリー設計: NMSフリーのパラダイムをオプションのワンツーワンヘッド(
nms=False)としてUltralyticsフレームワークに直接組み込むことで、YOLO26はデプロイを簡素化し、レイテンシを削減します。 - CPU推論が最大43%高速: Distribution Focal Loss(DFL)を削除したことで、YOLO26はGPUを搭載していないエッジデバイス上で大幅に高速化します。
- MuSGDオプティマイザー: Moonshot AIによるLLM学習の革新に着想を得たMuSGDオプティマイザーは、これまでにない安定性と迅速な収束を実現します。
- ProgLoss + STAL: これらの新しい損失関数は、小さな物体の認識性能を大幅に向上させます。これは、ドローン画像やロボティクスなどの分野で重要です。
Ultralytics Platformから、YOLO26を直接管理、学習、デプロイできます。
結論#
YOLOv5とYOLOv10のどちらを選ぶかは、多くの場合、プロジェクト固有の制約によって決まります。YOLOv10は、研究やGPUの生の処理能力を活用するアプリケーションで優れたmAPを発揮します。一方、YOLOv5は標準的なデプロイにおいて、信頼性が高く互換性に優れた実用モデルであり続けています。
ただし、コンピュータービジョンの分野は常に変化しています。最高の性能バランス、汎用性、使いやすさを実現するには、開発者はUltralytics YOLO26に注目する必要があります。YOLO26は、NMSフリー推論の速度と、堅牢でドキュメントが充実したUltralyticsエコシステムを兼ね備え、ビジョンAIソリューションを将来にわたって活用できるようにします。特定の用途では、汎用的な堅牢性を備えたYOLO11や、Transformerベースの高精度なRT-DETRも検討できます。