コンテンツにスキップ

Ultralytics YOLOv5

概要

YOLOv5uは、物体検出手法の進化を表しています。Ultralyticsが開発したYOLOv5モデルの基本的なアーキテクチャから派生したYOLOv5uは、YOLOv8モデルで以前に導入されたアンカーフリー、objectnessフリーのスプリットヘッドを統合しています。この改良により、モデルのアーキテクチャが洗練され、物体検出タスクにおける精度と速度のトレードオフが改善されます。実験結果とその派生機能を考慮すると、YOLOv5uは、研究と実用的なアプリケーションの両方で堅牢なソリューションを求める人々にとって効率的な代替手段となります。

Ultralytics YOLOv5

ultralytics/yolov5で学習されたYOLOv5モデルは、ultralytics/ultralyticsライブラリと互換性がありません。

Ultralyticsは、アンカーフリー版のYOLOv5モデルを提供しています。オリジナルのYOLOv5リポジトリで学習されたモデルは、Ultralyticsライブラリでは使用できません。

主な特徴

  • アンカーフリー分割Ultralyticsヘッド: 従来の物体検出モデルは、物体の位置を予測するために事前定義されたアンカーボックスに依存しています。しかし、YOLOv5uはこのアプローチを現代化しました。アンカーフリー分割Ultralyticsヘッドを採用することで、より柔軟で適応性のある検出メカニズムを保証し、その結果、多様なシナリオでの性能を向上させます。

  • 最適化された精度と速度のトレードオフ: 速度と精度は相反する方向に引っ張られることがよくあります。しかし、YOLOv5u はこのトレードオフに挑戦します。バランスの取れた調整を提供し、精度を損なうことなくリアルタイム検出を保証します。この機能は、自動運転車ロボット工学、リアルタイムビデオ分析など、迅速な応答を必要とするアプリケーションにとって特に貴重です。

  • 事前学習済みモデルの多様性:異なるタスクには異なるツールセットが必要であることを理解しYOLOv5uは豊富な事前学習済みモデルを提供します。推論、検証、トレーニングのいずれに焦点を当てていても、あなたにぴったりのモデルが用意されています。この多様性により、万能ソリューションではなく、独自の課題に特化して微調整されたモデルを利用できるのです。

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

YOLOv5uモデルは、様々な事前学習済み重みを備え、物体検出タスクにおいて優れた性能を発揮します。包括的なモードをサポートしているため、開発からデプロイまで多様な用途に適しています。

モデルの種類事前学習済み重みタスク推論検証学習エクスポート
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u物体検出

この表は、YOLOv5uモデルのバリアントの詳細な概要を示し、オブジェクト検出タスクでの適用性と、InferenceValidationTrainingExportなどのさまざまな操作モードのサポートを強調しています。この包括的なサポートにより、ユーザーは幅広いオブジェクト検出シナリオでYOLOv5uモデルの機能を最大限に活用できます。

パフォーマンス指標

パフォーマンス

これらのモデルで訓練された使用例については、検出ドキュメントを参照してください COCOで学習されたこれらのモデルの使用例については、検出ドキュメントを参照してください。これには80の事前学習済みクラスが含まれます。

モデルYAMLサイズ
(ピクセル)
mAP
50-95
速度
CPU ONNX
(ms)
速度
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
yolov5nu.ptyolov5nyaml64034.373.61.062.67.7
yolov5su.ptyolov5syaml64043.0120.71.279.124.0
yolov5mu.ptyolov5myaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5lyaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5xyaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6yaml128056.82436.58.98155.4250.7

使用例

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

PyTorch 学習済み *.pt モデルおよび構成 *.yaml filesを以下に渡すことができます。 YOLO() pythonでモデルインスタンスを作成するためのclass:

from ultralytics import YOLO

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

CLIコマンドは、モデルを直接実行するために利用できます。

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

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

引用と謝辞

Ultralytics YOLOv5の公開

Ultralyticsは、モデルの急速な進化に対応するため、YOLOv5に関する正式な研究論文を発表していません。静的なドキュメントを作成するよりも、テクノロジーを進歩させ、使いやすくすることに重点を置いています。YOLOアーキテクチャ、機能、および使用法に関する最新情報については、GitHubリポジトリおよびドキュメントを参照してください。

YOLOv5またはYOLOv5uを研究にご利用の際は、Ultralytics YOLOv5リポジトリを以下のように引用してください。

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

YOLOv5モデルは、AGPL-3.0およびEnterpriseライセンスの下で提供されることにご注意ください。

よくある質問

Ultralytics YOLOv5uとは何ですか?また、YOLOv5とどのように異なりますか?

Ultralytics YOLOv5uは、YOLOv5の高度なバージョンであり、リアルタイム物体検出タスクの精度と速度のトレードオフを向上させる、アンカーフリー、objectnessフリーのスプリットヘッドを統合しています。従来のYOLOv5とは異なり、YOLOv5uはアンカーフリーの検出メカニズムを採用しており、多様なシナリオでより柔軟かつ適応可能です。その機能の詳細については、YOLOv5の概要を参照してください。

アンカーフリーのUltralyticsヘッドは、YOLOv5uにおける物体検出のパフォーマンスをどのように向上させますか?

YOLOv5uのアンカーフリーUltralyticsヘッドは、事前定義されたアンカーボックスへの依存をなくすことで、オブジェクト検出のパフォーマンスを向上させます。これにより、さまざまなオブジェクトのサイズと形状をより効率的に処理できる、より柔軟で適応性のある検出メカニズムが実現します。この機能強化は、精度と速度のバランスの取れたトレードオフに直接貢献し、YOLOv5uをリアルタイムアプリケーションに適したものにします。アーキテクチャの詳細については、主な機能セクションを参照してください。

事前学習済みYOLOv5uモデルを異なるタスクやモードで使用できますか?

はい、事前学習済みYOLOv5uモデルは物体検出など様々なタスクに使用できます。これらのモデルは推論検証学習エクスポートを含む複数のモードをサポートしています。この柔軟性により、ユーザーは異なる運用要件においてYOLOv5uモデルの機能を活用できます。詳細な概要については、「サポートされているタスクとモード」セクションをご確認ください。

YOLOv5uモデルのパフォーマンス指標は、異なるプラットフォームでどのように異なりますか?

YOLOv5uモデルの性能指標は、使用するプラットフォームやハードウェアによって異なる。例えば、YOLOv5nuモデルは、COCO データセットで34.3mAP 達成し、CPU ONNX)では73.6 ms、A100TensorRT1.06 msの速度でした。さまざまなYOLOv5uモデルの詳細なパフォーマンスメトリクスは、パフォーマンスメトリクスのセクションで見ることができます。

Ultralytics Python APIを使用してYOLOv5uモデルをトレーニングするにはどうすればよいですか?

事前学習済みモデルを読み込み、データセットと共にトレーニングコマンドを実行することで、YOLOv5uモデルのトレーニングが可能です。簡単な例を以下に示します:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.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)
# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

より詳細な手順については、使用例のセクションをご覧ください。



📅 2年前に作成されました✏️ 0日前に更新されました
glenn-jocherRizwanMunawarpderrengerY-T-GLaughing-qMatthewNoyceUltralyticsAssistantBurhan-Q

コメント