Roboflow#
Roboflowは、YOLOなどのさまざまなフォーマットでのデータラベリングおよびデータセットのエクスポートツールを提供します。このガイドでは、Ultralytics YOLOモデル向けのデータのラベリング、エクスポート、デプロイについて説明します。
Ultralyticsでは、用途に合わせて以下の2つのライセンスオプションを提供しています。
- AGPL-3.0ライセンス: このOSI承認オープンソースライセンスは、学生や愛好家に最適であり、オープンなコラボレーションと知識の共有を促進します。詳細については、LICENSEファイルを参照してください。
- Enterprise License: 開発および本番環境での使用において、このライセンスにより、AGPL-3.0のオープンソース要件をバイパスして、UltralyticsのソフトウェアとAIモデルを内部ツール、自動化ワークフロー、本番デプロイメントなどのビジネス製品やサービスにシームレスに統合できます。開始するには、Ultralytics Licensingからお問い合わせください。
詳細については、Ultralyticsライセンスページを参照してください。
このガイドでは、Roboflowを使用してカスタムのUltralytics YOLO26モデルをトレーニングするためのデータを見つけて、ラベル付けし、整理する方法を示します。
カスタムYOLO26モデルのトレーニング用データの収集#
Roboflowは、UltralyticsのYOLOモデルのデータ収集を支援する2つの主要なサービス(UniverseとCollect)を提供しています。データ収集戦略に関するより一般的な情報については、データ収集およびアノテーションガイドを参照してください。
Roboflow Universe#
Roboflow Universeは、ビジョンデータセットのオンラインリポジトリです。Ultralyticsモデルで使用するために、YOLOフォーマットでデータセットをエクスポートできます。
Roboflow Collect#
自身で画像を収集したい場合、Roboflow Collectは、エッジデバイス上のWebカメラを使用して自動的に画像を収集できるオープンソースプロジェクトです。テキストや画像のプロンプトを使用して収集するデータを指定できるため、ビジョンモデルに必要な画像だけを効率的に収集できます。
YOLO26フォーマットへのアップロード、変換、ラベリング#
Roboflow Annotateは、オブジェクト検出、分類、セグメンテーションなどのさまざまなコンピュータビジョンタスクに向けて画像にラベルを付けるためのオンラインツールです。
UltralyticsのYOLOモデルのデータをラベル付けするには、Roboflowでプロジェクトを作成し、画像をアップロードして、アノテーションを開始します。
アノテーションツール#
- バウンディングボックスアノテーション:
Bを押すか、ボックスアイコンをクリックします。クリックしてドラッグし、バウンディングボックスを作成します。ポップアップが表示され、アノテーションのクラスを選択するように求められます。 - 多角形アノテーション: インスタンスセグメンテーションに使用されます。
Pを押すか、多角形アイコンをクリックします。オブジェクトの周囲のポイントをクリックして多角形を描画します。
ラベルアシスタント (SAM統合)#
Roboflowには、アノテーションのスピードアップを可能にするSegment Anything Model (SAM)ベースのラベルアシスタントが統合されています。
ラベルアシスタントを使用するには、サイドバーのカーソルアイコンをクリックします。これでプロジェクトでSAMが有効になります。
オブジェクトにカーソルを合わせると、SAMがアノテーションを提案します。クリックしてアノテーションを確定してください。提案された領域の内側または外側をクリックすることで、アノテーションの精度を微調整できます。
タグ付け#
サイドバーの「タグ」パネルから画像にタグを追加できます。タグは場所やカメラソースなどの属性を表します。これらのタグを使用すると、特定の画像を検索したり、特定のタグを持つ画像を含むデータセットのバージョンを作成したりできます。
ラベルアシスト (モデルベース)#
Roboflow上でホストされているモデルは、Label Assistを使用してアノテーションを提案できます。YOLOモデルのウェイトをRoboflowにアップロード(後述の手順を参照)し、サイドバーのマジックワンドアイコンからLabel Assistを有効にしてください。
YOLO26のデータセット管理#
Roboflowは、コンピュータビジョンのデータセットを理解して管理するためのいくつかのツールを提供します。
データセット検索#
データセット検索を使用して、テキスト説明や特定のラベル/タグに基づいた画像を検索します。この機能はサイドバーの「Dataset」をクリックしてアクセスできます。
ヘルスチェック#
トレーニングの前に、Roboflowの「Health Check」を使用してデータセットに関する洞察を得て、改善点を特定してください。サイドバーの「Health Check」リンクからアクセスできます。画像サイズ、クラスバランス、アノテーションのヒートマップなどの統計情報が表示されます。
Health Checkでは、クラスバランス機能で特定されたクラスの不均衡への対処など、パフォーマンスを向上させるための変更が提案される場合があります。データセットの健全性を理解することは、効果的なモデルトレーニングにとって重要です。
モデルの堅牢性を高めるためのデータの前処理と拡張#
データをエクスポートするには、特定の時点でのデータセットのスナップショットであるデータセットバージョンを作成する必要があります。サイドバーの「Versions」をクリックし、「Create New Version」をクリックします。ここで、前処理ステップやデータ拡張を適用して、モデルのロバスト性を高めることができます。
選択した各拡張について、ポップアップを使用して明るさなどのパラメータを微調整できます。適切な拡張によりモデルの汎用性が大幅に向上します。これは、モデルトレーニングのヒントガイドで説明されている重要な概念です。
モデルトレーニング用に40以上のフォーマットでデータエクスポート#
データセットバージョンが生成されると、モデルトレーニングに適した様々なフォーマットでエクスポートできます。バージョンページにある「Export Dataset」ボタンをクリックしてください。
Ultralyticsのトレーニングパイプラインとの互換性を確保するために、「YOLO26」フォーマットを選択します。これで、カスタムのYOLO26モデルをトレーニングする準備が整いました。エクスポートしたデータセットを使用したトレーニングの開始に関する詳細な手順については、Ultralytics Trainモードのドキュメントを参照してください。
テストとデプロイのためのカスタムYOLO26モデルウェイトのアップロード#
Roboflowは、デプロイされたモデルのスケーラブルなAPIや、NVIDIA Jetson、Luxonis OAK、Raspberry Pi、およびGPUベースのシステムなどのデバイスと互換性のあるSDKを提供しています。ガイドでさまざまなモデルデプロイオプションを確認してください。
簡単なPythonスクリプトを使用して重みをRoboflowにアップロードすることで、YOLO26モデルをデプロイできます。
新しいPythonファイルを作成し、以下のコードを追加してください:
import roboflow # install with 'pip install roboflow'
# Log in to Roboflow (requires API key)
roboflow.login()
# Initialize Roboflow client
rf = roboflow.Roboflow()
# Define your workspace and project details
WORKSPACE_ID = "your-workspace-id" # Replace with your actual Workspace ID
PROJECT_ID = "your-project-id" # Replace with your actual Project ID
VERSION = 1 # Replace with your desired dataset version number
MODEL_PATH = "path/to/your/runs/detect/train/" # Replace with the path to your YOLO26 training results directory
# Get project and version
project = rf.workspace(WORKSPACE_ID).project(PROJECT_ID)
dataset = project.version(VERSION)
# Upload model weights for deployment
# Ensure MODEL_PATH points to the directory containing 'best.pt'
dataset.deploy(
model_type="yolov8",
model_path=MODEL_PATH,
) # Note: Use "yolov8" as model_type for YOLO26 compatibility in Roboflow deployment
print(f"Model from {MODEL_PATH} uploaded to Roboflow project {PROJECT_ID}, version {VERSION}.")
print("Deployment may take up to 30 minutes.")このコードでは、your-workspace-id、your-project-id、VERSIONの数値、およびMODEL_PATHを、Roboflowのアカウント、プロジェクト、およびローカルのトレーニング結果ディレクトリに固有の値に置き換えます。MODEL_PATHが、トレーニング済みのbest.pt重みファイルを含むディレクトリを正しく指していることを確認してください。
上記のコードを実行すると、認証(通常はAPIキー経由)を求められます。その後、モデルがアップロードされ、プロジェクト用のAPIエンドポイントが作成されます。この処理には最大30分かかる場合があります。
モデルをテストし、サポートされているSDKのデプロイ手順を確認するには、Roboflowサイドバーの「Deploy」タブに移動してください。このページの上部には、Webカメラを使用してテストしたり、画像や動画をアップロードしてテストしたりできるウィジェットが表示されます。
アップロードしたモデルはラベルアシスタントとしても使用でき、トレーニングに基づいたアノテーションを新しい画像に提案できます。
YOLO26モデルの評価方法#
Roboflowには、モデルのパフォーマンスを評価する機能が用意されています。パフォーマンス指標を理解することは、モデルの反復において重要です。
モデルをアップロードした後、Roboflowダッシュボードのモデルページからモデル評価ツールにアクセスできます。「View Detailed Evaluation」をクリックしてください。
このツールには、モデルのパフォーマンスを示す混同行列と、CLIP埋め込みを使用したインタラクティブなベクトル分析プロットが表示されます。これらの機能は、モデルの改善領域を特定するのに役立ちます。
混同行列のポップアップ:
セルにカーソルを合わせると値が表示され、クリックするとモデルの予測と正解データに対応する画像を確認できます。
「Vector Analysis」をクリックすると、CLIP埋め込みに基づいた画像の類似性を視覚化する散布図が表示されます。近い位置にある画像は意味的に類似しています。点は画像を表し、白(高性能)から赤(低性能)に色分けされています。
ベクトル分析は以下の目的に役立ちます:
- 画像のクラスタを特定する。
- モデルのパフォーマンスが低いクラスタを特定する。
- パフォーマンス低下の原因となっている画像間の共通点を理解する。
学習リソース#
- カスタムデータセットでのYOLOのトレーニング (Colab): 独自のデータでトレーニングするためのインタラクティブなGoogle Colabノートブック。
- Ultralytics YOLOドキュメント: YOLOモデルのトレーニング、エクスポート、デプロイ。
- Ultralyticsブログ: コンピュータビジョンとモデルトレーニングに関する記事。
- Ultralytics YouTube: モデルのトレーニングとデプロイに関する動画ガイド。
よくある質問 (FAQ)#
Roboflowを使用してYOLO26モデルのデータをラベリングするにはどうすればよいですか?#
Roboflow Annotateを使用します。プロジェクトを作成し、画像をアップロードし、アノテーションツール(bounding boxesの場合はB、ポリゴン用のP)またはSAMベースのラベルアシスタントを使用して、より高速なラベリングを行います。詳細な手順は、Upload, Convert and Label Data sectionに記載されています。
YOLO26のトレーニングデータ収集において、Roboflowはどのようなサービスを提供していますか?#
Roboflowは、Universe(多数のdatasetsへのアクセス)およびCollect(Webカメラを通じた自動画像収集)を提供します。Data Collection Guideで説明されている戦略を補完し、YOLO26モデルに必要なtraining dataを取得するのに役立ちます。
Roboflowを使用してYOLO26のデータセットを管理・分析するにはどうすればよいですか?#
Roboflowのデータセット検索、タグ付け、およびHealth Check機能を利用します。検索ではテキストやタグで画像を検索し、Health Checkではデータセットの品質(クラスバランス、画像サイズなど)を分析して、トレーニング前の改善をガイドします。詳細については、データセット管理セクションを参照してください。
RoboflowからYOLO26のデータセットをエクスポートするにはどうすればよいですか?#
Roboflowでデータセットバージョンを作成し、希望する前処理と拡張を適用してから、「Export Dataset」をクリックしてYOLO26フォーマットを選択します。このプロセスについては、データのエクスポートセクションで説明しています。これにより、Ultralyticsのトレーニングパイプラインで使用するデータの準備が整います。
YOLO26モデルをRoboflowと統合し、デプロイするにはどうすればよいですか?#
提供されているPythonスクリプトを使用して、トレーニング済みのYOLO26重みをRoboflowにアップロードします。これにより、デプロイ可能なAPIエンドポイントが作成されます。スクリプトと手順については、カスタム重みのアップロードセクションを参照してください。ドキュメントでさらにデプロイオプションを確認してください。