ultralytics/yolov3
PyTorch implementation of YOLOv3, YOLOv3-SPP, and YOLOv3-tiny for real-time object detection with training, validation, inference, and multi-format export.
解決する課題
このプロジェクトは、画像や動画内の物体を識別・特定するリアルタイム物体検出モデルであるYOLOv3のPyTorch実装を提供します。これは、単一のパスで様々なサイズ(小、中、大)の複数の物体を検出するために、高速で正確、かつデプロイが容易なシステムが必要であるという問題を解決します。
仕組み
YOLOv3は物体検出を単一の回帰問題として扱い、1回のフォワードパスで画像全体からバウンディングボックスとクラス確率を直接予測します。特徴抽出にはDarknet-53バックボーンを使用し、3つの異なるスケールで予測を行うために特徴ピラミッド形式のデザインを採用しています。また、トレーニングを安定させるためのアンカーボックスと、単一の物体に複数のラベルを許可するための独立したロジスティック分類器を採用しています。
対象者
高性能GPUへのデプロイから、CPUやエッジデバイス(YOLOv3-tinyバリアント経由)を対象とするものまで、リアルタイムの物体検出機能を必要とする開発者や研究者向けに設計されています。
ハイライト
- 3つのモデルバリアント: YOLOv3(バランス型)、YOLOv3-SPP(Spatial Pyramid Poolingによる精度向上)、YOLOv3-tiny(速度とエッジデバイス向けに最適化)が含まれます。
- 包括的なツール群: トレーニング、検証、推論、およびONNX、TensorRT、CoreMLなどの形式へのモデルエクスポート用の組み込みスクリプトを提供します。
- マルチスケール検出: マルチスケール特徴マップを通じて、様々なサイズの物体を効率的に処理します。
- PyTorch Hub統合: わずか数行のコードで、プログラムから学習済みモデルをロードできます。