コンテンツへスキップ

YOLOv3、YOLOv3-Ultralytics 、YOLOv3u

概要

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

  1. YOLOv3:これはYou Only Look Once (YOLO) オブジェクト検出アルゴリズムの3番目のバージョンです。元々Joseph Redmonによって開発されたYOLOv3は、マルチスケール予測や3つの異なるサイズの検出カーネルなどの機能を導入することで、前作を改良した。

  2. YOLOv3-Ultralytics :これはUltralytics' YOLOv3モデルの実装である。オリジナルのYOLOv3アーキテクチャを再現し、より多くの事前学習済みモデルのサポートや、より簡単なカスタマイズオプションなどの追加機能を提供します。

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

Ultralytics YOLOv3

主な特徴

  • YOLOv3: Introduced the use of three different scales for detection, leveraging three different sizes of detection kernels: 13x13, 26x26, and 52x52. This significantly improved detection accuracy for objects of different sizes. Additionally, YOLOv3 added features such as multi-label predictions for each bounding box and a better feature extractor network.

  • YOLOv3-Ultralytics : UltralyticsYOLOv3の実装は、オリジナルのモデルと同じ性能を提供するが、より多くの事前学習済みモデル、追加学習方法、より簡単なカスタマイズオプションのサポートが追加されている。これにより、実用的なアプリケーションにおいて、より汎用的でユーザーフレンドリーなものとなっている。

  • YOLOv3u:この更新されたモデルは、YOLOv8 のアンカーフリー、オブジェクトネスフリーのスプリットヘッドを組み込んでいます。あらかじめ定義されたアンカーボックスとオブジェクトネススコアの必要性を排除することで、この検出ヘッド設計は、さまざまなサイズと形状のオブジェクトを検出するモデルの能力を向上させます。これにより、YOLOv3uは物体検出タスクに対してよりロバストで正確なものとなります。

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

YOLOv3、YOLOv3-Ultralytics 、YOLOv3uを含むYOLOv3シリーズは、物体検出タスク専用に設計されています。これらのモデルは、実世界のさまざまなシナリオにおいて、精度とスピードのバランスを保ちながら、その有効性を発揮することで知られています。それぞれのモデルはユニークな機能と最適化を提供し、様々なアプリケーションに適しています。

All three models support a comprehensive set of modes, ensuring versatility in various stages of model deployment and development. These modes include Inference, Validation, Training, and Export, providing users with a complete toolkit for effective object detection.

モデル・タイプ対応タスク推論バリデーショントレーニング輸出
YOLOv3物体検出
YOLOv3Ultralytics物体検出
YOLOv3u物体検出

この表は、YOLOv3の各バリアントの能力を一目で示すもので、物体検出ワークフローにおけるさまざまなタスクや運用モードに対する汎用性と適合性を強調しています。

使用例

この例では、簡単なYOLOv3のトレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントは、PredictTrainValExportのドキュメントページを参照してください。

PyTorch pretrained *.pt モデルおよび構成 *.yaml ファイルに渡すことができる。 YOLO() クラスを使用して、python にモデルのインスタンスを作成します:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.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 YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

CLI コマンドでモデルを直接実行できる:

# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=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を開発してくれたジョセフ・レッドモンとアリ・ファルハディに感謝する。

よくあるご質問

YOLOv3、YOLOv3-Ultralytics 、YOLOv3uの違いは何ですか?

YOLOv3 is the third iteration of the YOLO (You Only Look Once) object detection algorithm developed by Joseph Redmon, known for its balance of accuracy and speed, utilizing three different scales (13x13, 26x26, and 52x52) for detections. YOLOv3-Ultralytics is Ultralytics' adaptation of YOLOv3 that adds support for more pre-trained models and facilitates easier model customization. YOLOv3u is an upgraded variant of YOLOv3-Ultralytics, integrating the anchor-free, objectness-free split head from YOLOv8, improving detection robustness and accuracy for various object sizes. For more details on the variants, refer to the YOLOv3 series.

Ultralytics を使ってYOLOv3モデルをトレーニングするには?

Ultralytics 、YOLOv3モデルのトレーニングは簡単です。Python またはCLI のどちらかを使ってモデルをトレーニングすることができる:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLOv3n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3n.pt data=coco8.yaml epochs=100 imgsz=640

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

YOLOv3uが物体検出タスクでより正確なのはなぜですか?

YOLOv3uは、YOLOv3およびYOLOv3-Ultralytics を改良し、YOLOv8 モデルで使用されているアンカー・フリー、オブジェクトネス・フリーのスプリット・ヘッドを搭載しています。このアップグレードにより、あらかじめ定義されたアンカーボックスやオブジェクトネススコアが不要になり、さまざまなサイズや形状のオブジェクトをより正確に検出できるようになりました。これにより、YOLOv3uは複雑で多様な物体検出タスクにより適した選択肢となります。詳しくは、なぜYOLOv3uなのかのセクションをご参照ください。

YOLOv3モデルを推論に使用するには?

YOLOv3モデルを使った推論は、Python スクリプトまたはCLI コマンドで実行できる:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3n model
model = YOLO("yolov3n.pt")

# Run inference with the YOLOv3n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
# Load a COCO-pretrained YOLOv3n model and run inference on the 'bus.jpg' image
yolo predict model=yolov3n.pt source=path/to/bus.jpg

YOLO モデルの詳細については、推論モードのドキュメントを参照してください。

YOLOv3とその亜種はどのようなタスクをサポートしていますか?

YOLOv3、YOLOv3-Ultralytics 、およびYOLOv3uは、主に物体検出タスクをサポートする。これらのモデルは、推論、検証、トレーニング、エクスポートなど、モデルの展開と開発のさまざまな段階で使用できます。サポートされるタスクの包括的なセットと詳細については、オブジェクト検出タスクのドキュメントをご覧ください。

研究で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}
}

引用の詳細については、「引用と謝辞」のセクションを参照のこと。

📅 Created 11 months ago ✏️ Updated 28 days ago

コメント