Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜

7,067 views

Published on

Future Standard では、IoTを活用した映像解析のサービス開発を行っており、その仕組みを支える技術についてお話をさせて頂きます。前半では、AWSでサーバー側の仕組みを構築した際に、どのような設計思想に基づいてアーキテクチャを構築したのかといったポイントを中心に説明します。後半は、NVIDIAのJetsonという組み込みコンピューターを使った、Faster R-CNN を使ったエッジでのリアルタイム物体認識の取り組みについてお話させて頂きます。

Published in: Technology
  • Be the first to comment

物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜

  1. 1. Chief Analytics Officer 金田 卓士 物体認識 IoT サービスを支える技術 〜クラウドアーキテクチャから組込み深層学習まで〜 #TokyoWebmining 55th
  2. 2. 自己紹介 慶應義塾大学大学院で計量経済学を専攻後、 一休.com、ソフトバンク・テクノロジー、VASILY において分析からアルゴリズムの実装まで データ関連業務全般に従事。2016年6月より フューチャースンダードへ参画。 金田 卓士 @kndt84 2
  3. 3. 3
  4. 4. 1. 事業概要 2. サービスアーキテクチャの解説  システム概要とアーキテクチャの設計方針  デバイス構成  サーバー構成 3. 深層学習を利用した組込み物体検出の取り組み 目次 4
  5. 5. 事業概要
  6. 6. 世界の「見える化」を加速させる どれくらい混んでるのだろう?どれくらい、見られているのかな? 上手い人との差ってどこだろう? 見えているようで見えていない世界をリアルタイムに認知し、理解する 6
  7. 7. リアルタイム画像解析でできること 店舗の場合 来店分析 行列人数 顧客・店員動線 7
  8. 8. リアルタイム画像解析でできること: 街の場合 通行人数 通行車両数 移動方向 8
  9. 9. 早く・簡単に集めた画像を解析できる 画像解析プラットフォーム 9
  10. 10. ビジネスモデル 10 インフラ設置済みカメラ 既存監視カメラ スマートフォン 解析データ 飲食店待ち時間データ 映像データ (1)カメラ網 (2)画像解析 (3)新しいソリューション 交通量・流動データ 店舗1 56人 50台 現在8人待ち
  11. 11. カメラソリューションにおける課題 11 現状 FSが目指す市場 開発 ユーザー 解析技術 (ソフト) ハード メーカー 専用カメラ (ハード) ソフト メーカー カメラ (ハード) 解析技術 (ソフト) ソフト メーカー ハード メーカー カメラ (ハード) 解析技術 (ソフト) 監視カメラ ヒートマップ 動線分析 + + + 監視カメラ ヒートマップ 動線分析 ・・・ • 同じ様な技術、同じような製品の再発明が繰り返されている状態 • 技術(ソリューション)ごとに製品が販売されており、ユーザーにとっても負担
  12. 12. 届けたい体験・・・ 12 お店の前って、どれく らい人が通っている のかしら? クライアントの 屋外広告測定を してみたいな。  簡単な機能追加  インフラ設計不要  欲しいアプリ、 解析サービスを 探せるアプリマー ケット
  13. 13. サービスアーキテクチャの解説
  14. 14. システム概要 全時間帯の映像を、リアルタイムでタグ付けして保存 タグ付けの画像処理は、ニーズにより柔軟な構成が可能 IPカメラ オンプレミス 中間サーバ クラウド 画像処理 S3 バケット タグ 映 像 映 像 映 像 映 像 保存 エッジで タグ付け 中間で タグ付け クラウドで タグ付け ニーズで選択 Dynamo DB NoSQL DB 保存 14
  15. 15. アーキテクチャの設計方針 下記の方針に基づいて動画解析プラットフォームの設計を行っています。  主に安価な画像センサと小型コンピュータ (Raspberry Pi2 等)を組み合わせ “スマートカメラ ネットワーク”を 簡単・迅速・安価に構築  OS / HWを問わないマルチプラットフォーム 環境で、カメラ 数台~数百万台ま でカバーするスケーラブルかつ柔軟なシステム  撮影画像のタイムリーな蓄積・検索・分析に必要なミドルウェア群を完備し、 独 自ビジネスロジックの構築や、先端研究を 簡単に組み込める 導入が楽 学習が楽 運用が楽 15
  16. 16. 簡単・安価なネットワーク構築を実現するデバイス • 汎用品である Raspberry Pi と市販のUSBカメラを繋 げることで安価にスマートカメラネットワークシステム を構築可能 • 独自イメージを書き込むだけで、ドライバ導入やネッ トワーク設定は全て行われる • 機能のオンオフを設定ファイルで簡単に変更可能 • エッジで解析を行う場合は、OpenCV の動体検知と HOG特徴量フィルターを組み合わせて、顔検出や通 行人検知が可能 16
  17. 17. マルチプラットフォームかつスケーラブルな設計 コンポーネント間のインタフェースとなるプロトコルを規定し、サービスを疎結合とすることで、異種 HW・異種OS・異Version混在しても、全体の整合性を保てる構造にする。 この方針により、様々な形態での運用が可能となる • リアルタイムのカメラ映像の代わりに、録画済みのビデオ映像をPC上に送り、 PC上で動作させた画像解析サービスで処理 • IaaS クラウド上に、個別ニーズに最適化した、画像解析サービスを構築 • クラウド上の画像解析サービスを、一般向けに PaaS 提供 • 典型的な画像処理プラグインとパッケージング化して、一般向けに SaaS 提供 • ユーザのハードウェア上に、オンプレミスでシステム構築 17
  18. 18. デバイスのソフトウェア構成 ログと動画はストリーミングとバッチを併用 することで冗長性を確保 FluentdのプラグインがMQTT3.1に 対応していないためMosquittoを利用 18
  19. 19. アドバタイズ/ プロパティ提供 サーバーのコンポーネント構成 カメラ管理 サブシステム (CMS) カメラ ネットワーク (CN) 画像処理 サブシステム (IPS) UI サブシステム (UIS) 画像/メタ情報 処理デリゲート 処理指示 操作 サーチ/カメラ制御 情報提供 ユーザ管理 サブシステム (UMS) 認証 Token ログイン DB ユーザID 認証Token 登録 19
  20. 20. 《MQTT》 アドバタイズ/ プロパティ提供 AWSマネージドサービスの活用 カメラ ネットワーク (CN) 《MQTT》 画像/メタ情報 処理デリゲート 操作 《MQTT》 サーチ/カメラ制御 情報提供 認証 Token ログイン DB ユーザID 認証Token 登録 API Gateway Cognito AWS IoT AWS IoT S3 Dynamo DB タグ 映像 Lambda Lambda Elastic Beanstalk 20
  21. 21. クラウドアーキテクチャの 解説 深層学習を利用した 組込み一般物体認識の取り組み
  22. 22. 現状の問題点とエッジ側での物体認識のニーズ • OpenCV を使って動体検知+HOG特徴量では認識精度が低い • 個人情報保護の観点からクラウドへ映像や画像を出したくない エッジ側でディープラーニングを使った精度の高い 一般物体認識ができないか検証を実施 22
  23. 23. 一般物体認識 • 制約のない実世界シーンの画像に対して計 算機がその中に含まれる物体を一般的な名 称で認識すること • 画像のどこに何が写っているかを知りたい • 一般物体認識ができれば個別の認識タスク は識別層を変更したりファインチューニングす ることであらかた実現可能? Faster R-CNN の論文より引用 23
  24. 24. • クレジットサイズの組込み用コンピューター • 64bit の 4コアCPUを搭載 • 256 CUDA コアを搭載(GTX 1080 は 2560コア) • メモリは4GBでGPUと共有(TK1は2GB) • OSはUbuntu 14.04 LTS をベース • 実際の開発は、開発キットを使って行う NVIDIA Jetson TX1 開発キット 24
  25. 25. • 高速でほぼリアルタイムに近い物体認 識が可能なアルゴリズム • 物体候補領域の検出と、物体の判定を 一つのネットワークで行うため計算が速 い • 詳しくは、スライドと元論文読んでくださ い! Faster R-CNN Faster R-CNN の論文より引用 25
  26. 26. PVCR2015 Tutorial: Convolutional Feature Maps論文紹介 Fast R-CNN & Faster R-CNN 26
  27. 27. R-CNN(参考) • Selective Search で領域の候補を検出 • それぞれの画像を規定のサイズに変換 • 特徴量から分類を行う • 矩形の座標を回帰 27
  28. 28. • 本家のMatlab実装でなくGitHubで公開されているPython実装を利用 • 使用したモデル  VGG16: 13層の畳み込み層  ZF: 5層の畳み込み層 • 学習は行わず、Forward propagation のみ実施 • 候補領域数は最大300 に設定 • Jetsonの設定に関しては、別途 Qiita の記事にまとめておきました Jetson TX1 で Faster R-CNN を動かす 検証について 28
  29. 29. 検証結果 29 モデル 平均処理時間(秒) 平均領域候補数 VGG 16 3.01 230 ZF 0.91 233 TK1ではメモリ容量の関係で計算ができなかったが、TX1では特に調整することなく動いた。 各モデルの平均処理時間は下記の通り。
  30. 30. 今後の課題 • ZFでは約0.9秒で処理できたが、更に高速化が求められるタスクに対応するのにはどう したらよいか • 特定の物体認識タスクへ応用するのにどうするのがよいか 判別層の置き換え、ファインチューニング • 時系列フィルタリングをどうしたらよいか 30

×