YOLOv7とEfficientDet#
最適なニューラルネットワークアーキテクチャの選択は、あらゆるコンピュータビジョンプロジェクトを成功させる基盤です。このガイドでは、物体検出アーキテクチャの歴史における重要な2つのモデル、YOLOv7とEfficientDetを詳細に技術比較します。アーキテクチャの革新、学習手法、最適なデプロイシナリオを検討することで、開発者は十分な情報に基づいて判断できます。また、特に画期的なUltralytics YOLO26をはじめとする最新の進歩が、現在の最先端技術をどのように再定義したかについても解説します。
モデルの起源と技術的詳細#
両モデルは著名な研究チームによって開発され、機械学習分野に大きな進歩をもたらしました。
YOLOv7
- 著者: Chien-Yao Wang、Alexey Bochkovskiy、Hong-Yuan Mark Liao
- 組織: 台湾、中央研究院情報科学研究所
- 日付: 2022-07-06
- Arxiv: YOLOv7:学習可能なbag-of-freebiesによってリアルタイム物体検出器の最先端を更新
- GitHub: WongKinYiu/yolov7
- ドキュメント: Ultralytics YOLOv7ドキュメント
EfficientDet
- 著者: Mingxing Tan、Ruoming Pang、Quoc V. Le
- 組織: Google Research
- 日付: 2019-11-20
- Arxiv: EfficientDet:スケーラブルで効率的な物体検出
- GitHub: Google AutoML EfficientDet
アーキテクチャの違いとバランスの取れた分析#
効果的なモデルのデプロイには、これらのネットワークの基本的な構造上の違いを理解することが不可欠です。
EfficientDet:複合スケーリングとBiFPN#
TensorFlowのエコシステム内で開発されたEfficientDetは、体系的なモデルスケーリング手法を導入しました。ネットワークを任意に広げたり深くしたりするのではなく、Googleの研究者は解像度、深さ、幅を均等にスケーリングする複合スケーリング手法を採用しました。
さらに、EfficientDetは双方向特徴ピラミッドネットワーク(BiFPN)を導入しました。このアーキテクチャコンポーネントにより、マルチスケール特徴の融合を簡単かつ高速に行えます。
長所: パラメーター効率が非常に高く、多くの同時代モデルより少ないFLOPsで高い平均適合率(mAP)を達成します。 短所: 旧来のAutoML検索戦略に大きく依存します。最新の動的なPyTorchワークフローへの統合が煩雑になる場合があり、FLOPsが少ないにもかかわらず、エッジデバイスでのレイテンシーは予想より高くなることがよくあります。
YOLOv7:トレーニング可能なBag-of-Freebies#
YOLOv7はリアルタイム推論と学習の最適化を優先しています。拡張効率的レイヤー集約ネットワーク(E-ELAN)の概念を導入し、元の勾配経路を損なうことなく、モデルがより多様な特徴を継続的に学習できるようにしました。また、「trainable bag-of-freebies」と呼ばれる手法も採用しており、推論コストを増加させずに検出精度を大幅に向上させます。
長所: 処理速度が非常に速く、推論レイテンシーも優れているため、高FPSのビデオストリームに最適です。 短所: 高性能ではあるものの、依然としてアンカーボックスに依存し、後処理に非極大値抑制(NMS)が必要です。そのため、物体が密集したシーンではレイテンシーのボトルネックが生じることがあります。
モデルを評価する際は、アーキテクチャと同様に周辺のエコシステムも重要です。統合型のUltralytics Platformは、統一されたAPI、充実したドキュメント、活発なコミュニティサポートを提供します。この統合環境では、重いTransformerモデルと比べて学習時のメモリ使用量が抑えられるため、迅速なプロトタイピングとシームレスな実験管理が可能です。
パフォーマンス指標とベンチマーク#
以下の表では、主要なパフォーマンス指標を比較し、速度、パラメーター数、精度のトレードオフを開発者が評価できるようにしています。
| モデル | サイズ (ピクセル) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | パラメーター (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
示されているように、EfficientDet-d7は高いmAPを達成する一方、TensorRTでの速度はYOLOv7の各バリアントに大きく劣っており、GPUで加速するリアルタイム物体検出におけるYOLOv7の優位性が際立っています。
物体検出の進化:YOLO26#
YOLOv7とEfficientDetは重要な基盤を築きましたが、ビジョンAIの分野は急速に進化しています。効率と精度の最高水準が求められる最新のアプリケーションには、2026年1月にリリースされたYOLO26へのアップグレードを強く推奨します。
YOLO26は従来世代に固有の制約に対応し、物体検出、インスタンスセグメンテーション、画像分類、姿勢推定など、幅広いタスクで前例のない汎用性を実現します。
YOLO26の主な革新点#
- エンドツーエンドのNMSフリーデザイン: YOLO26には、後処理の非極大値抑制(NMS)を省略するオプションのワンツーワンヘッド(
nms=False)があります。YOLOv10で初めて導入されたこの設計により、デプロイロジックが簡素化され、物体の密度にかかわらず、一貫した低レイテンシーの実行が保証されます。 - DFLの削除: Distribution Focal Loss(DFL)を削除することでモデルアーキテクチャが大幅に簡素化され、厳しい制約のあるエッジコンピューティング環境との互換性が向上します。
- CPU推論を最大43%高速化: 専用GPUのない環境向けに徹底的に最適化されており、軽量ハードウェアに最適です。
- MuSGDオプティマイザー: 大規模言語モデルの手法(Moonshot AIのKimi K2など)に着想を得た、SGDとMuonのハイブリッドにより、コンピュータビジョンの学習にLLMレベルの安定性と高速な収束をもたらします。
- ProgLoss + STAL: これらの高度な損失関数は、小さな物体の認識を大きく向上させます。これは、航空画像やドローンアプリケーションに不可欠な機能です。
- タスク固有の改善: セグメンテーションタスク向けのSemantic segmentation lossとmulti-scale proto、複雑な姿勢推定向けのResidual Log-Likelihood Estimation(RLE)、および回転バウンディングボックス(OBB)の境界問題を解決する専用の角度損失を備えています。
従来のシステムを現在使用しているチームは、Ultralytics Platformへ移行することで、これらの最先端モデルを簡単に学習・デプロイできる効率的なワークフローを利用できます。また、特定の後方互換性要件に応じて、YOLO11やYOLOv8など、以前の堅牢なバージョンも検討できます。
効率的な学習と使いやすさ#
Ultralyticsモデルの特徴の1つは、非常に優れた使いやすさです。EfficientDetのTensorFlow AutoML環境に必要な複雑で依存関係の多いセットアップとは異なり、UltralyticsはシンプルでPythonらしいAPIを提供します。
この環境では学習時のCUDAメモリ使用量を抑えられるため、大規模なデータセットでも、巨大なTransformerベースのアーキテクチャでよく見られるメモリ不足(OOM)エラーを起こさず効率的に処理できます。
コード例:Ultralyticsを使い始める#
以下のコード例では、開発者がUltralyticsパッケージを活用して、最先端のYOLO26モデルをすぐにシームレスに学習する方法を示します。
from ultralytics import YOLO
# Initialize the state-of-the-art YOLO26 model for object detection
model = YOLO("yolo26n.pt")
# Train the model effortlessly using the integrated Ultralytics ecosystem
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device=0, # GPU index; use device='cpu' to train on CPU
batch=16,
)
# Validate the model's performance
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the model for edge deployment (e.g., OpenVINO for CPU optimization)
model.export(format="openvino")最適なユースケースと実際の応用例#
ソリューションを設計する際は、モデルの強みを特定のユースケースに合わせることが不可欠です。
EfficientDetを活用するケース#
EfficientDetは、従来の学術研究や、複合スケーリング実験を主な目的とするGoogle Cloudエコシステムに厳密に依存した環境では、依然として候補になります。小型のバリアント(d0~d2)は、ディスク容量が極めて限られている場合に役立ちます。
YOLOv7の活用に適したケース#
YOLOv7は高性能な従来型のセットアップで優れた性能を発揮し、特にTensorFlowよりPyTorchとの統合が好まれる環境に適しています。次の用途で広く導入されています。
- ビデオ分析: GPUアクセラレーションを十分に利用できる環境で、高フレームレートのセキュリティ映像ストリームを処理します。
- 産業検査: 高速で動く製造ライン上の欠陥を特定します。
YOLO26を選ぶ場合#
新たにデプロイする場合は、YOLO26を強く推奨します。比類のないパフォーマンスバランスと、堅牢な保守性の高いエコシステムにより、次の用途に最適です。
- スマートシティと交通管理: NMSフリー設計により、一貫した推論レイテンシーが実現します。これはリアルタイムの交通調整に不可欠です。
- ロボティクスと自律システム: CPU推論速度が43%向上するため、組み込みデバイス上のナビゲーションアルゴリズムの応答性が大きく高まります。
- 農業および航空モニタリング: ProgLossとSTALを活用し、高高度から撮影した画像で特定の作物や野生動物などの小さな物体を正確に特定します。
まとめると、EfficientDetとYOLOv7は歴史的背景や特定のニッチな用途において価値がありますが、現代のコンピュータビジョンエンジニアには、従来のボトルネックを巧みに解消し、人工知能の可能性をさらに広げるUltralytics YOLO26アーキテクチャの採用が最適です。