Advertisement
Advertisement

More Related Content

Slideshows for you(20)

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

Advertisement
Advertisement

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

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