Azure

Azureで始める画像認識サービスの構築手順とコスト管理

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

1. Azure 環境の準備とリソース作成

1‑1. 無料アカウントで始める

手順 内容
サインアップ https://azure.microsoft.com/free/ にアクセスし、Microsoft アカウントでサインイン。クレジットカード情報は課金防止のために必要です(利用料が 0 USD を超えると請求されます)。
無料クレジット 登録直後に 200 USD 分のクレジット が付与され、30 日間有効。無料枠として AI サービスは月 5,000 件まで料金がかかりません。
サブスクリプション作成 ポータル左メニュー > 「サブスクリプション」→「+ 作成」で名前を付けて完了。

1‑2. リソースグループとリージョン

同一リソースグループに Computer VisionCustom VisionBlob Storage をまとめると権限管理がシンプルになります。

1‑3. 必要なリソースをデプロイ

Azure ポータルまたは Azure CLI(以下の例)で作成します。


2. Computer Vision と Custom Vision の比較ポイント

項目 Azure AI Vision (Computer Vision) Custom Vision
対象 汎用画像解析(タグ付与、物体検出、テキスト抽出) ユーザーが定義したクラスやオブジェクトの分類・検出
学習コスト なし(即時利用可) データラベリングとモデル訓練が必要
料金体系 従量課金+無料枠 (月 5,000 件) 訓練回数・予測リクエストに応じた従量課金
推奨シナリオ 商品カタログ自動タグ付け、画像検索、ドキュメント OCR 製造ラインの不良品判別、社内文書の独自分類
API エンドポイント https://{region}.api.cognitive.microsoft.com/vision/v3.2/analyze(バージョンは随時更新) https://{region}.api.cognitive.microsoft.com/customvision/v3.0/Prediction/{projectId}/classify/iterations/{iterationName}/image
認証方式 サブスクリプションキーまたは Azure AD トークン(どちらか一方で統一) 主にサブスクリプションキー(予測リソース用)

選定の目安
- 汎用的な解析だけが必要 → Computer Vision をそのまま利用。
- 独自クラスや高精度カスタムモデルが必須 → Custom Vision でデータを集めて学習。


3. データセット作成と Custom Vision でのモデル訓練フロー

3‑1. 画像を Blob Storage に格納

3‑2. 環境変数の設定(事前説明)

変数名 内容 設定例
VISION_ENDPOINT Computer Vision のエンドポイント URL(例: https://japaneast.api.cognitive.microsoft.com export VISION_ENDPOINT=https://japaneast.api.cognitive.microsoft.com
VISION_KEY Computer Vision 用サブスクリプションキー export VISION_KEY=xxxxxxxxxxxx
CUSTOM_VISION_PREDICTION_KEY Custom Vision の予測リソースキー export CUSTOM_VISION_PREDICTION_KEY=yyyyyyyyyyyy
AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_CLIENT_SECRET Azure AD アプリ認証に使用(後述) export AZURE_CLIENT_ID=... など

3‑3. ラベリングとデータ品質

  1. Custom Vision ポータルでプロジェクト作成
  2. プロジェクト名、ドメイン(General Classification / Object Detection)を選択。
  3. 画像の追加
  4. 「URL から追加」ボタンで先ほど Blob に保存した画像 URL(SAS トークン付き)を貼り付け。
  5. ラベル付与のベストプラクティス
  6. クラスあたり 最低 5〜10 枚 のサンプルを確保し、全クラスでバランスが取れるようにする。
  7. 複数担当者がいる場合は「承認フロー」または「タグの命名規則」を設定し、ラベルの揺れを防止。

3‑4. 訓練・評価サイクル

ステップ 操作内容
1. アップロード 画像とラベルがすべて揃ったら「アップロード」ボタンで保存。
2. 訓練開始 「Train」→「Standard」または「Advanced」(GPU が必要)を選択。
3. 評価指標 完了後に表示される Precision、Recall、mAP を確認。目標未達の場合はデータ増強やラベル修正を繰り返す。
4. パブリッシュ 「Publish」→「Prediction Resource」を選び、エンドポイント URL とキーを取得。

4. Azure AI Vision と Custom Vision の統合実装例

4‑1. 認証方式の整理

  • サブスクリプションキー はシンプルで Quick‑Start に適していますが、キー漏洩リスクがあります。
  • Azure AD アプリ認証(クライアント ID/シークレットまたはマネージド ID)はローテーションや RBAC が可能なため、本番環境では推奨されます。

本稿のコード例は Azure AD 認証を使用 し、Computer Vision の呼び出しに DefaultAzureCredential を、Custom Vision の予測にはサブスクリプションキー(環境変数)を組み合わせたハイブリッド方式です。

4‑2. Python SDK(azure-ai-vision)と REST API の併用例

4‑2‑1. 前提ライブラリインストール

4‑2‑2. 完全サンプルコード

ポイント解説
- DefaultAzureCredential は開発環境(VS Code、Azure CLI)でも本番(App Service のマネージド ID)でも同一コードで動作します。
- Computer Vision 側は キー認証でも可能 ですが、サンプルでは Azure AD を示すことでベストプラクティスを提示しています。
- Custom Vision の予測エンドポイントは現時点(2024 年)ではサブスクリプションキーが唯一の認証手段です。

4‑3. サーバーレス統合例:Azure Functions (Python)

  • HTTP トリガーで画像 URL を受け取り、VisionClient だけで完結。
  • 必要に応じて同関数内で Custom Vision の予測呼び出しを組み込めば、一つのエンドポイントで汎用解析とカスタム分類を提供可能です。

5. 運用・コスト管理と CI/CD ベストプラクティス

5‑1. コスト見積もり(2024 年料金表に基づく概算)

サービス 無料枠 従量課金例
Computer Vision (Analyze) 月 5,000 件まで $0 1,000 件あたり約 $1(S0 SKU)
Custom Vision 訓練 なし 1,000 回のトレーニングにつき約 $2
Custom Vision 予測 なし 1,000 リクエスト ≈ $0.5

例)PoC の月間利用想定
- Computer Vision:3,000 件 → 無料枠内
- Custom Vision 訓練:150 回 → $0.30
- 予測リクエスト:8,000 件 → $4.00
合計 ≈ $4.30(無料枠分を差し引くとさらに削減可能)

5‑2. コスト削減テクニック

  1. 使用時間外のスケールダウン
  2. Azure Functions は Consumption プラン に切り替えるだけで課金は実行回数に比例。
  3. 結果キャッシュ
  4. 同一画像が頻繁に解析される場合、Azure Cache for Redis にタグ・オブジェクト情報を保存し、API 呼び出し回数を削減。

5‑3. CI/CD パイプライン(GitHub Actions + Azure CLI)

  • シークレット管理は必ず GitHub の Secrets に格納し、コード上に平文を書かない。
  • 定期的な再訓練と自動デプロイでモデルの鮮度を保ちます。

5‑4. 監視・可観測性

項目 実装例
Application Insights Azure Functions の「Enable Application Insights」オプションで有効化し、requests, exceptions, customMetrics が自動収集されます。
カスタムメトリクス 予測レイテンシやモデルバージョンを trackMetric API で送信 → ダッシュボードで SLA を可視化。
アラート 月間利用量が無料枠の 80 % を超えたらメール通知(Azure Monitor の予算アラート)

まとめ

  1. 環境は Azure 無料アカウント → リソースグループ → 必要リソース(Computer Vision、Custom Vision、Blob Storage)の順に作成
  2. 汎用解析は Computer Vision、独自クラスは Custom Vision を選択し、目的に応じて組み合わせる
  3. データは Blob に保管し、Custom Vision UI でラベリング → 訓練 → パブリッシュ のフローを繰り返すことで高品質モデルが得られる
  4. 認証は Azure AD(本番)+サブスクリプションキー(Custom Vision)のハイブリッド が安全かつシンプル
  5. CI/CD とモニタリングを導入すれば、コスト管理・運用の自動化が実現 し、スケーラブルな画像認識サービスを継続的に提供できる

本稿で示した手順とベストプラクティスは 2024 年 4 月時点 の公式情報に基づいています。Azure のサービスは頻繁にアップデートされますので、導入前には必ず最新ドキュメントをご確認ください。

スポンサードリンク

-Azure
-, , , , , , , ,