SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
iPhoneでモーション認識
UIHadoukenGestureRecoginzer (あらびき)
@ginrou799
iPhoneでモーション認識
• iPhone片手にもって、何かジェスチャーしたら認識

するっていうの、あまり実は見かけないかも?
!
• ちょっとやってみたくなったので、やってみました。
UIHadoukenGestureRecgnizer
• iPhoneを持って、波動拳のジェスチャーをしたら

「波動拳!!」っていう音声が流れるオモチャ作った
ジェスチャ認識のフロー
サポート
ベクター
マシン
波動拳を認識
波動拳の

モーション
加速度センサの

値を取得
libsvmを利用
サポートベクターマシン(SVM)の学習
• iPhoneの3軸加速度センサの値をテキストに出力
• センサの出力から「波動拳をしている領域」と「してい
ない領域」に分ける
• SVMに学習させて分類器を作る
サポートベクターマシン(SVM)の学習
• iPhoneの3軸加速度センサの値をテキストに出力
• センサの出力から「波動拳をしている領域」と「してい
ない領域」に分ける
• SVMに学習させて分類器を作る
加速度センサの値をテキストに出力
1/30[秒]ごとのCMMotionManagerの出力
適当なtxtファイルとしてiPhone内に保存
テキストファイルをPCに持ってくる
加速度センサの値をテキストに出力
ファイルの取り出しは

Organizer経由で
サポートベクターマシン(SVM)の学習
• iPhoneの3軸加速度センサの値をテキストに出力
• センサの出力から「波動拳をしている領域」と「してい
ない領域」に分ける
• SVMに学習させて分類器を作る
センサ出力のクラスタリング
○ x軸
○ y軸
○ z軸
波動拳領域 非波動拳領域
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
非波動拳領域 1:-0.867035 2:-0.063141 3:-0.871124…
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
非波動拳領域 1:-0.867035 2:-0.063141 3:-0.871124…
非波動拳領域 1:-0.772018 2:0.077805 3:-1.037018 …
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
非波動拳領域 1:-0.867035 2:-0.063141 3:-0.871124…
非波動拳領域 1:-0.772018 2:0.077805 3:-1.037018 …
 波動拳領域 1:0.6259   2:-0.380203 3:0.346146 …
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
非波動拳領域 1:-0.867035 2:-0.063141 3:-0.871124…
非波動拳領域 1:-0.772018 2:0.077805 3:-1.037018 …
 波動拳領域 1:0.6259   2:-0.380203 3:0.346146 …
非波動拳領域 1:0.914429 2:-0.373398 3:0.204132 …
センサ出力のクラスタリング
ラベル ベクトル
非波動拳領域 1:-0.606384 2:0.008987 3:-0.586578 …
非波動拳領域 1:-0.867035 2:-0.063141 3:-0.871124…
非波動拳領域 1:-0.772018 2:0.077805 3:-1.037018 …
 波動拳領域 1:0.6259   2:-0.380203 3:0.346146 …
非波動拳領域 1:0.914429 2:-0.373398 3:0.204132 …
全部で95サンプルを抽出
して訓練用データを得る
…
サポートベクターマシン(SVM)の学習
• iPhoneの3軸加速度センサの値をテキストに出力
• センサの出力から「波動拳をしている領域」と「してい
ない領域」に分ける
• SVMに学習させて分類器を作る
学習
• 学習用データセットの準備ができたらlibsvmに学習

させます
#!/usr/bin/env python
#coding:utf-8
!
from svm import *
from svmutil import *
!
y, x = svm_read_problem( “train_data.txt” )
model = svm_train(y,x)
svm_save_model( “hadouken_svm_model.txt”, model )
iPhoneにlibsvmを組み込む
• libsvmをDLする
• http://www.csie.ntu.edu.tw/~cjlin/libsvm/
• https://github.com/cjlin1/libsvm
• libxxx ですが、ソースコードも実に少なく、メインの
コードはC/C++なので直接Xcodeのプロジェクトに突っ
込んでやるだけで動きます
iPhoneにlibsvmを組み込む
この2つをXcode
のプロジェクトに
入れるだけ!
iPhoneからlibsvmを使う
- (BOOL)isHadouken:(NSArray *)vector {
!
int size = (int)vector.count;
struct svm_node *node = malloc(sizeof(struct svm_node) * (size+1));
for (int i = 0 ; i < size; ++i) {
NSNumber *num = vector[i];
node[i].value = [num doubleValue];
node[i].index = i+1;
}
!
node[size].index = -1;
!
double v = svm_predict(_model, node);
!
free(node);
!
return v > 0;
}
• svm_node型の配列が識別で用いるベクトルとなる
ジェスチャ認識のフロー
サポート
ベクター
マシン
波動拳を認識
波動拳の

モーション
加速度センサの

値を取得
実演
• 実機で実演します
まとめ
• iPhoneでモーション認識やってみたよ
• 3D加速度センサのシーケンスをSVMで分類
• libsvm使った
• 意外に動いたのでびっくりしています。
• もっとクールな認識方法とかあると思うので、

アドバイスなどを頂けたら幸いです
• 近いうちに cocoapods にあげます。

Más contenido relacionado

Destacado

Power efficient design imec
Power efficient design imecPower efficient design imec
Power efficient design imecPhillip Christie
 
Smyth+v.+pillsbury
Smyth+v.+pillsburySmyth+v.+pillsbury
Smyth+v.+pillsburyHenry Jin
 
Superhero connectives
Superhero connectivesSuperhero connectives
Superhero connectivesangmediasdc
 
Write your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieWrite your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieAnn Halloran
 
County comparison
County comparisonCounty comparison
County comparisonlekhub
 
Casting 2014 inscripcion previa
Casting 2014 inscripcion previaCasting 2014 inscripcion previa
Casting 2014 inscripcion previaAndrés Canclini
 
Itsak cursos de seguridad vial y laboral
Itsak cursos de seguridad vial y laboralItsak cursos de seguridad vial y laboral
Itsak cursos de seguridad vial y laboralTxema Soto Amenabar
 
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsDaniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsRakuten Brasil
 
Owain Glyndwr Ysgol Evan James
Owain  Glyndwr  Ysgol  Evan  JamesOwain  Glyndwr  Ysgol  Evan  James
Owain Glyndwr Ysgol Evan JamesLearn Politics
 
สรุปผลสัมฤทธิ์รายวิชาปี54 คอม
สรุปผลสัมฤทธิ์รายวิชาปี54 คอมสรุปผลสัมฤทธิ์รายวิชาปี54 คอม
สรุปผลสัมฤทธิ์รายวิชาปี54 คอมตุ๊ก ครู
 
Obszar nr 8 aktywność w gronie rodziny
Obszar nr 8 aktywność w gronie rodzinyObszar nr 8 aktywność w gronie rodziny
Obszar nr 8 aktywność w gronie rodzinysp11bialystok
 
Event Management 111117ieu
Event Management 111117ieuEvent Management 111117ieu
Event Management 111117ieuHakan Turkkusu
 

Destacado (17)

Power efficient design imec
Power efficient design imecPower efficient design imec
Power efficient design imec
 
Smyth+v.+pillsbury
Smyth+v.+pillsburySmyth+v.+pillsbury
Smyth+v.+pillsbury
 
Bringing Energy Efficiency to the Developing World
Bringing Energy Efficiency to the Developing WorldBringing Energy Efficiency to the Developing World
Bringing Energy Efficiency to the Developing World
 
Superhero connectives
Superhero connectivesSuperhero connectives
Superhero connectives
 
Photoshop skills
Photoshop skillsPhotoshop skills
Photoshop skills
 
prova competenze
prova competenzeprova competenze
prova competenze
 
UCAMI 2013
UCAMI 2013UCAMI 2013
UCAMI 2013
 
Write your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie BarrieWrite your own web copy with professional copywriter, Jackie Barrie
Write your own web copy with professional copywriter, Jackie Barrie
 
County comparison
County comparisonCounty comparison
County comparison
 
Casting 2014 inscripcion previa
Casting 2014 inscripcion previaCasting 2014 inscripcion previa
Casting 2014 inscripcion previa
 
Gincama sostenible
Gincama sostenibleGincama sostenible
Gincama sostenible
 
Itsak cursos de seguridad vial y laboral
Itsak cursos de seguridad vial y laboralItsak cursos de seguridad vial y laboral
Itsak cursos de seguridad vial y laboral
 
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviewsDaniel Arévalo: Como incrementar a taxa de conversão através de reviews
Daniel Arévalo: Como incrementar a taxa de conversão através de reviews
 
Owain Glyndwr Ysgol Evan James
Owain  Glyndwr  Ysgol  Evan  JamesOwain  Glyndwr  Ysgol  Evan  James
Owain Glyndwr Ysgol Evan James
 
สรุปผลสัมฤทธิ์รายวิชาปี54 คอม
สรุปผลสัมฤทธิ์รายวิชาปี54 คอมสรุปผลสัมฤทธิ์รายวิชาปี54 คอม
สรุปผลสัมฤทธิ์รายวิชาปี54 คอม
 
Obszar nr 8 aktywność w gronie rodziny
Obszar nr 8 aktywność w gronie rodzinyObszar nr 8 aktywność w gronie rodziny
Obszar nr 8 aktywność w gronie rodziny
 
Event Management 111117ieu
Event Management 111117ieuEvent Management 111117ieu
Event Management 111117ieu
 

Último

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

App dojo-2014-03-27