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 | オブジェクト検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | オブジェクト検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | オブジェクト検出 | ✅ | ✅ | ✅ | ✅ |
この表は、各YOLOv3バリアントの機能が一目でわかるように示しており、物体検出ワークフローにおけるさまざまなタスクや運用モードに対する汎用性と適合性を強調しています。
使用例#
この例では、簡単なYOLOv3のトレーニングと推論の例を示します。これらおよびその他のモードに関する詳細なドキュメントについては、Predict、Train、Val、およびExportのドキュメントページを参照してください。
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、YOLOv3-Ultralytics、YOLOv3uの違いは何ですか?#
YOLOv3は、Joseph Redmonによって開発されたYOLO (You Only Look Once)物体検出アルゴリズムの第3世代であり、精度と速度のバランスで知られており、検出に3つの異なるスケール(13x13、26x26、52x52)を利用します。YOLOv3-Ultralyticsは、より多くの事前学習済みモデルのサポートを追加し、モデルのカスタマイズを容易にする、UltralyticsによるYOLOv3の適応版です。YOLOv3uは、YOLOv3-Ultralyticsのアップグレード版であり、YOLOv8のアンカーフリー、オブジェクトネスフリーの分割ヘッドを統合し、さまざまな物体サイズに対する検出の堅牢性と精度を向上させています。バリアントの詳細については、YOLOv3シリーズを参照してください。
Ultralyticsを使用して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)より包括的なトレーニングオプションとガイドラインについては、Trainモードのドキュメントをご覧ください。
何がYOLOv3uを物体検出タスクにおいてより正確にするのですか?#
YOLOv3uは、YOLOv8モデルで使用されているアンカーフリー、オブジェクトネスフリーの分割ヘッドを組み込むことにより、YOLOv3およびYOLOv3-Ultralyticsを改良しています。このアップグレードにより、事前に定義されたアンカーボックスやオブジェクトネススコアが不要になり、さまざまなサイズや形状の物体をより正確に検出する能力が強化されます。これにより、YOLOv3uは複雑で多様な物体検出タスクにより適した選択肢となります。詳細については、主な機能セクションを参照してください。
推論にYOLOv3モデルを使用するにはどうすればよいですか?#
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、YOLOv3-Tiny、およびYOLOv3-SPPは、主に物体検出タスクをサポートしています。これらのモデルは、推論、検証、トレーニング、エクスポートなど、モデルのデプロイおよび開発のさまざまな段階で使用できます。サポートされているタスクの包括的なセットおよび詳細については、物体検出タスクのドキュメントをご覧ください。
研究でYOLOv3を引用するためのリソースはどこにありますか?#
研究で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}
}引用の詳細については、引用と謝辞セクションを参照してください。