SlideShare a Scribd company logo
1 of 23
Live Video
Analytics on Edge
– Deep Dive
マイクロソフト
Sr IoT Technical Specialist GBB
太田 寛
Twitter: @embedded_george
機器(Edge)
Video Streams
Live Video Analytics on Edge とは?
動画をクラウド等のサービス側にアップせずに、Edge 側で Analytics を行う技術
• Yolo、Deep Stream、OpenVino 等々、様々な有名どころのAIと連携可能
• リモートから処理の更新が可能
• 物体認識
• 移動体認識
• 空間認識
• …
サービス
認識結果
条件を満たす動画
メリット
• 通信コストの低減
• オフライン時の対応
• アセットの保護(法令対応等)
• 何かあったときのリモートからの柔軟な対応
現場側の
機器群
認識結果からの指示
ロジック・構成変更
Live Video Analytics on Edge
https://docs.microsoft.com/azure/media-services/live-video-analytics-edge/overview
Support CPU Arch:
• x86-64
• ARM64
Logics and media graph can be
configured by remotely
エッジとクラウドにまたがるインテリジェントなビデオ
アプリケーションを構築するためのプラットフォーム
• Live Video キャプチャ
• 録画・分析
• Azure サービス等に発行
Demo
Motion Detection
Media Graph
Graph Topology
• Source - 画像等の入力ソース
• Processor – フィルター、画像処理、分析等
• Sink – サービスやアプリ等、外部への出力
各ノードはパラメータの設定で動作を指定可能
Graph Instance
• 各ノードのパラーメータを特定用途向けに設定
Topology & Instance construction
- Direct Method
https://docs.microsoft.com/ja-jp/azure/media-services/live-video-analytics-edge
Graph Topology
• GraphTopologySet
• GraphTopologyGet
• GraphTopologyList
• GraphTopologyDelete
Graph Instance
• GraphInstanceSet
• GraphInstanceGet
• GraphInstanceList
• GraphInstanceDelete
• GraphInstanceActivate
• GraphInstanceDeactivate
Graph Topology Samples
• https://github.com/Azure/live-video-
analytics/tree/master/MediaGraph/topologies
Simple Upload Video to Cloud
Azure Portal での、Graph Topology の登録
Let’s Try !
• モーションの検出、Media Services へのビデオの記録
• https://docs.microsoft.com/azure/media-services/live-video-analytics-
edge/detect-motion-record-video-clips-media-services-quickstart
チュートリアルに記載の通り、VMで実行すると簡単にお試し可能
だけど。。。IoT Engineer なら実機でやりたいよね!
Tips – 実機で試す
• 利用可能なHW
• UP2 AI Edge
• Jetson Nano
• Surface Book
• 準備
• https://docs.microsoft.com/azure/iot-edge/how-to-install-iot-edge
に従って、IoT Edge Runtimeをインストール
• その他
• Azure Media Services の設定や、各種 Id、秘密鍵情報等は、以下に従って設定
https://docs.microsoft.com/ja-jp/azure/media-services/live-video-analytics-
edge/create-custom-azure-resource-manager-role-how-to
沢山パラメータがあるので、間違えないようにね
動画の入力
RTSP Simulator を利用する - https://github.com/Azure/live-video-analytics/tree/master/utilities/rtspsim-live555
readme.md の記載に従って、Docker Image を Build し、実行
RTSP Stream は、rtsp://<ip address>:554/media/camera-300s.mkv で Docker Container 外からアクセス可能
ここを起動しているRTSPのURL
に書き換える
Webcamで動画を入力したい!
• 前提として
• LVA on Edge の入力可能動画ストリームフォーマット
• MKV, MPEG-TS, or MPG file with H.264 video (and, optionally, AAC audio)
• これを満たすRTSPストリームを作る必要あり
• 実際に、Webcam をUSB で接続して
• https://github.com/Azure/live-video-analytics/tree/master/utilities/USB-to-RTSP
を使ってDocker Imageを Build し起動
rtsp://<ip address>/stream1
で参照可能
• 参考
• 実際にやってみると実験室やオフィスだと中々ダイナミックな動画は撮れないので、RTSP
Simulator の方が便利(だったりする)
• USB-to-RTSP の IoT Edge Module 版を公開しているので、参考までにお試しいただきたい
• https://github.com/ms-iotkithol-jp/live-video-analytics/tree/master/utilities/USB-to-RTSP-on-edge
Media Graph Extension
• HTTP extension processor
• gRPC extension processor
• OpenVino
• Deep Stream
• …
Let’s try More!
• Tutorials
• クラウドでの継続的なビデオ記録と再生
• Jetson Nano、UP2 AI Edge、Surface Book
• クラウドへのイベントベースのビデオ記録とクラウドからの再生
• Jetson Nano、UP2 AI Edge、Surface Book
• 数日間の記録の再生
• Jetson Nano、UP2 AI Edge、Surface Book
• ライブビデオの分析
• Intel の AI 拡張機能 OpenVino™ モデルサーバーを使用してライブビデオを分析する
• UP2 AI Edge
• Live Video Analytics on IoT Edge と Azure Custom Vision でライブビデオを分析する
• Jetson Nano、UP2 AI Edge、Surface Book
• 空間分析用の Computer Vision でライブビデオを分析する
• Azure Stack Edge、NVIDIA TESLA T4
Webinar やります!
後から困らない、後悔しない IoT 構築
のツボ
• 2021/2/15 12:00-14:00
• お申込みは、
https://aka.ms/IoT_seminar20210215 か
ら
Live Vide
Analytics on
IoT Central
Azure IoT Central でビデオ分析 (物体とモーションの検出)
アプリケーションを作成する (YOLO v3)
• LVA on Edge を IoT Central で利用するサンプル
• https://docs.microsoft.com/ja-jp/azure/iot-central/retail/tutorial-video-analytics-create-app-yolo-v3
Edge Device の内部構造
IoT Edge Runtime
LVA on Edge
<<source>>
rtspSource
<<processor>>
frameRateFilter
<<processor>>
httpExtension
<<sink>>
hubSink
<<sink>>
assetSink
YoloV3 ONNX
HTTP Extension
Azure Media Service
LVA Gateway
<<Leif Device>>
camera-002
<<Downstream Device>>
camera-003
services/module
IoT Central
Direct
Method
invocation
Yolo V3 ONNX
External Service
※ IoT Central の GUI でカメラをCreateした時に、
Downstream Device が作成され、IoT Central での Provisioning・登録が
行われる。再起動時は、IoT Central から Downstream Device 登録情報
を取り出し、再作成する。
Downstream Device の Start Direct Method をコールすると、LVA on
Edgeに対して、GraphTopologySet、GraphInstanceSet、
GraphInstanceActivate がコールされる
LVA Edge Gateway Implementation
LVA Edge Gateway Module : https://github.com/Azure/live-video-analytics - ref-apps/lva-edge-iot-central-gateway
Docker Image Build 用
スクリプト群
Docker Image Build 用 ファイル – amd64|arm64
LVA Edge Module
ソースコード
VM Deploy 用 スクリプト
Amd64 向けDeployment 定義 – Yolo V3
Arm64 向けDeployment 定義 – Yolo V3
Amd64 向けDeployment 定義 – OpenVino
Docker Image を Push する Container Registry 設定
LVA Edge Gateway Module PnP model
Motion 検出 アプリ PnP model
Object 検出 アプリ PnP model
LVA on Edge 向け Motion 検出用 Graph Instance 定義
• Camera 生成時にパラメタが確定し、LVA on Edge の
GraphInstanceSet の Payload で使用
LVA on Edge 向け Object 検出用 Graph Instance 定義
LVA on Edge 向け Motion 検出用 Graph Topology 定義
• Camera 生成時にパラメタが確定し、LVA on Edge の
GraphTopologySet の Payload で使用
• Yolo V3、OpenVino の切り替えも含む
LVA on Edge 向け Object 検出用 Graph Topology 定義
アプリ配置・設定用 Work メモ
Edge 側でのアプリ配置・実行時の設定
LVA on Edge Module のカスタマイズ
振舞は対応するTypeScriptファイルを編集
カスタマイズの手順:
1. 開発環境を整える → 作業内容
2. setup/imageConfig.json にACRの情報を設定
3. ソースコード修正
※ TSLintのチェックが厳しいので空行、行頭のスペース
に注意
4. 必要ライブラリのインストール – $ sudo npm install
5. Docker Image の Build と Push
$ sudo npm run dockerbuild
$ sudo npm run dockerpush
5. IoT Edge デバイス向けの deployment.json の LVA Edge
Gateway Module のImage Uri を更新
※ Windows でも実行可。sudo いらない
※ TSLint のエラーが npm run … だと表示されないので、よく
わからないエラーが出た場合は
$ sudo docker build -t lvagateway -f ./docker/amd64.Dockerfile .
での実行を試みること
参考) Intel OpenVino 連携
https://docs.microsoft.com/ja-jp/azure/iot-central/retail/tutorial-video-analytics-create-app-openvino
参考)Azure
Spatial Analytics
• 空間分析
• 実行HW
• Azure Stack Edge
• NVIDIA T4 TESLA
https://docs.microsoft.com/ja-jp/azure/cognitive-services/computer-vision/spatial-analysis-container
Let’s Enjoy

More Related Content

More from Knowledge & Experience

AI も IoT も Digital Twins も、すべてはデータモデルから
AI も IoT も Digital Twins も、すべてはデータモデルからAI も IoT も Digital Twins も、すべてはデータモデルから
AI も IoT も Digital Twins も、すべてはデータモデルからKnowledge & Experience
 
ChatGPT は概念モデリングの夢を見るか
ChatGPT は概念モデリングの夢を見るかChatGPT は概念モデリングの夢を見るか
ChatGPT は概念モデリングの夢を見るかKnowledge & Experience
 
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptxKnowledge & Experience
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術Knowledge & Experience
 
IoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれからIoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれからKnowledge & Experience
 
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with Movidius
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with MovidiusAzure Video Analyzer OpenVino Extension Module on Raspberry Pi with Movidius
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with MovidiusKnowledge & Experience
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11Knowledge & Experience
 
30年来真名んできた中で IoT 実装で役立っている基礎技術
30年来真名んできた中で IoT 実装で役立っている基礎技術30年来真名んできた中で IoT 実装で役立っている基礎技術
30年来真名んできた中で IoT 実装で役立っている基礎技術Knowledge & Experience
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーAzure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーKnowledge & Experience
 
Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Knowledge & Experience
 
Azure IoT サービスによるリモートアクセス技術解説
Azure IoT サービスによるリモートアクセス技術解説Azure IoT サービスによるリモートアクセス技術解説
Azure IoT サービスによるリモートアクセス技術解説Knowledge & Experience
 
こんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せこんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せKnowledge & Experience
 
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6Knowledge & Experience
 
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介Knowledge & Experience
 

More from Knowledge & Experience (20)

概念モデリング再考
概念モデリング再考概念モデリング再考
概念モデリング再考
 
AI も IoT も Digital Twins も、すべてはデータモデルから
AI も IoT も Digital Twins も、すべてはデータモデルからAI も IoT も Digital Twins も、すべてはデータモデルから
AI も IoT も Digital Twins も、すべてはデータモデルから
 
ChatGPT は概念モデリングの夢を見るか
ChatGPT は概念モデリングの夢を見るかChatGPT は概念モデリングの夢を見るか
ChatGPT は概念モデリングの夢を見るか
 
.NET Micro Framework / .NET Gadgeteer
.NET Micro Framework / .NET Gadgeteer.NET Micro Framework / .NET Gadgeteer
.NET Micro Framework / .NET Gadgeteer
 
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
概念モデリングによるビジネスの見える化とシステム開発のデジタルトランスフォーメーション.pptx
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
 
IoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれからIoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれから
 
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with Movidius
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with MovidiusAzure Video Analyzer OpenVino Extension Module on Raspberry Pi with Movidius
Azure Video Analyzer OpenVino Extension Module on Raspberry Pi with Movidius
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11
Azure RTOS 概要 - IoT ALGYAN 技術セミナー 2021/9/11
 
30年来真名んできた中で IoT 実装で役立っている基礎技術
30年来真名んできた中で IoT 実装で役立っている基礎技術30年来真名んできた中で IoT 実装で役立っている基礎技術
30年来真名んできた中で IoT 実装で役立っている基礎技術
 
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナーAzure RTOS 概要 - IoT ALGYAN 技術セミナー
Azure RTOS 概要 - IoT ALGYAN 技術セミナー
 
Azure IoT Edge Deep Dive
Azure IoT Edge Deep DiveAzure IoT Edge Deep Dive
Azure IoT Edge Deep Dive
 
Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18Microsoft Azure IoT Overview 2020/12/18
Microsoft Azure IoT Overview 2020/12/18
 
試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere試してGOTTEN READY! Azure Sphere
試してGOTTEN READY! Azure Sphere
 
Azure による AI on Edge 解説
Azure による AI on Edge 解説Azure による AI on Edge 解説
Azure による AI on Edge 解説
 
Azure IoT サービスによるリモートアクセス技術解説
Azure IoT サービスによるリモートアクセス技術解説Azure IoT サービスによるリモートアクセス技術解説
Azure IoT サービスによるリモートアクセス技術解説
 
こんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せこんな時だから、デバイスとリモートに接続する技法一気見せ
こんな時だから、デバイスとリモートに接続する技法一気見せ
 
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6
Microsot Azure IoT Security for IoT ALGYAN Tech Seminar 2020/2/6
 
Big Data Architecture 全体概要
Big Data Architecture 全体概要Big Data Architecture 全体概要
Big Data Architecture 全体概要
 
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
第3回 The Things Network(TTN)勉強会向け、Microsoft Azure IoT紹介
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Recently uploaded (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Live Video Analytics on Edge - Deep Dive

  • 1. Live Video Analytics on Edge – Deep Dive マイクロソフト Sr IoT Technical Specialist GBB 太田 寛 Twitter: @embedded_george
  • 2. 機器(Edge) Video Streams Live Video Analytics on Edge とは? 動画をクラウド等のサービス側にアップせずに、Edge 側で Analytics を行う技術 • Yolo、Deep Stream、OpenVino 等々、様々な有名どころのAIと連携可能 • リモートから処理の更新が可能 • 物体認識 • 移動体認識 • 空間認識 • … サービス 認識結果 条件を満たす動画 メリット • 通信コストの低減 • オフライン時の対応 • アセットの保護(法令対応等) • 何かあったときのリモートからの柔軟な対応 現場側の 機器群 認識結果からの指示 ロジック・構成変更
  • 3. Live Video Analytics on Edge https://docs.microsoft.com/azure/media-services/live-video-analytics-edge/overview Support CPU Arch: • x86-64 • ARM64 Logics and media graph can be configured by remotely エッジとクラウドにまたがるインテリジェントなビデオ アプリケーションを構築するためのプラットフォーム • Live Video キャプチャ • 録画・分析 • Azure サービス等に発行
  • 5. Media Graph Graph Topology • Source - 画像等の入力ソース • Processor – フィルター、画像処理、分析等 • Sink – サービスやアプリ等、外部への出力 各ノードはパラメータの設定で動作を指定可能 Graph Instance • 各ノードのパラーメータを特定用途向けに設定
  • 6. Topology & Instance construction - Direct Method https://docs.microsoft.com/ja-jp/azure/media-services/live-video-analytics-edge Graph Topology • GraphTopologySet • GraphTopologyGet • GraphTopologyList • GraphTopologyDelete Graph Instance • GraphInstanceSet • GraphInstanceGet • GraphInstanceList • GraphInstanceDelete • GraphInstanceActivate • GraphInstanceDeactivate
  • 7. Graph Topology Samples • https://github.com/Azure/live-video- analytics/tree/master/MediaGraph/topologies
  • 8. Simple Upload Video to Cloud Azure Portal での、Graph Topology の登録
  • 9. Let’s Try ! • モーションの検出、Media Services へのビデオの記録 • https://docs.microsoft.com/azure/media-services/live-video-analytics- edge/detect-motion-record-video-clips-media-services-quickstart チュートリアルに記載の通り、VMで実行すると簡単にお試し可能 だけど。。。IoT Engineer なら実機でやりたいよね!
  • 10. Tips – 実機で試す • 利用可能なHW • UP2 AI Edge • Jetson Nano • Surface Book • 準備 • https://docs.microsoft.com/azure/iot-edge/how-to-install-iot-edge に従って、IoT Edge Runtimeをインストール • その他 • Azure Media Services の設定や、各種 Id、秘密鍵情報等は、以下に従って設定 https://docs.microsoft.com/ja-jp/azure/media-services/live-video-analytics- edge/create-custom-azure-resource-manager-role-how-to 沢山パラメータがあるので、間違えないようにね
  • 11. 動画の入力 RTSP Simulator を利用する - https://github.com/Azure/live-video-analytics/tree/master/utilities/rtspsim-live555 readme.md の記載に従って、Docker Image を Build し、実行 RTSP Stream は、rtsp://<ip address>:554/media/camera-300s.mkv で Docker Container 外からアクセス可能 ここを起動しているRTSPのURL に書き換える
  • 12. Webcamで動画を入力したい! • 前提として • LVA on Edge の入力可能動画ストリームフォーマット • MKV, MPEG-TS, or MPG file with H.264 video (and, optionally, AAC audio) • これを満たすRTSPストリームを作る必要あり • 実際に、Webcam をUSB で接続して • https://github.com/Azure/live-video-analytics/tree/master/utilities/USB-to-RTSP を使ってDocker Imageを Build し起動 rtsp://<ip address>/stream1 で参照可能 • 参考 • 実際にやってみると実験室やオフィスだと中々ダイナミックな動画は撮れないので、RTSP Simulator の方が便利(だったりする) • USB-to-RTSP の IoT Edge Module 版を公開しているので、参考までにお試しいただきたい • https://github.com/ms-iotkithol-jp/live-video-analytics/tree/master/utilities/USB-to-RTSP-on-edge
  • 13. Media Graph Extension • HTTP extension processor • gRPC extension processor • OpenVino • Deep Stream • …
  • 14. Let’s try More! • Tutorials • クラウドでの継続的なビデオ記録と再生 • Jetson Nano、UP2 AI Edge、Surface Book • クラウドへのイベントベースのビデオ記録とクラウドからの再生 • Jetson Nano、UP2 AI Edge、Surface Book • 数日間の記録の再生 • Jetson Nano、UP2 AI Edge、Surface Book • ライブビデオの分析 • Intel の AI 拡張機能 OpenVino™ モデルサーバーを使用してライブビデオを分析する • UP2 AI Edge • Live Video Analytics on IoT Edge と Azure Custom Vision でライブビデオを分析する • Jetson Nano、UP2 AI Edge、Surface Book • 空間分析用の Computer Vision でライブビデオを分析する • Azure Stack Edge、NVIDIA TESLA T4
  • 15. Webinar やります! 後から困らない、後悔しない IoT 構築 のツボ • 2021/2/15 12:00-14:00 • お申込みは、 https://aka.ms/IoT_seminar20210215 か ら
  • 17. Azure IoT Central でビデオ分析 (物体とモーションの検出) アプリケーションを作成する (YOLO v3) • LVA on Edge を IoT Central で利用するサンプル • https://docs.microsoft.com/ja-jp/azure/iot-central/retail/tutorial-video-analytics-create-app-yolo-v3
  • 18. Edge Device の内部構造 IoT Edge Runtime LVA on Edge <<source>> rtspSource <<processor>> frameRateFilter <<processor>> httpExtension <<sink>> hubSink <<sink>> assetSink YoloV3 ONNX HTTP Extension Azure Media Service LVA Gateway <<Leif Device>> camera-002 <<Downstream Device>> camera-003 services/module IoT Central Direct Method invocation Yolo V3 ONNX External Service ※ IoT Central の GUI でカメラをCreateした時に、 Downstream Device が作成され、IoT Central での Provisioning・登録が 行われる。再起動時は、IoT Central から Downstream Device 登録情報 を取り出し、再作成する。 Downstream Device の Start Direct Method をコールすると、LVA on Edgeに対して、GraphTopologySet、GraphInstanceSet、 GraphInstanceActivate がコールされる
  • 19. LVA Edge Gateway Implementation LVA Edge Gateway Module : https://github.com/Azure/live-video-analytics - ref-apps/lva-edge-iot-central-gateway Docker Image Build 用 スクリプト群 Docker Image Build 用 ファイル – amd64|arm64 LVA Edge Module ソースコード VM Deploy 用 スクリプト Amd64 向けDeployment 定義 – Yolo V3 Arm64 向けDeployment 定義 – Yolo V3 Amd64 向けDeployment 定義 – OpenVino Docker Image を Push する Container Registry 設定 LVA Edge Gateway Module PnP model Motion 検出 アプリ PnP model Object 検出 アプリ PnP model LVA on Edge 向け Motion 検出用 Graph Instance 定義 • Camera 生成時にパラメタが確定し、LVA on Edge の GraphInstanceSet の Payload で使用 LVA on Edge 向け Object 検出用 Graph Instance 定義 LVA on Edge 向け Motion 検出用 Graph Topology 定義 • Camera 生成時にパラメタが確定し、LVA on Edge の GraphTopologySet の Payload で使用 • Yolo V3、OpenVino の切り替えも含む LVA on Edge 向け Object 検出用 Graph Topology 定義 アプリ配置・設定用 Work メモ Edge 側でのアプリ配置・実行時の設定
  • 20. LVA on Edge Module のカスタマイズ 振舞は対応するTypeScriptファイルを編集 カスタマイズの手順: 1. 開発環境を整える → 作業内容 2. setup/imageConfig.json にACRの情報を設定 3. ソースコード修正 ※ TSLintのチェックが厳しいので空行、行頭のスペース に注意 4. 必要ライブラリのインストール – $ sudo npm install 5. Docker Image の Build と Push $ sudo npm run dockerbuild $ sudo npm run dockerpush 5. IoT Edge デバイス向けの deployment.json の LVA Edge Gateway Module のImage Uri を更新 ※ Windows でも実行可。sudo いらない ※ TSLint のエラーが npm run … だと表示されないので、よく わからないエラーが出た場合は $ sudo docker build -t lvagateway -f ./docker/amd64.Dockerfile . での実行を試みること
  • 21. 参考) Intel OpenVino 連携 https://docs.microsoft.com/ja-jp/azure/iot-central/retail/tutorial-video-analytics-create-app-openvino
  • 22. 参考)Azure Spatial Analytics • 空間分析 • 実行HW • Azure Stack Edge • NVIDIA T4 TESLA https://docs.microsoft.com/ja-jp/azure/cognitive-services/computer-vision/spatial-analysis-container

Editor's Notes

  1. それぞれのフォルダーの中に、GraphToplogySet()で指定可能なJSONが入っているをデモ
  2. VM用のスクリプトを解読してAMSを設定したら、何故か15分程度でAMSのアクセスが認証拒否が発生してしまう。理由は不明。 操作方法ガイドの方でやったらずっと動いている
  3. 余力があれば、コマンドと動作順序を説明