Azure Blob Storageインテグレーション
Azure Blob Storageインテグレーションを使用すると、ストレージアカウントのコンテナーをUltralytics Platformに接続できます。画像はコンテナー内に保持され、Platformはその場でインデックスを作成するため、コピーをアップロードせずにYOLOモデルの閲覧、アノテーション、トレーニングを行えます。AI機能をオンにすると、Platformはスマートアノテーション、自動アノテーション、類似画像検索、クラウドトレーニングにも画像を使用できます。
Azure Blob Storageデータセットを利用するには、ProまたはEnterpriseプランが必要です。無料ワークスペースではインテグレーションが表示され、接続時にアップグレードを求められます。サブスクリプション終了後も、既存のAzure Blob Storageデータセットには引き続き完全にアクセスできます。Proが必要なのは、新しい接続とインポートのみです。
接続文字列を取得する#
PlatformはBlobを読み込み、画像生成の場合に限り新しいBlobを作成します。Blobを変更または削除することはありません。現在のインテグレーションでは、アカウント全体の権限を付与するアカウントアクセスキーの接続文字列が必要です。
- Azureポータルでストレージアカウントを開きます。
- Security + networking > Access keys に移動します。
- connection string をコピーします。
文字列には AccountName、AccountKey、およびプロトコルとしてHTTPSが含まれている必要があります。これは、Azureの Access keys で提示される形式です。AccountKey の代わりに SharedAccessSignature が含まれるSASトークン接続文字列は拒否されます。
接続では標準の blob.core.windows.net エンドポイントを使用します。ソブリンクラウド(Azure China、Azure Government)およびカスタムBLOBエンドポイントはサポートされていません。
Platformに接続する#
- Settings > Integrations に移動し、インテグレーション一覧から Azure Blob Storage を選択します。
- 接続文字列を貼り付けます。
- Find available containers をクリックし、接続するコンテナーを選択します。コンテナー名を 手動で入力することもできます。
- Connectをクリックします。Platformは、何も保存する前に、選択した各コンテナーの一覧表示と読み取りが可能かを検証します。アカウントキーでは常にBlobを作成できるため、画像生成の開始後に接続または再接続したコンテナーには書き込みが可能です。

接続済みの各認証情報にはAI機能スイッチがあります。
クラウドストレージを接続するには、ワークスペースの管理者またはオーナーのロールが必要です。一度に最大50個のコンテナーを追加でき、検出ではストレージアカウント内のコンテナーが最大300個まで一覧表示されます。
後から同じストレージアカウントを再接続すると、既存のインテグレーションに新しいコンテナーが追加されます。保存済みの認証情報は、置き換え後も接続済みのすべてのコンテナーを読み取れる場合にのみ更新されます。読み取れないコンテナーがある場合は、同じストレージアカウントで以前に接続したコンテナーを含め、そのコンテナー名がエラーに表示されます。
アカウントキーがPlatformの外部に漏洩すると、書き込みや削除の操作を許可したり、SASトークンを作成したりするために悪用されるおそれがあります。認証情報は保存時にAES-256-GCMで暗号化され、ブラウザーに返されたり、トレーニングのワークロードに公開されたりすることはありません。可能であれば、専用のストレージアカウントを使用してください。アクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションしてください。
AI機能#
接続済みの各認証情報には、デフォルトでオンのSettings > Integrations内のAI機能スイッチがあります。オンの場合、UltralyticsのGPUとAIモデルプロバイダーは、その認証情報にある画像を次の用途に使用することがあります。
- SAMスマートアノテーション、および単一画像とバッチの自動アノテーション
- 類似画像検索とクラスタリング分析
- クラウドトレーニング
- 書き込みアクセス権のあるコンテナーでの画像生成
AIモデルプロバイダーが関与するのは、Google Geminiが元画像をもとにプロンプトを作成する画像生成と、ワークスペース独自のプロバイダーキーで実行する有料アノテーションモデルに限られます。Platformは画像のコピーを保持しません。各機能は必要に応じて画像を読み込み、クラウドトレーニングでは実行中のみ一時コピーを使用します。また、類似画像検索では各画像の埋め込みを保持し、画像がPlatformから削除されると埋め込みも削除されます。
スイッチをオフにすると、画像がUltralyticsのGPUやAIモデルプロバイダーに渡らないようにできます。オフにすると新しいAI処理は停止しますが、すでに実行中の処理は完了します。その認証情報を使用するデータセットには、これらの設定へのリンクとともにAI features offと表示され、利用できない各機能には理由が示されます。手動アノテーション、共有、ローカルトレーニングは引き続き利用でき、すでに作成したラベル、モデル、検索結果は保持されます。
スイッチを変更するには、ワークスペースの管理者またはオーナーのロールが必要です。REST APIを使用して、GET /api/integrations/bucketsから返されるインテグレーションIDを指定することもできます。
curl -X PATCH \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"processing": false}' \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID画像生成#
類似画像の生成は、AI機能がオンのAzure Blob Storageデータセットで利用できます。追加する画像は、データセットのフォルダー内のgenerated/フォルダーに書き込まれ、他のインデックス済み画像と同様にデータセットに追加されます。Platformはそこに新しいBlobのみを作成し、既存のBlobを上書きまたは削除することはありません。この操作で書き込みアクセス権が必要と表示された場合は、Settings > Integrationsで同じストレージアカウントを再接続してください。
BLOBコンテナーからデータセットを作成する#
- New Datasetをクリックし、Cloudタブを開きます。
- 接続済みのコンテナーを選択し、データを含むフォルダーに移動します。
- フォルダーを確定し、データセット名を調整して、データセットを作成します。
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のETagに固定されており、BLOBが変更されるとPlatformは安全側に処理を停止します。既存のBLOBを上書きせず、新しいBLOBを追加してください。
インポートの失敗#
空のフォルダー、パスの入力ミス、権限の取り消しなどが原因でインポートに失敗すると、データセットのページにエラーが表示されます。編集者は Retry import をクリックすると、保存済みのコンテナーとフォルダーを使って再試行できます。または、修正したパスを指定して新しいデータセットを作成できます。
再試行では処理を再開せず、フォルダーを再度一覧表示します。最初の試行以降に追加されたBLOBは取り込まれ、すでに存在しないBLOBはデータセットから除外されます。
トレーニング#
AI機能がオンの場合、通常のトレーニングフローでマネージドトレーニングを実行できます。トレーニングでは、固定した画像のPlatform独自のコピーを実行中のみ使用します。Azureの認証情報がトレーニングワークロードに公開されることはありません。AI機能がオフの場合、トレーニングダイアログにクラウドトレーニングを利用できない理由が表示され、代わりにローカルトレーニングが提示されます。
接続を解除する#
接続を解除すると、保存済みの接続文字列が削除されますが、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_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")接続元でアクセスを取り消すには、Azureでストレージアカウントのアクセスキーをローテーションしてください。
現在の制限事項#
Azureを使用するデータセットでは、Platformが所有する画像のコピーを必要とする機能(データセットの複製、変更不可のバージョンスナップショット、顔ぼかし、他のデータセットからの画像の貼り付け)は利用できません。スマートアノテーション、自動アノテーション、類似画像検索、クラスタリング、クラウドトレーニング、画像生成にはAI機能をオンにする必要があります。
Azureを利用したデータセット、またはその中の個別の画像を削除しても、削除されるのはPlatformの参照情報のみです。お客様のBlobは一切変更されません。
Google Cloud StorageとAmazon S3の連携もご覧ください。
よくある質問#
データセットは作成時に一度だけインデックス化されます。新しいblobは、新しいデータセットを作成するか、失敗したインポートを再試行するまで取り込まれません。また、インデックス化された各画像はそのバージョンに固定されるため、blobを上書きするとPlatformはその画像を安全側に倒して利用不能にします。既存のblobを置き換えるのではなく、新しいblobを追加してください。
画像生成の場合に限り、AI機能がオンの間のみ書き込みます。Platformはデータセットのフォルダー内の
generated/の下に新しいBlobを作成し、既存のBlobを上書きまたは削除することはありません。保存済みの認証情報を削除するには、Settings > Integrationsでインテグレーションを切断するか、Azureでストレージアカウントのアクセスキーをローテーションしてください。どちらの操作もコンテナー内のデータには影響しません。切断せずに画像がUltralyticsのGPUに渡らないようにするには、AI機能をオフにしてください。
コメント
質問したり、結果を共有したり、ほかの人をサポートしたりできます。