Ultralytics YOLOの包括的なチュートリアル#
UltralyticsのYOLOガイドへようこそ。包括的なチュートリアルでは、トレーニングや予測からデプロイまで、YOLOの物体検出モデルに関するさまざまな側面を解説しています。PyTorchを基盤とするYOLOは、リアルタイム物体検出タスクにおける卓越した速度と精度が特長です。
ディープラーニングの初心者でも専門家でも、チュートリアルを通じて、コンピュータービジョンプロジェクトにおけるYOLOの実装と最適化について有用な知見を得られます。
Watch: Ultralytics YOLO26 Guides Overview
ガイド#
ガイドは、環境のセットアップやデータ準備から、トレーニング、評価、デプロイ、推論の最適化、エッジハードウェアまで、プロジェクトの段階ごとに分類されています。そのため、現在取り組んでいるステップにすぐ移動できます。
開始と計画#
- Condaクイックスタート:Ultralytics用のConda環境をセットアップする手順を解説します。Condaを使用してUltralyticsパッケージを効率的にインストールし、使い始める方法を学べます。
- Dockerクイックスタート:Dockerを使用してUltralytics YOLOモデルをセットアップし、利用するための完全ガイドです。Dockerのインストール、GPUサポートの管理、一貫した開発とデプロイのために分離されたコンテナでYOLOモデルを実行する方法を学べます。
- AzureMLクイックスタート:MicrosoftのAzureMachine LearningプラットフォームでUltralytics YOLOモデルを使い始めるためのガイドです。クラウド上で物体検出プロジェクトをトレーニング、デプロイ、スケールする方法を学べます。
- Modalクイックスタート:ModalのサーバーレスクラウドプラットフォームでUltralytics YOLO26を実行します。認証、GPU推論、永続ストレージを使用するトレーニングジョブを扱うため、インフラストラクチャの管理は不要です。
- コンピュータービジョンプロジェクトの目標定義:コンピュータービジョンプロジェクトの明確で測定可能な目標を効果的に定義する方法を説明します。明確に定義された問題ステートメントの重要性と、それがプロジェクトのロードマップを作成する方法を学べます。
- コンピュータービジョンプロジェクトのステップ:目標の定義、モデルの選択、データの準備、結果の評価など、コンピュータービジョンプロジェクトに含まれる主要なステップについて学べます。
- YOLOアーキテクチャの解説:バックボーン、ネック、検出ヘッドにおけるYOLOアーキテクチャのYOLOv3からYOLO26までの進化を追いながら、C2f、C3k2、C2PSAアテンション、アンカーフリー、NMSフリー設計を解説します。
データを準備する#
- データの収集とアノテーション:コンピュータービジョンモデル向けの高品質な入力を作成するために、データを収集してアノテーションするためのツール、手法、ベストプラクティスを紹介します。
- アノテーション済みデータの前処理:YOLO26を使用したコンピュータービジョンのデータ前処理について学べます。画像のリサイズ、正規化、データセットの分割、データ拡張、探索的データ分析 (EDA)を扱います。
- YOLOのデータ拡張:基本的な変換からモデルの堅牢性とパフォーマンスを向上させる高度な戦略まで、YOLOのデータ拡張手法を網羅的に習得できます。
- COCOからYOLOへの変換:トレーニング用にCOCO JSONアノテーションをYOLO形式へ変換する完全ガイドです。クラスIDのマッピングや一般的な変換時の問題を含め、検出、セグメンテーション、キーポイントを扱います。
- COCO JSONトレーニング:カスタムデータセットクラスとトレーナーを使用し、COCO JSONアノテーションをYOLO形式に変換せず、YOLOを直接トレーニングします。
トレーニングとファインチューニング#
- モデルのトレーニングに関するヒント:バッチサイズの最適化、混合精度の使用、事前学習済み重みの適用など、コンピュータービジョンモデルのトレーニングを容易にするヒントを紹介します。
- カスタムデータでのYOLOのファインチューニング:事前学習済み重みを使用してカスタムデータセットでYOLO26をファインチューニングする完全ガイドです。転移学習、レイヤーの凍結、オプティマイザーの選択、2段階トレーニング、トラブルシューティングを扱います。
- YOLO26トレーニングレシピ:COCO上で公式YOLO26ベースチェックポイントをトレーニングする際に使用したハイパーパラメーター、データ拡張パイプライン、オプティマイザー設定を完全に文書化し、実践的なファインチューニングの指針を提供します。
- ハイパーパラメーターチューニング:Tunerクラスと遺伝的進化アルゴリズムを使用してハイパーパラメーターをファインチューニングし、YOLOモデルを最適化する方法を学べます。
- 知識蒸留:特徴量ベースの蒸留を使用して、大規模な教師モデルから小規模な生徒モデルへ知識を転移し、モデルのパフォーマンスを向上させる方法を学べます。
- K分割交差検証:K分割交差検証手法を使用してモデルの汎化性能を向上させる方法を学べます。
- トレーナーのカスタマイズ:YOLOトレーナーをサブクラス化し、カスタムメトリクスのログ記録、クラス重み付き損失の追加、モデル保存のカスタマイズ、バックボーンの凍結と凍結解除、レイヤーごとの学習率の設定を行う方法を学べます。
- モデルYAML設定ガイド:Ultralyticsのモデルアーキテクチャ定義を詳しく解説します。YAML形式を確認し、モジュール解決システムを理解し、カスタムモジュールをスムーズに統合する方法を学べます。
評価とトラブルシューティング#
- YOLOのパフォーマンスメトリクス ⭐ 必須:YOLOモデルのパフォーマンス評価に使用するmAP、IoU、F1スコアなどの主要なメトリクスを理解できます。実践的な例と、検出の精度と速度を向上させる方法に関するヒントも含まれています。
- モデル評価とファインチューニングに関する知見:mAPやIoUなどのメトリクスでコンピュータービジョンモデルを評価し、メトリクスから明らかになった内容を活用して検出精度を向上させます。
- モデルテスト:未知のデータでコンピュータービジョンモデルをテストし、YOLO26モデルを検証し、デプロイ前に過学習、未学習、データリーケージを検出する方法を学べます。
- YOLOの一般的な問題 ⭐ 推奨:Ultralytics YOLOモデルの使用時に頻繁に発生する問題に対する実践的な解決策とトラブルシューティングのヒントを紹介します。
- コンピュータービジョンモデルの保守:精度を保証し、異常を発見し、データドリフトを軽減するために、コンピュータービジョンモデルを監視、保守、文書化するための主要な実践方法を理解できます。
デプロイとサービング#
- モデルのデプロイオプション:ONNX、OpenVINO、TensorRTなどのYOLOのモデルデプロイ形式を概説し、デプロイ戦略の策定に役立つ各形式の長所と短所を説明します。
- モデルデプロイのベストプラクティス:最適化、トラブルシューティング、セキュリティに重点を置き、コンピュータービジョンプロジェクトでモデルを効率的にデプロイするためのヒントとベストプラクティスを説明します。
- 非YOLOモデルのエクスポート: Ultralyticsのスタンドアロンエクスポートユーティリティを使用して、あらゆる
torch.nn.Module(timm、torchvision、カスタム) をONNX、TorchScript、OpenVINO、CoreML、NCNN、MNN、PaddlePaddle、ExecuTorch、Core AI、TensorFlow SavedModelに変換します。 - エンドツーエンド検出: NMSまたはNMSフリーの推論を選択し、出力形式とエクスポートの互換性を理解します。
- Triton Inference Server統合:スケーラブルで効率的なディープラーニング推論デプロイのために、Ultralytics YOLO26とNVIDIAのTriton Inference Serverを統合する方法を詳しく解説します。
- YOLOのスレッドセーフな推論:YOLOモデルでスレッドセーフな方法により推論を実行するためのガイドラインです。スレッドセーフの重要性と、競合状態を防止して一貫した予測を確保するためのベストプラクティスを学べます。
- ROSクイックスタート:ロボットアプリケーションでリアルタイム物体検出を行うために、YOLOをロボットオペレーティングシステム (ROS) と統合する方法を学べます。Point Cloudと深度画像も扱います。
- Dockerを使用したVertex AIデプロイ:YOLOモデルをDockerでコンテナ化し、Google Cloud Vertex AIにデプロイするための簡潔なガイドです。ビルド、プッシュ、オートスケーリング、監視を扱います。
推論を最適化する#
- SAHIタイル推論:高解像度画像の物体検出において、YOLO26でSAHIのスライス推論機能を活用するための包括的なガイドです。
- OpenVINOのレイテンシー対スループットモード:YOLO推論のパフォーマンスを最大化するためのレイテンシーとスループットの最適化手法を学べます。
- NVIDIA DALIによるGPU前処理:Triton Inference Serverとの統合により、NVIDIA DALIを使用してYOLOのレターボックスリサイズ、パディング、正規化をGPU上で実行し、CPU前処理のボトルネックを解消します。
- セグメンテーションオブジェクトの分離:Ultralytics Segmentationを使用して画像からオブジェクトを抽出または分離する方法を、手順に沿って解説します。
- ターミナルで推論画像を表示:Remote TunnelまたはSSHセッションの使用時に、VSCodeの統合ターミナルで推論結果を表示します。
エッジおよび組み込みハードウェア#
- NVIDIA Jetson:NVIDIA JetsonデバイスにYOLOモデルをデプロイするためのクイックスタートガイドです。
- Raspberry Pi:最新のRaspberry PiハードウェアでYOLOモデルを実行するためのクイックスタートチュートリアルです。
- NVIDIA JetsonでのDeepStream:DeepStreamとTensorRTを使用してNVIDIA JetsonデバイスにYOLOモデルをデプロイするためのクイックスタートガイドです。
- Raspberry PiでのEdge TPU:Google Edge TPUはRaspberry Pi上のYOLO推論を高速化します。
- NVIDIA DGX Spark:NVIDIA DGX SparkデバイスにYOLOモデルをデプロイするためのクイックスタートガイドです。
- IntelでのDL Streamer:DL StreamerとOpenVINO™を使用してIntel Core Ultra Series 3デバイスにYOLO26モデルをデプロイするためのクイックスタートガイドです。
ガイドへの貢献#
コミュニティからの貢献を歓迎します。Ultralytics YOLOの特定の側面を習得していて、それがまだガイドで扱われていない場合は、ぜひ知識を共有してください。ガイドの執筆はコミュニティに貢献し、ドキュメントをより包括的で使いやすくするための素晴らしい方法です。
開始するには、コントリビューションガイドを読み、Pull Request (PR) を作成するためのガイドラインを確認してください。新しいガイドを追加する際は、プロジェクトの段階に合った上記のカテゴリに配置し、コレクションが拡大しても閲覧しやすいよう、手順形式のチュートリアル、タスクに焦点を当てたハウツー、リファレンスのいずれか1つのページタイプに統一してください。皆さまからの貢献をお待ちしています。
FAQ#
Ultralytics YOLOでカスタム物体検出モデルをトレーニングするのは簡単です。まず、データセットを正しい形式で準備し、Ultralyticsパッケージをインストールします。次のコードを使用してトレーニングを開始します。
例from ultralytics import YOLO model = YOLO("yolo26n.pt") # Load a pretrained YOLO model model.train(data="path/to/dataset.yaml", epochs=50) # Train on custom datasetデータセット形式の詳細と追加オプションについては、モデルのトレーニングに関するヒントガイドを参照してください。
YOLOモデルのパフォーマンスを評価することは、その有効性を理解するうえで重要です。主要なメトリクスには、平均適合率 (mAP)、Intersection over Union (IoU)、F1スコアがあります。これらのメトリクスは、物体検出タスクの精度と適合率の評価に役立ちます。これらのメトリクスとモデルを改善する方法については、YOLOのパフォーマンスメトリクスガイドで詳しく学べます。
Ultralytics Platformは、YOLOモデルの管理、トレーニング、デプロイを簡素化するノーコードプラットフォームです。シームレスな統合、リアルタイムトラッキング、クラウドトレーニングをサポートしているため、初心者にも専門家にも適しています。Ultralytics Platformクイックスタートガイドで、その機能とワークフローを効率化する方法を確認できます。
YOLOモデルのトレーニング中に発生する一般的な問題には、データ形式のエラー、モデルアーキテクチャの不一致、不十分なトレーニングデータなどがあります。対処するには、データセットが正しくフォーマットされていることを確認し、互換性のあるモデルバージョンを確認して、トレーニングデータを拡張してください。解決策の一覧については、YOLOの一般的な問題ガイドを参照してください。
NVIDIA JetsonやRaspberry PiなどのエッジデバイスにYOLOモデルをデプロイするには、TensorRTやLiteRTなどの互換性のある形式にモデルを変換する必要があります。NVIDIA JetsonとRaspberry Piのデプロイに関する手順ガイドに従って、エッジハードウェアでのリアルタイム物体検出を始めてください。これらのガイドでは、インストール、設定、パフォーマンスの最適化について説明します。