Cloud Service
Azure AI Custom Vision
自社の画像を少数アップロードして学習させるだけで、独自の画像分類・物体検出モデルを作れるノーコード寄りの視覚 AI。AWS の Rekognition Custom Labels に相当。
- 1.ラベル付き画像を数十枚アップロードして学習させ、独自の分類・物体検出モデルを作れる。
- 2.学習とテストはポータルで完結し、完成モデルは REST/SDK のエンドポイントとして公開できる。
- 3.汎用の解析は Azure AI Vision、独自カテゴリの識別は Custom Vision、という使い分けになる。
Azure AI Custom Vision は、利用者が用意したラベル付き画像で学習させ、自社ドメインに特化した「画像分類」と「物体検出」のモデルを作成・公開できるマネージドサービスです。汎用の学習済みモデルでは判別できない独自カテゴリ(自社製品の種類、特定の不良品など)を、少数の画像とブラウザ操作だけで識別できるようにします。AWS では Amazon Rekognition Custom Labels がほぼ同じ役割を担います。
解決する課題
- 汎用の画像 AI では区別できない自社固有のカテゴリ(製品種別・部品・不良品など)を判別したい
- 機械学習の専門知識やコードを書かずに、少数の画像から独自モデルを作りたい
- 学習・テスト・改善のサイクルをブラウザ上で素早く回し、完成したらアプリから API で呼びたい
- ネットワークが不安定な現場やデバイス上で動かすため、モデルをエクスポートしてオフライン実行したい
主要概念と用語
- 画像分類(Classification): 画像全体に対して 1 つ(または複数)のタグを付ける。「この写真は犬か猫か」のような判定
- 物体検出(Object Detection): 画像内のどこに何があるかを矩形(バウンディングボックス)付きで返す
- プロジェクト: 分類か物体検出か、ドメインを選んで作る作業単位。学習画像とタグ、モデルの反復を束ねる
- タグ / ラベル: 学習画像に付与する正解情報。物体検出ではタグに加えて領域(位置)も指定する
- ドメイン: 一般・小売・食品などの用途別の最適化プリセット。エッジ向けの軽量(Compact)ドメインもある
- 反復(Iteration): 学習を実行するたびに作られるモデルのバージョン。テストして良ければ公開する
- 公開(Publish): 反復を予測エンドポイントに紐づけ、Prediction API から呼べる状態にする操作
- Training / Prediction リソース: 学習用と推論用で分かれた 2 種類の Azure リソース
仕様・制限・クォータ
- プロジェクトは分類か物体検出かを最初に選び、後から種別は変更できない
- 学習にはタグごとに最低限の画像枚数が必要で、枚数が少ないと精度が出にくい(多様な角度・背景の画像が望ましい)
- 1 プロジェクトあたりのタグ数・画像枚数・反復数に上限があり、画像サイズや対応形式にも制約がある
- エッジ実行向けには Compact ドメインを選ぶと、ONNX や TensorFlow などの形式へモデルをエクスポートできる
- Prediction API には**1 秒あたりのリクエスト数(レート制限)**があり、超過すると一時的に拒否される
- 具体的な上限値・必要枚数・対応形式は変動するため、最新の公式ドキュメントで確認すること
物体やテキストの一般的な抽出は Azure AI Vision の学習済みモデルで済むことが多い。汎用モデルでは区別できない独自カテゴリのときだけ Custom Vision に進むと、学習・運用の手間を最小化できる。
内部の仕組み
利用者はブラウザのポータルまたは Training API でラベル付き画像をアップロードし、学習を実行します。サービス側は転移学習(学習済みの基盤モデルに少数の自社データを上乗せして学習する手法)を使うため、少ない枚数でも実用的な精度を狙えます。学習を実行するたびに反復(モデルのバージョン)が作られ、保留画像での精度指標を確認したうえで、良い反復を予測エンドポイントに公開します。
公開後はアプリから Prediction API(または SDK)に画像を送り、各タグの確信度を含む JSON を受け取ります。Compact ドメインを選んだプロジェクトでは、モデル本体をエクスポートしてデバイスやコンテナー上でオフライン推論することもできます。
設計パターン / ベストプラクティス
- バランスの取れた学習画像: タグごとに枚数を揃え、背景・照明・角度の多様な画像を集めて偏りを減らす
- 反復ごとに評価して公開: 学習のたびに精度指標を確認し、改善した反復だけを公開する
- 確信度で分岐: 低い確信度の予測は人手レビューに回すワークフローにする
- エッジ要件は最初から Compact: オフライン実行が要件ならプロジェクト作成時に Compact ドメインを選ぶ
- 失敗時リトライ: Prediction のレート制限や一時障害に備え、指数バックオフでリトライする
特定の背景や撮影条件に偏った画像で学習すると、本番の別環境で精度が落ちる。実運用に近い多様な条件の画像を集め、反復ごとに保留データで精度を確かめること。
運用・監視
- 精度が出ない → 学習画像の枚数・多様性・タグの偏りを点検し、追加学習で反復を重ねる
- 予測が遅い/拒否される → Prediction のレート上限を確認し、バックオフ付きリトライで平準化する
- 呼び出し回数・レイテンシ・エラー率は Azure Monitor / メトリクスで監視する
- 反復はバージョンとして管理し、精度が回帰していないか確認してから公開を切り替える
- 診断ログを Log Analytics に集約し、異常な失敗率の検知やアラートに使う
コスト
- 課金は主に学習時間と**予測トランザクション数(呼び出し回数)**に応じた従量制で、Training と Prediction が別リソースとして計上される
- 無料利用枠が用意される場合があるが、本番は従量で増えるため呼び出し回数の最適化が効く
- エクスポートしたモデルをエッジで動かせば、予測のトランザクション課金を抑えられる
- 不要な再学習を減らし、必要な反復だけ学習・公開することがコスト削減につながる
- 具体的な単価は変動するため公式の料金ページで確認すること
セキュリティ
- 認証はキーまたは **Microsoft Entra ID(マネージド ID)**で行い、キーのハードコードは避ける
- キーは Azure Key Vault に保管し、アプリにはマネージド ID 経由で権限を渡す
- 操作権限は Azure RBAC で最小権限に絞り、Training と Prediction のリソースごとにアクセスを制御する
- 通信は HTTPS(TLS)で暗号化され、必要に応じて Private Endpoint で閉域化できる
- 学習画像に個人や機微情報が含まれる場合は、保管場所と保持期間を最小化し、用途を限定する
人物や機密物が写った画像を学習に使うと、その画像がサービス側に保持される。プライバシー規制と社内ポリシーを順守し、不要になった画像とプロジェクトは削除すること。
関連サービス・比較
汎用の視覚解析を担う Azure AI Vision と、独自カテゴリの識別に特化した Custom Vision は役割が異なります。一般的な物体・テキスト・タグの抽出は AI Vision の学習済みモデルで足り、自社固有の分類・検出が必要なときに Custom Vision を使います。
| 観点 | Azure AI Custom Vision | Azure AI Vision |
|---|---|---|
| 役割 | 独自カテゴリの分類・物体検出 | 汎用の画像・映像解析 |
| モデル | 自社画像で追加学習する独自モデル | 提供される学習済みモデル |
| 必要な学習 | ラベル付き画像のアップロードが必要 | 原則として学習不要 |
| 主な用途 | 自社製品の識別・不良品検出など | 物体検出・タグ付け・OCR・顔検出 |
| エッジ実行 | Compact ドメインでエクスポート可能 | 一部機能でコンテナー対応 |
| 相当サービス | Rekognition Custom Labels | Amazon Rekognition |
ハンズオン / CLI例
# 学習用(Training)リソースを作成
az cognitiveservices account create \
--name my-customvision-train \
--resource-group my-rg \
--kind CustomVision.Training \
--sku S0 \
--location japaneast \
--yes
# 推論用(Prediction)リソースを作成
az cognitiveservices account create \
--name my-customvision-predict \
--resource-group my-rg \
--kind CustomVision.Prediction \
--sku S0 \
--location japaneast \
--yes
# エンドポイントとキーを取得(ポータルや SDK での学習・予測に使用)
az cognitiveservices account show \
--name my-customvision-train --resource-group my-rg \
--query properties.endpoint -o tsv
az cognitiveservices account keys list \
--name my-customvision-train --resource-group my-rg \
--query key1 -o tsv
Azure Service
Azure AI Custom Visionを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
AI / 機械学習
比較で見る軸
クラウド: Azure / カテゴリ: AI / 機械学習 / 難易度: basic
導入後に効く点
学習とテストはポータルで完結し、完成モデルは REST/SDK のエンドポイントとして公開できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- AI / 機械学習
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational / cost
判断チェックリスト
- 自社の用途が「AI / 機械学習 / operational」に近いか確認する。
- 強みである「ラベル付き画像を数十枚アップロードして学習させ、独自の分類・物体検出モデルを作れる。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。