SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
モバイルOS上での深層学習による
画像認識システムの実装と比較分析
丹野 良介,柳井啓司 (電気通信大学)
はじめに
 モバイル端末の高性能化
– スマートフォンで画像認識が可能に
 深層学習(Deep Learning)の応用
– パターン認識分野で大きな注目
1
はじめに
2
2012年
他の機械学習技術
Deep Learning
はじめに
 モバイル端末の高性能化
– スマートフォンで画像認識が可能に
 深層学習(Deep Learning)の応用
– パターン認識分野で大きな注目
3
Deep Learningの応用: モバイル上での画像認識
モバイル+Deep Learning
 あまり研究がされていない
– 特に,実装について(メモリ制限, CPU性能etc...)
 Deep Learningには大規模演算が必須
– 計算量がボトルネック
4
モバイルの特性
高速化の工夫は必須
目的
 モバイル上でDeep Learningの実装
– 画像認識システムを実装
 画像認識システムの比較分析
– 特に,認識時間に着目
5
モバイルの特性を考慮したDeep Learningの実装
関連研究
 JetPac Spotter
– スタンドアロン型1000種類物体認識
– 認識手法: Deep Learning
– 非公開(認識フレームワークはOSS)
6
関連研究
 河野らの研究(IWMV2013)
– Android版FoodCam
– 認識手法:Fisher Vector(HOG+Color)+線形SVM
– 100種類の食事認識
 岡元らの研究(MIRU2015)
– Android版DeepFoodCam
– 認識手法: Deep Learning
– 100種類の食事認識+非食事 7
従来手法との比較(認識精度)
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%性能向上
Deep Learningによる認識エンジン
 DCNNの学習
 畳込み層の高速化
9
DCNNの学習
 一般的にはAlexNetを学習モデルに利用
– AlexNet: 約6000万パラメータ
 Network-In-Network(NIN)を採用
– Network-In-Network: 約750万パラメータ
10
メモリ制限
AlexNet vs. NIN
11
AlexNet
Network-In-Network(NIN)
全結合層
除去
AlexNetのパラメータ数のグラフ
12
0
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%
0
10
20
30
40
50
60
70
80
90
100
conv relu pool norm fc other
[%]
畳込み層の高速化の必要性
 畳込み層が計算時間のボトルネック
– 畳込み層の畳込み演算を高速化
– Deep Learning全体の計算時間の削減
13
計算時間の大半は畳込み層
Image to column(Im2col)
 画像の3次元配列を2次元配列に変換
– 畳込み演算を行列積に落としこむ
14
畳込み演算の行列積表現
15
3次元配列 im2col 2次元配列
畳込み演算 行列積
畳込み演算の高速化
①BLASライブラリ
②NEON命令
16
Basic Linear Algebra Subprograms(BLAS)
 BLASライブラリ
–APIを利用
–Level3 BLAS
• 𝐶 ← 𝛼𝐴𝐵 + 𝛽𝐶 行列と行列の積
–iOS: Accelerate Framework,
–Android: OpenBLAS
17
NEON命令
 NEON命令
–同時に4つの32bit単精度浮動小数点の演
算
–iOS: 2Core*4 = 8演算
–Android: 4Core*4 = 16演算
18
作成したアプリ
 2000種類(非食事1000+食事1000)を認識す
ることができるアプリ
– 2000CategoryCam
 101種類(非食事+食事100種類)を認識する
ことができるアプリ
– iOS版DeepFoodCam
19
2000種類物体認識アプリ
20
キーボード
マグカップマウス
2000種類物体認識アプリ
21
マグカップマウスキーボード
101種類(食事100+非食事)物体認識アプリ
22
画像認識システムの比較分析
23
DeepBeliefSDK
DeepFoodCam
iOS上に実装 比較分析
フレームワーク
Deep Learning
・BLAS
・NEON
Android版: DeepFoodCam
岡元らの研究(MIRU2015)
Android
VS.
実験設定
 実験目的
– モバイル上での認識時間の計測
 評価デバイス(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
結果
25
143ms
502ms
1652ms
251ms
418ms3.5倍
6.6倍
iOS
(BLAS)
iOS
(NEON)
Android
(BLAS)
Android
(NEON)
DeepBeliefSDK
考察
 iOS: Accelerate framework
– Appleが提供
– デバイスに最適化
 Android: OpenBLAS
– 様々なCPUに対応
– デバイスに最適化されていない
26
まとめ
 モバイル上でDeep Learningの実装
– 画像認識システムを実装
 画像認識システムの比較分析
– 演算の最適な高速化工夫はモバイルOSで異なる
– iOS: Accelerate Framework(BLAS)
– Android: NEON命令
27
Top 5 認識時間[ms]
Deep Learning 93.5% 143[ms]
従来手法 86.7% 96[ms]
今後の課題
 CNNによる,より複雑な処理の実装
– 領域分割
– 動画像のリアルタイム処理
 GPGPU 28
質疑応答
 モバイル上でDeep Learningの実装
– 画像認識システムを実装
 画像認識システムの比較分析
– 演算の高速化工夫はモバイルOSで異なる
 CNNによる,より複雑な処理の実装
– 領域分割
– 動画像のリアルタイム処理
– GPGPU
29
まとめ
今後の課題

Weitere ähnliche Inhalte

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

20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2
20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev220160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2
20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2Tomokazu Kanazawa
 
福岡市内のベンチャー企業が取り組む最新It技術
福岡市内のベンチャー企業が取り組む最新It技術福岡市内のベンチャー企業が取り組む最新It技術
福岡市内のベンチャー企業が取り組む最新It技術Takuya Andou
 
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployする
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployするDeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployする
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployするtomohiro kato
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかShunsukeNakamura17
 
使う人によってレイアウトを最適化するAndroidアプリ
使う人によってレイアウトを最適化するAndroidアプリ使う人によってレイアウトを最適化するAndroidアプリ
使う人によってレイアウトを最適化するAndroidアプリTomomiKondo
 
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ ≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ Brocade
 
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用Yusuke Uchida
 
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation 「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation Takumi Ohkuma
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationDeep Learning JP
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth EstimationKazuyuki Miyazawa
 
Midterm2nd
Midterm2ndMidterm2nd
Midterm2ndhasegawa
 
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発についてShinya Nakajima
 
深層学習ネットワークのモバイル実装
深層学習ネットワークのモバイル実装深層学習ネットワークのモバイル実装
深層学習ネットワークのモバイル実装Ryosuke Tanno
 
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太Preferred Networks
 
今時の試験やさんの気持ち
今時の試験やさんの気持ち今時の試験やさんの気持ち
今時の試験やさんの気持ち高見 知英
 
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本Atsushi Hashimoto
 
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作Takashi Yamanoue
 
機械学習と深層学習入門
機械学習と深層学習入門機械学習と深層学習入門
機械学習と深層学習入門Yuta Takahashi
 
Sp design2013 v2
Sp design2013 v2Sp design2013 v2
Sp design2013 v2Yukio Andoh
 
iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介Kato Shingo
 

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

20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2
20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev220160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2
20160913 gpu deep-learningcomminity-morpho_20160912-公開用rev2
 
福岡市内のベンチャー企業が取り組む最新It技術
福岡市内のベンチャー企業が取り組む最新It技術福岡市内のベンチャー企業が取り組む最新It技術
福岡市内のベンチャー企業が取り組む最新It技術
 
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployする
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployするDeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployする
DeepLearningフレームワークChainerの学習済みモデルをスマートフォンにDeployする
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
使う人によってレイアウトを最適化するAndroidアプリ
使う人によってレイアウトを最適化するAndroidアプリ使う人によってレイアウトを最適化するAndroidアプリ
使う人によってレイアウトを最適化するAndroidアプリ
 
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~ ≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
≪インテル x ブロケード 特別対談≫ 2020年。どうなる?車とデータセンタの関係 ~SDxの、その先へ~
 
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
深層学習を用いたコンピュータビジョン技術と運転行動モニタリングへの応用
 
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation 「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
 
Midterm2nd
Midterm2ndMidterm2nd
Midterm2nd
 
2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について2画面折り畳みデバイスのアプリ開発について
2画面折り畳みデバイスのアプリ開発について
 
深層学習ネットワークのモバイル実装
深層学習ネットワークのモバイル実装深層学習ネットワークのモバイル実装
深層学習ネットワークのモバイル実装
 
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
東北大学 先端技術の基礎と実践_深層学習による画像認識とデータの話_菊池悠太
 
今時の試験やさんの気持ち
今時の試験やさんの気持ち今時の試験やさんの気持ち
今時の試験やさんの気持ち
 
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本
春の情報処理祭り 2015 [リクルートx情報処理学会] CVIM 橋本
 
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
スマートフォンで操作する双方向型大型デジタルサイネージシステムの試作
 
機械学習と深層学習入門
機械学習と深層学習入門機械学習と深層学習入門
機械学習と深層学習入門
 
Sp design2013 v2
Sp design2013 v2Sp design2013 v2
Sp design2013 v2
 
iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介iPhoneコンシェルジェアプリの紹介
iPhoneコンシェルジェアプリの紹介
 

Mehr von Ryosuke Tanno

【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニックRyosuke Tanno
 
【2016年度】勉強会資料_word2vec
【2016年度】勉強会資料_word2vec【2016年度】勉強会資料_word2vec
【2016年度】勉強会資料_word2vecRyosuke Tanno
 
【2016年度】勉強会資料_Chainer
【2016年度】勉強会資料_Chainer【2016年度】勉強会資料_Chainer
【2016年度】勉強会資料_ChainerRyosuke Tanno
 
ECCV2016, ACMMM2016参加報告
ECCV2016, ACMMM2016参加報告ECCV2016, ACMMM2016参加報告
ECCV2016, ACMMM2016参加報告Ryosuke Tanno
 
敵対的生成ネットワークによる食事画像の変換に関する研究
敵対的生成ネットワークによる食事画像の変換に関する研究敵対的生成ネットワークによる食事画像の変換に関する研究
敵対的生成ネットワークによる食事画像の変換に関する研究Ryosuke Tanno
 
第三回勉強会 Keras担当回
第三回勉強会 Keras担当回第三回勉強会 Keras担当回
第三回勉強会 Keras担当回Ryosuke Tanno
 
Deep Learning on the Mobile Devices
Deep Learning on the Mobile DevicesDeep Learning on the Mobile Devices
Deep Learning on the Mobile DevicesRyosuke Tanno
 
Introduction of Mobile CNN
Introduction of Mobile CNNIntroduction of Mobile CNN
Introduction of Mobile CNNRyosuke Tanno
 
複数スタイルの融合と 部分的適用を可能とする Multi-style Feed-forward Networkの提案
複数スタイルの融合と部分的適用を可能とするMulti-style Feed-forward Networkの提案複数スタイルの融合と部分的適用を可能とするMulti-style Feed-forward Networkの提案
複数スタイルの融合と 部分的適用を可能とする Multi-style Feed-forward Networkの提案Ryosuke Tanno
 
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications Ryosuke Tanno
 
Conditional CycleGANによる食事画像変換
Conditional CycleGANによる食事画像変換Conditional CycleGANによる食事画像変換
Conditional CycleGANによる食事画像変換Ryosuke Tanno
 
AR DeepCalorieCam: AR表示型食事カロリー量推定システム
AR DeepCalorieCam: AR表示型食事カロリー量推定システムAR DeepCalorieCam: AR表示型食事カロリー量推定システム
AR DeepCalorieCam: AR表示型食事カロリー量推定システムRyosuke Tanno
 
CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析Ryosuke Tanno
 
OpenCV DNN module vs. Ours method
OpenCV DNN module vs. Ours method OpenCV DNN module vs. Ours method
OpenCV DNN module vs. Ours method Ryosuke Tanno
 

Mehr von Ryosuke Tanno (16)

【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック
 
【2016年度】勉強会資料_word2vec
【2016年度】勉強会資料_word2vec【2016年度】勉強会資料_word2vec
【2016年度】勉強会資料_word2vec
 
【2016年度】勉強会資料_Chainer
【2016年度】勉強会資料_Chainer【2016年度】勉強会資料_Chainer
【2016年度】勉強会資料_Chainer
 
MMM2017参加報告
MMM2017参加報告MMM2017参加報告
MMM2017参加報告
 
ECCV2016, ACMMM2016参加報告
ECCV2016, ACMMM2016参加報告ECCV2016, ACMMM2016参加報告
ECCV2016, ACMMM2016参加報告
 
敵対的生成ネットワークによる食事画像の変換に関する研究
敵対的生成ネットワークによる食事画像の変換に関する研究敵対的生成ネットワークによる食事画像の変換に関する研究
敵対的生成ネットワークによる食事画像の変換に関する研究
 
研究紹介
研究紹介研究紹介
研究紹介
 
第三回勉強会 Keras担当回
第三回勉強会 Keras担当回第三回勉強会 Keras担当回
第三回勉強会 Keras担当回
 
Deep Learning on the Mobile Devices
Deep Learning on the Mobile DevicesDeep Learning on the Mobile Devices
Deep Learning on the Mobile Devices
 
Introduction of Mobile CNN
Introduction of Mobile CNNIntroduction of Mobile CNN
Introduction of Mobile CNN
 
複数スタイルの融合と 部分的適用を可能とする Multi-style Feed-forward Networkの提案
複数スタイルの融合と部分的適用を可能とするMulti-style Feed-forward Networkの提案複数スタイルの融合と部分的適用を可能とするMulti-style Feed-forward Networkの提案
複数スタイルの融合と 部分的適用を可能とする Multi-style Feed-forward Networkの提案
 
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications
Caffe2C: A Framework for Easy Implementation of CNN-based Mobile Applications
 
Conditional CycleGANによる食事画像変換
Conditional CycleGANによる食事画像変換Conditional CycleGANによる食事画像変換
Conditional CycleGANによる食事画像変換
 
AR DeepCalorieCam: AR表示型食事カロリー量推定システム
AR DeepCalorieCam: AR表示型食事カロリー量推定システムAR DeepCalorieCam: AR表示型食事カロリー量推定システム
AR DeepCalorieCam: AR表示型食事カロリー量推定システム
 
CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析CoreMLによるiOS深層学習アプリの実装と性能分析
CoreMLによるiOS深層学習アプリの実装と性能分析
 
OpenCV DNN module vs. Ours method
OpenCV DNN module vs. Ours method OpenCV DNN module vs. Ours method
OpenCV DNN module vs. Ours method
 

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