足取り検出パターン
このパターンでは、小売店で買い物客のトラフィックを分析するために、AI ベースの足取り検出ソリューションを実装するための概要を提供します。 このソリューションでは、Azure、Azure Stack Hub、Custom Vision AI Dev Kit を使用して、実際の行動から分析情報を生成します。
コンテキストと問題
Contoso Stores では、店舗のレイアウトに関連して、顧客が現在の製品をどのように受け取っているかについて分析情報を得たいと考えています。 すべてのセクションにスタッフを配置することはできません。また、カメラ撮影した店舗内の映像すべてをアナリスト チームに確認してもらうのも非効率です。 さらに、分析用の映像をすべてのカメラからクラウドにストリーミングできるだけの十分な帯域幅は、どの店舗にもありません。
Contoso では、顧客の人口統計、ロイヤルティ、店舗のディスプレイと製品に対する反応を確認するための、邪魔にならずプライバシーに配慮した方法を見つけたいと考えています。
ソリューション
この小売分析パターンでは、階層型アプローチを使用してエッジで推論を行います。 Custom Vision AI Dev Kit を使用することで、人の顔が含まれる画像のみが、分析のためにプライベート Azure Stack Hub に送信されます。Azure Stack Hub では、Azure Cognitive Services が実行されています。 集計された匿名データが Azure に送信され、すべての店舗にわたって集計されて Power BI で視覚化されます。 エッジとパブリック クラウドを組み合わせることにより、Contoso は最新の AI テクノロジを活用しながら、企業のポリシーに準拠し、顧客のプライバシーを尊重することができます。
このソリューションのしくみの概要を以下に示します。
- Custom Vision AI Dev Kit は IoT Hub から構成を取得します。これにより IoT Edge ランタイムと ML モデルがインストールされます。
- モデルが人を認識すると、写真が撮影され、Azure Stack Hub BLOB ストレージにアップロードされます。
- Blob service によって Azure Stack Hub で Azure 関数がトリガーされます。
- Azure 関数は、Face API を含むコンテナーを呼び出し、画像から人口統計データと感情データを取得します。
- このデータは匿名化され、Azure Event Hubs クラスターに送信されます。
- Event Hubs クラスターにより、データは Stream Analytics にプッシュされます。
- Stream Analytics によってデータが集計され、Power BI にプッシュされます。
Components
このソリューションでは、次のコンポーネントを使用します。
レイヤー | コンポーネント | 説明 |
---|---|---|
店舗内のハードウェア | Custom Vision AI Dev Kit | 分析用に人の画像のみをキャプチャするローカル ML モデルを使用して、ストア内でフィルター処理を行います。 IoT Hub によって安全にプロビジョニングと更新が行われます。 |
Azure | Azure Event Hubs | Azure Event Hubs は、Azure Stream Analytics と密接に統合された、匿名データを取り込むためのスケーラブルなプラットフォームを提供します。 |
Azure Stream Analytics | Azure Stream Analytics ジョブは、匿名データを集計し、これを視覚化できるように 15 秒間隔でグループ化します。 | |
Microsoft Power BI | Power BI には、Azure Stream Analytics からの出力を表示するための、使いやすいダッシュボード インターフェイスが用意されています。 | |
Azure Stack Hub | App Service | App Service リソースプロバイダー (RP) は、Web アプリ/API および関数のホスティングや管理の機能を含む、エッジ コンポーネントの基本を提供します。 |
Azure Kubernetes Service (AKS) エンジン クラスター | AKS RP では AKS エンジンが Azure Stack Hub にデプロイされているため、Face API コンテナーを実行するためのスケーラブルで回復力のあるエンジンが提供されます。 | |
Azure Cognitive Services の Face API コンテナー | Face API コンテナーを備えた Azure Cognitive Services RP により、Contoso のプライベート ネットワーク上で人口統計、感情、および買い物客の一意検出が実現します。 | |
Blob Storage | AI Dev Kit からキャプチャされた画像は、Azure Stack Hub の BLOB ストレージにアップロードされます。 | |
Azure Functions | Azure Stack Hub で実行されている Azure Functions は、BLOB ストレージからの入力を受け取り、Face API とのやり取りを管理します。 次に、匿名データを、Azure にある Event Hubs クラスターに出力します。 |
問題と注意事項
このソリューションの実装方法を決めるときには、以下の点を考慮してください。
スケーラビリティ
このソリューションを複数のカメラと場所にわたってスケーリングできるようにするには、増えた負荷をすべてのコンポーネントで処理できるようにする必要があります。 次のような措置を取る必要が生じる場合があります。
- Stream Analytics のストリーミング ユニット数を増やす。
- Face API デプロイをスケールアウトする。
- Event Hubs クラスターのスループットを増やす。
- 極端なケースでは、Azure Functions から仮想マシンへの移行が必要になる場合があります。
可用性
このソリューションは階層化されているため、ネットワークや電源の障害に対処する方法を検討しておく必要があります。 ビジネス ニーズに応じて、画像をローカルにキャッシュし、接続が回復したときに Azure Stack Hub に転送するメカニズムを実装したい場合があります。 場所に余裕がある場合は、Face API コンテナーを備えた Data Box Edge をその場所に配置する方が適切である可能性もあります。
管理の容易性
このソリューションは多数のデバイスと場所にまたがることがあるため、扱いにくくなる可能性があります。 Azure の IoT サービスを使用することで、新しい場所とデバイスを自動的にオンラインにし、最新の状態に保つことができます。
セキュリティ
このソリューションでは顧客の画像をキャプチャするため、セキュリティが最も重要な考慮事項となります。 すべてのストレージ アカウントが適切なアクセス ポリシーで保護されていることを確認し、またキーを定期的にローテーションします。 ストレージ アカウントと Event Hubs に、企業および政府のプライバシー規制に準拠したアイテム保持ポリシーが備わっていることを確認します。 また、ユーザー アクセス レベルは必ず階層化してください。 階層化により、ユーザーは各自のロールに必要なデータにだけアクセスできるようになります。
次のステップ
この記事で紹介したトピックの関連情報:
- 足取り検出パターンによって利用される、階層化データ パターンに関するページをご覧ください。
- Custom Vision の使用に関する詳細については、Custom Vision AI Dev Kit に関するページをご覧ください。
ソリューションの例をテストする準備ができたら、足取り検出のデプロイ ガイドに進んでください。 デプロイ ガイドでは、コンポーネントをデプロイしてテストするための詳細な手順について説明します。