Ultralytics YOLOv8をご覧ください
概要
Ultralytics によって YOLOv8 が2023年1月10日にリリースされ、精度と速度の面で最先端のパフォーマンスを提供しています。従来の YOLO バージョンの改良に基づいて、YOLOv8 は、広範なアプリケーションにおけるさまざまな物体検出タスクに最適な選択肢となる新機能と最適化を導入しました。
見る: Ultralytics YOLOv8モデルの概要
YOLOv8の主な機能
- 高度なバックボーンとネックのアーキテクチャ: YOLOv8は、最先端のバックボーンとネックのアーキテクチャを採用しており、特徴抽出とオブジェクト検出のパフォーマンスが向上しています。
- Anchor-free Split Ultralytics Head: YOLOv8は、アンカーフリーのスプリットUltralyticsヘッドを採用しており、アンカーベースのアプローチと比較して、より優れた精度とより効率的な検出プロセスに貢献します。
- 最適化された精度と速度のトレードオフ: 精度と速度の最適なバランスを重視したYOLOv8は、多様なアプリケーション領域におけるリアルタイム物体検出タスクに適しています。
- 多様な事前学習済みモデル: YOLOv8は、さまざまなタスクとパフォーマンス要件に対応するために、幅広い事前学習済みモデルを提供しており、特定のユースケースに最適なモデルを簡単に見つけることができます。
サポートされているタスクとモード
YOLOv8シリーズは、コンピュータービジョンにおける特定のタスクに特化した多様なモデルを提供します。これらのモデルは、オブジェクト検出から、インスタンスセグメンテーション、ポーズ/キーポイント検出、指向性オブジェクト検出、分類などのより複雑なタスクまで、さまざまな要件に対応するように設計されています。
YOLOv8シリーズの各バリアントは、それぞれのタスクに合わせて最適化されており、高いパフォーマンスと精度を保証します。さらに、これらのモデルは、推論、検証、トレーニング、エクスポートを含むさまざまな動作モードと互換性があり、展開と開発のさまざまな段階での使用を容易にします。
モデル | ファイル名 | タスク | 推論 | 検証 | 学習 | エクスポート |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
インスタンスセグメンテーション | ✅ | ✅ | ✅ | ✅ |
YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
ポーズ/キーポイント | ✅ | ✅ | ✅ | ✅ |
YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt |
傾斜検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt |
分類 | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv8モデルのバリアントの概要を示し、特定のタスクへの適用性と、推論、検証、トレーニング、エクスポートなどのさまざまな動作モードとの互換性を強調しています。これは、YOLOv8シリーズの多様性と堅牢性を示しており、コンピュータビジョンのさまざまなアプリケーションに適しています。
パフォーマンス指標
パフォーマンス
Detection Docsを参照してください。これらのモデルはCOCOで学習されており、80個の学習済みクラスが含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
Detection Docsを参照してください。これらのモデルはOpen Image V7で学習されており、600個の学習済みクラスが含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
YOLOv8s | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
YOLOv8m | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
YOLOv8l | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
YOLOv8x | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
Segmentation Docsを参照してください。これらのモデルはCOCOで学習されており、80個の学習済みクラスが含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
mAPbox 50-95 |
mAPmask 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-seg | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-seg | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-seg | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-seg | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-seg | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
Classification Docsを参照してください。これらのモデルはImageNetで学習されており、1000個の学習済みクラスが含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
acc top1 |
acc top5 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) at 224 |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 0.5 |
YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 1.7 |
YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 5.3 |
YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 12.3 |
YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 19.0 |
Pose Estimation Docsを参照してください。これらのモデルはCOCOで学習されており、1つの学習済みクラス「person」が含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
mAPpose 50-95 |
mAPpose 50 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-pose | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-pose | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-pose | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-pose | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-pose | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
Oriented Detection Docsを参照してください。これらのモデルはDOTAv1で学習されており、15個の学習済みクラスが含まれています。使用例が記載されています。
モデル | サイズ (ピクセル) |
mAPtest 50 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n-obb | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-obb | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-obb | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-obb | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-obb | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
YOLOv8の使用例
この例では、シンプルな YOLOv8 のトレーニングと推論の例を紹介します。これらおよびその他のモードに関する完全なドキュメントについては、Predict、Train、Val、Exportのドキュメントページを参照してください。
以下の例は、物体検出用のYOLOv8 Detectモデルに関するものであることに注意してください。その他のサポートされているタスクについては、Segment、Classify、OBB、およびPoseのドキュメントを参照してください。
例
PyTorch 学習済み *.pt
モデルおよび構成 *.yaml
filesを以下に渡すことができます。 YOLO()
pythonでモデルインスタンスを作成するためのclass:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.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 YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLIコマンドは、モデルを直接実行するために利用できます。
# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg
引用と謝辞
Ultralytics YOLOv8の公開
Ultralyticsは、モデルの急速な進化に対応するため、YOLOv8に関する正式な研究論文を発表していません。静的なドキュメントを作成するよりも、テクノロジーを進歩させ、使いやすくすることに重点を置いています。YOLOアーキテクチャ、機能、および使用法に関する最新情報については、GitHubリポジトリおよびドキュメントを参照してください。
YOLOv8 モデルまたはこのリポジトリのその他のソフトウェアを研究で使用する場合は、次の形式で引用してください。
@software{yolov8_ultralytics,
author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
title = {Ultralytics YOLOv8},
version = {8.0.0},
year = {2023},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
DOIは申請中であり、利用可能になり次第、引用に追加されます。YOLOv8モデルは、AGPL-3.0およびEnterpriseライセンスの下で提供されます。
よくある質問
YOLOv8とは何ですか?また、以前のYOLOバージョンとどのように異なりますか?
YOLOv8は、高度な機能により、リアルタイムの物体検出パフォーマンスを向上させるように設計されています。以前のバージョンとは異なり、YOLOv8は、アンカーフリーのスプリットUltralyticsヘッド、最先端のバックボーンおよびネックアーキテクチャを組み込み、最適化された精度と速度のトレードオフを提供し、多様なアプリケーションに最適です。詳細については、概要と主な機能のセクションを確認してください。
YOLOv8をさまざまなコンピュータビジョンタスクに使用するにはどうすればよいですか?
YOLOv8は、物体検出、インスタンスセグメンテーション、ポーズ/キーポイント検出、方向付き物体検出、および分類を含む、幅広いコンピュータビジョンタスクをサポートしています。各モデルバリアントは、特定のタスク向けに最適化されており、推論、検証、トレーニング、およびエクスポートなどのさまざまな動作モードと互換性があります。詳細については、サポートされているタスクとモードセクションを参照してください。
YOLOv8モデルのパフォーマンス指標は何ですか?
YOLOv8モデルは、さまざまなベンチマークデータセットで最先端のパフォーマンスを達成しています。たとえば、YOLOv8nモデルは、COCOデータセットで37.3のmAP(平均適合率)と、A100 TensorRTで0.99 msの速度を達成しています。さまざまなタスクとデータセットにおける各モデルバリアントの詳細なパフォーマンス指標は、パフォーマンス指標セクションにあります。
YOLOv8 モデルをトレーニングするにはどうすればよいですか?
YOLOv8モデルの学習は、PythonまたはCLIのいずれかを使用して実行できます。以下は、COCO8データセットでCOCO事前学習済みYOLOv8モデルを使用してモデルを100エポック学習させる例です。
例
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
詳細については、トレーニングに関するドキュメントをご覧ください。
YOLOv8 モデルのパフォーマンスをベンチマークできますか?
はい、YOLOv8モデルは、さまざまなエクスポート形式での速度と精度の点でパフォーマンスをベンチマークできます。ベンチマークには、PyTorch、ONNX、TensorRTなどを使用できます。以下は、pythonとCLIを使用したベンチマークのコマンド例です。
例
from ultralytics.utils.benchmarks import benchmark
# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
詳細については、パフォーマンス指標のセクションをご確認ください。