SlideShare a Scribd company logo
10
Most read
11
Most read
16
Most read
WebRTCを利用した
遠隔リアルタイム映像処理
フレームワークの実装
@tnoho
自己紹介
@tnoho
 通信屋で働くサラリーマン
 プログラミングと電子工作が趣味
 WebRTC界隈の勉強会によくいます
 今回は表記のものを開発したので、参加させて頂きました。
深層学習のリアルタイム処理
 Real-Time とか Fast とか書いて、fpsが併記されていたりする
 速度を気にする人は当然のごとく TITAN X で検証している
 動くのを見ているとカメラを繋いで遊びたくなってくる
カメラと繋いでリアルタイム処理検証
 500W超の電源を持ち運ぶことになる
エンジン発電機クラスが最低でも必要
 一緒にATXのケースも…
プリウスなら1500Wまで行ける!
間口を広げたい
 現状においては、ちょっと試すのが難しい
 少ない研究者だけで用途を考えている状況
想定された用途と実際の用途は必ずしも一致しない
間口を広げ利用者を増やすのであれば、
最低でもスマートフォンで動いて欲しい!
スマートフォンで動かすには
 Android, iOS 版の TensorFlow を利用する?
ただリアルタイムのパフォーマンスは…
スマートフォンではなく、
サーバに処理を任せられないか
WebRTCとは
Webブラウザでリアルタイムの映像/音声通信を行える規格
HangoutやSkypeなどでも使われている
特徴
 ロイヤリティーフリー
 プラグインフリー
 高速・低レイテンシ
 NAT越え標準搭載(ルーター設定不要)
 ほとんどのブラウザーが対応
WebRTCで映像を送って解析する
WebRTCを利用すれば、どこにでもあるブラウザから
リアルタイムの映像を送ることができる
GPUを搭載したサーバ側で、それを解析できるようにすれば、
どこからでも強力なGPUを利用した映像解析が可能になる
デモ
デモの構成
クライアントから送られてきた映像を TITAN X の載ったデスクトップで
YOLO (darknet) を用いて物体検出、結果の枠を合成して返送
WebRTC Client Desktop Computer
物体検出
結果合成
WebRTCModule
TensorFlow
TITANX
WebRTC
Internet
pyrtcconductor
クライアントと WebRTC 接続を行い、送られてきたフレームを
OpenCV 形式で出力するPythonモジュール
機能
 映像受信して、OpenCV 形式で出力
 Python で加工したフレームを WebRTC で送信
 WebRTC の DataChannel を利用したデータ通信
 映像の自由なハンドリング
簡単に移植できる
出力されるフレームは OpenCV 形式
imread や imshow を使っているプログラムなら容易に移植することが可能
グレイスケール化と左右反転なら
frame = imread(filename)
flipped = cv2.flip(frame, 1)
gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
imshow(gray, gray)
def onFrame(frame, timestamp):
flipped = cv2.flip(frame, 1)
gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
effectedVideoSink.pushFrame(gray)
リアルタイム処理化前
リアルタイム処理化後
簡単に利用できる
煩雑なWebRTCの接続処理は全てモジュール内で実行
ユーザー記述は通常の1/10以下に削減
pyrtcconductor
Webブラウザ
User Program
Javascript
SDK
Python
User Program
WebRTC
signaling
もっと広く/もっと簡単に
 pyrtcconductorと必要なサーバをまとめて提供 … 開発中
 GitHubアカウントなどで誰でも、無償で、すぐに使えるように
 OSS化 … 頑張る
 法務の壁が…実績がないと…
 共同研究という名目での提供
 お声がけください!
用途の拡大
 スマートフォンやパソコンだけでなく組み込みにも
 Raspberry Pi WebRTC Clientの開発 … 開発中
 Raspberry Pi Zero で動作
 ハードウェア支援機能を利用
 省電力化によるロボット、ラジコンの制御
 監視カメラ、アクションカメラ、IoTなどへの拡大
 1:1だけでなく配信にも
 WebRTC配信サーバとの接続 … 計画中
EOF
いらすとやさんのイラストでお送りしました。

More Related Content

What's hot (20)

PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
 
PPTX
async/await のしくみ
信之 岩永
 
PDF
SFUの話
tnoho
 
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
 
PDF
TensorFlow Lite Delegateとは?
Mr. Vengineer
 
PPTX
トランクベース開発を活用して爆速に開発した話
Tier_IV
 
PDF
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
 
PPTX
ぼくとJenkinsおじさんの360日戦争
goccy
 
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
 
PDF
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
Unity Technologies Japan K.K.
 
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
PPTX
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
PDF
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
 
PPTX
MLOpsはバズワード
Tetsutaro Watanabe
 
PPTX
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
 
PDF
cvpaper.challenge 研究効率化 Tips
cvpaper. challenge
 
PDF
WebRTC と Native とそれから、それから。
tnoho
 
PDF
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
 
PDF
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
 
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
 
async/await のしくみ
信之 岩永
 
SFUの話
tnoho
 
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
 
TensorFlow Lite Delegateとは?
Mr. Vengineer
 
トランクベース開発を活用して爆速に開発した話
Tier_IV
 
(修正)機械学習デザインパターン(ML Design Patterns)の解説
Hironori Washizaki
 
ぼくとJenkinsおじさんの360日戦争
goccy
 
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
Unity Technologies Japan K.K.
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
信頼できるAIシステム開発の勘どころ ~AI開発方法論×AI品質保証~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
ゼロから始める転移学習
Yahoo!デベロッパーネットワーク
 
MLOpsはバズワード
Tetsutaro Watanabe
 
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
 
cvpaper.challenge 研究効率化 Tips
cvpaper. challenge
 
WebRTC と Native とそれから、それから。
tnoho
 
hooks riverpod + state notifier + freezed でのドメイン駆動設計
Shinnosuke Tokuda
 
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
 
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 

Similar to WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装 (20)

PDF
Let's begin WebRTC
yoshikawa_t
 
PPTX
WebRTCとSFU
Saki Homma
 
PDF
WebRTC入門+最新動向
Ryosuke Otsuya
 
PPTX
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka
 
PDF
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
 
PDF
WebRTCで動かす“テレイグジスタンス”ロボット
NTT Communications Technology Development
 
PPTX
WebRTC配信とハードウェアエンコーダ
tnoho
 
PDF
HTML5開発最前線
yoshikawa_t
 
PDF
About WebRTC
Seiya Konno
 
PDF
20130216
komarineko
 
PDF
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
Device WebAPI Consortium
 
PPTX
WebRTC の紹介
Kensaku Komatsu
 
PDF
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
 
PDF
はじめてのWebRTC/ORTC
Yusuke Naka
 
PDF
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
 
PPTX
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
mganeko
 
PPTX
デバイスWeb apiコンソーシアム 第四回資料(RemoteRelay with Thermal camera)
Iida Keisuke
 
PPTX
WebRTC NextVersion時代のJavaScript開発
Yusuke Naka
 
PPTX
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
infocom corp.
 
PPTX
レポート
xin song
 
Let's begin WebRTC
yoshikawa_t
 
WebRTCとSFU
Saki Homma
 
WebRTC入門+最新動向
Ryosuke Otsuya
 
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka
 
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
 
WebRTCで動かす“テレイグジスタンス”ロボット
NTT Communications Technology Development
 
WebRTC配信とハードウェアエンコーダ
tnoho
 
HTML5開発最前線
yoshikawa_t
 
About WebRTC
Seiya Konno
 
20130216
komarineko
 
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
Device WebAPI Consortium
 
WebRTC の紹介
Kensaku Komatsu
 
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
 
はじめてのWebRTC/ORTC
Yusuke Naka
 
GPU と PYTHON と、それから最近の NVIDIA
NVIDIA Japan
 
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR...
mganeko
 
デバイスWeb apiコンソーシアム 第四回資料(RemoteRelay with Thermal camera)
Iida Keisuke
 
WebRTC NextVersion時代のJavaScript開発
Yusuke Naka
 
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
infocom corp.
 
レポート
xin song
 
Ad

WebRTCを利用した遠隔リアルタイム映像処理フレームワークの実装