YOLOv5 vs. EfficientDet:詳細な技術比較
進化し続けるコンピュータビジョンにおいて、適切な物体検出アーキテクチャを選択することは、プロジェクトの成功にとって極めて重要である。この比較では、非常に影響力のある2つのモデルを探ります: Ultralytics YOLOv5スピードと使いやすさのバランスで知られるUltralytics YOLOv5と、スケーラビリティとパラメータ効率で有名なGoogle EfficientDetです。両者のアーキテクチャ、パフォーマンス指標、デプロイメント能力を検証することで、開発者は特定のアプリケーションのニーズに適した情報に基づいた決定を下すことができます。
パフォーマンス分析:スピード対効率
これら2つのアーキテクチャの主な違いは、計算リソースと推論レイテンシに関する設計思想にあります。EfficientDetは、理論的なFLOP(浮動小数点演算)に最適化されているため、学術的なベンチマークに適しています。逆にYOLOv5 5は、実用的なハードウェア、特にGPU上での低レイテンシーを優先し、実稼働環境に不可欠なリアルタイム推論速度を実現します。
下の表は、COCO val2017データセットにおけるこのトレードオフを表している。EfficientDetモデルが高い mAPを使用するNVIDIA T4 GPUでは、YOLOv5 劇的に高速な推論時間を示しています。 TensorRT.
| モデル | サイズ (ピクセル) | mAP値 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | params (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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
このように、YOLOv5nは GPU上で1.12ミリ秒という驚異的なレイテンシを達成し、最小のEfficientDetのバリエーションを大幅に上回っている。自律走行車や高速製造ラインなど、ミリ秒単位が重要なアプリケーションでは、この速度の優位性は非常に重要です。
建築の違い
各モデルの構造設計を理解することで、その性能特性が明確になる。
Ultralytics YOLOv5
YOLOv5 CSPDarknetバックボーンとPANetネックを組み合わせている。このアーキテクチャは、勾配フローと特徴抽出の効率を最大化するように設計されている。
- バックボーン: クロスステージ・パーシャル(CSP)接続を利用して冗長な勾配情報を減らし、パラメータを減らしながら学習能力を向上させる。
- ネック信頼性の高いマルチスケール特徴フュージョンのためのパス集約ネットワーク(PANet)を特徴とし、様々なサイズの物体の検出を強化する。
- ヘッド:標準的なYOLO アンカーベースの検出ヘッドは、クラスとバウンディングボックスを直接予測する。
EfficientDet
EfficientDetは、EfficientNetのバックボーン上に構築され、重み付けされた双方向特徴ピラミッドネットワーク(BiFPN)を導入しています。
- バックボーン:EfficientNetを使用し、深さ、幅、解像度を複合係数を用いて一様にスケーリングする。
- ネック(BiFPN):情報をトップダウンとボトムアップの両方に流すことができる複雑な特徴統合層で、異なる入力特徴に重みを適用してその重要性を強調する。
- 化合物のスケーリング:バックボーン、BiFPN、ボックス/クラス予測ネットワークがすべて一緒にスケールアップされる重要なイノベーション。
Ultralytics 優位性エコシステムとユーザビリティ
生の指標も重要ですが、開発者の経験がプロジェクトの成功を左右することも少なくありません。Ultralytics YOLOv5 5は、洗練されたユーザー中心の環境を提供し、開発時間を大幅に短縮することに優れています。
使いやすさと統合性
YOLOv5 5は、その「すぐに使える」使いやすさで有名だ。このモデルはシンプルなpipコマンドでインストールでき、最小限のコードで利用できる。対照的に、EfficientDetの実装は、TensorFlow エコシステムや特定の研究リポジトリ内でより複雑なセットアップを必要とすることが多い。
合理化されたワークフロー
Ultralytics使えば、データセットから学習済みモデルまで数分で作成できます。Ultralytics HUBのようなツールとの統合により、大規模な定型コードなしでシームレスなモデル管理、可視化、デプロイが可能になります。
トレーニングの効率と記憶力
Ultralytics モデルは、トレーニング効率のために最適化されています。EfficientDetの高いスケーリング層やトランスフォーマーベースのモデルのような複雑なアーキテクチャと比較して、通常、収束が速く、CUDA メモリが少なくて済みます。このように参入障壁が低いため、開発者はコンシューマーグレードのハードウェアやGoogle Colabのような標準的なクラウドインスタンスで最先端のモデルをトレーニングすることができます。
多用途性とマルチタスク
主にオブジェクト検出器である標準的なEfficientDet実装とは異なり、Ultralytics フレームワークは幅広いタスクをサポートします。開発者は、インスタンスのセグメンテーションや 画像の分類に同じAPIを活用することができ、コンピュータビジョンの多様な課題に対する統一されたソリューションを提供します。
理想的なユースケース
YOLOv5 EfficientDetのどちらを選ぶかは、配備の制約と目標に大きく依存する。
Ultralytics YOLOv5選ぶとき
- リアルタイム・アプリケーション:ビデオ監視、ロボット工学、ライブスポーツ分析など、低遅延を必要とするプロジェクト。
- エッジ展開: NVIDIA JetsonやRaspberry Piのような、GPU効率的な利用が鍵となるデバイス上での実行。
- ラピッドプロトタイピング:迅速な反復サイクルと使いやすさを優先し、価値を迅速に実証する場合。
- プロダクション・システム:大規模なオープンソースコミュニティに支えられた、堅牢で保守性の高いデプロイメント。
EfficientDetを選ぶとき
- 研究とベンチマーク:FLOPの効率やアーキテクチャのスケーリング則に焦点を当てた学術研究。
- オフライン処理:待ち時間が長くても許容でき、静止画像の精度を最終的に何パーセントかまで絞り込むことを目標とするシナリオ。
- 低消費電力CPU 推論:BiFPN演算が特定のハードウェア命令セットに高度に最適化された、非常に特殊なCPU環境。
モデルの起源と詳細
これらのモデルの背景を理解することで、その設計目標が見えてくる。
Ultralytics YOLOv5
- Author: Glenn Jocher
- 組織Ultralytics
- Date: 2020-06-26
- GitHubyolov5
- ドキュメントYOLOv5 ドキュメント
EfficientDet
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織 Google リサーチ
- Date: 2019-11-20
- Arxiv:EfficientDet:スケーラブルで効率的な物体検出
- GitHubgoogle
コード例YOLOv5始める
Ultralytics 推論を驚くほど簡単にします。以下は、Python APIを使用して画像内のオブジェクトをdetect する、有効で実行可能な例です。
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image URL
img_url = "https://ultralytics.com/images/zidane.jpg"
# Perform inference
results = model(img_url)
# Display results
results.show()
# Print detection data (coordinates, confidence, class)
print(results.pandas().xyxy[0])
このシンプルなスニペットは、モデルのダウンロード、画像の前処理、フォワードパスの実行、出力のデコードを処理します。
結論
EfficientDetはモデルのスケーリングとパラメータの効率化に関する研究に大きく貢献した、 Ultralytics YOLOv5は、実用的で実世界での展開に優れた選択肢であり続けています。そのスピードと精度の卓越したバランスは、繁栄し、よくメンテナンスされたエコシステムと相まって、開発者が効果的にソリューションを構築し、訓練し、展開できることを保証します。
最新のコンピューター・ビジョン技術を活用したい人たちのために、Ultralytics YOLOv5超える革新を続けている。次のようなモデル YOLOv8や最先端の YOLO11などのモデルは、Ultralytics 特徴である使いやすさを維持しながら、ポーズ推定や 指向性オブジェクト検出などのタスクをサポートし、アーキテクチャをさらに改良しています。
その他のモデルを見る
あなたのニーズにぴったりのモデルを見つけるために、さらに比較検討することに興味がある場合は、これらのリソースを検討してください:
- YOLOv5 vsYOLO11- クラシックと最新鋭を比較。
- EfficientDet とYOLOv8比較- EfficientDet とYOLOv8比較をご覧ください。
- YOLOv8 vs.YOLO11- 最新世代の進化を理解する。
- YOLO11 RT-DETR比較-YOLOリアルタイム・トランスを比較。