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
NYC Summit 2026 におけるAmazon Bedrock AgentCore のアップデート
ren8k
3
320
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
140
AI エージェント時代のデジタルアイデンティティ
fujie
3
1.4k
新しい SLO が良い感じにハマっている話
z63d
4
2.1k
LangfuseによるLLMOps基盤の構築と活用事例
zozotech
PRO
1
260
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
330
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
210
運用を犠牲にせずコストを制御し事業成長を支える B2B SaaS ID管理基盤におけるS3 Tableのログストレージ活用
kaminashi
1
160
AI時代の強いチームの作り方
yuukiyo
23
15k
第3回しろおびセキュリティスポンサーセッション
log0417
0
120
サイバー捜査員研修(後半)
nomizone
1
500
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
750
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
420
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
450
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Why Our Code Smells
bkeepers
PRO
340
58k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
AI: The stuff that nobody shows you
jnunemaker
PRO
9
870
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
560
WENDY [Excerpt]
tessaabrams
11
39k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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