Ultralytics YOLOの総合チュートリアル#
UltralyticsのYOLOガイドへようこそ。包括的なチュートリアルでは、YOLOオブジェクト検出モデルのさまざまな側面を取り上げ、トレーニングや推論からデプロイまでを解説します。PyTorchを基盤とするYOLOは、リアルタイムのオブジェクト検出タスクにおいて、優れた速度と精度を発揮します。
深層学習の初心者から専門家まで、チュートリアルでは、コンピュータービジョンプロジェクトでYOLOを実装・最適化するための有益な知見をご紹介します。
視聴: Ultralytics YOLO26 ガイドの概要
ガイド#
ガイドはプロジェクトの段階ごとに分類されています。環境構築やデータ準備から、トレーニング、評価、デプロイ、推論の最適化、エッジハードウェアまで、現在取り組んでいる手順にすぐ移動できます。
開始と計画#
- Condaクイックスタート:Ultralytics用のConda環境を構築する手順を解説します。Condaを使ってUltralyticsパッケージを効率よくインストールし、使い始める方法をご紹介します。
- Dockerクイックスタート:Dockerを使用してUltralytics YOLOモデルをセットアップし、利用するための完全ガイドです。Dockerのインストール方法、GPUサポートの管理方法、一貫性のある開発とデプロイのために、分離されたコンテナでYOLOモデルを実行する方法を説明します。
- AzureMLクイックスタート:MicrosoftのAzure Machine LearningプラットフォームでUltralytics YOLOモデルをすぐに使い始める方法をご紹介します。クラウドで物体検出プロジェクトをトレーニング、デプロイ、スケーリングする方法を解説します。
- Modalクイックスタート:ModalのサーバーレスクラウドプラットフォームでUltralytics YOLO26を実行する方法を解説します。認証、GPU推論、永続ストレージを使ったトレーニングジョブを取り上げ、インフラ管理は不要です。
- コンピュータービジョンプロジェクトの目標を定義する:コンピュータービジョンプロジェクトの明確で測定可能な目標を効果的に定義する方法を順を追って説明します。明確に定義された問題提起の重要性と、それがプロジェクトのロードマップをどのように作成するかを学びます。
- コンピュータービジョンプロジェクトの手順:目標の定義、モデルの選択、データの準備、結果の評価など、コンピュータービジョンプロジェクトに必要な主要な手順を学びます。
- YOLOアーキテクチャの解説:YOLOv3からYOLO26までのYOLOアーキテクチャの変遷を、バックボーン、ネック、検出ヘッドにわたってたどり、C2f、C3k2、C2PSAアテンション、アンカーフリー、NMSフリーの設計を解説します。
データを準備する#
- データ収集とアノテーション:コンピュータービジョンモデル向けに高品質な入力データを作成するための、データ収集とアノテーションのツール、手法、ベストプラクティスをご紹介します。
- アノテーション済みデータの前処理:画像のリサイズ、正規化、データセットの分割、データ拡張、探索的データ分析(EDA)など、YOLO26を使ったコンピュータービジョン向けのデータ前処理を学びます。
- YOLOのデータ拡張:基本的な変換から、モデルの堅牢性と性能を向上させる高度な手法まで、YOLOの幅広いデータ拡張手法を習得します。
- COCOからYOLOへの変換:トレーニング用にCOCO JSONアノテーションをYOLO形式へ変換する完全ガイドです。検出、セグメンテーション、キーポイントを取り上げ、クラスIDのマッピングやよくある変換時の落とし穴も解説します。
- COCO JSONでのトレーニング:カスタムデータセットクラスとトレーナーを使用して、YOLO形式に変換せずにCOCO JSONアノテーションで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、カスタムモデル)をTorchScript、ONNX、OpenVINO、CoreML、Core AI、TensorFlow SavedModel、PaddlePaddle、MNN、NCNN、ExecuTorchに変換します。 - エンドツーエンド検出:NMSまたはNMSフリーの推論を選択し、出力形式とエクスポートの互換性を理解します。
- Triton Inference Serverとの統合:スケーラブルで効率的な深層学習推論のデプロイに向けて、NVIDIAのTriton Inference ServerとUltralytics YOLO26を統合する方法を詳しく解説します。
- YOLOのスレッドセーフな推論:YOLOモデルでスレッドセーフに推論を実行するためのガイドラインです。スレッドセーフの重要性と、競合状態を防いで一貫した予測を実現するベストプラクティスを学びます。
- ROSクイックスタート:ロボット工学アプリケーションでリアルタイム物体検出を行うために、ロボットオペレーティングシステム(ROS)とYOLOを統合する方法を学びます。点群や深度画像も取り上げます。
- Dockerを使ったVertex AIへのデプロイ:YOLOモデルをDockerコンテナ化してGoogle Cloud Vertex AIにデプロイする、効率的なガイドです。ビルド、プッシュ、自動スケーリング、監視を解説します。
推論を最適化する#
- SAHIタイル推論:高解像度画像の物体検出に向けて、YOLO26でSAHIのスライス推論機能を活用するための包括的なガイドです。
- OpenVINOのレイテンシーモードとスループットモード:YOLO推論の性能を最大限に引き出すための、レイテンシーとスループットの最適化手法を学びます。
- NVIDIA DALIによるGPU前処理:NVIDIA DALIを使ってYOLOのレターボックスリサイズ、パディング、正規化をGPU上で実行し、CPU前処理のボトルネックを解消します。Triton Inference Serverとの統合も解説します。
- セグメンテーション対象の切り出し: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の特定の分野に精通していて、まだガイドで扱われていない内容があれば、ぜひ知識を共有してください。ガイドの執筆はコミュニティに貢献し、ドキュメントをより包括的で使いやすくするための優れた方法です。
まず、プルリクエスト(PR)の作成方法に関するガイドラインを確認するため、貢献ガイドをお読みください。新しいガイドを追加する際は、プロジェクトの段階に合った上記のカテゴリに配置し、手順を追うチュートリアル、タスクに特化したハウツー、リファレンスのいずれか1種類にまとめてください。コレクションが増えても閲覧しやすい状態を保てます。皆様からの貢献をお待ちしています。
よくある質問#
Ultralytics YOLOを使ったカスタム物体検出モデルのトレーニングは簡単です。まず、データセットを正しい形式で準備し、Ultralyticsパッケージをインストールします。次のコードでトレーニングを開始できます。
例from ultralytics import YOLO model = YOLO("yolo26n.pt") # 事前学習済みのYOLOモデルを読み込む model.train(data="path/to/dataset.yaml", epochs=50) # カスタムデータセットでトレーニングデータセットの形式やその他のオプションについて詳しくは、モデルのトレーニングのヒントガイドをご覧ください。
YOLOモデルの性能を評価することは、その有効性を理解するうえで非常に重要です。主要な指標には、平均適合率 (mAP)、和集合に対する積集合の比率 (IoU)、F1スコアがあります。これらの指標は、物体検出タスクの正解率と適合率の評価に役立ちます。これらの指標やモデルの改善方法について詳しくは、YOLOの性能指標ガイドをご覧ください。
Ultralytics Platformは、YOLOモデルの管理、トレーニング、デプロイを簡素化するノーコードプラットフォームです。シームレスな統合、リアルタイム追跡、クラウドトレーニングに対応しており、初心者にも専門家にも適しています。機能の詳細や、ワークフローを効率化する方法については、Ultralytics Platformクイックスタートガイドをご覧ください。
YOLOモデルのトレーニングでよく起きる問題には、データ形式のエラー、モデルアーキテクチャの不一致、トレーニングデータの不足などがあります。これらに対処するには、データセットが正しい形式であることを確認し、互換性のあるモデルバージョンを使用しているか確認して、トレーニングデータを拡張します。解決策の一覧については、YOLOでよくある問題ガイドをご覧ください。
NVIDIA JetsonやRaspberry PiなどのエッジデバイスにYOLOモデルをデプロイするには、モデルをTensorRTやLiteRTなどの互換性のある形式に変換する必要があります。NVIDIA JetsonとRaspberry Piへのデプロイに関する手順ガイドに従って、エッジハードウェアでリアルタイム物体検出を始めましょう。これらのガイドでは、インストール、設定、性能最適化の手順を説明します。