Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Kinesis Video Streams × Deep Learning
Search
toshitanian
December 14, 2017
Technology
7.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Kinesis Video Streams × Deep Learning
toshitanian
December 14, 2017
More Decks by toshitanian
See All by toshitanian
エッジデバイスでディープラーニング! AWSを活用したエッジデバイスマネジメントの紹介/ aws-edge-device-deeplearning
toshitanian
1
2.3k
機械学習プラットフォーム でのDocker利用事例 / DevSumiAbeja
toshitanian
1
660
nvidia-jetson-x-deep-learning
toshitanian
0
1.7k
急成長スタートアップのシステムの裏側 / ABEJA Innovation Meetup
toshitanian
0
1.4k
Docker入門 - Ruby on RailsアプリケーションをDockerで動かしてみる - / Introduction to Docker
toshitanian
7
3k
Other Decks in Technology
See All in Technology
Atlassian Cloudサポート業務でのAIエージェント活用事例
smt7174
0
340
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
260
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
320
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
200
変化の早いClaude Codeを 書籍に落とし込む
oikon48
6
1.2k
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
250
タクシーアプリ『GO』の実践的データ活用〜位置情報データの収集とStreamlitでの可視化〜
mot_techtalk
2
190
AIQAのナレッジ構築について
qatonchan
1
150
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
210
Retriever と Reranker、結局どうする?
kazuaki
2
610
plamo-3-translateの開発
pfn
PRO
0
260
AI エージェント時代のデジタルアイデンティティ
fujie
3
1.4k
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
230
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
Statistics for Hackers
jakevdp
799
230k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Visualization
eitanlees
152
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Transcript
Amazon Kinesis Video Streams × Deep Learning JAWS-UG AI #6
2017/12/14 ABEJA, Inc Toshiya Kawasaki
河崎 敏弥 @toshitanian ABEJA, Inc. Platform Division Lead Engineer •創業1年の時にABEJAに参画
•バックエンドエンジニア •クラウド上でシステム構築 •IoTデバイスとのシステム連携 •コンテナ •エッジコンピューティング
社名 株式会社ABEJA 設立 2012年9月10日 住所 東京都港区虎ノ門4-1-20 田中山ビル10F 資本金 (資本準備金含む) 1,148,518,043円
企業理念 イノベーションで世界を変える 事業内容 ディープラーニングを活用した 産業構造変革
ABEJA Platform Ecosystem "
• エンジニア・デザイナが色々な話を書いてます • ML/DL • AWS・インフラ • IoT • デザイン
ABEJA Tech Blog 5 http://tech-blog.abeja.asia/
•Kinesis Video Streams •Overview •How to use •Integrating with deep
learning applications Agenda 6
Kinesis Video Streams Overview
8 re:Invent 2017でデモってきた https://www.youtube.com/watch?v=rjBXbktBxBg
• コーデック・コンテナ • ビデオの保存・管理方法 • ストリーミングプロトコル • カメラとの接続 • ffmpeg/gstreamer
• etc… 画像系MLをやった事ある人 ビデオで苦しんだ事ありますよねʁ! Kinesis Video Streamsが、そのツラミを一部 吸収してくれます
• 映像版Kinesis Streams • 従来のKinesis StreamsはKinesis Data Streamsに改名 • 映像ストリームデータの保存・リアルタイムな取得ができる
• フレーム単位でのデータ転送 • ミリ秒単位の遅延でデータの処理が可能 • 過去データの管理・検索・取得もできる • 数百万のデバイスからのビデオストリームにも対応 Kinesis Video Streams 10
• Computer Vision / Machine Learningでの解析を主用途にしている • Consumer側のSDKはJava • PythonからビデオストリームにアクセスできるハイレベルSDKはまだ無い
• Kinesis Video Streams readyなカメラデバイスが今後出て来るハズ • Control Plane APIとData Plane APIを提供 • ストリームの管理用API • 暗号化、リテンションピリオド • ビデオデータのIngest/Consumeを実際に行うAPI Kinesis Video Streams (cont.) 11
• スマートホーム • ペット、老人の見守りカメラ • Amazon Key 的なシステム • スマートシティ
• 犯罪防止 • 自動運転、自動車のナンバープレート検出 • リテール • リピーター検知、来店者属性推定 • 無人コンビニ • 製造 • 検品、異常検知 Use cases 12
Data flow 13 https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html • Producer • データの送信元 • Java/C++
SDK • Video Stream • Consumer • データを取得・処理をするアプリ • streams-parser-library
• フレーム単位でのIngest/Consume • コンテナフォーマット • mkv (matroska) • Video/Audio以外でも乗せられる •
各トラックのデータ • 基本的に何でもOK • h264だとコンソールで確認できる • デコードはユーザがやる Data format 14 https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works-kinesis-video-api-producer-sdk.html
Price 15 σʔλͷIngest σʔλͷConsume σʔλอଘ Kinesis Video Streams $0.01097/GB $0.01097/GB
$0.02500/GB-mo ※追加でEC2に準じたデータ転送料金がかかります ※Tokyo regionの価格です •データ保存料金 + データのIngest/Consume •データ保存料金はS3と同じ •通常の利用用途の場合、S3の価格の2倍と考えてよさそう
Kinesis Video Streams How to use
• GitHub • awslabs / amazon-kinesis-video-streams-producer-sdk-cpp • awslabs/amazon-kinesis-video-streams-produscer-sdk-java • aws
/ amazon-kinesis-video-streams-parser-library • Kinesis Video Streams - Management console • quick start for C++ and Java Producer SDK • Developer Guide • Java / C++ producer library sample • Stream parser library sample 現在公開されているリソース 17 Consumerとして 動かしてみる Producerとして 動かしてみる
• MacBookのカメラ映像をリアルタイムにKinesis Video Streamに送る • 今公開されているproducerでは一番安定している GStreamer Producer Sample Application
18
$ git clone https://github.com/awslabs/amazon-kinesis- video-streams-producer-sdk-cpp.git $ cd amazon-kinesis-video-streams-producer-sdk-cpp $ cd
kinesis-video-native-build $ ./install-script $ export AWS_ACCESS_KEY_ID=[KEY] $ export AWS_SECRET_ACCESS_KEY=[SECRET] $ ./kinesis_video_gstreamer_sample_app [stream-name] Running gst-sample 19
•Developer Guideのサンプルにはデータの取得部分は書いてない •putMedia APIからリアルタイムにデータを取得するサンプルはまだ公開 されていないみたいですね •AWS Java SDKと組み合わせるといいです Stream parser
library sample (consumer) 20 https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/parser-library.html
Kinesis Video Streams Integrating with deep learning applications
re:Inventで実施したデモ 22 https://www.youtube.com/watch?v=rjBXbktBxBg&t=46m47s
re:Inventで実施したデモの構成 23 • MacBook上でGStreamerのアプリケーションを動かす • ECS上でVideo Processing • 1) Stream
Parsing Library (Java)を使ってフレームの取得、JCodecでデコード、bitmapで保存 • 2) PythonのEstimatorが推論・レンダリング・結果の保存(yuv) • 3) gstramerのアプリケーションが別のStreamに送信 • Web Consoleで確認
• リアルタイム(ミリ秒レベルの遅延!)でデータが処理できる • 過去データの取得も可能 • トレーニングデータを作るのに必要 • 過去データへのモデルの再適用も結構やる • ビデオストリームのインフラを考えなくて良い
• ビデオストリームの管理をやってくれる • 暗号化、保存期間設定、Management Consoleでの映像チェック 使ってみてわかった良さ 24
• Producer SDKの使い方が難しい • C++/Java SDK: Inputはエンコード済みフレームデータ • Android SDK:
coming soon… • GStreamerサンプル: GStreamerの勉強 ✏ 使ってみてわかったツラミ 25
• Consumer側のプログラムを作るのが難しかった • Java… mkv… • http clientからstream parser libraryに非同期でデータを渡す方法
• streaming parser libraryでFrameデータを取れない時のデバッグ • 取得したFrameのDecodeは自分でやる必要がある • 僕はDeep Learningをしたいだけなのに… • 今後、ラッパーライブラリが出てくると思います 使ってみてわかったツラミ (cont.) 26
Kinesis Video Stream + Rekognition Video 27 http://docs.aws.amazon.com/rekognition/latest/dg/streaming-video.html • 試したかったけど、間に合いませんでした。
• Rekognition Video側でstreamのARNを指定するだけでOKっぽい • $0.12 per 1 min of live stream video analyzed (Oregon) • $0.12 /min × 60 min x 24hour x 30 days = $5,184 /mo • ご利用は計画的に
• YouTube: AWS re:Invent 2017: NEW LAUNCH! Introducing Amazon Kinesis
Video Streams (ABD216) • https://www.youtube.com/watch?v=rjBXbktBxBg • YouTube: AWS re:Invent Launchpad 2017 - Amazon Kinesis Video Streams • https://www.youtube.com/watch?v=P0O3zBNbtk0 • Kinesis Video Streams - Developer Guide • https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html • Kinesis Video Stream + Rekognition Video • http://docs.aws.amazon.com/rekognition/latest/dg/streaming-video.html What’s next? 28
告知: ABEJA Cloud AI Night 29 http://eventregist.com/e/1222_abejanight