アーキテクチャを設計する

目的は、次の要件を持つスケーラブルなシステムを構築することです。

  • インターネットに接続された自動撮影カメラから画像を受け取ります。
  • 機械学習を使って、写真にシロクマが写っているかどうかを判定します。
  • プロセスを最適化し、必要な処理を削減するため、複数の写真があるときにだけ写真を分析します。
  • 履歴レポートのためリレーショナル データベースで見つかった一致を追跡します。
  • 活動が発生した時と場所の特定を容易にする視覚エフェクトのセットをデータから作成します。

熟考と検討の後、ソリューション アーキテクトは次のような設計に至りました。

提案されるアーキテクチャおよびシステムの遠隔カメラ フローで写真が撮影される方法を示す図

  1. Azure IoT Hub を使って、インターネット経由で各遠隔カメラに接続して監視します。
  2. カメラで撮影された画像は、1 つの Azure Blob Storage アカウントに格納されます。
  3. IoT Hub は、写真とカメラに関する詳細を含むイベントを Azure Stream Analytics に送信します。
  4. Stream Analytics は、処理のためにイベントを Azure 関数に送信します。
  5. Azure 関数は、キャプチャ画像を、北極圏の動物を識別できる Custom Vision Service に渡します。 Vision Service は、画像にシロクマが含まれるかどうかを返します。
  6. Azure 関数は、Custom Vision Service からの結果を Azure SQL データベースに書き込みます。
  7. SQL データを解釈してデータが正のヒットを示す場所を表示する Power BI の視覚エフェクトのセットが作成されます。

この設計を念頭に置き、まずはキャプチャされた写真が格納される Azure ストレージ アカウントを作成しましょう。