コンテンツにスキップ

Ultralytics YOLOv8をご覧ください

概要

Ultralytics によって YOLOv8 が2023年1月10日にリリースされ、精度と速度の面で最先端のパフォーマンスを提供しています。従来の YOLO バージョンの改良に基づいて、YOLOv8 は、広範なアプリケーションにおけるさまざまな物体検出タスクに最適な選択肢となる新機能と最適化を導入しました。

Ultralytics 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 のトレーニングと推論の例を紹介します。これらおよびその他のモードに関する完全なドキュメントについては、PredictTrainValExportのドキュメントページを参照してください。

以下の例は、物体検出用のYOLOv8 Detectモデルに関するものであることに注意してください。その他のサポートされているタスクについては、SegmentClassifyOBB、および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

詳細については、パフォーマンス指標のセクションをご確認ください。



📅 1年前に作成 ✏️ 5ヶ月前に更新

コメント