狠狠撸

狠狠撸Share a Scribd company logo
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

奥别产搁罢颁を利用した远隔リアルタイム映像処理フレームワークの実装