Ultralytics YOLO27: ウェイティングリストに登録してください。

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 をコピーします。

文字列には AccountName、AccountKey、およびプロトコルとしてHTTPSが含まれている必要があります。これは、Azureの Access keys で提示される形式です。AccountKey の代わりに SharedAccessSignature が含まれる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インテグレーション設定

クラウドストレージを接続するには、ワークスペースの管理者またはオーナーのロールが必要です。一度に最大50個のコンテナーを追加でき、検出ではストレージアカウント内のコンテナーが最大300個まで一覧表示されます。

後から同じストレージアカウントを再接続すると、既存のインテグレーションに新しいコンテナーが追加されます。保存済みの認証情報は、置き換え後も接続済みのすべてのコンテナーを読み取れる場合にのみ更新されます。読み取れないコンテナーがある場合は、同じストレージアカウントで以前に接続したコンテナーを含め、そのコンテナー名がエラーに表示されます。

認証情報のセキュリティ

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

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

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

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

  • 画像 — .jpg、.jpeg、.png、.webp、.avif のBLOBは、上限を設けた リクエストで寸法を読み取り、インデックス化されます。Platformはソース画像のコピーを別途保存しません。
  • ラベル — YOLOの.txtサイドカーファイルを解析してPlatformのアノテーションに変換し、標準的なimages/ → labels/の構成、または同じフォルダー内のファイルとして対応付けます。
  • メタデータ — YAMLファイルからクラス名とポーズのキーポイント形状を取得します。これはアーカイブのアップロードと同じです。フォルダーに複数のYAMLファイルがある場合は、data.yamlとdata.ymlが優先されます。
  • タスク — ラベルファイルのサンプルからタスクを判定するため、ダイアログで選択したタスクではなく、ラベルの形状に基づいてセグメンテーション、ポーズ、OBBのフォルダーを認識します。
  • 分割 — BLOBパス内のフォルダー名 train、val、test に基づき、データ分割が自動的に割り当てられます。

作成したデータセットは、他のデータセットと同様に利用できます。閲覧やアノテーション、公開・非公開の設定、チームとの共有、マネージドトレーニングによるトレーニングが可能です。元画像は必要に応じてストリーミングされ、インデックス化された画像はPlatformのストレージクォータを消費しません。

制限事項

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

インデックス化したBLOBを変更しないでください

インデックス化された各画像はBLOBのETagに固定されており、BLOBが変更されるとPlatformは安全側に処理を停止します。既存のBLOBを上書きせず、新しいBLOBを追加してください。

インポートの失敗#

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

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

トレーニング#

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

接続を解除する#

接続を解除すると、保存済みの接続文字列が削除されますが、Azure上のデータには影響しません。それらのコンテナーから作成したデータセットは、クラス、ラベル、アノテーションとともにワークスペースに残りますが、同じストレージアカウントを再接続するまで画像の読み込み、プレビュー、トレーニングはできません。接続解除中も、データセット名の変更、ラベルの編集、データセットの削除は可能です。

接続を解除するには、Settings > Integrations に移動し、Azure Blob Storage を選択して、認証情報の横にある Disconnect をクリックし、確認します。そのデータセットを開くと、これらの設定へのリンクとともに Azure Blob Storage Disconnected と表示されます。再接続すると、データセットは自動的に再び利用可能になります。

REST APIを使って接続を解除することもできます。その際は、GET /api/integrations/buckets が返すインテグレーションIDを使用します。

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の連携もご覧ください。

よくある質問#

  • いいえ。Platformはコンテナを一度だけ一覧表示し、検出した画像の寸法とラベルをインデックス化します。元画像は閲覧やアノテーションの際にオンデマンドでストリーミングされます。マネージドトレーニングでは、実行中に限り、固定された画像のPlatform独自のコピーを使用します。インデックス化された画像は、ストレージクォータの対象にはなりません。

  • データセットは作成時に一度だけインデックス化されます。新しいオブジェクトは、新しいデータセットを作成するか、失敗したインポートを再試行するまで取り込まれません。また、インデックス化された各画像はそのバージョンに固定されるため、オブジェクトを上書きすると、Platformはその画像の処理を安全側に停止します。既存のオブジェクトを置き換えず、新しいオブジェクトを追加してください。

  • 画像のPlatform所有コピーを必要とする機能は、接続済みデータセットでは利用できません。対象となる機能は、自動アノテーション、クラスタリング分析、データセットの複製、変更不可のバージョンスナップショットです。手動アノテーション、共有、トレーニングは通常どおり利用できます。

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

コメント