JAWSDAYS2016 ランチタイムセッション

54
実践して学ぶ認識技術 2016.3.12 山口 陽平 JAWSDAYS2016 ランチタイムセッション発表資料 1

Transcript of JAWSDAYS2016 ランチタイムセッション

Page 1: JAWSDAYS2016 ランチタイムセッション

実践して学ぶ認識技術 2016.3.12 山口 陽平 JAWSDAYS2016 ランチタイムセッション発表資料

1

Page 2: JAWSDAYS2016 ランチタイムセッション

今日話すこと

• 自己紹介 & 会社紹介

• 認識技術の学び方

• 実践の具体例

• リリース & コンテスト

• 求人

• 技術紹介

つぶやくなら ⇒ #jawsdays #jawsug

2

Page 3: JAWSDAYS2016 ランチタイムセッション

自己紹介 & 会社紹介

とりあえず

3

Page 4: JAWSDAYS2016 ランチタイムセッション

山 口 陽 平 @melleo1978

• 所属 & 経歴 – 有限会社 来栖川電算 取締役

– Mashup Awards 9 優秀賞受賞

– 名古屋工業大学大学院 博士前期課程修了

– IPA未踏ソフトウェア創造事業 採択

• 自己紹介 企画 ~ 実装まで全部やる人

– 認識技術 & アルゴリズム の研究開発

• 文字認識,物体認識,動作認識,行動認識

– 言語処理系 の研究開発

• 分散DB,仮想機械,コンパイラ

• 好きなAWS S3 × API Gateway × Lambda

※実物に髪の毛はありません。

4

Page 5: JAWSDAYS2016 ランチタイムセッション

山 口 陽 平 @melleo1978

• [実践]画像認識 を執筆 WEB+DB PRESS Vol.83

–これから画像認識をはじめる人におススメ

5

– OpenCV の使い方や実装例

– SIFTなどの各種アルゴリズムや特定物体認識のしくみ

–精度改善への取り組み方

Page 6: JAWSDAYS2016 ランチタイムセッション

来栖川電算 設立 2003年(名古屋工業大学発ベンチャー) 従業員 36人

• SF世界の技術を実現し、社会に役立てる

–人工知能技術のライセンス販売・研究・SI

• 文字認識,物体認識,動作認識,行動認識

–スマホアプリの企画・制作・運営

スマートライフ技術

NTTドコモ様との共同研究

スマートドライブ技術

大手自動車メーカー様むけ

メイドさん もふくめて

6

Page 7: JAWSDAYS2016 ランチタイムセッション

来栖川電算 様々なアルゴリズムを駆使する技術者集団

• 様々な認識技術

–文字認識,物体認識,モーション認識

• 限界性能を引き出す優れた実装技術

–機械学習・コンパイラ・データベース・仮想機械などのアルゴリズムとバイナリハック

• 高速化,並列化,分散化,省空間化,高精度化

• ビジネスを差別化する認識エコシステム

–スケールに応じた仕組,競争力の自動強化

7

Page 8: JAWSDAYS2016 ランチタイムセッション

認識技術の学び方

来栖川電算で行われている

8

Page 9: JAWSDAYS2016 ランチタイムセッション

方針 とにかくたくさんデータを見て試した人が強い

• 座学 & 演習

–教わったことを自分の力で理解する。

–実践中に必要になったらやるスタンスでよい。

• 実践

–教わったことを現実のデータに適用し、様々な組み合わせを試す。実験量命!

–チームメンバーと協力して認識システム全体を設計する。運用の中で、ユーザ体験の改善に最も貢献する施策を見つけ出し、実施する。

9

Page 10: JAWSDAYS2016 ランチタイムセッション

座学 & 演習 自分で調査・実装・実験できる人になる

• 座学

–考え方、認識案件(不透明で曖昧)に対するスタンス、数学、論文の読み方などを学ぶ。とっかかり(検索に使える知識)を得る。

• 演習

–様々なアルゴリズムを比較し、アイデアのエッセンスを学ぶ。

–実験によりアルゴリズムの振る舞いを理解する。実装の観点からも理解する。

10

Page 11: JAWSDAYS2016 ランチタイムセッション

実践 現実のデータに立ち向かう方法を学ぶ

• 全体の設計 & 役割交代 ⇒ 俯瞰的視点

11

Page 12: JAWSDAYS2016 ランチタイムセッション

実践の具体例

具体的に課題を解決して技術を磨く

12

Page 13: JAWSDAYS2016 ランチタイムセッション

題材:体操の採点 腕の動きを採点し、レポート化

• 方針:スマホ側で採点したい

–ユーザ数:できるだけ多く

–体験:さくっと納得感高く

–費用:できるだけ安く

13

Page 14: JAWSDAYS2016 ランチタイムセッション

具体的制約:機器 できるだけ多くの人に遊んでもらいたい

• 機器を統一できない

– みんなのスマホ・ウォッチ:〇

– ⇒ 古い機器・OSも視野に入れる必要がある。

– 指定のBLEデバイス:×

– ⇒ 買う必要があると遊んでもらえない。

• 使えないセンサがある

– 加速度センサ:○(ほぼ搭載されている)

– ジャイロセンサ:×(一部搭載されていない)

– ⇒ ONにすると、加速度にノイズがのったり、加速度の周波数が極端に低下する場合がある。

14

Page 15: JAWSDAYS2016 ランチタイムセッション

具体的制約:センサ 腕の軌道を復元できるほどではない

• やっかいなセンサたち

–低い解像度

–狭い値域:±2G

–低い周波数:8Hz

–ノイズ:インパルスがやたらはいる。

–バグ:正の最大値を超えると負になる。

–余計なお世話:省電力モードではとれない。

–⇒ ユーザはセンサを選べない。

15

Page 16: JAWSDAYS2016 ランチタイムセッション

具体的制約:遊び方 個人差により全く異なるセンサ値になる

• 装着の個人差

–機器(スマホ・ウォッチ)、場所(左右の手・手首)、向き(真っ直ぐ・斜め)

–⇒ 気分や状況で変わる。正しい情報を教えてもらうことは難しい。

• 動作の個人差

–鏡、手の位置、手の返し、強さ、速さ、止め

–⇒ 気分で変わる。そもそも、うろ覚え。

16

Page 17: JAWSDAYS2016 ランチタイムセッション

導かれた実現方式 遊んで欲しいからスマホの加速度センサだけでやる

• 腕の軌道を復元できるほどではない

–正しい軌道からのズレなどの精密な計算を必要とする採点はできない。

–⇒ 頑健なアルゴリズム

• 個人差により全く異なるセンサ値になる

–センサ値は多様体を成しており、部分空間ごとに異なる法則に支配されている。

–⇒ 網羅的なデータ収集

17

Page 18: JAWSDAYS2016 ランチタイムセッション

頑健なアルゴリズム 時刻ごとに動作の正しさを判定する問題へ還元

• スコア = 正しい動作時間の割合

18

Page 19: JAWSDAYS2016 ランチタイムセッション

網羅的なデータ収集 音楽に合わせて体操 ⇒ ユーザによる教師作成

• 教師データ = 音楽の再生開始からの秒数

–継続している人のデータを信用してよい。

–みんなラジオ体操だと分かる動作をしている。

19

Page 20: JAWSDAYS2016 ランチタイムセッション

改善:認識精度 大域で通用する特徴を考案することが難しいので

• 職人が考えるから機械が考えるへ

–大量の軽量特徴の組み合わせの学習

–複雑な非線形関数の学習

–距離空間や表現の学習

• 取り組む中で、様々な手法を理解

–アンサンブル学習,深層学習,表現学習,クラスタリング,次元圧縮,データオーギュメンテーション,背景知識の埋め込み,…

20

Page 21: JAWSDAYS2016 ランチタイムセッション

改善:資源節約 ユーザ数に比例しない運営費用にしたいので

• 素朴な実装から高度な実装へ

–古いスマホでも動作する認識アルゴリズム

–大量のデータをさばける学習アルゴリズム

• 取り組む中で、様々な実装技術を理解

–探索のための索引,積分のための索引,簡潔データ構造,多項式近似,確率的近似,ソフトカスケード,…

–キャッシュ,パイプライン,分岐予測,専用命令,GPU,FPGA,…

21

Page 22: JAWSDAYS2016 ランチタイムセッション

まとめ 体操の採点は認識技術を学ぶのに適している

• いろいろな実験ができる –機器・装着・人の違いによる精度の違いを理解することで手法を評価できる。

• データを調達しやすい –自分でデータを生成しやすい。データが増えると課題や使える手法が変わることを学べる。

• 様々なハードウェアがある –要件や使える資源によって手法が変わることを学べる。実装技術も磨ける。

22

Page 23: JAWSDAYS2016 ランチタイムセッション

リリース & コンテスト

作ったからには

23

Page 24: JAWSDAYS2016 ランチタイムセッション

100,000 DL 突破 100↑ ヶ国の職場・自宅・旅先で 20 ~ 50 代の 女性 に人気

24

15053 いいね!

Page 25: JAWSDAYS2016 ランチタイムセッション

知名度上昇中 ”風変わり” なアプリなので様々なメディアが注目

• Mashup Award 9 – 日本最大のアプリコンテストで優秀賞

• アプリソムリエ – 【石井寛子アプリ事始】「毎朝体操」超最先端ラジオ体操第1!?

• 週刊朝日 – 【おすすめアプリ生活】あなたの“ラジ

オ体操度”が測れる「毎朝体操」

• 日経新聞 – 職場で気軽に体ほぐし ヨガ・体操…お助けアプリ

• 文化放送 – ドコモ団塊倶楽部

– 8月23日(土)11:00 ~ 13:00

– アプリ紹介コーナー(生放送)

25

Page 26: JAWSDAYS2016 ランチタイムセッション

マグニチュード3~4 みんなのラジオ体操の熱量を合計するとヤバい!

• 13.581 GJ 2014年6月22日時点

–実はラジオ体操は運動強度が高い!

熱量 状況

1.500 GJ 雷の平均のエネルギー

1.770 GJ 質量1kgの物体が木星の引力圏から脱出するために必要な運動エネルギー

2.000 GJ マグニチュード3の地震のエネルギー

4.184 GJ TNT火薬1トンの爆発のエネルギー

8.532 GJ 世界の人口1人あたりの年間消費電力量(2002年)

13.581 GJ 毎朝体操の総熱量 2014年6月22日時点

64.100 GJ マグニチュード4の地震のエネルギー

運動強度 状況

2.0 METS 電車の中で立っている

3.0 METS 庭仕事・野球の野手

3.5 METS 平地での自転車

4.0 METS ハイキング・速足

4.5 METS ラジオ体操

6.0 METS 階段昇降・卓球

9.0 METS 水泳・高強度の長距離走・筋力トレーニング

26

Page 27: JAWSDAYS2016 ランチタイムセッション

ユーザの声 単なる体操実績入力アプリではありえない反響

• 毎朝続いてます!体が軽くなりました。

27

Page 28: JAWSDAYS2016 ランチタイムセッション

求人

さぁ、いっしょに学び、驚くような体験を届けよう!

28

Page 29: JAWSDAYS2016 ランチタイムセッション

スタッフ募集中 学生さん、転職者さん、力を貸して!

• 研究(認識技術) – 機械学習・アルゴリズム・高速化・省メモリ・画像・センサーに関する知識,Java,C++

• 開発(サーバサイド) – プロセス・アーキテクチャ・ミドルウェア・ネットワークに関する知識,Scala,Java,C++

• 開発(フロントエンド)

– UI/UX・Android・iOSに関する知識,JavaScript

• 企画(認識アプリ・認識サービス)

– 新しい習慣を考える力,普及のためのアイデア

29

Page 30: JAWSDAYS2016 ランチタイムセッション

オフィス 必要なら増やすよ!在宅もOK

• 気軽に遊びに来てね!

–見学できて、ご飯も食べれて、泊まれる。

名古屋本社(2013年フロア増設)

イオン千種・名大病院・名工大の近く

上野支社(2012年開設)

入谷駅・鶯谷駅・上野駅の近く

30

Page 31: JAWSDAYS2016 ランチタイムセッション

情景画像文字認識

技術紹介①

31

Page 32: JAWSDAYS2016 ランチタイムセッション

情景画像文字認識とは

スマホなどで撮影した画像から文字を読み取る

32

Page 33: JAWSDAYS2016 ランチタイムセッション

情景画像文字認識とは

様々なパース、様々なレイアウト、様々な書体

33

Page 34: JAWSDAYS2016 ランチタイムセッション

情景画像文字認識とは

いわゆる “OCR” とは ”扱う画像” が違う

• 悪環境下での文字認識 –手書き・様々な書体・かすれ・点描・きついパース・統一性のない並び・逆光・陰・影・グラデーション・モアレなど

• 使える場面

–屋外でのスマホカメラを使った棚卸し

–車載カメラからの標識認識

–商品パッケージからの成分情報抽出

–キーワードによるアルバム・ビデオの頭出し

34

Page 35: JAWSDAYS2016 ランチタイムセッション

事例:タンゴチュウ Twitter で情景画像文字認識を体験できるサービス

35

Page 36: JAWSDAYS2016 ランチタイムセッション

物体認識

技術紹介②

36

Page 37: JAWSDAYS2016 ランチタイムセッション

物体認識とは

画像中の物体の種類・位置・姿勢を推定

37

Page 38: JAWSDAYS2016 ランチタイムセッション

物体認識とは

様々な向き・ポーズを学習させ見えの多様性を獲得

• 特定物体認識は素人でも簡単に使える

–どんな画像を学習に使うかを学べばOK

38

Page 39: JAWSDAYS2016 ランチタイムセッション

物体認識とは

モノをカウント、見た目で分からない情報を表示

• 使える場面

工場内で箱の仕分け

体験や評判の調査

ワインラベルで情報検索

AR付箋

集めて応募キャンペーン

ARフィギュア

39

Page 40: JAWSDAYS2016 ランチタイムセッション

事例:1000sors 誰でも簡単に使えるクラウド型物体認識エンジン

• 広い適用範囲 – 照明姿勢の変化に強く、様々な撮影環境に対応

• 驚異的な精度 – 数十万種類をほぼ完ぺきに識別

• 圧倒的な性能 – たった1台のPCで100万種類を瞬時に識別

– 台数を増やせばリニアにスケールアウト

40

Page 41: JAWSDAYS2016 ランチタイムセッション

事例:1000sors 手元の画像で精度や速度をすぐに確認可能

• ShotPreview for Android / iOS

①設定 ②撮影 ③確認

41

Page 42: JAWSDAYS2016 ランチタイムセッション

事例:ShotSearch 表紙を撮影すると発売日や口コミが分かるアプリ

• きついパースも、帯による隠れも、OK

42

Page 43: JAWSDAYS2016 ランチタイムセッション

事例:ShotSearch 表紙を撮影すると発売日や口コミが分かるアプリ

• よく似ていても、複数冊同時も、OK

43

Page 44: JAWSDAYS2016 ランチタイムセッション

事例:Cellars 18万件のワインラベルを認識するアプリ

• 世界で賞を獲得したアプリをダウンロード! – Asia Smartphone Apps Contest

• 広告マーケティング部門 Silver Award 2位

– 立命館大学 学生ベンチャーコンテスト • 最優秀賞 NICT賞

44

Page 45: JAWSDAYS2016 ランチタイムセッション

事例:運転補助 車載カメラに映る車や人などを検出・識別・追跡

• 単眼でも高精度、大きさ・距離も推定

世界中の走行データを活用

45

Page 46: JAWSDAYS2016 ランチタイムセッション

事例:画像認識API 画像を送るだけで写っている商品の情報を取得

• 登録商品:500 万件以上(昨年10月)の市販商品

–書籍,DVD,CD,PCソフト,ゲームソフト,食品パッケージ,… どんどん増加中

• 定期更新:網羅性 と 認識精度 の改善

–データ追加,パラメータ・アルゴリズム改良

46

Page 47: JAWSDAYS2016 ランチタイムセッション

開発者は今すぐ登録! ⇒ https://dev.smt.docomo.ne.jp

事例:画像認識API だれでも、かんたんに、マッシュアップ!

• docomo Developer support より提供中

画像認識 画像に写っている物体の情報を取得

環境センサー 日本全国の気温、降水量、紫外線量を取得

音声認識 話した内容を即座に文字に変換

雑談対話 自然な会話をやり取り

知識Q&A 今知りたいことをピンポイントで回答

音声合成 入力した文字を読み上げ

トレンド記事抽出 今人気の話題をジャンルやキーワードで検索

文字認識 画像の文字を読み取り

発話理解 要求を理解して、適切な機能を提示

動作推定 行っていた動作の推定

47

Page 48: JAWSDAYS2016 ランチタイムセッション

モーション認識

技術紹介③

48

Page 49: JAWSDAYS2016 ランチタイムセッション

モーション認識とは

センサー値から動作や行動の種類や発生時刻を推定

49

Page 50: JAWSDAYS2016 ランチタイムセッション

事例:動作推定API ドコモ と 来栖川電算 の共同研究

• 加速度データから人の動作や行動を検出

–静止,歩き,走り,自転車,睡眠,食事

• 動作と直接対応しない行動も検出可能

• スマホ・スマートウォッチに対応

– Android,Android Wear,… • 加速度データにアクセスできる API を備えたウェアラブルデバイス

– ※次の画像は画像中のデバイスに対応していることを保証するものではありません。

50

Page 51: JAWSDAYS2016 ランチタイムセッション

開発者は今すぐ登録! ⇒ https://dev.smt.docomo.ne.jp

事例:動作推定API だれでも、かんたんに、マッシュアップ!

• docomo Developer support より提供中

画像認識 画像に写っている物体の情報を取得

環境センサー 日本全国の気温、降水量、紫外線量を取得

音声認識 話した内容を即座に文字に変換

雑談対話 自然な会話をやり取り

知識Q&A 今知りたいことをピンポイントで回答

音声合成 入力した文字を読み上げ

トレンド記事抽出 今人気の話題をジャンルやキーワードで検索

文字認識 画像の文字を読み取り

発話理解 要求を理解して、適切な機能を提示

動作推定 行っていた動作の推定

51

Page 52: JAWSDAYS2016 ランチタイムセッション

事例:ライフログ ドコモの動作推定APIの応用例

52

開発者は今すぐ確認! ⇒ https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=127

Page 53: JAWSDAYS2016 ランチタイムセッション

事例:毎朝体操 だれでも、いつでも、どこでも、すぐできる

• Android & iPhone ⇒ http://maiasa.jp/

53

Page 54: JAWSDAYS2016 ランチタイムセッション

事例:なりきり 2.0 ウェアラブルで現実のモノを操作する作品

• ゲームコントローラへの応用

– 格闘ゲームが遊べる程、応答が速く、精度もよい。

54