物体検出
物体検出とは、画像やビデオストリーム内の物体の位置とクラスを特定するタスクです。
物体検出器の出力は、画像内の物体を囲む一連のバウンディングボックスであり、各ボックスにはクラスラベルと信頼度スコアが付けられます。シーン内の関心対象を識別する必要があるが、その物体の正確な位置や形状までは必要ない場合に、物体検出が適しています。
視聴する: Ultralyticsの事前訓練済みYOLOv8モデルによる物体検出。
ヒント
YOLOv8 Detectモデルは、デフォルトのYOLOv8モデル、つまりyolov8n.pt
であり、COCOで事前訓練されています。
モデル
事前訓練されたYOLOv8 Detectモデルがこちらに示されます。Detect, Segment, PoseモデルはCOCOデータセットで、ClassifyモデルはImageNetデータセットで事前訓練されています。
モデルは、最初の使用時にUltralyticsの最新のリリースから自動的にダウンロードされます。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
パラメータ数 (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 |
- mAPval の値はCOCO val2017データセットにおいて、単一モデル単一スケールでのものです。
再現方法:yolo val detect data=coco.yaml device=0
- 速度 はAmazon EC2 P4dインスタンスを使用してCOCO val画像に対して平均化されたものです。
再現方法:yolo val detect data=coco128.yaml batch=1 device=0|cpu
トレーニング
YOLOv8nを画像サイズ640でCOCO128データセットに対して100エポックでトレーニングします。使用可能な引数の完全なリストについては、設定ページをご覧ください。
例
# YAMLから新しいモデルを作成し、ゼロからトレーニングを開始
yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640
# 事前訓練済みの*.ptモデルからトレーニングを開始
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
# YAMLから新しいモデルを作成し、事前訓練済みの重みを転送してトレーニングを開始
yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
データセットの形式
YOLO検出データセットの形式の詳細は、データセットガイドに記載されています。他の形式(COCO等)からYOLO形式に既存のデータセットを変換するには、UltralyticsのJSON2YOLOツールをご利用ください。
検証
トレーニングされたYOLOv8nモデルの精度をCOCO128データセットで検証します。引数は不要で、モデルはトレーニングのdata
と引数をモデル属性として保持しています。
例
予測
トレーニングされたYOLOv8nモデルを使用して画像の予測を実行します。
例
predict
モードの詳細は、Predictページで全て見ることができます。
エクスポート
YOLOv8nモデルをONNX、CoreMLなどの異なるフォーマットにエクスポートします。
例
YOLOv8エクスポート可能なフォーマットのテーブルは以下です。エクスポート完了後に、エクスポートされたモデルで直接予測または検証が可能です。つまり、yolo predict model=yolov8n.onnx
です。使用例はエクスポート完了後にモデルに表示されます。
フォーマット | format 引数 |
モデル | メタデータ | 引数 |
---|---|---|---|---|
PyTorch | - | yolov8n.pt |
✅ | - |
TorchScript | torchscript |
yolov8n.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n_openvino_model/ |
✅ | imgsz , half |
TensorRT | engine |
yolov8n.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
✅ | imgsz , keras |
TF GraphDef | pb |
yolov8n.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n_ncnn_model/ |
✅ | imgsz , half |
export
の詳細は、Exportページで全て見ることができます。