Add Docs languages zh, es, ru, pt, fr, de, ja, ko (#6316)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
e3a538bbde
commit
48e70f0921
144 changed files with 17632 additions and 76 deletions
94
docs/ja/modes/benchmark.md
Normal file
94
docs/ja/modes/benchmark.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8を様々なエクスポート形式でスピードと精度をプロファイリングする方法を学び、mAP50-95、accuracy_top5のメトリクスなどの洞察を得る。
|
||||
keywords: Ultralytics, YOLOv8, ベンチマーク, スピードプロファイリング, 精度プロファイリング, mAP50-95, accuracy_top5, ONNX, OpenVINO, TensorRT, YOLOエクスポート形式
|
||||
---
|
||||
|
||||
# Ultralytics YOLO でのモデルベンチマーク
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLOエコシステムと統合">
|
||||
|
||||
## はじめに
|
||||
|
||||
モデルがトレーニングされ、検証された後、次の論理的なステップは、さまざまな現実世界のシナリオでのパフォーマンスを評価することです。Ultralytics YOLOv8 のベンチマークモードは、さまざまなエクスポート形式でモデルのスピードと精度を評価するための頑健なフレームワークを提供します。
|
||||
|
||||
## ベンチマークが重要な理由は?
|
||||
|
||||
- **情報に基づいた決定:** スピードと精度のトレードオフについての洞察を得る。
|
||||
- **リソース割り当て:** 異なるハードウェアで異なるエクスポート形式がどのように動作するかを理解する。
|
||||
- **最適化:** 特定のユースケースで最高のパフォーマンスを提供するエクスポート形式を学ぶ。
|
||||
- **コスト効率:** ベンチマーク結果に基づいてハードウェアリソースをより効率的に使用する。
|
||||
|
||||
### ベンチマークモードでの主要なメトリクス
|
||||
|
||||
- **mAP50-95:** 物体検出、セグメンテーション、ポーズ推定に使用。
|
||||
- **accuracy_top5:** 画像分類に使用。
|
||||
- **推論時間:** 各画像に要する時間(ミリ秒)。
|
||||
|
||||
### サポートされるエクスポート形式
|
||||
|
||||
- **ONNX:** 最適なCPUパフォーマンスのために
|
||||
- **TensorRT:** 最大限のGPU効率のために
|
||||
- **OpenVINO:** Intelハードウェアの最適化のために
|
||||
- **CoreML, TensorFlow SavedModel など:** 多様なデプロイメントニーズに。
|
||||
|
||||
!!! tip "ヒント"
|
||||
|
||||
* CPUスピードアップのためにONNXまたはOpenVINOにエクスポートする。
|
||||
* GPUスピードアップのためにTensorRTにエクスポートする。
|
||||
|
||||
## 使用例
|
||||
|
||||
ONNX、TensorRTなど、すべてのサポートされるエクスポート形式でYOLOv8nベンチマークを実行します。完全なエクスポート引数のリストについては、以下のArgumentsセクションを参照してください。
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics.utils.benchmarks import benchmark
|
||||
|
||||
# GPUでベンチマーク
|
||||
benchmark(model='yolov8n.pt', data='coco8.yaml', imgsz=640, half=False, device=0)
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0
|
||||
```
|
||||
|
||||
## 引数
|
||||
|
||||
`model`、`data`、`imgsz`、`half`、`device`、`verbose` などの引数は、特定のニーズに合わせてベンチマークを微調整し、さまざまなエクスポート形式のパフォーマンスを容易に比較するためにユーザーに柔軟性を提供します。
|
||||
|
||||
| キー | 値 | 説明 |
|
||||
|-----------|---------|-----------------------------------------------------------|
|
||||
| `model` | `None` | モデルファイルへのパス、例: yolov8n.pt, yolov8n.yaml |
|
||||
| `data` | `None` | ベンチマークデータセットを参照するYAMLへのパス(`val`ラベルの下) |
|
||||
| `imgsz` | `640` | 画像サイズをスカラーまたは(h, w)リストで、例: (640, 480) |
|
||||
| `half` | `False` | FP16量子化 |
|
||||
| `int8` | `False` | INT8量子化 |
|
||||
| `device` | `None` | 実行デバイス、例: cuda device=0 または device=0,1,2,3 または device=cpu |
|
||||
| `verbose` | `False` | エラー時に続行しない(bool)、またはval床しきい値(float) |
|
||||
|
||||
## エクスポート形式
|
||||
|
||||
以下の可能なすべてのエクスポート形式で自動的にベンチマークを試みます。
|
||||
|
||||
| 形式 | `format` 引数 | モデル | メタデータ | 引数 |
|
||||
|--------------------------------------------------------------------|---------------|---------------------------|-------|-----------------------------------------------------|
|
||||
| [PyTorch](https://pytorch.org/) | - | `yolov8n.pt` | ✅ | - |
|
||||
| [TorchScript](https://pytorch.org/docs/stable/jit.html) | `torchscript` | `yolov8n.torchscript` | ✅ | `imgsz`, `optimize` |
|
||||
| [ONNX](https://onnx.ai/) | `onnx` | `yolov8n.onnx` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `opset` |
|
||||
| [OpenVINO](https://docs.openvino.ai/latest/index.html) | `openvino` | `yolov8n_openvino_model/` | ✅ | `imgsz`, `half` |
|
||||
| [TensorRT](https://developer.nvidia.com/tensorrt) | `engine` | `yolov8n.engine` | ✅ | `imgsz`, `half`, `dynamic`, `simplify`, `workspace` |
|
||||
| [CoreML](https://github.com/apple/coremltools) | `coreml` | `yolov8n.mlpackage` | ✅ | `imgsz`, `half`, `int8`, `nms` |
|
||||
| [TF SavedModel](https://www.tensorflow.org/guide/saved_model) | `saved_model` | `yolov8n_saved_model/` | ✅ | `imgsz`, `keras` |
|
||||
| [TF GraphDef](https://www.tensorflow.org/api_docs/python/tf/Graph) | `pb` | `yolov8n.pb` | ❌ | `imgsz` |
|
||||
| [TF Lite](https://www.tensorflow.org/lite) | `tflite` | `yolov8n.tflite` | ✅ | `imgsz`, `half`, `int8` |
|
||||
| [TF Edge TPU](https://coral.ai/docs/edgetpu/models-intro/) | `edgetpu` | `yolov8n_edgetpu.tflite` | ✅ | `imgsz` |
|
||||
| [TF.js](https://www.tensorflow.org/js) | `tfjs` | `yolov8n_web_model/` | ✅ | `imgsz` |
|
||||
| [PaddlePaddle](https://github.com/PaddlePaddle) | `paddle` | `yolov8n_paddle_model/` | ✅ | `imgsz` |
|
||||
| [ncnn](https://github.com/Tencent/ncnn) | `ncnn` | `yolov8n_ncnn_model/` | ✅ | `imgsz`, `half` |
|
||||
|
||||
[エクスポート](https://docs.ultralytics.com/modes/export/)ページでさらに詳しい`export`の詳細をご覧ください。
|
||||
76
docs/ja/modes/export.md
Normal file
76
docs/ja/modes/export.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8モデルをONNX, TensorRT, CoreMLなどの様々なフォーマットへエキスポートする手順についてのガイドです。今すぐ展開を探求してください!
|
||||
keywords: YOLO, YOLOv8, Ultralytics, モデルエキスポート, ONNX, TensorRT, CoreML, TensorFlow SavedModel, OpenVINO, PyTorch, モデルをエキスポート
|
||||
---
|
||||
|
||||
# Ultralytics YOLO でのモデルエキスポート
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO エコシステムと統合">
|
||||
|
||||
## はじめに
|
||||
|
||||
モデルのトレーニング終了後の最終目標は、実世界のアプリケーションに導入することです。Ultralytics YOLOv8のエキスポートモードは、トレーニング済みモデルを異なるフォーマットにエキスポートして、様々なプラットフォームやデバイスで展開可能にするための多様なオプションを提供します。この包括的なガイドは、モデルエキスポートのニュアンスをわかりやすく解説し、最大の互換性とパフォーマンスを達成する方法をご紹介します。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/WbomGeoOT_k?si=aGmuyooWftA0ue9X"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>視聴:</strong> カスタムトレーニングしたUltralytics YOLOv8モデルをエキスポートして、ウェブカムでリアルタイム推論を実行する方法。
|
||||
</p>
|
||||
|
||||
## YOLOv8のエキスポートモードを選ぶ理由は?
|
||||
|
||||
- **汎用性:** ONNX, TensorRT, CoreMLなど複数のフォーマットへエキスポート。
|
||||
- **パフォーマンス:** TensorRTで最大5倍のGPU高速化、ONNXまたはOpenVINOで3倍のCPU高速化を実現。
|
||||
- **互換性:** 様々なハードウェアおよびソフトウェア環境でユニバーサルにモデルを展開。
|
||||
- **使いやすさ:** シンプルなCLIおよびPython APIで簡単かつ迅速なモデルエキスポート。
|
||||
|
||||
### エキスポートモードの主要機能
|
||||
|
||||
いくつかの注目すべき機能は以下の通りです:
|
||||
|
||||
- **ワンクリックエキスポート:** 異なるフォーマットへのシンプルなコマンド。
|
||||
- **バッチエキスポート:** バッチ推論対応モデルをエキスポート。
|
||||
- **最適化推論:** より高速な推論のために最適化されたエキスポートモデル。
|
||||
- **チュートリアル動画:** スムーズなエキスポート体験のための詳細なガイドとチュートリアル。
|
||||
|
||||
!!! tip "ヒント"
|
||||
|
||||
* ONNXまたはOpenVINOへのエキスポートで最大3倍のCPU速度アップ。
|
||||
* TensorRTへのエキスポートで最大5倍のGPU速度アップ。
|
||||
|
||||
## 使用例
|
||||
|
||||
YOLOv8nモデルをONNXやTensorRTなどの異なるフォーマットにエキスポートします。エキスポート引数のフルリストについては、以下のArgumentsセクションをご覧ください。
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# Load a model
|
||||
model = YOLO('yolov8n.pt') # 公式モデルを読み込む
|
||||
model = YOLO('path/to/best.pt') # カスタムトレーニングモデルを読み込む
|
||||
|
||||
# モデルをエキスポート
|
||||
model.export(format='onnx')
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo export model=yolov8n.pt format=onnx # 公式モデルをエキスポート
|
||||
yolo export model=path/to/best.pt format=onnx # カスタムトレーニングモデルをエキスポート
|
||||
```
|
||||
|
||||
## 引数
|
||||
|
||||
YOLOモデルのエキスポート設定
|
||||
|
||||
[...content truncated for length...]
|
||||
53
docs/ja/modes/index.md
Normal file
53
docs/ja/modes/index.md
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
comments: true
|
||||
description: トレーニングからトラッキングまで、UltralyticsのYOLOv8を活用して最大限に活用します。検証、エクスポート、ベンチマーキングなど、各サポートモードの洞察と例を得る。
|
||||
keywords: Ultralytics, YOLOv8, 機械学習, オブジェクト検出, トレーニング, 検証, 予測, エクスポート, トラッキング, ベンチマーキング
|
||||
---
|
||||
|
||||
# Ultralytics YOLOv8 モード
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLOエコシステムと統合">
|
||||
|
||||
## はじめに
|
||||
|
||||
Ultralytics YOLOv8は、単なるオブジェクト検出モデルではありません; これは、データ収集、モデルトレーニングから検証、デプロイメント、実際のトラッキングに至るまでの機械学習モデルのライフサイクル全体をカバーするように設計された多用途フレームワークです。各モードは特定の目的に役立ち、異なるタスクやユースケースに必要な柔軟性と効率を提供するように工夫されています。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/j8uQc0qB91s?si=dhnGKgqvs7nPgeaM"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>視聴する:</strong> Ultralytics モードチュートリアル: トレーニ、検証、予測、エクスポート & ベンチマーキング。
|
||||
</p>
|
||||
|
||||
### モードの概要
|
||||
|
||||
Ultralytics YOLOv8がサポートする異なる**モード**を理解することは、モデルから最大限に活用するためには欠かせません:
|
||||
|
||||
- **トレーニング**モード:カスタムまたは事前読み込みされたデータセットでのモデルの微調整を行います。
|
||||
- **バリデーション**モード:トレーニング後のチェックポイントとして、モデルの性能を検証します。
|
||||
- **予測**モード:実世界のデータでモデルの予測能力を発揮します。
|
||||
- **エクスポート**モード:様々な形式でデプロイメント準備ができたモデルを作成します。
|
||||
- **トラッキング**モード:オブジェクト検出モデルをリアルタイム追跡アプリケーションに拡張します。
|
||||
- **ベンチマーキング**モード:様々なデプロイメント環境でモデルの速度と精度を分析します。
|
||||
|
||||
この包括的なガイドは、YOLOv8の全潜在能力を引き出すための概要と実践的な洞察を提供することを目指しています。
|
||||
|
||||
## [トレーニング](train.md)
|
||||
|
||||
トレーニングモードは、カスタムデータセットでYOLOv8モデルのトレーニングを行うために使用されます。このモードでは、指定されたデータセットとハイパーパラメータを使用してモデルがトレーニングされます。トレーニングプロセスには、モデルのパラメータを最適化して、写真内のオブジェクトのクラスと位置を正確に予測できるようにする作業が含まれます。
|
||||
|
||||
[トレーニング例](train.md){ .md-button .md-button--primary}
|
||||
|
||||
## [バリデーション](val.md)
|
||||
|
||||
バリデーションモードは、トレーニングされたYOLOv8モデルを検証するために使用されます。このモードでは、モデルがバリデーションセットで評価され、その精度と一般化性能を測定します。このモードは、モデルのハイパーパラメータを調整し、そのパフォーマンスを向上させるために利用できます。
|
||||
|
||||
[バリデーション例](val.md){ .md-button .md-button--primary}
|
||||
|
||||
## [予測](predict.md)
|
||||
|
||||
予測モードは、新しい画像やビデオでトレーニングされたYOLOv8モデルを使用して予測を行うために使用されます。このモードでは、モデルがチェックポイントファイルから読み込まれ、ユーザーが推論を行うために画像やビデオを提供できます。モデルは、入力した画像やビデオ内のオブジェクトのクラスと位置を予測します。
|
||||
211
docs/ja/modes/predict.md
Normal file
211
docs/ja/modes/predict.md
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8予測モードの使用方法について学び、画像、動画、データフォーマットなどさまざまな推論ソースについて解説します。
|
||||
keywords: Ultralytics, YOLOv8, 予測モード, 推論ソース, 予測タスク, ストリーミングモード, 画像処理, 動画処理, 機械学習, AI
|
||||
---
|
||||
|
||||
# Ultralytics YOLOによるモデル予測
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLO ecosystem and integrations">
|
||||
|
||||
## イントロダクション
|
||||
|
||||
機械学習やコンピュータビジョンの世界では、視覚データから意味を引き出すプロセスを「推論」または「予測」と呼ばれています。UltralyticsのYOLOv8は、幅広いデータソースに対して高性能でリアルタイムな推論を行うために特化した、「予測モード」と呼ばれる強力な機能を提供しています。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/QtsI0TnwDZs?si=ljesw75cMO2Eas14"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>視聴:</strong> Ultralytics YOLOv8モデルの出力をカスタムプロジェクトに取り込む方法を学ぶ。
|
||||
</p>
|
||||
|
||||
## 実際の応用例
|
||||
|
||||
| 製造業 | スポーツ | 安全 |
|
||||
|:-----------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:|
|
||||
|  |  |  |
|
||||
| 車両のスペアパーツ検出 | フットボール選手検出 | 人の転倒検出 |
|
||||
|
||||
## 予測にUltralytics YOLOを使う理由
|
||||
|
||||
様々な推論ニーズにYOLOv8の予測モードを検討すべき理由です:
|
||||
|
||||
- **柔軟性:** 画像、動画、さらにはライブストリームにおいて推論を行う能力があります。
|
||||
- **パフォーマンス:** 正確さを犠牲にすることなく、リアルタイムで高速な処理が行えるように設計されています。
|
||||
- **使いやすさ:** 迅速な展開とテストのための直感的なPythonおよびCLIインターフェース。
|
||||
- **高いカスタマイズ性:** 特定の要件に応じてモデルの推論動作を調整するためのさまざまな設定とパラメーター。
|
||||
|
||||
### 予測モードの主な特徴
|
||||
|
||||
YOLOv8の予測モードは、頑健で多様性があり、次の特徴を備えています:
|
||||
|
||||
- **複数のデータソースとの互換性:** データが個々の画像、画像の集合、動画ファイル、またはリアルタイムの動画ストリームのいずれの形式であっても、予測モードが対応しています。
|
||||
- **ストリーミングモード:** `Results`オブジェクトのメモリ効率の良いジェネレータを生成するためにストリーミング機能を使用します。`stream=True`を予測器の呼び出しメソッドに設定することにより有効になります。
|
||||
- **バッチ処理:** 単一のバッチで複数の画像や動画フレームを処理する能力は、さらに推論時間を短縮します。
|
||||
- **統合が容易:** 柔軟なAPIのおかげで、既存のデータパイプラインや他のソフトウェアコンポーネントに簡単に統合できます。
|
||||
|
||||
UltralyticsのYOLOモデルは、`stream=True`が推論中にモデルに渡されると、Pythonの`Results`オブジェクトのリストまたは`Results`オブジェクトのメモリ効率の良いPythonジェネレータのいずれかを返します:
|
||||
|
||||
!!! 例 "予測"
|
||||
|
||||
=== "`stream=False`でリストを返す"
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロード
|
||||
model = YOLO('yolov8n.pt') # 事前にトレーニングされたYOLOv8nモデル
|
||||
|
||||
# 画像のリストに対してバッチ推論を実行
|
||||
results = model(['im1.jpg', 'im2.jpg']) # Resultsオブジェクトのリストを返す
|
||||
|
||||
# 結果リストを処理
|
||||
for result in results:
|
||||
boxes = result.boxes # バウンディングボックス出力用のBoxesオブジェクト
|
||||
masks = result.masks # セグメンテーションマスク出力用のMasksオブジェクト
|
||||
keypoints = result.keypoints # 姿勢出力用のKeypointsオブジェクト
|
||||
probs = result.probs # 分類出力用のProbsオブジェクト
|
||||
```
|
||||
|
||||
=== "`stream=True`でジェネレータを返す"
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロード
|
||||
model = YOLO('yolov8n.pt') # 事前にトレーニングされたYOLOv8nモデル
|
||||
|
||||
# 画像のリストに対してバッチ推論を実行
|
||||
results = model(['im1.jpg', 'im2.jpg'], stream=True) # Resultsオブジェクトのジェネレータを返す
|
||||
|
||||
# 結果ジェネレータを処理
|
||||
for result in results:
|
||||
boxes = result.boxes # バウンディングボックス出力用のBoxesオブジェクト
|
||||
masks = result.masks # セグメンテーションマスク出力用のMasksオブジェクト
|
||||
keypoints = result.keypoints # 姿勢出力用のKeypointsオブジェクト
|
||||
probs = result.probs # 分類出力用のProbsオブジェクト
|
||||
```
|
||||
|
||||
## 推論ソース
|
||||
|
||||
YOLOv8は、以下の表に示されるように、異なるタイプの入力ソースを推論に処理できます。ソースには静止画像、動画ストリーム、およびさまざまなデータフォーマットが含まれます。表には、各ソースがストリーミングモードで使用できるかどうかも示されており、引数`stream=True`で✅が表示されています。ストリーミングモードは、動画やライブストリームを処理する場合に有利であり、すべてのフレームをメモリにロードする代わりに結果のジェネレータを作成します。
|
||||
|
||||
!!! ヒント "ヒント"
|
||||
|
||||
長い動画や大きなデータセットを効率的にメモリ管理するために`stream=True`を使用します。`stream=False`では、すべてのフレームまたはデータポイントの結果がメモリに格納されますが、大きな入力で迅速にメモリが積み上がり、メモリ不足のエラーを引き起こす可能性があります。対照的に、`stream=True`はジェネレータを利用し、現在のフレームまたはデータポイントの結果のみをメモリに保持し、メモリ消費を大幅に削減し、メモリ不足の問題を防ぎます。
|
||||
|
||||
| ソース | 引数 | タイプ | 備考 |
|
||||
|------------|--------------------------------------------|------------------|------------------------------------------------------------------|
|
||||
| 画像 | `'image.jpg'` | `str` または `Path` | 単一の画像ファイル。 |
|
||||
| URL | `'https://ultralytics.com/images/bus.jpg'` | `str` | 画像へのURL。 |
|
||||
| スクリーンショット | `'screen'` | `str` | スクリーンショットをキャプチャ。 |
|
||||
| PIL | `Image.open('im.jpg')` | `PIL.Image` | HWCフォーマットでRGBチャンネル。 |
|
||||
| OpenCV | `cv2.imread('im.jpg')` | `np.ndarray` | HWCフォーマットでBGRチャンネル `uint8 (0-255)`。 |
|
||||
| numpy | `np.zeros((640,1280,3))` | `np.ndarray` | HWCフォーマットでBGRチャンネル `uint8 (0-255)`。 |
|
||||
| torch | `torch.zeros(16,3,320,640)` | `torch.Tensor` | BCHWフォーマットでRGBチャンネル `float32 (0.0-1.0)`。 |
|
||||
| CSV | `'sources.csv'` | `str` または `Path` | 画像、動画、ディレクトリへのパスを含むCSVファイル。 |
|
||||
| 動画 ✅ | `'video.mp4'` | `str` または `Path` | MP4、AVIなどの形式の動画ファイル。 |
|
||||
| ディレクトリ ✅ | `'path/'` | `str` または `Path` | 画像または動画を含むディレクトリへのパス。 |
|
||||
| グロブ ✅ | `'path/*.jpg'` | `str` | 複数のファイルに一致するグロブパターン。ワイルドカードとして`*`文字を使用します。 |
|
||||
| YouTube ✅ | `'https://youtu.be/LNwODJXcvt4'` | `str` | YouTube動画のURL。 |
|
||||
| ストリーム ✅ | `'rtsp://example.com/media.mp4'` | `str` | RTSP、RTMP、TCP、IPアドレスなどのストリーミングプロトコルのためのURL。 |
|
||||
| マルチストリーム ✅ | `'list.streams'` | `str` または `Path` | ストリームURLを行ごとに1つ含む`*.streams`テキストファイル。つまり、8つのストリームをバッチサイズ8で実行します。 |
|
||||
|
||||
以下は、それぞれのソースタイプを使用するためのコード例です:
|
||||
|
||||
!!! 例 "予測ソース"
|
||||
|
||||
=== "画像"
|
||||
画像ファイルに推論を実行します。
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# 画像ファイルへのパスを定義
|
||||
source = 'path/to/image.jpg'
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
|
||||
=== "スクリーンショット"
|
||||
現在の画面内容のスクリーンショットに推論を実行します。
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# 現在のスクリーンショットをソースとして定義
|
||||
source = 'screen'
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
|
||||
=== "URL"
|
||||
リモートのURL経由でホストされている画像や動画に推論を実行します。
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# リモート画像や動画のURLを定義
|
||||
source = 'https://ultralytics.com/images/bus.jpg'
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
|
||||
=== "PIL"
|
||||
Python Imaging Library (PIL)を使用して開いた画像に推論を実行します。
|
||||
```python
|
||||
from PIL import Image
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# PILを使用して画像を開く
|
||||
source = Image.open('path/to/image.jpg')
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
|
||||
=== "OpenCV"
|
||||
OpenCVを使用して読み込んだ画像に推論を実行します。
|
||||
```python
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# OpenCVを使用して画像を読み込む
|
||||
source = cv2.imread('path/to/image.jpg')
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
|
||||
=== "numpy"
|
||||
numpy配列として表される画像に推論を実行します。
|
||||
```python
|
||||
import numpy as np
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 事前にトレーニングされたYOLOv8nモデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# HWC形状(640, 640, 3)、範囲[0, 255]、型`uint8`のランダムなnumpy配列を作成
|
||||
source = np.random.randint(low=0, high=255, size=(640,640,3), dtype='uint8')
|
||||
|
||||
# ソースに推論を実行
|
||||
results = model(source) # Resultsオブジェクトのリスト
|
||||
```
|
||||
200
docs/ja/modes/track.md
Normal file
200
docs/ja/modes/track.md
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
---
|
||||
comments: true
|
||||
description: Ultralytics YOLOを使用したビデオストリームでのオブジェクトトラッキングの使用方法を学びます。異なるトラッカーの使用ガイドとトラッカー構成のカスタマイズについて。
|
||||
keywords: Ultralytics, YOLO, オブジェクトトラッキング, ビデオストリーム, BoT-SORT, ByteTrack, Pythonガイド, CLIガイド
|
||||
---
|
||||
|
||||
# Ultralytics YOLOによる複数オブジェクトのトラッキング
|
||||
|
||||
<img width="1024" src="https://user-images.githubusercontent.com/26833433/243418637-1d6250fd-1515-4c10-a844-a32818ae6d46.png" alt="複数オブジェクトのトラッキング例">
|
||||
|
||||
ビデオ分析の領域でのオブジェクトトラッキングは、フレーム内のオブジェクトの位置とクラスを特定するだけでなく、ビデオが進行するにつれてそれぞれの検出されたオブジェクトにユニークなIDを維持する重要なタスクです。その応用範囲は無限で、監視やセキュリティからリアルタイムスポーツ分析まで及びます。
|
||||
|
||||
## オブジェクトトラッキングにUltralytics YOLOを選ぶ理由は?
|
||||
|
||||
Ultralyticsのトラッカーからの出力は標準のオブジェクト検出と一致しており、さらにオブジェクトIDの付加価値があります。これにより、ビデオストリーム内のオブジェクトを追跡し、後続の分析を行うことが容易になります。Ultralytics YOLOをオブジェクトトラッキングのニーズに利用を検討する理由は以下の通りです:
|
||||
|
||||
- **効率性:** 精度を損なうことなくリアルタイムでビデオストリームを処理します。
|
||||
- **柔軟性:** 複数のトラッキングアルゴリズムと構成をサポートしています。
|
||||
- **使いやすさ:** 簡単なPython APIとCLIオプションで迅速な統合と展開が可能です。
|
||||
- **カスタマイズ性:** カスタムトレーニング済みのYOLOモデルとの容易な使用により、ドメイン特有のアプリケーションへの統合が可能です。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/hHyHmOtmEgs?si=VNZtXmm45Nb9s-N-"
|
||||
title="YouTube video player" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>視聴:</strong> Ultralytics YOLOv8によるオブジェクト検出とトラッキング。
|
||||
</p>
|
||||
|
||||
## 実世界での応用例
|
||||
|
||||
| 交通 | 小売 | 水産業 |
|
||||
|:---------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------:|
|
||||
|  |  |  |
|
||||
| 車両トラッキング | 人々のトラッキング | 魚のトラッキング |
|
||||
|
||||
## 一目でわかる機能
|
||||
|
||||
Ultralytics YOLOは、オブジェクト検出機能を拡張して、堅牢で多機能なオブジェクトトラッキングを提供します:
|
||||
|
||||
- **リアルタイムトラッキング:** 高フレームレートのビデオでオブジェクトをシームレスに追跡します。
|
||||
- **複数トラッカーサポート:** 確立されたトラッキングアルゴリズムから選択できます。
|
||||
- **カスタマイズ可能なトラッカー構成:** 様々なパラメーターを調整することで特定の要件に合わせてトラッキングアルゴリズムを調整します。
|
||||
|
||||
## 利用可能なトラッカー
|
||||
|
||||
Ultralytics YOLOは、次のトラッキングアルゴリズムをサポートしています。それらは、関連するYAML構成ファイル(たとえば`tracker=tracker_type.yaml`)を渡すことで有効にすることができます:
|
||||
|
||||
* [BoT-SORT](https://github.com/NirAharon/BoT-SORT) - このトラッカーを有効にするには`botsort.yaml`を使用します。
|
||||
* [ByteTrack](https://github.com/ifzhang/ByteTrack) - このトラッカーを有効にするには`bytetrack.yaml`を使用します。
|
||||
|
||||
デフォルトのトラッカーはBoT-SORTです。
|
||||
|
||||
## トラッキング
|
||||
|
||||
ビデオストリームでトラッカーを実行するには、YOLOv8n、YOLOv8n-seg、YOLOv8n-poseなどのトレーニング済みのDetect、Segment、またはPoseモデルを使用します。
|
||||
|
||||
!!! 例 ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 公式またはカスタムモデルをロード
|
||||
model = YOLO('yolov8n.pt') # 公式のDetectモデルをロード
|
||||
model = YOLO('yolov8n-seg.pt') # 公式のSegmentモデルをロード
|
||||
model = YOLO('yolov8n-pose.pt') # 公式のPoseモデルをロード
|
||||
model = YOLO('path/to/best.pt') # カスタムトレーニング済みモデルをロード
|
||||
|
||||
# モデルでトラッキングを実行
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True) # デフォルトトラッカーでトラッキング
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml") # ByteTrackトラッカーでトラッキング
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# コマンドラインインターフェースを使用して、様々なモデルでトラッキングを実行
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" # 公式のDetectモデル
|
||||
yolo track model=yolov8n-seg.pt source="https://youtu.be/LNwODJXcvt4" # 公式のSegmentモデル
|
||||
yolo track model=yolov8n-pose.pt source="https://youtu.be/LNwODJXcvt4" # 公式のPoseモデル
|
||||
yolo track model=path/to/best.pt source="https://youtu.be/LNwODJXcvt4" # カスタムトレーニング済みモデル
|
||||
|
||||
# ByteTrackトラッカーを使用してトラッキング
|
||||
yolo track model=path/to/best.pt tracker="bytetrack.yaml"
|
||||
```
|
||||
|
||||
上記の使用法に示されているように、トラッキングはビデオやストリーミングソースで実行されるすべてのDetect、Segment、およびPoseモデルで利用可能です。
|
||||
|
||||
## 構成
|
||||
|
||||
### トラッキング引数
|
||||
|
||||
トラッキング構成は、`conf`、`iou`、および`show`などのPredictモードと同じプロパティを共有します。さらなる構成については、[Predict](https://docs.ultralytics.com/modes/predict/)モデルページを参照してください。
|
||||
|
||||
!!! 例 ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# トラッキングパラメーターを構成し、トラッカーを実行
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# コマンドラインインターフェースを使用してトラッキングパラメータを構成し、トラッカーを実行
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
|
||||
```
|
||||
|
||||
### トラッカーの選択
|
||||
|
||||
Ultralyticsは、変更されたトラッカー構成ファイルの使用も可能にします。これを行うには、[ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)からトラッカー構成ファイル(たとえば`custom_tracker.yaml`)のコピーを作成し、必要に応じて任意の構成(`tracker_type`を除く)を変更します。
|
||||
|
||||
!!! 例 ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロードし、カスタム構成ファイルでトラッカーを実行
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model.track(source="https://youtu.be/LNwODJXcvt4", tracker='custom_tracker.yaml')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# コマンドラインインターフェースを使用して、カスタム構成ファイルでモデルをロードし、トラッカーを実行
|
||||
yolo track model=yolov8n.pt source="https://youtu.be/LNwODJXcvt4" tracker='custom_tracker.yaml'
|
||||
```
|
||||
|
||||
トラッキング引数の包括的なリストについては、[ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)ページを参照してください。
|
||||
|
||||
## Pythonの例
|
||||
|
||||
### トラックループの永続化
|
||||
|
||||
次は、OpenCV (`cv2`)とYOLOv8を使用してビデオフレームでオブジェクトトラッキングを実行するPythonスクリプトです。このスクリプトでは、必要なパッケージ(`opencv-python`および`ultralytics`)が既にインストールされていることが前提です。`persist=True`引数は、トラッカーに現在の画像またはフレームがシーケンスの次のものであり、現在の画像に前の画像からのトラックを期待することを伝えます。
|
||||
|
||||
!!! 例 "トラッキングを伴うストリーミングforループ"
|
||||
|
||||
```python
|
||||
import cv2
|
||||
from ultralytics import YOLO
|
||||
|
||||
# YOLOv8モデルをロード
|
||||
model = YOLO('yolov8n.pt')
|
||||
|
||||
# ビデオファイルを開く
|
||||
video_path = "path/to/video.mp4"
|
||||
cap = cv2.VideoCapture(video_path)
|
||||
|
||||
# ビデオフレームをループする
|
||||
while cap.isOpened():
|
||||
# ビデオからフレームを読み込む
|
||||
success, frame = cap.read()
|
||||
|
||||
if success:
|
||||
# フレームでYOLOv8トラッキングを実行し、フレーム間でトラックを永続化
|
||||
results = model.track(frame, persist=True)
|
||||
|
||||
# フレームに結果を可視化
|
||||
annotated_frame = results[0].plot()
|
||||
|
||||
# 注釈付きのフレームを表示
|
||||
cv2.imshow("YOLOv8トラッキング", annotated_frame)
|
||||
|
||||
# 'q'が押されたらループから抜ける
|
||||
if cv2.waitKey(1) & 0xFF == ord("q"):
|
||||
break
|
||||
else:
|
||||
# ビデオの終わりに到達したらループから抜ける
|
||||
break
|
||||
|
||||
# ビデオキャプチャオブジェクトを解放し、表示ウィンドウを閉じる
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
```
|
||||
|
||||
ここでの変更は、単純な検出ではなくオブジェクトトラッキングを有効にする`model(frame)`から`model.track(frame)`への変更です。この変更されたスクリプトは、ビデオの各フレームでトラッカーを実行し、結果を視覚化し、ウィンドウに表示します。ループは'q'を押すことで終了できます。
|
||||
|
||||
## 新しいトラッカーの貢献
|
||||
|
||||
あなたはマルチオブジェクトトラッキングに精通しており、Ultralytics YOLOでトラッキングアルゴリズムをうまく実装または適応させたことがありますか?[ultralytics/cfg/trackers](https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/trackers)セクションへの貢献を私たちは歓迎します!あなたの実世界での応用例とソリューションは、トラッキングタスクに取り組むユーザーにとって非常に有益かもしれません。
|
||||
|
||||
このセクションへの貢献により、Ultralytics YOLOフレームワーク内で利用可能なトラッキングソリューションの範囲が広がり、コミュニティにとっての機能性とユーティリティーに新たな層が加わります。
|
||||
|
||||
ご自身の貢献を開始するには、プルリクエスト(PR)の送信に関する総合的な指示について我々の[貢献ガイド](https://docs.ultralytics.com/help/contributing)をご参照ください 🛠️。あなたが何をもたらすか私たちは期待しています!
|
||||
|
||||
一緒に、Ultralytics YOLOエコシステムのトラッキング機能を高めましょう 🙏!
|
||||
206
docs/ja/modes/train.md
Normal file
206
docs/ja/modes/train.md
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8モデルをUltralytics YOLOを使用してトレーニングする手順についてのガイドで、シングルGPUとマルチGPUトレーニングの例を含む
|
||||
keywords: Ultralytics, YOLOv8, YOLO, 物体検出, トレーニングモード, カスタムデータセット, GPUトレーニング, マルチGPU, ハイパーパラメータ, CLI例, Python例
|
||||
---
|
||||
|
||||
# Ultralytics YOLOを使ったモデルトレーニング
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLOエコシステムと統合">
|
||||
|
||||
## はじめに
|
||||
|
||||
ディープラーニングモデルのトレーニングは、データを与えてパラメーターを調整し、正確な予測を行えるようにするプロセスを含みます。UltralyticsのYOLOv8のトレーニングモードは、現代のハードウェアの能力をフルに活用して物体検出モデルを効果的かつ効率的にトレーニングするために設計されています。このガイドは、YOLOv8 の豊富な機能セットを使用して自身のモデルをトレーニングするために必要なすべての詳細をカバーすることを目的としています。
|
||||
|
||||
<p align="center">
|
||||
<br>
|
||||
<iframe width="720" height="405" src="https://www.youtube.com/embed/LNwODJXcvt4?si=7n1UvGRLSd9p5wKs"
|
||||
title="YouTube動画プレーヤー" frameborder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen>
|
||||
</iframe>
|
||||
<br>
|
||||
<strong>視聴:</strong> Google Colab でカスタムデータセットにYOLOv8モデルをトレーニングする方法。
|
||||
</p>
|
||||
|
||||
## トレーニングにUltralyticsのYOLOを選ぶ理由
|
||||
|
||||
YOLOv8のトレーニングモードを選択するいくつかの魅力的な理由を以下に示します:
|
||||
|
||||
- **効率性:** シングルGPUセットアップであろうと複数のGPUにスケールする場合であろうと、あなたのハードウェアを最大限に活用します。
|
||||
- **汎用性:** COCO、VOC、ImageNetのような既存のデータセットに加え、カスタムデータセットでのトレーニングが可能です。
|
||||
- **ユーザーフレンドリー:** 直感的でありながら強力なCLIとPythonインターフェースを備え、簡単なトレーニング体験を提供します。
|
||||
- **ハイパーパラメータの柔軟性:** モデルのパフォーマンスを微調整するための幅広いカスタマイズ可能なハイパーパラメータ。
|
||||
|
||||
### トレーニングモードの主な特徴
|
||||
|
||||
以下に、YOLOv8のトレーニングモードのいくつかの注目すべき特徴を挙げます:
|
||||
|
||||
- **自動データセットダウンロード:** COCO、VOC、ImageNetのような標準データセットは最初の使用時に自動的にダウンロードされます。
|
||||
- **マルチGPUサポート:** 複数のGPUにわたってトレーニングをスケールし、プロセスを迅速に行います。
|
||||
- **ハイパーパラメータの設定:** YAML設定ファイルやCLI引数を通じてハイパーパラメータを変更するオプション。
|
||||
- **可視化とモニタリング:** トレーニング指標のリアルタイム追跡と学習プロセスの可視化により、より良い洞察を得ます。
|
||||
|
||||
!!! tip "ヒント"
|
||||
|
||||
* YOLOv8のデータセット、例えばCOCO、VOC、ImageNetなどは、最初の使用時に自動的にダウンロードされます。例:`yolo train data=coco.yaml`
|
||||
|
||||
## 使用例
|
||||
|
||||
COCO128データセットでYOLOv8nを100エポック、画像サイズ640でトレーニングする。トレーニングデバイスは、`device`引数を使って指定できます。引数が渡されない場合、利用可能であればGPU `device=0`が、そうでなければ`device=cpu`が利用されます。全てのトレーニング引数のリストは以下の引数セクションを参照してください。
|
||||
|
||||
!!! example "シングルGPUとCPUトレーニング例"
|
||||
|
||||
デバイスは自動的に決定されます。GPUが利用可能であればそれが使用され、そうでなければCPUでトレーニングが開始されます。
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロード
|
||||
model = YOLO('yolov8n.yaml') # YAMLから新しいモデルを作成
|
||||
model = YOLO('yolov8n.pt') # トレーニングにはおすすめの事前学習済みモデルをロード
|
||||
model = YOLO('yolov8n.yaml').load('yolov8n.pt') # YAMLからモデルを作成し、重みを転送
|
||||
|
||||
# モデルをトレーニング
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# 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
|
||||
```
|
||||
|
||||
### マルチGPUトレーニング
|
||||
|
||||
マルチGPUトレーニングは、利用可能なハードウェアリソースをより効率的に活用するために、トレーニングの負荷を複数のGPUに分散させることを可能にします。この機能はPython APIとコマンドラインインターフェィスの両方を通じて利用できます。マルチGPUトレーニングを有効にするには、使用したいGPUデバイスIDを指定します。
|
||||
|
||||
!!! example "マルチGPUトレーニング例"
|
||||
|
||||
2つのGPUを使ってトレーニングするには、CUDAデバイス0と1を使い以下のコマンドを使用します。必要に応じて追加のGPUに拡張します。
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロード
|
||||
model = YOLO('yolov8n.pt') # トレーニングにはおすすめの事前学習済みモデルをロード
|
||||
|
||||
# 2つのGPUでモデルをトレーニング
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device=[0, 1])
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# 事前学習済み*.ptモデルからGPU 0と1を使ってトレーニングを開始
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=0,1
|
||||
```
|
||||
|
||||
### Apple M1 および M2 MPSトレーニング
|
||||
|
||||
AppleのM1およびM2チップに対するサポートがUltralyticsのYOLOモデルに統合されたことで、Appleの強力なMetal Performance Shaders(MPS)フレームワークを使用してデバイスでモデルをトレーニングすることが可能になりました。 MPSは、Appleのカスタムシリコン上での計算や画像処理タスクの高性能な実行方法を提供します。
|
||||
|
||||
AppleのM1およびM2チップでのトレーニングを有効にするには、トレーニングプロセスを開始する際に`mps`をデバイスとして指定する必要があります。以下はPythonおよびコマンドラインでこれを行う例です:
|
||||
|
||||
!!! example "MPSトレーニング例"
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロード
|
||||
model = YOLO('yolov8n.pt') # トレーニングにはおすすめの事前学習済みモデルをロード
|
||||
|
||||
# MPSを使ってモデルをトレーニング
|
||||
results = model.train(data='coco128.yaml', epochs=100, imgsz=640, device='mps')
|
||||
```
|
||||
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
# MPSを使って、事前学習済み*.ptモデルからトレーニングを開始
|
||||
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 device=mps
|
||||
```
|
||||
|
||||
M1/M2チップの計算能力を利用しながら、これによりトレーニングタスクのより効率的な処理が可能になります。より詳細なガイダンスや高度な設定オプションについては、[PyTorch MPSのドキュメント](https://pytorch.org/docs/stable/notes/mps.html)を参照してください。
|
||||
|
||||
## ロギング
|
||||
|
||||
YOLOv8モデルをトレーニングする際、モデルのパフォーマンスを時間とともに追跡することが価値あることであると考えられます。これがロギングの役割になります。UltralyticsのYOLOは、Comet、ClearML、TensorBoardの3種類のロガーをサポートしています。
|
||||
|
||||
ロガーを使用するには、上記のコードスニペットからドロップダウンメニューを選択し、実行します。選択したロガーがインストールされ、初期化されます。
|
||||
|
||||
### Comet
|
||||
|
||||
[Comet](https://www.comet.ml/site/)は、データサイエンティストや開発者が実験やモデルを追跡、比較、説明、最適化するためのプラットフォームです。リアルタイムメトリクスやコード差分、ハイパーパラメータの追跡などの機能を提供しています。
|
||||
|
||||
Cometを使用するには:
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install comet_ml
|
||||
import comet_ml
|
||||
|
||||
comet_ml.init()
|
||||
```
|
||||
|
||||
Cometアカウントにサインインし、APIキーを取得してください。このキーを環境変数またはスクリプトに追加して、実験をログに記録する必要があります。
|
||||
|
||||
### ClearML
|
||||
|
||||
[ClearML](https://www.clear.ml/)は、実験の追跡を自動化し、資源の効率的な共有を支援するオープンソースプラットフォームです。チームがML作業をより効率的に管理、実行、再現するのに役立ちます。
|
||||
|
||||
ClearMLを使用するには:
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
```python
|
||||
# pip install clearml
|
||||
import clearml
|
||||
|
||||
clearml.browser_login()
|
||||
```
|
||||
|
||||
このスクリプトを実行した後、ブラウザでClearMLアカウントにサインインし、セッションを認証する必要があります。
|
||||
|
||||
### TensorBoard
|
||||
|
||||
[TensorBoard](https://www.tensorflow.org/tensorboard)は、TensorFlowの視覚化ツールキットです。TensorFlowグラフを可視化し、グラフの実行に関する定量的メトリックをプロットし、それを通過する画像などの追加データを表示することができます。
|
||||
|
||||
[Google Colab](https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/tutorial.ipynb)でTensorBoardを使用するには:
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
load_ext tensorboard
|
||||
tensorboard --logdir ultralytics/runs # 'runs'ディレクトリと置き換えてください
|
||||
```
|
||||
|
||||
TensorBoardをローカルで使用する場合は、http://localhost:6006/ で結果を確認できます。
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "CLI"
|
||||
```bash
|
||||
tensorboard --logdir ultralytics/runs # 'runs'ディレクトリと置き換えてください
|
||||
```
|
||||
|
||||
これでTensorBoardがロードされ、トレーニングログが保存されているディレクトリを指定します。
|
||||
|
||||
ログを設定した後、モデルのトレーニングを進めてください。すべてのトレーニングメトリクスが選択したプラットフォームに自動的に記録され、これらのログをアクセスして、時間とともにモデルのパフォーマンスを監視したり、さまざまなモデルを比較したり、改善の余地を特定したりすることができます。
|
||||
86
docs/ja/modes/val.md
Normal file
86
docs/ja/modes/val.md
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
comments: true
|
||||
description: YOLOv8モデルのバリデーションガイド。バリデーション設定とメトリクスを使用してYOLOモデルのパフォーマンスを評価する方法をPythonとCLIの例で学びましょう。
|
||||
keywords: Ultralytics, YOLO ドキュメント, YOLOv8, バリデーション, モデル評価, ハイパーパラメータ, 正確性, メトリクス, Python, CLI
|
||||
---
|
||||
|
||||
# Ultralytics YOLOによるモデルバリデーション
|
||||
|
||||
<img width="1024" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics YOLOのエコシステムと統合機能">
|
||||
|
||||
## はじめに
|
||||
|
||||
バリデーションは、訓練されたモデルの品質を評価するために機械学習パイプラインで重要なステップです。Ultralytics YOLOv8のValモードは、モデルのパフォーマンスを評価するための堅牢なツールとメトリクスを提供します。このガイドは、Valモードを効果的に使用して、モデルが正確で信頼できることを確認するための完全なリソースとなっています。
|
||||
|
||||
## Ultralytics YOLOでバリデーションを行う利点
|
||||
|
||||
YOLOv8のValモードを使用することの利点は以下の通りです:
|
||||
|
||||
- **Precision(精度):** mAP50、mAP75、mAP50-95といった正確なメトリクスを取得し、モデルを総合的に評価します。
|
||||
- **Convenience(便利さ):** 訓練設定を記憶する組み込みの機能を利用して、バリデーションプロセスを簡素化します。
|
||||
- **Flexibility(柔軟性):** 同じデータセットや異なるデータセット、画像サイズでモデルをバリデーションできます。
|
||||
- **Hyperparameter Tuning(ハイパーパラメータチューニング):** バリデーションメトリクスを利用してモデルのパフォーマンスを向上させるためのチューニングを行います。
|
||||
|
||||
### Valモードの主要機能
|
||||
|
||||
YOLOv8のValモードにより提供される注目すべき機能は以下の通りです:
|
||||
|
||||
- **Automated Settings(自動設定):** 訓練時の設定をモデルが記憶しているため、バリデーションが直感的に行えます。
|
||||
- **Multi-Metric Support(複数メトリックのサポート):** 精度メトリックの範囲に基づいてモデルを評価します。
|
||||
- **CLI and Python API:** バリデーションにコマンドラインインターフェイスもしくはPython APIのどちらかを選択できます。
|
||||
- **Data Compatibility(データ互換性):** 訓練段階で使われたデータセットはもちろん、カスタムデータセットともシームレスに動作します。
|
||||
|
||||
!!! tip "Tip"
|
||||
|
||||
* YOLOv8モデルは訓練設定を自動的に記憶しているので、`yolo val model=yolov8n.pt`や`model('yolov8n.pt').val()`だけで、元のデータセットと同じ画像サイズで簡単にバリデーション可能です。
|
||||
|
||||
## 使用例
|
||||
|
||||
COCO128データセット上で訓練済みのYOLOv8nモデルの精度を検証します。`model`はその訓練時の`data`及び引数をモデル属性として保持しているため、引数を渡す必要はありません。全てのエクスポート引数のリストについては、以下のArgumentsセクションをご覧ください。
|
||||
|
||||
!!! example ""
|
||||
|
||||
=== "Python"
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
# モデルをロードする
|
||||
model = YOLO('yolov8n.pt') # 公式モデルをロード
|
||||
model = YOLO('path/to/best.pt') # カスタムモデルをロード
|
||||
|
||||
# モデルをバリデーションする
|
||||
metrics = model.val() # 引数は必要なし、データセットと設定は記憶持ち
|
||||
metrics.box.map # map50-95
|
||||
metrics.box.map50 # map50
|
||||
metrics.box.map75 # map75
|
||||
metrics.box.maps # 各カテゴリのmap50-95が含まれたリスト
|
||||
```
|
||||
=== "CLI"
|
||||
|
||||
```bash
|
||||
yolo detect val model=yolov8n.pt # 公式モデルをバリデーション
|
||||
yolo detect val model=path/to/best.pt # カスタムモデルをバリデーション
|
||||
```
|
||||
|
||||
## 引数
|
||||
|
||||
YOLOモデルに対するバリデーション設定は、バリデーションデータセット上でのモデルのパフォーマンスを評価するために使用されるさまざまなハイパーパラメータと設定を指します。これらの設定は、モデルのパフォーマンス、スピード、そして精度に影響を与える可能性があります。一般的なYOLOのバリデーション設定には、バッチサイズや訓練中のバリデーション頻度、モデルのパフォーマンスを評価するために使用されるメトリックが含まれます。バリデーションプロセスに影響を与えるかもしれない他の要素には、バリデーションデータセットのサイズと構成、およびモデルが使用されている具体的なタスクなどがあります。モデルがバリデーションデータセット上でうまく動作していることを確認し、過学習を検出して防ぐために、これらの設定を慎重にチューニングして実験することが重要です。
|
||||
|
||||
| キー | 値 | 説明 |
|
||||
|---------------|---------|--------------------------------------------------|
|
||||
| `data` | `None` | データファイルへのパス、例: coco128.yaml |
|
||||
| `imgsz` | `640` | 入力画像のサイズを整数で |
|
||||
| `batch` | `16` | バッチごとの画像数(AutoBatchの場合は-1) |
|
||||
| `save_json` | `False` | JSONファイルに結果を保存 |
|
||||
| `save_hybrid` | `False` | ハイブリッドバージョンのラベルを保存(ラベル+追加の予測) |
|
||||
| `conf` | `0.001` | 検出のためのオブジェクト信頼度閾値 |
|
||||
| `iou` | `0.6` | NMS用の交差オーバーユニオン(IoU)閾値 |
|
||||
| `max_det` | `300` | 画像あたりの最大検出数 |
|
||||
| `half` | `True` | 半精度(FP16)を使用する |
|
||||
| `device` | `None` | 実行デバイス、例: cuda device=0/1/2/3やdevice=cpu |
|
||||
| `dnn` | `False` | ONNX推論用のOpenCV DNNを使用 |
|
||||
| `plots` | `False` | 訓練中にプロットを表示 |
|
||||
| `rect` | `False` | 各バッチが最小限のパディングで整理された矩形バリデーション |
|
||||
| `split` | `val` | バリデーションに使用するデータセットのスプリット、例: 'val'、'test'、'train' |
|
||||
| | | |
|
||||
Loading…
Add table
Add a link
Reference in a new issue