YOLOv3 および YOLOv3u#
概要#
このドキュメントでは、密接に関連する3つのオブジェクト検出モデル、具体的には YOLOv3、YOLOv3-Ultralytics、YOLOv3u の概要について説明します。
-
YOLOv3: これは、You Only Look Once (YOLO) 物体検出アルゴリズムの第3バージョンです。Joseph Redmonによって最初に開発されたYOLOv3は、マルチスケール予測や3種類の異なるサイズの検出カーネルなどの機能を導入することで、従来モデルを改良しました。
-
YOLOv3u: これは、YOLOv8モデルで使用されているアンカーフリー、オブジェクトネスフリーの分離ヘッドを組み込んだ、YOLOv3-Ultralyticsのアップデート版です。YOLOv3uは、YOLOv3と同じバックボーンおよびネックのアーキテクチャを維持しつつ、YOLOv8のアップデートされた検出ヘッドを採用しています。

主な特徴#
-
YOLOv3: 検出用に13x13、26x26、52x52という3つの異なるスケールの使用を導入し、3つの異なるサイズの検出カーネルを活用しています。これにより、さまざまなサイズのオブジェクトに対する検出精度が大幅に向上しました。さらに、YOLOv3では、各バウンディングボックスに対するマルチラベル予測や、より優れた特徴抽出ネットワークなどの機能が追加されました。
-
YOLOv3u: このアップデートされたモデルは、YOLOv8のアンカーフリー、オブジェクトネスフリーの分割ヘッドを組み込んでいます。事前に定義されたアンカーボックスやオブジェクトネススコアが不要になるため、この検出ヘッドのデザインにより、さまざまなサイズや形状の物体を検出するモデルの能力が向上します。これにより、YOLOv3uは物体検出タスクにおいてより堅牢で高精度になります。
サポートされるタスクとモード#
YOLOv3は、オブジェクト検出タスク専用に設計されています。Ultralyticsは、yolov3u、yolov3-tinyu、yolov3-sppuの3つのYOLOv3バリアントをサポートしています。名前にある u は、アンカーベースである元のアーキテクチャとは異なり、これらがYOLOv8のアンカーフリーヘッドを利用していることを示しています。これらのモデルは、精度と速度のバランスを取りながら、さまざまな実際のシナリオで効果を発揮することで知られています。各バリアントは独自の機能と最適化を提供し、さまざまなアプリケーションに適しています。
3つのモデルすべてが包括的なモードのセットをサポートしており、モデルのデプロイや開発のさまざまな段階で汎用性を確保しています。これらのモードには、推論、検証、トレーニング、エクスポートが含まれており、効果的なオブジェクト検出のための完全なツールキットをユーザーに提供します。
| モデルタイプ | 事前学習済みウェイト | サポートされるタスク | トレーニング | バリデーション | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | Object Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | Object Detection | ✅ | ✅ | ✅ | ✅ |
この表は、各YOLOv3バリアントの機能が一目でわかるように示しており、物体検出ワークフローにおけるさまざまなタスクや運用モードに対する汎用性と適合性を強調しています。
使用例#
この例では、シンプルなYOLOv3のトレーニングと推論の例を提供しています。これらおよびその他のモードに関する完全なドキュメントについては、予測、トレーニング、検証、エクスポートのドキュメントページを参照してください。
PyTorchの事前学習済み *.pt モデル、および設定 *.yaml ファイルを YOLO() クラスに渡すことで、pythonでモデルインスタンスを作成できます:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")引用と謝辞#
研究でYOLOv3を使用する場合は、元のYOLOの論文およびUltralytics YOLOv3リポジトリを引用してください。
@article{redmon2018yolov3,
title={YOLOv3: An Incremental Improvement},
author={Redmon, Joseph and Farhadi, Ali},
journal={arXiv preprint arXiv:1804.02767},
year={2018}
}元のYOLOv3を開発してくださったJoseph Redmon氏とAli Farhadi氏に感謝いたします。
よくある質問 (FAQ)#
YOLOv3は、Joseph Redmonによって開発されたYOLO(You Only Look Once)オブジェクト検出アルゴリズムの第3世代であり、精度と速度のバランスで知られ、検出に3つの異なるスケール(13x13、26x26、52x52)を利用しています。YOLOv3-Ultralyticsは、より多くの事前トレーニング済みモデルのサポートを追加し、モデルのカスタマイズを容易にする、YOLOv3のUltralyticsによる適応版です。YOLOv3uは、YOLOv3-Ultralyticsのアップグレード版バリアントであり、YOLOv8のアンカーフリー、オブジェクトネスフリーの分離ヘッドを統合し、さまざまなオブジェクトサイズに対する検出の堅牢性と精度を向上させています。バリアントの詳細については、YOLOv3シリーズを参照してください。
Ultralyticsを使用したYOLOv3モデルのトレーニングは簡単です。PythonまたはCLIを使用してモデルをトレーニングできます。
例from ultralytics import YOLO # Load a COCO-pretrained YOLOv3u model model = YOLO("yolov3u.pt") # Train the model on the COCO8 example dataset for 100 epochs results = model.train(data="coco8.yaml", epochs=100, imgsz=640)より包括的なトレーニングオプションとガイドラインについては、トレーニングモードのドキュメントをご覧ください。
YOLOv3uは、YOLOv8モデルで使用されているアンカーフリー、オブジェクトネスフリーの分離ヘッドを組み込むことで、YOLOv3およびYOLOv3-Ultralyticsを改良しています。このアップグレードにより、事前定義されたアンカーボックスやオブジェクトネススコアが不要になり、さまざまなサイズや形状のオブジェクトをより正確に検出する機能が強化されます。これにより、YOLOv3uは複雑で多様なオブジェクト検出タスクにとってより良い選択肢となります。詳細については、主な特徴セクションを参照してください。
PythonスクリプトまたはCLIコマンドを使用して、YOLOv3モデルによる推論を実行できます。
例from ultralytics import YOLO # Load a COCO-pretrained YOLOv3u model model = YOLO("yolov3u.pt") # Run inference with the YOLOv3u model on the 'bus.jpg' image results = model("path/to/bus.jpg")YOLOモデルの実行に関する詳細は、推論モードのドキュメントを参照してください。
YOLOv3、YOLOv3-Tiny、およびYOLOv3-SPPは、主にオブジェクト検出タスクをサポートしています。これらのモデルは、推論、検証、トレーニング、エクスポートなど、モデルのデプロイや開発のさまざまな段階で使用できます。サポートされているタスクの包括的なセットと詳細については、オブジェクト検出タスクのドキュメントをご覧ください。
研究でYOLOv3を使用する場合は、元のYOLOの論文およびUltralytics YOLOv3リポジトリを引用してください。BibTeX引用の例:
引用@article{redmon2018yolov3, title={YOLOv3: An Incremental Improvement}, author={Redmon, Joseph and Farhadi, Ali}, journal={arXiv preprint arXiv:1804.02767}, year={2018} }引用の詳細については、引用と謝辞セクションを参照してください。