足取り検出パターン
このパターンでは、小売店の訪問者のトラフィックを分析するための AI ベースの足取り検出ソリューションを実装するための概要を示します。 このソリューションは、Azure、Azure Stack Hub、Custom Vision AI Dev Kit を使用して、実際のアクションから分析情報を生成します。
コンテキストと問題
Contoso Stores では、顧客がストア レイアウトに関連して現在の製品を受け取っている方法に関する分析情報を得たいと考えています。 すべてのセクションにスタッフを配置することはできず、アナリストのチームが店舗全体のカメラ映像をレビューするのは非効率的です。 さらに、すべてのカメラからクラウドにビデオをストリーミングして分析するのに十分な帯域幅を持つ店舗はありません。
Contoso は、顧客のデモグラフィック、ロイヤリティ、店舗のディスプレイや製品に対する反応を把握するための、目立たずプライバシーに優しい方法を見つけたいと考えています。
解決策
この小売分析パターンでは、エッジでの推論に階層化されたアプローチが使用されます。 Custom Vision AI Dev Kit を使用すると、Azure Cognitive Services を実行するプライベート Azure Stack Hub に分析用に人間の顔を持つ画像のみが送信されます。 匿名化された集計データは、Power BI のすべてのストアと視覚化の集計のために Azure に送信されます。 エッジとパブリック クラウドを組み合わせることで、Contoso は最新の AI テクノロジを活用しながら、企業ポリシーに準拠し、顧客のプライバシーを尊重することができます。
ソリューションのしくみの概要を次に示します。
- Custom Vision AI Dev Kit は、IoT Edge ランタイムと ML モデルをインストールする IoT Hub から構成を取得します。
- モデルに人物が表示された場合は、画像を取得して Azure Stack Hub BLOB ストレージにアップロードします。
- BLOB サービスは、Azure Stack Hub で Azure 関数をトリガーします。
- Azure 関数は Face API を使用してコンテナーを呼び出して、画像から人口統計データと感情データを取得します。
- データは匿名化され、Azure Event Hubs クラスターに送信されます。
- Event Hubs クラスターは、Stream Analytics にデータをプッシュします。
- Stream Analytics によってデータが集計され、Power BI にプッシュされます。
コンポーネント
このソリューションでは、次のコンポーネントを使用します。
レイヤー | コンポーネント | 説明 |
---|---|---|
ストア内ハードウェア | Custom Vision AI Dev Kit | 分析のために人の画像のみをキャプチャするローカル ML モデルを使用したストア内フィルター処理を提供します。 IoT Hub を介して安全にプロビジョニングおよび更新されます。 |
紺碧 | 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) エンジン クラスター | Azure Stack Hub にデプロイされた AKS-Engine クラスターを備えた AKS RP は、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 関数は、BLOB ストレージから入力を受け取り、Face API との対話を管理します。 匿名化されたデータは、Azure にある Event Hubs クラスターに出力されます。 |
問題と考慮事項
このソリューションを実装する方法を決定するときは、次の点を考慮してください。
スケーラビリティ
このソリューションを複数のカメラと場所にまたがってスケーリングできるようにするには、すべてのコンポーネントが増加した負荷を処理できることを確認する必要があります。 次のようなアクションを実行する必要がある場合があります。
- Stream Analytics ストリーミング ユニットの数を増やします。
- Face API デプロイをスケールアウトします。
- Event Hubs クラスターのスループットを増やします。
- 極端なケースでは、Azure Functions から仮想マシンへの移行が必要になる場合があります。
可用性
このソリューションは階層化されているため、ネットワークまたは電源障害に対処する方法を検討することが重要です。 ビジネス ニーズに応じて、イメージをローカルにキャッシュし、接続が戻ったときに Azure Stack Hub に転送するメカニズムを実装できます。
管理可能性
このソリューションは、多くのデバイスや場所にまたがる可能性があり、扱いにくい可能性があります。 Azure の IoT サービス を使用すると、新しい場所やデバイスを自動的にオンラインにして最新の状態に保つことができます。
安全
このソリューションは、お客様のイメージをキャプチャし、セキュリティを最も重要な考慮事項にします。 すべてのストレージ アカウントが適切なアクセス ポリシーで保護されていることを確認し、キーを定期的にローテーションします。 ストレージ アカウントと Event Hubs に、企業および政府のプライバシー規制を満たすアイテム保持ポリシーがあることを確認します。 また、ユーザー アクセス レベルを階層化してください。 階層化により、ユーザーは自分のロールに必要なデータにのみアクセスできます。
次の手順
この記事で紹介するトピックの詳細については、以下を参照してください。
- 足取り検出パターンによって利用される、階層化データ パターンを参照してください。
- カスタム ビジョンの使用の詳細については、Custom Vision AI Dev Kit を参照してください。
ソリューションの例をテストする準備ができたら、フットフォール検出の展開ガイドに進みます。 デプロイ ガイドでは、コンポーネントをデプロイしてテストするための詳細な手順を説明します。