YOLOv5とYOLOv9の比較#
コンピュータビジョンとリアルタイム物体検出の分野は、過去数年間で目覚ましい進歩を遂げました。確立され、実戦で鍛えられたモデルと、より新しい研究用アーキテクチャのどちらを選択するかは、機械学習エンジニアにとって共通の課題です。本ガイドでは、YOLOファミリーの中でも非常に影響力の大きい2つのモデル、YOLOv5とYOLOv9を包括的に技術比較します。
制約のあるエッジデバイスへのデプロイ、高精度な特徴量抽出の研究、複雑な object detection パイプラインの構築のいずれを行う場合でも、これらのモデルのアーキテクチャのニュアンス、パフォーマンス指標、エコシステムの違いを理解することは非常に重要です。
モデルの概要#
アーキテクチャの比較に入る前に、各モデルの起源と主要な目的を理解しておくと役立ちます。
Ultralytics YOLOv5#
Glenn Jocherによって開発され、2020年6月26日に Ultralytics からリリースされたYOLOv5は、開発者がビジョンモデルと対話する方法におけるパラダイムシフトをもたらしました。 PyTorch フレームワークを完全に採用することで、YOLOv5は従来のDarknetベースのモデルの複雑なコンパイル手順を、直感的でPythonファーストなユーザー体験へと置き換えました。
- 作成者: Glenn Jocher
- 組織: Ultralytics
- 日付: 2020-06-26
- GitHub: YOLOv5 Repository
- Docs: YOLOv5 Documentation
YOLOv5は、その Ease of Use と多様なハードウェア環境における安定したパフォーマンスで広く知られています。検出だけでなく、image classification や instance segmentation もサポートしています。
YOLOv9#
台湾の中央研究院情報科学研究所のChien-Yao Wang氏とHong-Yuan Mark Liao氏によって導入されたYOLOv9は、ディープニューラルネットワークにおける情報ボトルネック問題を軽減するためのアーキテクチャ理論に重点を置いています。
- 著者: Chien-Yao Wang および Hong-Yuan Mark Liao
- 組織: 台湾 中央研究院 情報科学研究所
- 日付: 2024-02-21
- Arxiv: 2402.13616
- GitHub: YOLOv9 リポジトリ
- ドキュメント: YOLOv9 ドキュメント
YOLOv9の核心は、Programmable Gradient Information (PGI) と Generalized Efficient Layer Aggregation Network (GELAN) という2つの主要な理論的革新に基づいています。これらの概念は、モデルが深いネットワーク層を通じて重要な空間的特徴を保持するのに役立ちます。
YOLOv5とYOLOv9はどちらも強力ですが、新しくリリースされた YOLO26 は、スピードと精度の究極のバランスを実現しています。エンドツーエンドのNMSフリー設計を備え、CPU推論が最大43%高速化されたYOLO26は、現代のエッジコンピューティングや本番環境へのデプロイに強く推奨されます。
アーキテクチャおよび技術的な違い#
model deployment 戦略を最適化するためには、これらのビジョンモデルの内部構造を理解することが不可欠です。
特徴抽出と情報の保持#
YOLOv5はCross Stage Partial Network (CSPNet) バックボーンを使用しており、バックプロパゲーション中の正確な勾配フローを維持しながら、計算オーバーヘッドを効果的に削減します。この設計は、従来の GPU operations 向けに高度に最適化されており、重いTransformerの代替と比較して、トレーニング中のメモリ要件を低く抑えることができます。
YOLOv9は、CSPNetの原則を拡張した汎用アーキテクチャであるGELANを導入しています。可逆的な補助ブランチであるPGIと組み合わせることで、YOLOv9は、正確な目的関数に必要なセマンティックデータが深いレイヤーで失われないようにします。これにより、YOLOv9は高い accuracy を達成し、特に小さなオブジェクトでその効果を発揮しますが、複雑な補助ブランチのために、制約の厳しいエッジハードウェアへのエクスポートパイプラインが複雑になる場合があります。
メモリ要件とトレーニング効率#
トレーニングの効率性に関して、YOLOv5は依然として非常に堅牢です。よくメンテナンスされた Ultralytics ecosystem により、YOLOv5モデルは消費するCUDAメモリが大幅に少なくなり、研究者はコンシューマー向けGPUで batch sizes を最大化できます。YOLOv9は優れたパラメータ効率(サイズに対する高い精度)を達成しますが、最適化されたフレームワークを使用しない場合、トレーニングプロセスに多くのリソースが必要になることがあります。幸いなことに、YOLOv9をUltralytics APIに統合することで、YOLOv5の効率化されたリソース管理と同等のレベルに近づけることができます。
パフォーマンスとメトリクス#
これらのアーキテクチャを客観的に評価するため、COCOなどの標準的なデータセットでパフォーマンスを比較します。以下は、mAP (Mean Average Precision)、推論速度、パラメータ数などの詳細な内訳です。
| モデル | サイズ (ピクセル) | 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
表が示すように、YOLOv9は同等のティアでより高い生精度を達成しており、その新しいアーキテクチャを反映しています。しかし、YOLOv5nは1.12msという非常に低いTensorRTレイテンシを維持しており、高速かつローカライズされた edge computing アプリケーションにおける変わらぬ強さを際立たせています。
トレーニング手法と使いやすさ#
今日、computer vision を活用する真の利点は、ツールチェーンのアクセシビリティにあります。
Ultralyticsの利点#
YOLOv9のようなモデルの元の研究リポジトリは基礎となるものですが、多くの場合、複雑な依存関係マトリックスや定型スクリプトが伴います。Ultralytics Python API は、この複雑さを完全に抽象化します。Ultralyticsエコシステムを使用すると、YOLOv5とYOLOv9の両方を、一貫した統一された構文でトレーニング、評価、およびエクスポートできます。
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")この単一APIアプローチは、選択したモデルに応じて、検出だけでなく、pose estimation や oriented bounding boxes (OBB) もサポートする、圧倒的な Versatility を提供します。さらに、Comet ML や Weights & Biases などのツールとの堅牢な統合が、トレーニングループに直接組み込まれています。
理想的なユースケースと実世界のアプリケーション#
これらのアーキテクチャのどちらを選択するかは、ハードウェアの制約と、アプリケーションドメインで要求される精度に大きく依存します。
YOLOv5を選択すべき場合#
YOLOv5は、安定性、低いメモリフットプリント、極めて優れたエクスポート互換性を優先するデプロイメントにおいて真価を発揮する、実戦で鍛えられたベテランモデルです。
- Mobile Deployments: YOLOv5を TFLite またはCoreMLにエクスポートして、古いスマートフォンでのオンデバイス推論を実行することは非常にシームレスです。
- Legacy Edge Hardware: Raspberry Piや初期世代のNVIDIA Jetson Nanoなどのデバイスの場合、YOLOv5のシンプルなおうとつ(畳み込み)により、smart parking management などのアプリケーションで一貫したフレームレートが保証されます。
- Rapid Prototyping: コミュニティチュートリアル、カスタムの pre-trained weights、および膨大なデータセット互換性が広く利用できるため、概念実証を検証するための最も速い方法となります。
YOLOv9を選択すべき場合#
YOLOv9は、わずかに多くの計算オーバーヘッドが必要であっても、複雑な詳細を捉え、偽陰性を最小限に抑えることが絶対に重要なシナリオに最適です。
- Aerial and Satellite Imagery: PGIフレームワークは小オブジェクトの忠実度を維持することに優れており、YOLOv9はドローンベースの agricultural monitoring に最適です。
- 医療画像診断: 高解像度スキャンで微細な異常や病変を検出する場合、GELANの正確な勾配フローは、リコールにおいて必要なアドバンテージを提供します。
- ハイエンド小売分析: 商品が密集した棚で重なり合う製品を追跡することは、YOLOv9の優れた特徴保持能力の恩恵を大きく受けます。
視野を広げる#
YOLOv5とYOLOv9を比較することで、2020年から2024にかけてアーキテクチャがどのように進化したかを明確に把握できますが、AI分野はかつてないほどのスピードで進化しています。パフォーマンスの絶対的なフロンティアを求める開発者には、最新の YOLO26 models の探索が強く推奨されます。伝統的な非最大値抑制(NMS)をネイティブな End-to-End NMS-Free Design に置き換え、高度な MuSGD Optimizer を利用することで、YOLO26は研究レベルの精度と本番レベルの速度のギャップを埋めます。DFL Removal(エクスポートの簡素化とエッジ/低電力デバイスの互換性向上のためにDistribution Focal Lossを削除)により、YOLO26は最大 43% faster CPU inference を実現し、エッジコンピューティングに最適です。さらに、ProgLoss + STAL は、IoT、ロボット工学、空撮画像に不可欠な小オブジェクト認識の顕著な改善を伴う、改良された損失関数を提供します。
また、これらのアーキテクチャを RT-DETR や非常に優れた YOLO11 などの他の最先端モデルと比較することにも興味を持たれるかもしれません。統一されたUltralyticsフレームワークを利用することで、どのモデルを選択しても、開発パイプラインがクリーンで効率的であり続け、スケールアップの準備が整うことが保証されます。