ultralytics/yolov3
PyTorch implementation of YOLOv3, YOLOv3-SPP, and YOLOv3-tiny for real-time object detection with training, validation, inference, and multi-format export.
📦 Ultralytics YOLOv3 とは何ですか?
Ultralytics YOLOv3 は、古典的な YOLOv3 オブジェクト検出モデルのオープンソース PyTorch 実装です。独自のデータまたは COCO ベンチマーク上で、YOLOv3、YOLOv3‑SPP、YOLOv3‑tiny の3つの完成済みバリアントを、学習、検証、推論、エクスポート できます。
🚀 主な機能(README に記載)
| 機能 | 詳細 |
|---|---|
| リアルタイム単段階検出 | 1回の順伝播でバウンディングボックスとクラス確率が生成されます。 |
| 3種類のモデルサイズ | • YOLOv3 – 完全な Darknet‑53 ベース(最適な速度/精度バランス) |
| • YOLOv3‑SPP – 空間ピラミッドプーリングを追加し、わずかに精度を向上 | |
| • YOLOv3‑tiny – 軽量で、CPU/エッジデバイス向けの2スケールモデル。 | |
| マルチスケール予測 | 3つの特徴マップスケールにより、小・中・大サイズのオブジェクトを検出。 |
| マルチラベル対応 | 独立したロジスティック分類器により、重複するクラスラベルを許容。 |
| 多数のフォーマットへのエクスポート | export.py を通じて TorchScript、ONNX、OpenVINO、TensorRT、CoreML、PaddlePaddle に対応。 |
| 統合機能 | Weights & Biases、Comet ML、Roboflow、Intel OpenVINO、クラウドノートブック(Colab、Kaggle、Gradient、Docker、SageMaker、GCP など)と連携可能。 |
| 事前学習済み COCO チェックポイント | 自動ダウンロード(yolov3.pt、yolov3‑spp.pt、yolov3‑tiny.pt)。 |
| 学習ユーティリティ | train.py、val.py、detect.py スクリプト;ハイパーパラメータチューニング、マルチGPU、テスト時増強(TTA)、アンサンブル。 |
🛠️ すぐに始める(README のクイックスタート)
# クローンとインストール
git clone https://github.com/ultralytics/yolov3
cd yolov3
pip install -r requirements.txt # Python ≥3.8, PyTorch ≥1.8
PyTorch Hub による推論
import torch
model = torch.hub.load('ultralytics/yolov3', 'yolov3', pretrained=True) # もしくは yolov3_spp / yolov3_tiny
results = model('https://ultralytics.com/images/zidane.jpg')
results.print() # コンソール出力
results.show() # ポップアップウィンドウ
results.save() # runs/detect/exp に保存
組み込みスクリプトによる推論
python detect.py --weights yolov3.pt --source 0 # ウェブカメラ
python detect.py --weights yolov3.pt --source img.jpg # 単一画像
python detect.py --weights yolov3.pt --source vid.mp4 # 動画ファイル
COCO での学習(--weights '' を指定してから学習を開始)
python train.py --data coco.yaml --epochs 300 --weights '' \
--cfg yolov3.yaml --batch-size 32 # 完全モデル
python train.py --data coco.yaml --epochs 300 --weights '' \
--cfg yolov3-tiny.yaml --batch-size 64 # タイニーモデル
検証とエクスポート:
python val.py --weights yolov3.pt --data coco.yaml
python export.py --weights yolov3.pt --include onnx # torchscript, openvino なども追加可能
📚 ドキュメントとヘルプ
- 完全なドキュメント: https://docs.ultralytics.com/models/yolov3
- README にリンクされたチュートリアル(カスタムデータ、マルチGPU、TTA、アンサンブル、ハイパーパラメータチューニングなど)。
- GitHub Issues、Discord、Reddit、Ultralytics フォーラムによるコミュニティサポート。
📄 ライセンス
- AGPL‑3.0:オープンソース利用(研究、非商業用途)。
- エンタープライズライセンス:商業製品向けに利用可能。
🎯 どんな人が使うべき?
- オブジェクト検出の明確なベースラインが必要な研究者。
- GPU、CPU、エッジデバイス上でリアルタイム検出アプリを開発する開発者。
- 1つのコードベースで学習、推論、デプロイフォーマットへのエクスポートを統合したいチーム。
- 上記のすべての情報は、リポジトリの README から直接取得したものであり、追加機能は一切推測されていません。*
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト