YOLOv3 および YOLOv3u

概要

本書では、密接に関連する3つの物体検出モデル、すなわち YOLOv3YOLOv3-Ultralytics、および YOLOv3u の概要を紹介します。

  1. YOLOv3: これは、You Only Look Once (YOLO) 物体検出アルゴリズムの第3版です。Joseph Redmonによって最初に開発されたYOLOv3は、マルチスケール予測や3種類の検出カーネルサイズといった機能を導入することで、前モデルを改良しました。

  2. YOLOv3u: これは、YOLOv8モデルで使用されているアンカーフリーかつオブジェクトネスフリーのスプリットヘッドを組み込んだ、YOLOv3-Ultralyticsのアップデート版です。YOLOv3uは、YOLOv3と同じ バックボーン とネックアーキテクチャを維持しつつ、YOLOv8の最新の 検出ヘッド を採用しています。

YOLOv3 物体検出モデルバナー

主な特徴

  • YOLOv3: 13x13、26x26、52x52という3種類の検出カーネルサイズを活用し、検出に3つの異なるスケールを使用する手法を導入しました。これにより、さまざまなサイズの物体に対する検出精度が大幅に向上しました。さらに、YOLOv3では、各 バウンディングボックス に対するマルチラベル予測や、より優れた特徴抽出ネットワークなどの機能が追加されました。

  • YOLOv3u: このアップデートされたモデルには、YOLOv8のアンカーフリーかつオブジェクトネスフリーのスプリットヘッドが組み込まれています。事前に定義されたアンカーボックスやオブジェクトネススコアを不要にすることで、この検出ヘッド設計は、さまざまなサイズや形状の物体を検出するモデルの能力を向上させることができます。これにより、YOLOv3uは物体検出タスクにおいてより堅牢かつ正確なものとなります。

サポートされているタスクとモード

YOLOv3は、特に 物体検出 タスク向けに設計されています。Ultralyticsは、yolov3uyolov3-tinyuyolov3-sppu の3つのYOLOv3バリエーションをサポートしています。名前にある u は、アンカーベースであるオリジナルのアーキテクチャとは異なり、これらがYOLOv8のアンカーフリーヘッドを利用していることを示しています。これらのモデルは、精度と速度のバランスが取れており、さまざまな現実世界のシナリオで有効であることで知られています。各バリエーションは独自の機能と最適化を提供し、幅広いアプリケーションに適しています。

これら3つのモデルはすべて、包括的なモードセットをサポートしており、モデルデプロイ および開発のさまざまな段階で汎用性を確保しています。これらのモードには、推論検証トレーニング、および エクスポート が含まれており、効果的な物体検出のための完全なツールキットをユーザーに提供します。

モデルタイプ事前学習済み重みサポートタスク推論 (Inference)検証学習Export
YOLOv3(u)yolov3u.pt物体検出
YOLOv3-Tiny(u)yolov3-tinyu.pt物体検出
YOLOv3u-SPP(u)yolov3-sppu.pt物体検出

この表は、各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、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)

より包括的なトレーニングオプションとガイドラインについては、トレーニングモードのドキュメント をご覧ください。

YOLOv3uが物体検出タスクにおいてより正確である理由はなぜですか?

YOLOv3uは、YOLOv8モデルで使用されているアンカーフリーかつオブジェクトネスフリーのスプリットヘッドを組み込むことで、YOLOv3およびYOLOv3-Ultralyticsを改良しています。このアップグレードにより、事前に定義されたアンカーボックスやオブジェクトネススコアが不要となり、さまざまなサイズや形状の物体をより正確に検出する能力が強化されています。これにより、YOLOv3uは複雑で多様な物体検出タスクに適した選択肢となります。詳細については、主な機能 セクションを参照してください。

YOLOv3モデルを推論に使用するにはどうすればよいですか?

YOLOv3モデルを使用した推論は、PythonスクリプトまたはCLIコマンドのいずれかで行うことができます。

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}
}

引用の詳細については、引用と謝辞 セクションを参照してください。

コメント