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.

深層学習を用いたコンピュータビジョン技術とスマートショップの実現

32,396 views

Published on

DeNA TechCon 2018の登壇資料です。

Published in: Technology
  • Be the first to comment

深層学習を用いたコンピュータビジョン技術とスマートショップの実現

  1. 1. 深層学習を用いたコンピュータビジョン 技術とスマートショップの実現 AIシステム部 AI研究開発グループ 西野 剛平 李 天琦
  2. 2. AGENDA • 前半 (李) – コンピュータビジョンの技術紹介 – 姿勢推定の技術解説 • 後半 (西野) – スマートショッププロジェクトの取り組み – 姿勢推定技術の応用 1
  3. 3. 自己紹介 • 名前:李 天琦 (り てんき) • Twitter: @Leetenki • Facebook: Leetenki • 経歴: – ~2016年3月 : 深層強化学習の研究 – 2016年4月~ : DeNA 入社 – 2016年6月~ : ゲーム事業本部 (サーバ開発) – 2016年10月~: AIシステム部 (コンピュータビジョン研究) 2
  4. 4. 学生時代 • 深層強化学習の研究 • 得意言語:WebGL • 卒論:深層強化学習を用いた自動運転シミュレータ 3
  5. 5. コンピュータビジョン
  6. 6. コンピュータビジョン • コンピュータに視覚能力を与える研究分野 • 画像処理技術全般 – 画像分類 – 物体検出 – 物体トラッキング – 行動認識 – 超解像 – 画風変換 – 画像生成 – etc… 5
  7. 7. 画像分類 • 画像全体から映っているものの種類(ラベル)を推測する • ILSVRC2015以降、洗練された人間の視覚精度を超越 6 Cat : 99.2% Tiger : 0.79% Dog : 0.01%
  8. 8. 物体検出 • 画像に映った複数の物体を検出 • 種類だけでなく物体の位置と大きさまで特定する • 自動運転やロボットの分野で応用 7
  9. 9. セグメンテーション 8 • 画像をピクセル単位でグルーピング • ピクセルレベルでラベル付けを行う • 自動運転分野でリアルタイムセグメンテーションが使われる
  10. 10. 姿勢推定 9 • 画像に映っている人の基幹点及びポーズを推定 • 身体全体だけでなく、顔な手の細かい基幹点も推定可能 • 2Dから3Dポーズに変換して3Dモデル再構成
  11. 11. トラッキング 10 • 一連のシーンの中で同一物体を追跡し続ける • 物体検出 + 画像間差分 • 防犯用途、自動運転等で使われる
  12. 12. 超解像 11 • 解像度の低い画像から解像度の高い画像への復元 • ハイビジョンテレビ等の解像度補完用途に使われる 引用2 [Christian Ledig, et al., 2016]
  13. 13. 画風変換 12 • 画像のコンテンツ(映っている物体等)をそのままに画風のみを変換 • アーティストの画風を再現したり、新しいデザインを生み出せる
  14. 14. 画像生成 13 • GAN (Generative Adversarial Networks) • 画像群の表現空間を学習して、全く新しい画像を生成する 引用3 [Tero Karras FI, 2017]
  15. 15. Deep Learning
  16. 16. Deep Learning 15 • 人間の脳細胞の仕組みをニューロンと呼ばれる数値ユニットで表現 • 数値ユニット間の線形結合及び活性化関数で神経伝達の仕組みを再現 Σ ・ ・ ・ a1 a2 an w1 w2 wn b z aout
  17. 17. Deep Learning 16 • 数値ユニットの数を増やし、多層化する事で表現力を向上 • 複雑な神経伝達を再現 ai wij Σ a j wjk Σ ak
  18. 18. Deep Learning 17 • 計算結果が不適切だった場合は誤差逆伝播&勾配法でエラー修正 • 次回から間違わないようネットワークを最適化 ai wij Σ a j wjk Σ ak E ∂k ∂j
  19. 19. Convolutional Neural Networks 18 • Neural Networkの仕組みをコンピュータビジョンに応用したもの • 画像の各ピクセルをそのままネットワークに入力 引用4 [Kunihiko Fukushima, et al., 1980]
  20. 20. Convolutional Neural Networks 19 • 画像の局所的な周波数を抽出する畳込み層 (単純型細胞) • 画像の位置ずれを吸収するプーリング層 (複雑型細胞) 引用4 [Kunihiko Fukushima, et al., 1980]
  21. 21. Convolutional Neural Networks 20 • 画像の特徴抽出を学習 • Neocognitron = 脳の視覚野に関する知見を元に考案 引用4 [Kunihiko Fukushima, et al., 1980]
  22. 22. VGGNet 21 • 代表的な画像分類用CNNモデル • 2014年にILSVRCで2位入賞 • 3 × 3 の畳込み層とpooling層のみで構成されたシンプルなモデル • 今でも多くのCVタスクの特徴抽出器として使用される 引用5 [Zhe Cao, et al., 2016]
  23. 23. 姿勢推定 (Pose Estimation)
  24. 24. Realtime Multi-Person Pose Estimation 23 • CVPR2017でCMUが発表した論文 • arXiv:1611.08050[cs.CV] • 画像に映った複数人物をリアルタイムかつ高精度に姿勢推定する技術
  25. 25. Realtime Multi-Person Pose Estimation 24 • OpenPose (CMUが公開しているCaffe実装のライブラリ) • https://github.com/CMU-Perceptual-Computing-Lab/openpose 引用5 [Zhe Cao, et al., 2016]
  26. 26. Realtime Multi-Person Pose Estimation 25 • 畳込み層とプーリング層のみで構成 • VGG19を特徴抽出器として利用 • Multi-branch構造のモデル 引用5 [Zhe Cao, et al., 2016]
  27. 27. Realtime Multi-Person Pose Estimation 26 • Confidence-Maps • 身体のkey pointをheatmap形式で予測する • key pointごとに1チャンネルの出力
  28. 28. Realtime Multi-Person Pose Estimation 27 • Part Affinity Fields • key point同士の繋がりうる可能性を示すベクトルマップ • key point同士のconnnectionごとにxとyの2チャンネル
  29. 29. Realtime Multi-Person Pose Estimation 28 • Multi-Stage構造 • StageごとにFeature mapsとConfidence mapsとPAFsを結合 • ステージが進むごとに精度が上がる 引用5 [Zhe Cao, et al., 2016]
  30. 30. Realtime Multi-Person Pose Estimation 29 • Chainer実装のオープンソースライブラリ • https://github.com/DeNA/chainer_Realtime_Multi-Person_Pose_Estimation
  31. 31. 自己紹介 • 名前 – 西野 剛平 • 経歴 – プリンタメーカーにて研究開発 • 不動産間取り図の校正 • 文章構成やレイアウトの認識 – 起業 • モバイルゲーム開発 – DeNA入社 • 大型IPのゲームタイトル立ち上げ • 2013年 新卒エンジニアの研修担当 • Unityの内製タイトル「戦魂」のリードエンジニア • 2016年10月 〜 定点カメラ映像の認識など 30
  32. 32. スマートショッププロジェクト
  33. 33. スマートショッププロジェクトとは 32 • 一人一人のお客様に合わせた接客 • リアルタイムの商品推奨
  34. 34. 同一人物の再認識技術の概要 33 • スマートショップ実現に向け • 店内でのお客様の状況を把握する技術の確立は不可欠 • 第一ステップとして、定点カメラからの映像を元に、姿勢推定技術を 活用した同一人物の再認識技術の開発を行う • 技術の概要 • 人物の検出と検出された人物の同定を繰り返し行う • 人物の検出タスク • 姿勢推定技術を利用して高精度とロバスト性の両立 • 人物の同定タスク • 姿勢推定から得られた情報を使って行う
  35. 35. 弊社sakuraCafeのリアルタイムデモ映像 34
  36. 36. トラッキングにおける問題点 35 • 粒子フィルタをベースとした一般的なトラッキング手法 • フレーム間の画像変化を基に追跡 • フレーム間隔が長い(フレームレートが小さい)場合、フレーム間の画像変化量が大きくなり、追跡は極め て困難
  37. 37. トラッキングにおける問題点 36 • 正確な検出器を前提として考えた場合 • ある時刻tで検出された人と次のフレーム時刻t+1で検出された人の対応付けを行う事で同一人物判定が できる。 • 例えば、Intersection over Union の結果を利用して、各フレームで検出された人の矩形同士、各々 の組みでIoUを求め、その値が大きいもの同士を同一の人物とみなす。
  38. 38. トラッキングにおける問題点 37 • フレーム間での人の移動量が大きい場合には、IoUの値が0となってしまい追 跡が破綻 • 低いフレームレートやオクルージョンに対してロバストな設計が要求される
  39. 39. 全体の構成 38 • 本手法は下記の要素で構成 1. フレーム画像から人物の器官点の検出 2. 1つ前のフレームで検出された人物と今回検出された人物の同じ器 官点同士で色の照合 3. 1つ前のフレームで検出された人物と今回検出された人物の位置 の照合 4. 2と3の結果から総合的に判断し、人物の同定 • 1から4の手順を動画の各フレームに対して逐次行っていくことで、連続的 に同一人物の再認識を実現しています。
  40. 40. 人物の器官点の検出 39 • フレーム画像中から人物、および器官点の検出する • 器官点は複数人数の器官点を同時に検出 • 検出された器官点はどの人物のどの体の部分に対応しているかを認識 右の写真は検出された、鼻、首、左肩、左 手、右肩、右手、左腰、左足、右腰、右足の 10個の器官点になります。
  41. 41. 色差の計測 40 • 各器官点の色を取得 • 各器官点位置を中心とした局所領域からピクセルのRGB値を取得 • L*a*b*色空間に変換後、CIE2000で色差を計測
  42. 42. 色差を類似度に変換 41 • 色差を色の類似度として扱いたい • 色差dを1.0 〜 0 の定義域に射影する関数を導入し、それを類似度とする。 • シグモイド関数を使って、パラメータ値はおおよそ下記の要件に合うように調整 色差と類似度の関係
  43. 43. 色の類似度の計算 42 • 色の類似度計算の具体的な例 • 時刻tのフレームでPersonAという人を検出、時刻t+1でPersonBという人を検出した場合 色差の表
  44. 44. 位置の尤度 43 • 追跡中の人物は最初の検出フレームからその移動の軌跡をすべて保持して いる。 • したがって、これまでの移動情報を基にその人物が次のフレームにいる 位置をガウス分布でモデル化し、これを尤度関数とする。 • 実際に次のフレームで人が検出されたら、その位置情報をそれぞれの尤度 関数にあてはめることにより、尤もらしさを求める事ができます。 • 実際のデモ映像では人に対して相対的にブレが少ない首の器官点位置を利 用しています。
  45. 45. 位置の尤度 44 • 追跡中の3人の軌跡情報を基にガウス分布でモデル化したイメージ図 • 次のフレームでの各人の予測位置は赤色で書かれている部分で、これまでの移動量 が大きいほど次フレームでの予測位置は遠くに、分散は大きくなります。 尤度イメージ図
  46. 46. 総合尤度の算出 45 • 色の類似度、および位置の尤度から総合尤度を計算し、その値から同一人物の判定を行う。 • 例えば、前のフレームでPersonAとPersonBの2人を追跡しており、現在のフレームで PersonCとPersonDとPersonEの3人を検出した場合について考えてみる。 尤度イメージ図
  47. 47. 総合尤度の算出 46 • 前のフレームと現在のフレームで検出された全ての人の組み合わせに対し、色の類似度および位置の尤度を計 算し、その積を総合尤度とします。この例では下記のようになります。 • これを総合尤度の高い順で並べ替え、ある閾値以下(ここでは0.02を利用)のものを除外すると下記のようになり ます。 表
  48. 48. 総合尤度の算出 47 • 上から順に人物同定していきます。「前フレーム」欄か「現在のフレーム」欄のどちらかに既出の人物が 含まれる場合、その行は無視します。これを最後の行まで行い最終的な結論を出します。 • この例においては下記のような結果となる。 • 上記の作業を動画の各フレームに対して繰り返し行っていく事で、連続的な同一人物の再認識を実現
  49. 49. デジタルサイネージ 48 • 弊社内SakuraCafeにデジタルイネージを設置し、リアルタイムで姿勢推定および人物 同定の技術を体験できる
  50. 50. 姿勢推定技術の応用
  51. 51. 3D姿勢推定 50 • 2Dの姿勢推定の精度が高くなった • 自分自身のオクルージョンがあるようなポーズでも正確な予測が可能と なった事 • 2D姿勢推定結果から3Dの姿勢推定を行う研究も活発化 • 単一・単眼のRGB画像から人の3D姿勢推定が可能 • 3DモーションキャプチャなどのBigデータをすぐに活用可能 • 今年のCVトップカンファレンスで発表された2つを再現実装 • 3D Human Pose Estimation = 2D Pose Estimation + Matching CVPR ’17 • A simple yet effective baseline for 3d human pose estimation ICCV ’17
  52. 52. 3D姿勢推定1 51 • 3D Human Pose Estimation = 2D Pose Estimation + Matching • 入力画像を与える • 2D姿勢推定 • 3Dライブラリから検索 • 検索結果を歪ませる • 3Dポーズ推定 引用6 [Ching-Hang Chen et al., In CVPR, 2017]
  53. 53. 3D姿勢推定1 52 • 3D姿勢Xが2D姿勢xを与えた画像Iと条件的に独立していると仮定し、ノンパラメトリック 最近傍法でP(X|x)をモデル化 • 検索結果のXiをそのまま使わず、より一致させるために標本Xiを歪ませる。 • 3D標本座標Xiから奥行きの深度座標を、2Dの姿勢情報から(x、y)座標を使用 歪ませた例 引用6 [Ching-Hang Chen et al., In CVPR, 2017]
  54. 54. 3D姿勢推定2 53 • A simple yet effective baseline for 3d human pose estimation • 単眼・単一のRGB画像から人の3D姿勢推定 • 2D姿勢情報を入力とし3D姿勢情報を出力とするニューラルネットを使ったRegression タスク • Residual コネクションやBatch normalizationやドロップアウトを駆使して、軽量ながらも 効率よく学習できるネットワークを追求 • ネットワーク構成 • 入力は16個の2次元の点、出力は16個の3次元の点、ロス関数は平均2乗誤差 • パラメータの数は400万 – 500万の間 図 引用7 [Julieta Martinez et al., In ICCV, 2017.]
  55. 55. 実験結果 54
  56. 56. 実験結果 55
  57. 57. • 3Dの姿勢推定結果を基に実際にアバターにあてはめてみる • 3Dの姿勢推定された結果は、モデルと大きさが違ったり、各パーツのBoneの大きさの比率も違うため単 純に頂点をあてはめてもうまくはいかない。 • また、Boneの位置はわかるが、Joint部の回転角の情報までは取れていないので、正確に再現する事は 不可能。(一意にならない) アバターとボーン 3D姿勢のアバター適用 56
  58. 58. 3D姿勢のアバター適用 57 • 各Jointを木構造に捉えて、体の中心の腰をルート、手や足など端にある器官点をリーフと して、ルートから順に回転角を求めて曲げていく。 • 回転角は人間の各Joint部分の可動域を考慮しながら、フォーワードキネマティクスの要領 でアバターにあてはめていく アバターとボーン
  59. 59. 3D姿勢推定のアプリケショーン 58 • アバターによるライブ配信 • 自分の好きなキャラクターをアバターとして配信するようなサービス。 • スマートショッププロジェクトで取得された姿勢情報を3D化 • 例えば、定点カメラの映像をパブリックに配信したいという事を考え た場合、映っている人のプライバシー問題が発生してしまう。それを 防ぐため人の部分をアバターに置き換える。但し、適当にランダムに アバター化するのではなく、できるだけその人を象徴したアバターに 置き換える。
  60. 60. ご静聴ありがとうございました
  61. 61. 参考文献 60 • [1] Khurram Soomro and Amir Roshan Zamir. Action Recognition in Realistic Sports Videos, 2015 https://cs.stanford.edu/~amirz/index_files/Springer2015_action_chapter.pdf • [2] Christian Ledig, et al. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, 2016 https://arxiv.org/abs/1609.04802 • [3] Tero Karras (Tero Karras FI). Progressive Growing of GANs for Improved Quality, Stability, and Variation. 2017. https://arxiv.org/pdf/1710.10196.pdf • [4] Kunihiko Fukushima, Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position, 1980 http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf • [5] Zhe Cao, et al. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields, 2016 https://arxiv.org/pdf/1611.08050.pdf • [6] Ching-Hang Chen et al. 3D Human Pose Estimation = 2D Pose Estimation + Matching. In CVPR, 2017. http://openaccess.thecvf.com/content_cvpr_2017/papers/Chen_3D_Human_Pose_CVPR_2017_paper.pdf • [7] Julieta Martinez et al. A simple yet effective baseline for 3d human pose estimation. In ICCV, 2017. http://openaccess.thecvf.com/content_ICCV_2017/papers/Martinez_A_Simple_yet_ICCV_2017_paper.pdf

×