コンテンツへスキップ

YOLOv3、YOLOv3-Ultralytics 、YOLOv3u

概要

本書は、密接に関連する3つの物体検出モデル、すなわちYOLOv3、YOLOv3-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:3つの異なるサイズの検出カーネルを活用し、3つの異なるスケールの検出を導入:13x13、26x26、52x52。これにより、異なるサイズのオブジェクトの検出精度が大幅に向上しました。さらに、YOLOv3では、各バウンディングボックスのマルチラベル予測や、より優れた特徴抽出ネットワークなどの機能が追加されました。

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

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

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

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

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

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

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

使用例

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

例

PyTorch じゅくれんした *.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は、ジョセフ・レッドモン(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 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}
}

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



作成日:2023-11-12 更新日:2024-07-04
作成者:glenn-jocher(9)

コメント