YOLOv9 YOLOv5技術比較
急速に進歩するコンピュータビジョンにおいて、適切な物体検出モデルを選択することはプロジェクトの成功に不可欠です。この分析では YOLOv9と、精度の限界に挑む研究に特化したアーキテクチャである Ultralytics YOLOv5信頼性、スピード、汎用性で有名な業界標準モデルです。それぞれのアーキテクチャの違い、性能ベンチマーク、理想的な使用例などを紹介し、十分な情報を得た上での決断をお手伝いします。
YOLOv9:最高の精度を実現する建築的革新
2024年初頭にリリースされるYOLOv9 、ディープラーニングの情報フローにおける基本的な問題に取り組むことで、物体検出の理論的限界をターゲットにしている。YOLOv9は、精度が最優先されるシナリオ向けに設計されている。
著者Chien-Yao Wang, Hong-Yuan Mark Liao
Organization:Institute of Information Science, Academia Sinica, Taiwan
Date:2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:YOLOv9 Documentation
コア・アーキテクチャ
YOLOv9 2つの画期的なコンセプトを導入している:プログラム可能な勾配情報(PGI)と一般化された効率的なレイヤー集約ネットワーク(GELAN)である。PGIは、完全な入力情報が損失関数に保持されるようにすることで、ディープニューラルネットワーク特有の情報ボトルネック問題に対処し、勾配の信頼性を向上させます。GELANはパラメータ効率を最適化し、深さ方向の畳み込みを利用する従来のアーキテクチャと比較して、より少ない計算資源でより高い精度を達成することを可能にする。
長所と短所
YOLOv9 第一の強みは、COCO データセットのようなベンチマークにおける最先端の精度である。YOLOv9は、他のモデルが失敗する可能性のある小さな物体や隠れた物体の検出に優れている。しかし、検出精度を重視した結果、トレードオフが生じる。また、Ultralytics エコシステムに統合されているとはいえ、より広範なコミュニティのサポートやサードパーティのツールは、より長い歴史を持つモデルと比べてまだ成熟していない。さらに、他のモデルがより広範なマルチタスク・ネイティブ・サポートを提供するのに対し、Ultralyticsは依然として検出に主眼を置いている。
Ultralytics YOLOv5:多目的な業界標準
2020年のリリース以来、Ultralytics YOLOv5 5は実用的で実世界でのAI展開の基準を定義してきた。YOLOv5は、パフォーマンスとユーザビリティのバランスを的確に保ち、歴史上最も広く利用されているモデルの一つとなっている。
Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
GitHub:ultralytics/yolov5
Docs:YOLOv5 Documentation
コア・アーキテクチャ
YOLOv5 、CSPDarknet53のバックボーンと PANetのネックを特徴とする洗練されたアンカーベースのアーキテクチャを採用し、ロバストなフィーチャーアグリゲーションを実現している。その設計は、推論スピードとエンジニアリングの最適化を優先している。このモデルには様々なスケール(ナノからエクストララージまで)があり、開発者は組み込みエッジデバイスからクラウドGPUまで、ハードウェアの制約にモデルを完全に適合させることができる。
Ultralytics 優位性
YOLOv9 アカデミックな限界を押し広げる一方で、YOLOv5 工学的な実用性に優れている。
- 使いやすさ: YOLOv5 5は「インストールして実行するだけ」で有名です。合理化されたPython APIと包括的なドキュメントは、開発時間を大幅に短縮します。
- 整備されたエコシステム: Ultralytics支えられ、YOLOv5 5は活発なメンテナンス、GitHub上の大規模なコミュニティ、MLOpsツールとのシームレスな統合を享受している。
- 汎用性:検出だけでなく、YOLOv5 5はインスタンスセグメンテーションと 画像分類をネイティブにサポートし、多様なビジョンタスクのための統合ソリューションを提供します。
- メモリ効率: Ultralytics モデルは、学習と推論の両方において、より少ないメモリフットプリントで済むように最適化されています。
パフォーマンス指標:スピードと精度
以下の比較は、これらのモデルの明確な役割を強調している。YOLOv9 一般に、特に大きなモデルサイズ(cとe)において、より高いmAP (平均平均精度)を達成している。このため、きめ細かな詳細情報を必要とするタスクに優れています。
逆に、YOLOv5 5は、特にNano (n)とSmall (s)のバリアントで、無敵の推論速度を提供する。NVIDIA Jetsonや Raspberry Piのようなエッジハードウェア上のリアルタイムアプリケーションでは、その軽量性とTensorRT 最適化の成熟度により、YOLOv5 依然としてトップ候補である。
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
配備のヒント
展開の柔軟性を最大限に高めるために、両方のモデルは次のような形式でエクスポートできます。 ONNXやTensorRT、CoreML エクスポートできますUltralytics これにより、モデルはどのようなターゲットハードウェア上でも効率的に実行されます。
トレーニングとユーザビリティ
トレーニング方法はユーザーエクスペリエンスによって大きく異なります。Ultralytics YOLOv5 5は、トレーニングの効率化のために設計されており、カスタムデータセットに対してすぐに機能する堅牢なプリセットを提供します。自動アンカー計算、ハイパーパラメータの進化、豊富なロギング統合機能を備えています。
YOLOv9強力ではあるが、安定性と収束を達成するためには、特に小規模なデータセットでは、ハイパーパラメータをより注意深く調整する必要があるかもしれない。しかし ultralytics Python パッケージにより、開発者はYOLOv9 YOLOv5同じシンプルな構文を使ってYOLOv9 トレーニングできるようになり、使い勝手のギャップを埋めることができる。
コード例
Ultralytics ライブラリを使えば、モデル名を変えるだけで、これらのアーキテクチャを簡単に切り替えることができる。このスニペットは、両方のモデルをロードして推論を実行する方法を示しています:
from ultralytics import YOLO
# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")
# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")
# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")
# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")
理想的なユースケース
YOLOv9選ぶとき
- 高精度検査:1ピクセル1ピクセルが重要な製造組立ラインで、微細な欠陥を検出。
- 高度な研究: プログラマブル勾配情報のような、斬新な深層学習アーキテクチャを調査するプロジェクト。
- 複雑な環境:GELANの高度な特徴集約が決定的な利点をもたらす、オクルージョンやクラッタの多いシナリオ。
YOLOv5選ぶとき
- エッジ展開:消費電力とメモリフットプリントが重要な、バッテリー駆動のデバイスやマイクロコントローラで動作。
- ラピッドプロトタイピング:豊富なチュートリアルとコミュニティリソースを活用し、データ収集から動作するデモまで、数日ではなく数時間で行う必要がある場合。
- マルチタスクシステム:単一のコードベース内で、検出と同時にポーズ推定や分類を必要とするアプリケーション。
- 生産の安定性:長年にわたって実証された信頼性を持つ、実証済みのソリューションを必要とするエンタープライズ環境。
結論
YOLOv9 YOLOv5 どちらを選ぶかは、あなたの特定の制約による。 YOLOv9は、精度を最大化するための優れた選択であり、最先端のアーキテクチャ改良を提供します。 YOLOv5は、汎用性と使いやすさのチャンピオンであり続け、AIのライフサイクル全体を簡素化する、堅牢で十分にサポートされたエコシステムを提供します。
YOLOv5 5の使いやすさとYOLOv9凌駕するパフォーマンスを兼ね備えた、両世界のベスト・オブ・ベストを求める開発者には、以下をお勧めする。 YOLO11.Ultralytics最新版であるYOLO11 、あらゆるビジョン・タスクにおいて最先端のスピードと精度を提供し、YOLO ファミリーの未来を象徴しています。
その他のモデルを見る
- YOLO11: Ultralyticsのdetection、segmentation、およびポーズのための最新かつ最も強力なモデルです。
- YOLOv8: YOLO11 の強力な前身であり、優れた機能のバランスを提供します。
- RT-DETR: リアルタイムパフォーマンス向けに最適化されたTransformerベースのdetector。