モバイルOS上での深層学習による 画像認識システ...

30
モバイルOS上での深層学習による 画像認識システムの実装と比較分析 丹野 良介,柳井啓司 (電気通信大学)

Transcript of モバイルOS上での深層学習による 画像認識システ...

Page 1: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

モバイルOS上での深層学習による画像認識システムの実装と比較分析

丹野良介,柳井啓司 (電気通信大学)

Page 2: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

はじめに

モバイル端末の高性能化

–スマートフォンで画像認識が可能に

深層学習(Deep Learning)の応用

–パターン認識分野で大きな注目

1

Page 3: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

はじめに

2

2012年

他の機械学習技術

Deep Learning

Page 4: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

はじめに

モバイル端末の高性能化

–スマートフォンで画像認識が可能に

深層学習(Deep Learning)の応用

–パターン認識分野で大きな注目

3

Deep Learningの応用: モバイル上での画像認識

Page 5: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

モバイル+Deep Learning

あまり研究がされていない

–特に,実装について(メモリ制限, CPU性能etc...)

Deep Learningには大規模演算が必須

–計算量がボトルネック

4

モバイルの特性

高速化の工夫は必須

Page 6: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

目的

モバイル上でDeep Learningの実装

–画像認識システムを実装

画像認識システムの比較分析

–特に,認識時間に着目

5

モバイルの特性を考慮したDeep Learningの実装

Page 7: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

関連研究

JetPac Spotter

–スタンドアロン型1000種類物体認識

–認識手法: Deep Learning

–非公開(認識フレームワークはOSS)

6

Page 8: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

関連研究

河野らの研究(IWMV2013)

– Android版FoodCam

–認識手法:Fisher Vector(HOG+Color)+線形SVM

– 100種類の食事認識

岡元らの研究(MIRU2015)

– Android版DeepFoodCam

–認識手法: Deep Learning

– 100種類の食事認識+非食事 7

Page 9: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

従来手法との比較(認識精度)

8

65.0%

70.0%

75.0%

80.0%

85.0%

90.0%

95.0%

100.0%

1 2 3 4 5 6 7 8 9 10

候補数

Deep Learning

従来手法

Top1:

74.5%

Top5:

93.5%

Top1:

65.3%

Top5:

86.7%

※100カテゴリの食事認識で比較正答率

約10%性能向上

Page 10: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

Deep Learningによる認識エンジン

DCNNの学習

畳込み層の高速化

9

Page 11: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

DCNNの学習

一般的にはAlexNetを学習モデルに利用

– AlexNet: 約6000万パラメータ

Network-In-Network(NIN)を採用

– Network-In-Network: 約750万パラメータ

10

メモリ制限

Page 12: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

AlexNet vs. NIN

11

AlexNet

Network-In-Network(NIN)

全結合層

除去

Page 13: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

AlexNetのパラメータ数のグラフ

120

0.5千万

1千万

1.5千万

2千万

2.5千万

3千万

3.5千万

4千万

その他 全結合層

全結合層を除去

Network-In-Network

パラメータ増加の原因の全結合層を除去

パラメータ数 メモリ 正答率(5位以内)

AlexNet 6000万 230MB 95.1%

NIN 750万 29MB 93.5%

Page 14: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

0

10

20

30

40

50

60

70

80

90

100

conv relu pool norm fc other

[%]

畳込み層の高速化の必要性

畳込み層が計算時間のボトルネック

–畳込み層の畳込み演算を高速化

– Deep Learning全体の計算時間の削減

13

計算時間の大半は畳込み層

Page 15: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

Image to column(Im2col)

画像の3次元配列を2次元配列に変換

–畳込み演算を行列積に落としこむ

14

Page 16: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

畳込み演算の行列積表現

15

3次元配列 im2col 2次元配列

畳込み演算 行列積

Page 17: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

畳込み演算の高速化

①BLASライブラリ

②NEON命令

16

Page 18: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

Basic Linear Algebra Subprograms(BLAS)

BLASライブラリ

–APIを利用

– Level3 BLAS

• 𝐶 ← 𝛼𝐴𝐵 + 𝛽𝐶 行列と行列の積

– iOS: Accelerate Framework,

–Android: OpenBLAS

17

Page 19: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

NEON命令

NEON命令

–同時に4つの32bit単精度浮動小数点の演算

– iOS: 2Core*4 = 8演算

–Android: 4Core*4 = 16演算

18

Page 20: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

作成したアプリ

2000種類(非食事1000+食事1000)を認識することができるアプリ

– 2000CategoryCam

101種類(非食事+食事100種類)を認識することができるアプリ

– iOS版DeepFoodCam

19

Page 21: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

2000種類物体認識アプリ

20

キーボード

マグカップマウス

Page 22: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

2000種類物体認識アプリ

21

マグカップマウスキーボード

Page 23: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

101種類(食事100+非食事)物体認識アプリ

22

Page 24: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

画像認識システムの比較分析

23

DeepBeliefSDK

DeepFoodCam

iOS上に実装 比較分析

フレームワーク

Deep Learning

・BLAS・NEON

Android版: DeepFoodCam岡元らの研究(MIRU2015)

Android

VS.

Page 25: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

実験設定

実験目的

– モバイル上での認識時間の計測

評価デバイス(2台)

– iOS: iPhone 5s(1.3GHz, RAM1GB, 2Core)

– Android: GALAXY Note3(2.3GHz, RAM3GB, 4Core)

評価方法

– 5パターンの実験

– 認識時間を20回計測して平均を算出24

OS 実験番号 高速化手法 フレームワーク

iOS (1) BLAS iOS(BLAS)

iOS (2) NEON iOS(NEON)

Android (3) BLAS Android(BLAS)

Android (4) NEON Android(NEON)

iOS (5) BLAS DeepBeliefSDK

Page 26: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

結果

25

143ms

502ms

1652ms

251ms

418ms3.5倍

6.6倍

iOS

(BLAS)

iOS

(NEON)

Android

(BLAS)

Android

(NEON)

DeepBeliefSDK

Page 27: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

考察

iOS: Accelerate framework

– Appleが提供

–デバイスに最適化

Android: OpenBLAS

–様々なCPUに対応

–デバイスに最適化されていない

26

Page 28: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

まとめ

モバイル上でDeep Learningの実装

– 画像認識システムを実装

画像認識システムの比較分析

– 演算の最適な高速化工夫はモバイルOSで異なる

– iOS: Accelerate Framework(BLAS)

– Android: NEON命令27

Top 5 認識時間[ms]

Deep Learning 93.5% 143[ms]

従来手法 86.7% 96[ms]

Page 29: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

今後の課題

CNNによる,より複雑な処理の実装

– 領域分割

– 動画像のリアルタイム処理

GPGPU 28

Page 30: モバイルOS上での深層学習による 画像認識システ …img.cs.uec.ac.jp/pub/conf15/160229tanno_2_ppt.pdfモバイルOS上での深層学習による 画像認識システムの実装と比較分析

質疑応答

モバイル上でDeep Learningの実装

–画像認識システムを実装

画像認識システムの比較分析

–演算の高速化工夫はモバイルOSで異なる

CNNによる,より複雑な処理の実装

–領域分割

–動画像のリアルタイム処理

– GPGPU29

まとめ

今後の課題