めざせスカウター! hololensによる特定個人の 顔認識アプリ制作とその課題

28
めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題 ABC2017 Spring MR/VRトラック(4201 T5) 16:30 ~ 16:55 東京工業大学 情報理工学院 数理計算科学系 岩崎謙汰 高橋良希

Upload: iwasaki-kenta

Post on 22-Jan-2018

1.976 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

めざせスカウター!HoloLensによる特定個人の顔認識アプリ制作とその課題

ABC2017 SpringMR/VRトラック(4201 T5)16:30 ~ 16:55

東京工業大学 情報理工学院 数理計算科学系岩崎謙汰 高橋良希

Page 2: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

目次

• 自己紹介

• 今回作りたかったモノ

• ARとMRの違い、MR開発の難しさ

• Basic idea

• アプリの全体像

• まとめ

Page 3: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

自己紹介

• 東京工業大学 M2 岩崎謙汰

• 研究:SNSのグラフサンプリング

• 趣味:電車で30分プログラミング先週作ったゲーム3本

• Unityエンジニア/クライアント側担当

• AR/MR開発で楽しく暮らしたい

Page 4: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

自己紹介

• 東京工業大学 M1 高橋良希

• 研究:分散機械学習

• 趣味:Caffeによる画像認識アプリ開発Raspberry Piアプリ開発

• サーバー側担当

Page 5: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

今回作りたかったモノ

Page 6: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

出典 wayohoo.net

Page 7: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

スカウター

出典: http://sekkachi.blog.jp/archives/1039744030.html

相手の戦闘力などの情報をレンズ(?)のUI上に表示する

Page 8: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

スカウター作りたい!と思い立つ。しかし…

Page 9: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

出典: http://eiga.com/movie/83224/

Page 10: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

オーグマーすげー!超かっこいい!作りたい!

Page 11: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

めざせスカウター!HoloLensによる特定個人の顔認識アプリ制作とその課題

東京工業大学 情報理工学院 数理計算科学系岩崎謙汰 高橋良希

オーグマー!

ABC2017 SpringMR/VRトラック(4201 T5)16:30 ~ 16:55

Page 12: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

人の頭上に名前を表示するアプリを制作する

目標

Page 13: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

出典: http://www.matolabel.net/archives/68231429.html出典 http://anicul.jp/saogekijyouos/

人の頭上に名前を表示

Page 14: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

リアルと関連づいた3D空間上に配置する

人の頭上に名前を表示するアプリを制作する

今回のポイント

Page 15: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

3D空間上に配置する2DのUI上ではなく

ARとMR

今回こっち!

Page 16: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

3D空間に仮想オブジェクトを配置する方法

• ARマーカーを使用する (Vuforiaなど)→ 人間の顔をマーカーにするのは難しい

• 仮想空間上に現実と同じ部屋&物のモデルを配置する→ めちゃくちゃ大変 & 汎用性が低い

•HoloLensのジェスチャーで配置する→ 実際コレが多い気がする、しかし今回は自動でやりたい

•GPSから場所を推定する→ 全ての人間/物体がGPSを持っているわけでは…

Page 17: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

3D空間に仮想オブジェクトを配置する方法

• ARマーカーを使用する (Vuforiaなど)→ 人間の顔をマーカーにするのは難しい

• 仮想空間上に現実と同じ部屋&物のモデルを配置する→ めちゃくちゃ大変 & 汎用性が低い

•HoloLensのジェスチャーで配置する→ 実際コレが多い気がする、しかし自動でやりたい

•GPSから場所を推定する→ 全ての人間/物体がGPSを持っているわけでは…

意外と難しい!

Page 18: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

なぜ難しい? HoloLensが見ている世界

2D (画像) 3D

解析のしやすさ 解析しやすい 当たり判定のみ

奥行きの判定 わかりにくい わかる

どちらも見ている人間どれ?

どれくらい遠くにいる?

噛み合せたい!

Page 19: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

解決策: 顔の中心の座標に向けてRayを飛ばす

出典: http://tsubakit1.hateblo.jp/entry/2017/02/22/230100

画像解析でクラス名と顔の中心の座標を取得

Ex)クラス名: yoshiki顔の中心の標: (600,300)

顔の中心の座標へRayを飛ばす

この衝突点はyoshikiだとわかる

yoshiki

Page 20: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

デモ

Page 21: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

考察

•概ね、頭の上に移動しようとしている…?

•認識できるのは研究室メンバーのみだが、顔認識の精度は改善の余地あり。

•被写体が動くと頭の上から外れやすい。

•もっとなめらかに動かしたいが、これ以上早くしようとするとアプリが落ちる。

(現在 HTTP通信とSpatialMappingの更新頻度を1秒に1回にしている)

Page 22: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

アプリの全体像

HoloLens 被写体

① Webカメラから画像を取得

サーバー

③ OpenCVで顔の中心の座標の取得

④ Deep Learningによる識別

⑥ 顔の中心の座標にRayを飛ばし、頭上の座標を推定

⑦ 3D空間上にラベルを表示

出典: http://tsubakit1.hateblo.jp/entry/2017/02/22/230100

yoshiki

Page 23: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

HoloLensから画像をサーバーに送る

• HoloLens側は画像撮って送って返ってきた情報を載せるだけにしたい!

• WebCameraから画像を取得する

• HTTP通信で画像をサーバーに送る

↑普段のUnityの書き方と同じ

↓HoloLens特有設定

• Capabilitiesチェックを忘れない

Page 24: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

学習用研究室メンバの画像収集学生室

枚数

研究室メンバ

205枚タグ付け

Raspberry Piによる自動収集

ん?少ない人がいるぞ?

Page 25: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

バックエンド処理

人間がタグ付け

学習済みモデル

HTTP通信

画像出典:https://www.raspberrypi.org/, https://www.microsoft.com/ja-jp/hololens

学習アプリケーション

名前確率

Deep Learningによる識別

OpenCVによる顔検出(顔の中心座標計算)

座標Caffe

Page 26: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

学習

205枚x6クラス

820枚x6クラス

Neural Network (Alex net)

Pre-trainedNetwork

回転・ぼかしによる増強

精度変化

Page 27: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

まとめ

•人の頭の上に研究室メンバーの名前を表示するアプリを制作した。

•MR開発で大事なこと→リアル世界の認知と3D空間上の配置をどう組み立てるか

•ハードウェアの進歩が先か、エンジニアのアイデアが先か

•MR開発これからも楽しんでいきたいです!

Page 28: めざせスカウター! HoloLensによる特定個人の 顔認識アプリ制作とその課題

補足説明

•今回使用した技術など

•HoloLens開発: Windows10, Unity5.6.0

•サーバーサイド: Python

•DeepLearnig: Caffe