YOLO Vision 2026:

Azure Blob Storage統合#

Azure Blob Storage統合により、ストレージアカウントのコンテナーをUltralytics Platformに接続できます。画像はコンテナー内に保持され、Platformはその場でインデックスを作成するため、コピーをアップロードせずにYOLOモデルの閲覧、アノテーション、トレーニングを行えます。

Pro機能

Azure Blob StorageデータセットにはProまたはEnterpriseプランが必要です。無料ワークスペースでは統合機能を確認できますが、接続時にアップグレードを求められます。サブスクリプションが終了しても、既存のAzure Blob Storageデータセットには引き続き完全にアクセスできます。新しい接続とインポートのみProが必要です。

接続文字列を取得する#

Platformはストレージから読み取るだけで、blobへの書き込み、変更、削除は一切行いません。現在の統合では、アカウント全体の権限を付与するアカウントアクセスキーの接続文字列が必要ですが、Platformが使用する操作は一覧表示と読み取りのみです。

  1. Azureポータルでストレージアカウントを開きます。
  2. Security + networking > Access keysに移動します。
  3. connection stringをコピーします。

文字列には、プロトコルとしてAccountNameAccountKey、HTTPSが含まれている必要があります。これは、AzureのAccess keysで表示される形式です。SharedAccessSignatureを含み、AccountKeyの代わりに使用するSASトークン接続文字列は拒否されます。

パブリックAzureクラウドのみ

接続には標準のblob.core.windows.netエンドポイントを使用します。ソブリンクラウド(Azure China、Azure Government)およびカスタムblobエンドポイントはサポートされていません。

Platformに接続する#

  1. Settings > Integrationsに移動し、統合一覧からAzure Blob Storageを選択します。
  2. 接続文字列を貼り付けます。
  3. Find available containersをクリックし、接続するコンテナーを選択します。コンテナー名を手動で入力することもできます。
  4. Connectをクリックします。Platformは、保存する前に、選択した各コンテナーの一覧表示と読み取りが可能であることを検証します。

Ultralytics Platform Azure Blob Storage Integration Settings

クラウドストレージを接続するには、ワークスペースの管理者または所有者のroleが必要です。1つの接続で最大50個のコンテナーを扱うことができ、ストレージアカウント内のコンテナーは最大300個まで検出されます。

後から同じストレージアカウントに再接続すると、新しいコンテナーが既存の統合に追加されます。保存済みの認証情報は、置き換え後も接続済みのすべてのコンテナーを読み取れることが確認された場合にのみ置き換えられます。

認証情報のセキュリティ

アカウントキーがPlatform外部に公開されると、書き込みや削除操作を承認したり、SASトークンを作成したりできます。認証情報は保存時にAES-256-GCMで暗号化され、ブラウザーに返されることも、トレーニングワークロードに公開されることもありません。可能な場合は専用のストレージアカウントを使用してください。アクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションします。

Blobコンテナーからデータセットを作成する#

  1. New Datasetをクリックし、Cloudタブを開きます。
  2. 接続済みのコンテナーを選択し、データを含むフォルダーを参照します。
  3. フォルダーを確認し、データセット名を調整して、データセットを作成します。

Platformはフォルダーの一覧を一度取得し、見つかった内容をインデックス化します。

  • Images.jpg.jpeg.png.webp.avifのblobは、範囲を制限したリクエストで読み取った画像サイズとともにインデックス化されます。Platformはソース画像のコピーを別途保存しません。
  • Labels — YOLOの.txtサイドカーはPlatformのアノテーションに解析され、標準のimages/labels/レイアウト、または同じフォルダー内の兄弟ファイルとして対応付けられます。
  • Metadata — YAMLファイルによって、アーカイブアップロードと同様に、クラス名とポーズキーポイントの形状が提供されます。フォルダーに複数存在する場合は、data.yamldata.ymlが優先されます。
  • Task — ラベルファイルのサンプルによってタスクが決まるため、ダイアログで選択したタスクではなく、ラベルの形状に基づいてセグメンテーション、ポーズ、OBBのフォルダーが認識されます。
  • Splits — blobパス内のtrainvaltestフォルダー名により、分割が自動的に割り当てられます。

その後、データセットは他のデータセットと同様に扱えます。参照してアノテーションを付けたり、公開または非公開に設定したり、チームと共有したり、管理されたトレーニングを通じてトレーニングしたりできます。元の画像は必要に応じてストリーミングされ、インデックス化された画像はPlatformのストレージクォータを消費しません。

制限事項

1回のインポートで、最大50,000個のblobと、1個あたり最大1 MBのラベルまたはYAMLファイルをインデックス化できます。大規模なコンテナーは、複数のデータセットに分割してください。

インデックス化したblobを不変に保つ

インデックス化された各画像はblobのETagに固定され、Platformはblobが変更されると処理を中止します。既存のblobを上書きするのではなく、新しいblobを追加してください。

インポートの失敗#

空のフォルダー、パスの入力ミス、権限の取り消しなどによりインポートに失敗した場合、データセットのページにエラーが表示されます。編集者はRetry importをクリックして、保存済みのコンテナーとフォルダーを使用して再実行するか、修正したパスを指定して新しいデータセットを作成できます。

再試行では処理を再開せず、フォルダーを再度一覧表示します。最初の試行後に追加されたblobは取り込まれ、存在しなくなったblobはデータセットから削除されます。

トレーニング#

マネージドトレーニングは通常のトレーニングフローで実行されます。トレーニング中は、実行期間にわたってPlatform独自の固定済み画像コピーが使用され、Azureの認証情報がトレーニングワークロードに公開されることはありません。

接続を切断する#

接続を解除すると、Azure内のものには一切触れずに、保存された接続文字列が削除されます。これらのコンテナーから構築されたデータセットは、クラス、ラベル、アノテーションとともにワークスペースに残りますが、同じストレージアカウントに再接続するまで、画像の読み込み、プレビュー、トレーニングでの使用はできません。

GET /api/integrations/bucketsから返された連携IDを使用してREST APIを呼び出します。

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

代わりにソース側でアクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションします。

現在の制限事項#

Azureを基盤とするデータセットでは現在、画像のPlatform所有コピーを必要とする機能(自動アノテーション、クラスタリング分析、データセットのクローン作成、変更不可能なバージョンスナップショット)は利用できません。

Azureを基盤とするデータセット、またはその個々の画像を削除しても、Platformの参照のみが削除され、blobには一切触れません。

Google Cloud StorageおよびAmazon S3の統合もご覧ください。

FAQ#

  • いいえ。Platformはコンテナを一度リスト化し、見つかった画像の寸法とラベルをインデックス化します。オリジナルの画像は閲覧とアノテーションのためにオンデマンドでストリーミングされ、管理されたトレーニングは、実行時間中のみピン留めされた画像のPlatform独自のコピーから機能します。インデックス化された画像は、ストレージクォータにはカウントされません。

  • データセットは作成時に一度インデックス化されます。新しいオブジェクトは、新しいデータセットを作成するか、失敗したインポートを再試行するまでピックアップされません。また、インデックス化されたすべての画像はそのバージョンにピン留めされているため、オブジェクトを上書きすると、Platformはその画像に対してフェイルクローズします。既存のオブジェクトを置き換えるのではなく、新しいオブジェクトを追加してください。

  • Platformが所有する画像のコピーを必要とする機能は、接続されたデータセットでは除外されます:自動アノテーション、クラスタリング分析、データセットの複製、不変のバージョン スナップショット。手動アノテーション、共有、トレーニングはすべて通常どおり機能します。

  • Settings > Integrationsで統合を解除して保存された認証情報を削除するか、Azureでストレージアカウントのアクセスキーをローテートしてください。どちらの操作もコンテナ内のデータには影響しません。

コメント