この記事では、ビデオ映像の手動分析を、自動化された、より正確なことが多い機械学習プロセスに置き換えるために使用できるアーキテクチャについて説明します。
FFmpeg および Jupyter Notebook のロゴは、各社の商標です。 これらのマークを使用することが、保証を意味するものではありません。
アーキテクチャ
このアーキテクチャの PowerPoint ファイル をダウンロードします。
ワークフロー
- MP4 形式のビデオ映像のコレクションは、Azure Blob Storage にアップロードされます。 理想は、ビデオが "raw" コンテナーに入ることです。
- Azure Machine Learning の構成済みパイプラインは、ビデオ ファイルがコンテナーにアップロードされたことを認識し、推論クラスターを起動してビデオ映像をフレームに分割し始めます。
- オープンソース ツールの FFmpeg は、ビデオを分割してフレームを抽出します。 抽出される 1 秒あたりのフレーム数、抽出の品質、画像ファイルの形式を構成できます。 形式は JPG または PNG です。
- 推論クラスターによって、画像が Azure Data Lake Storage に送信されます。
- Data Lake Storage を監視する構成済みのロジック アプリによって、新しい画像がアップロードされていることが検出されます。 ワークフローが開始されます。
- ロジック アプリによって、事前トレーニング済みのカスタム ビジョン モデルが呼び出され、画像内のオブジェクト、特徴、または品質が識別されます。 代わりにまたは追加で、コンピューター ビジョン (光学式文字認識(OCR)) モデルを呼び出して、画像内のテキスト情報が識別されます。
- 結果は JSON 形式で受信されます。 ロジック アプリによって結果が解析され、キーと値のペアが作成されます。 Azure Synapse Analytics によってプロビジョニングされた Azure 専用 SQL プールに結果を保存できます。
- Power BI は、データの視覚化を提供します。
コンポーネント
- Azure Blob Storage には、クラウドネイティブ ワークロードと機械学習ストア用のオブジェクト ストレージが用意されています。 このアーキテクチャでは、アップロードされたビデオ ファイルが保存されます。
- Azure Machine Learning は、エンドツーエンドの機械学習ライフサイクルに向けた、エンタープライズ グレードの機械学習サービスです。
- Azure Data Lake Storage では、高パフォーマンスの分析ワークロード向けに、非常にスケーラブルで、セキュリティが強化され、費用対効果の高いクラウド ストレージが用意されています。
- Computer Vision は、 Azure AI サービスの一部です。 これは各画像に関する情報を取得するために使用されます。
- Custom Vision を使用すると、特定のドメイン向けに最先端のコンピューター ビジョン画像分析をカスタマイズして埋め込むことができます。
- Azure Logic Apps は、環境全体のアプリとデータを接続することによってワークフローを自動化します。 これにより、リアルタイムでデータにアクセスして処理する手段が提供されます。
- Azure Synapse Analytics は、データ統合、エンタープライズ データウェア ハウス、およびビッグ データ分析が 1 つにまとめられた無制限の分析サービスです。
- 専用 SQL プール (以前の SQL DW) は、Azure Synapse SQL を使用するときにプロビジョニングされる分析リソースのコレクションです。
- Power BI は、ソフトウェア サービス、アプリ、コネクタのコレクションで、これらが連携してデータの視覚化が提供されます。
代替
- Azure Video Indexer は、AI を使用して保存されているビデオから実用的な分析情報を抽出するビデオ分析サービスです。 これは機械学習の専門知識がなくても使用できます。
- Azure Data Factory は、ETL (抽出、変換、読み込み) プロセスと ELT (抽出、読み込み、変換) プロセスの構築に役立つフル マネージドのサーバーレス データ統合サービスです。
- Azure Functions は、単一タスクのコードを実行するサービスとしてのサーバーレス プラットフォーム (PaaS) です。新しいインフラストラクチャは必要ありません。
- Azure Cosmos DB は、最新のアプリ開発に対応するフル マネージドの NoSQL データベースです。
シナリオの詳細
多くの業界では、ビデオ映像を記録して、特定のオブジェクトまたはエンティティの有無を検出したり、オブジェクトまたはエンティティを分類したりしています。 ビデオの監視と分析は、従来は手動で実行されていました。 これらのプロセスは、多くの場合、単調でエラーが発生しやすく、特に人間の目にとって困難なタスクに対して発生します。 これらのプロセスは、AI と機械学習を使用して自動化できます。
さまざまなテクノロジで画像を分析できるように、ビデオ録画を個別のフレームに分割できます。 そのようなテクノロジの 1 つが "コンピューター ビジョン" です。これは、コンピューターが画像上のオブジェクトやエンティティを識別する機能です。
コンピューター ビジョンを使用すると、ビデオ映像の監視が自動化され、標準化され、より正確になる可能性があります。 コンピューター ビジョン モデルはトレーニングでき、ユース ケースによっては、モデルをトレーニングした人と少なくとも同じくらい良い結果をしばしば得ることができます。 Machine Learning Operations (MLOps) を使用してモデルを継続的に改善することで、時間の経過とともにより良い結果が期待でき、時間の経過に伴うビデオ データの変化に対応できます。
考えられるユース ケース
このシナリオは、ビデオを分析するすべてのビジネスに関連します。 いくつかのユース ケースを次に示します。
農業。 作物と土壌の状態を経時的に監視および分析します。 農家はドローンや UAV を使用して、分析のためにビデオ映像を記録できます。
環境科学。 水生生物を分析して、それらがどこに生息していて、どのように進化しているかを理解します。 環境研究者は、水中カメラをボートに取り付けて、海岸線を航行しながらビデオ映像を記録することができます。 そのビデオ映像を分析して、種の移動と、種の個体数の経年変化を理解できます。
交通規制。 車両をカテゴリ (SUV、乗用車、トラック、オートバイ) に分類し、その情報を使用して交通規制を計画します。 ビデオ映像は、公共の場所にある CCTV によって提供することができます。 ほとんどの CCTV カメラでは日付と時刻が記録されており、これらは光学式文字認識 (OCR) を使用して簡単に取得できます。
品質保証。 製造施設の品質管理を監視および分析します。 生産ラインにカメラを設置して、コンピューター ビジョン モデルをトレーニングして異常を検出できます。
考慮事項
これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
[信頼性]
信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。
信頼性の高いワークロードは、回復性と可用性の両方を備えたものです。 回復性 とは、障害から回復して動作を続行する、システムの能力です。 回復性の目的は、障害の発生後にアプリケーションを十分に機能する状態に戻すことです。 "可用性" は、ユーザーが必要なときにワークロードにアクセスできるかどうかの尺度です。
このソリューション内の Azure サービスの可用性の保証については、次のリソースをご覧ください。
- ストレージ アカウントのサービス レベル アグリーメント (SLA)
- Azure Machine Learning の SLA
- Azure AI サービスの SLA
- Logic Apps の SLA
- Azure Synapse Analytics の SLA
- Power BI の SLA
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
次のリソースを検討してください。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させることです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。
コストを最適化するためのガイドラインを次に示します。
- 最初から大規模なリソースに投資するのではなく、アーキテクチャの従量課金制戦略を使用し、必要に応じて スケールアウト します。
- アーキテクチャにおける機会コストと、先発者の優位性とファスト フォローとのバランスを考慮します。 料金計算ツール を使用して、初期コストと運用コストを見積もります。
- ソリューションのコスト制限を設定する ポリシー、 予算、管理 を確立します。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。
デプロイは、信頼性が高く、予測可能である必要があります。 ガイドラインを次に示します。
- デプロイを自動化して、人的エラーの可能性を減らします。
- 新機能とバグ修正のリリースが遅くなるのを防ぐために、迅速で定期的なデプロイ プロセスを実装します。
- 更新プログラムによって問題が発生した場合は、すばやくロールバックまたはロールフォワードします。
パフォーマンス効率
パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。
スケーリングの適切な使用と、スケーリングが組み込まれている PaaS オファリングの実装が、パフォーマンス効率を実現する主な方法です。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Oscar Shimabukuro Kiyan | シニア クラウド ソリューション アーキテクト – Data & AI
その他の共同作成者:
- Mick Alberts | テクニカル ライター
- Brandon Cowen | シニア クラウド ソリューション アーキテクト – Data & AI
- Arash Mosharraf | シニア クラウド ソリューション アーキテクト – Data & AI
- Priyanshi Singh |シニア クラウド ソリューション アーキテクト – Data & AI
- Julian Soh | ディレクター スペシャリスト – Data & AI
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。