コンテンツへスキップ

YOLOv3、YOLOv3u

概要

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

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

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

Ultralytics YOLOv3

主な特徴

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

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

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

YOLOv3は、特に次のような目的で設計されている。 オブジェクト検出 タスクUltralytics 3種類のYOLOv3をサポートしている: yolov3u, yolov3-tinyu そして yolov3-sppu.その u YOLOv8のアンカー・フリー・ヘッドを利用していることを意味する。アンカー・ベースのオリジナル・アーキテクチャとは異なる。これらのモデルは、様々な実世界のシナリオにおいて、精度と速度のバランスを保ちながら有効であることで有名である。それぞれのモデルはユニークな機能と最適化を提供し、様々なアプリケーションに適している。

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

モデルタイプ プレトレーニング・ウェイト 対応タスク 推論 バリデーション トレーニング 輸出
YOLOv3(u) yolov3u.pt 物体検出
YOLOv3-タイニー(u) yolov3-tinyu.pt 物体検出
YOLOv3u-SPP(u) yolov3-sppu.pt 物体検出

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

使用例

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

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")

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

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

# Load a COCO-pretrained YOLOv3u model and run inference on the 'bus.jpg' image
yolo predict model=yolov3u.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 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)
# Load a COCO-pretrained YOLOv3u model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov3u.pt data=coco8.yaml epochs=100 imgsz=640

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

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

YOLOv3uは、YOLOv3およびYOLOv3-Ultralytics 改良し、YOLOv8 モデルで使用されているアンカー・フリー、オブジェクトネス・フリーのスプリット・ヘッドを搭載しています。このアップグレードにより、あらかじめ定義されたアンカー・ボックスやオブジェクトネス・スコアが不要になり、さまざまなサイズや形状のオブジェクトをより正確に検出できるようになりました。これにより、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")
# Load a COCO-pretrained YOLOv3u model and run inference on the 'bus.jpg' image
yolo predict model=yolov3u.pt source=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}
}

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

📅作成:1年前 ✏️更新しました 25日前

コメント