コンテンツへスキップ

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

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

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

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

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

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

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

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

使用例

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

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を開発してくれたジョセフ・レッドモンとアリ・ファルハディに感謝する。



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

コメント