Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
スマートフォンのモーションセンサを利用した個人認証アプリケーションの開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kensuke Kosaka
September 09, 2016
Technology
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スマートフォンのモーションセンサを利用した個人認証アプリケーションの開発
FIT2016 第15回情報科学技術フォーラム(会場:富山大学)での発表時に用いたスライド.
Kensuke Kosaka
September 09, 2016
More Decks by Kensuke Kosaka
See All by Kensuke Kosaka
How to make your first mechanical keyboard
arkenous
0
75
スマートフォンのモーションセンサを利用した,個人認証アプリケーションの開発に関する研究
arkenous
0
79
スマートフォンのモーションセンサを利用した個人認証アプリケーションの開発に関する研究
arkenous
0
89
Random number, PRNG
arkenous
0
180
Another Digital Signature, How to attack digital signature
arkenous
0
59
SHA3, Cryptographic hash function
arkenous
0
140
Coin Locker - Time Operation
arkenous
0
54
CMC SemiFinal Introduce
arkenous
0
72
CMC Introduce
arkenous
0
81
Other Decks in Technology
See All in Technology
Kiro Crewをはじめよう
kizawa2020
1
160
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
go-sqletch
moznion
0
140
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
110
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
200
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
BBQ
matthewcrist
90
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Invisible Side of Design
smashingmag
301
52k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Agile that works and the tools we love
rasmusluckow
331
22k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Transcript
εϚʔτϑΥϯͷϞʔγϣϯηϯαΛར༻ͨ͠ ݸਓೝূΞϓϦέʔγϣϯͷ։ൃ ؔେֶେֶӃ ૯߹ใֶݚڀՊ ࣝใֶઐ߈ ∁ࡔ ݡ༎ ฏদ ߞี খྛ
࢙ 1
ൃදͷྲྀΕ • εϚʔτϑΥϯʹ͓͚Δطଘͷݸਓೝূํࣜͷ • ؔ࿈ݚڀͷհ • ຊݚڀͷհ • ධՁ࣮ݧɼ݁Ռͱͦͷߟ •
ݱࡏͷ՝ • ࠓޙͷలʹ͍ͭͯ 2
͡Ίʹ • εϚʔτϑΥϯ͕ঃʑʹීٴ • ଟ͘ͷݸਓใΛแ • ݸਓͷೝূํࣜ • ύείʔυೝূɼࢦೝূ… 3
ύείʔυೝূ • ͋Β͔͡Ίɼύείʔυ Λొ • ղআ࣌ʹೖྗ͞Εͨίʔ υͱൺֱ͠ɼೝূ 4
ύείʔυೝূͷ • දࣔ͞ΕͨΩʔϘʔυը໘͔Βඞཁͳܻ͚ͩೖྗ͢Δ • ܻʹΑͬͯɼೝূ࡞ۀ͕ࡶʹ • γϣϧμʔϋοΫͷةݥੑ • ݶΒΕͨจࣈछͷத͔ΒύείʔυΛߏங •
ύλʔϯࣗ༝ʹ੍ݶ 5
ࢦೝূ • ͋Β͔͡ΊࢦεΩϟφΛ௨ͯ͡ࢦΛొ • ղআ࣌ʹࢦεΩϟφʹࢦΛ͋ͯͯೝূ 6
ࢦೝূͷ • ࢦύείʔυͳͲͱҧ͍มߋͰ͖ͳ͍ • ࢦใ͕࿙Ӯͯ͠͠·͏ͱɼͦͷࢦΛ༻ ͍ͯೝূͰ͖ͳ͘ͳΔՄೳੑ • ࣸਅϏσΦͳͲͰࢦ͕өͬͯ͠·͏ͱɼ ࢦΛ࠶ݱ͞ΕΔՄೳੑ 7
ݚڀ֓ཁ • ݸਓೝূͷࡶ͞Λܰݮ • 伴ใ͕࿙Ӯͯ͠มߋ͕Մೳ • ࣗ༝͕ߴ͘ɼײతͳݸਓೝূ • εϚʔτϑΥϯʹࡌ͞Ε͍ͯΔՃɾ֯ ηϯαΛ༻͍ͨɼಈ࡞ʹΑΔೝূΛ࣮ݱ
8
ؔ࿈ݚڀͱͦͷ՝ • ࡔຊͷݚڀ [1] • ՃηϯαΛ༻͍ɼ͋Β͔͡Ίอଘͨ͠ෳछྨͷδΣενϟύλʔϯͱϢʔβͷೖྗ σʔλΛൺֱͯ͠ೝࣝΛௐͨ • ѻ͏δΣενϟʹΑͬͯೝ͕ࣝߴ͍ͷͱ͍ͷʹೋԽ͢Δ •
⅓Βͷݚڀ [2] • ՃηϯαʹՃ͑ͯ֯ηϯαΛ༻͍ͨδΣενϟಈ࡞ʹΑΔೝূख๏ΛఏҊ͠ɼࣗ ༝্ͱͳΓ͢·͠ೝূʹର͢Δڧͷ্ΛՄೳʹͨ͠ • ॳճͷೝূͰͷຊਓڋ൱͕61%ͱൺֱతߴ͍ 9 [1] ࡔຊᠳ, “ϢʔβͷײతͳೖྗΛͱΒ͑ΔͨΊͷ3࣠ՃηϯαʹΑΔδΣενϟೝࣝͷݚڀ”, 2009ެཱͩͯ͜ະདྷେֶଔۀจ. [2] ⅓խ࢙, ৽ҪΠεϚΠϧ, “ՃηϯαɾδϟΠϩ ηϯαΛซ༻ͨ͠εϚʔτϑΥϯͷར༻ೝূख๏ͷఏҊ”, ใॲཧֶձݚڀใࠂ, Vol.2014- MBL-70, No.17, Vol2014-UBI-41, No.17,2014.
ຊݚڀͷඪ • ⅓ΒͷݚڀͰڍ͛ΒΕ͍ͯͨຊਓڋ൱ͷ վળΛඪͱ͢Δ • Λ্ԼʹৼΔͳͲΑΓ୯७Ͱৗతͳ ೖྗ͕Մೳͳಈ࡞Ͱͷར༻͕ՄೳͳγεςϜ 10
ຊݚڀͷγεςϜʹ͍ͭͯ • AndroidσόΠε্Ͱಈ࡞ ͢ΔΞϓϦέʔγϣϯͱ ࣮ͯ͠ • 3࣠Ճηϯα ʢTYPE_LINEAR_ACCELER ATIONʣͱ3࣠֯ηϯ αʢTYPE_GYROSCOPEʣ
Λ༻ X Z Y 11
γεςϜͷಈ࡞Ϟʔυ • ొϞʔυ • ಉҰϞʔγϣϯΛ3ճೖྗ͠ɼ͜ͷฏۉσʔλΛೝূʹར༻͢Δ伴 Ϟʔγϣϯͱͯ͠ొ • ೝূϞʔυ • ϞʔγϣϯΛ1ճೖྗ͠ɼ伴Ϟʔγϣϯͱൺֱͯ͠ೝূ
• σʔλӾཡϞʔυ • ొ͞ΕͨϢʔβ໊ͱɼϢʔβຖͷ伴ϞʔγϣϯͷσʔλΛදࣔ 12
σʔλͷऔಘ • ΞϓϦ্ʹஔ͞ΕͨσʔλऔಘϘλϯΛ ԡ͍ͯ͠ΔؒɼσʔλΛऔಘ • αϯϓϦϯάִؒSENSOR_DELAY_GAME • ࣮ݧʹ༻͍ͨ࢜௨ T-02DͰɼ6ϛϦඵ 13
σʔλͷൺֱํ๏ • ίαΠϯྨࣅΛ༻ • ϕΫτϧAͱϕΫτϧBͷίαΠϯྨࣅɼ • ྨࣅ͕0.5ΑΓߴ͚ΕಉҰϞʔγϣϯͱΈͳ͢ public double cosSimilarity(double[][]
A, double[][] B) { log(INFO); double similarity = 0.0; for (int item = 0; item < A[0].length; item++) { double AB = A[0][item] * B[0][item] + A[1][item] * B[1][item] + A[2][item] * B[2][item]; double sizeA = Math.sqrt(Math.pow(A[0][item], 2) + Math.pow(A[1][item], 2) + Math.pow(A[2][item], 2)); double sizeB = Math.sqrt(Math.pow(B[0][item], 2) + Math.pow(B[1][item], 2) + Math.pow(B[2][item], 2)); similarity += AB / (sizeA * sizeB); } similarity /= A[0].length; return similarity; } 14 cos( ⃗ A, ⃗ B) = ⃗ A · ⃗ B | ⃗ A|| ⃗ B|
σʔλͷՃ • ηϯα͔Βಘͨσʔλɼͦͷ··Ͱѻ͍ʹ ͍͘ • ίαΠϯྨࣅ͕ఆ͍ͯ͠ΔҎ্ʹ͘ग़Δ • σʔλͷৼΕ෯૿෯ϩʔύεϑΟϧλͳͲ ͷՃΛࢪ͢ 15
σʔλΛἧ͑Δ • Ϟʔγϣϯͷೖྗҙͷ࣌ؒͰߦ͑Δ • ొϞʔυͰ3ճͷೖྗຖʹɼೝূϞʔυ Ͱ伴Ϟʔγϣϯͱͷؒʹσʔλͷࠩҟ 16
σʔλΛἧ͑Δ • ొϞʔυͰ࠷ೖྗ࣌ؒͷ͍σʔλ Λج४ʹɼଞͷσʔλͷඌʹθϩΛิర • ೝূϞʔυͰ伴ϞʔγϣϯΛج४ʹɼ ͚ΕθϩΛิరɼ͚ΕඌΛΔ 17
σʔλͷৼΕ෯૿෯ • Ϟʔγϣϯͷಈ͖͕খ͞ ͘σʔλͷมԽ͕খ͍͞ ߹ • ͋Β͔͡Ίઃఆͨ͠Λ ֻ͚ͯৼΕ෯Λ૿෯ -4 -3
-2 -1 0 1 2 0.5 1 Time (s) before after 18
ϩʔύεϑΟϧλ • Ϟʔγϣϯೖྗ࣌ͷखͷ ͑ʹΑΔϊΠζͷӨڹ ΛऔΓআ͘ • ϑʔϦΤมʹΑΔϩʔ ύεϑΟϧλॲཧΛߦ͏ -4 -3
-2 -1 0 1 2 0.5 1 Time (s) before after 19
σʔλͷζϨमਖ਼ • ొϞʔυͰͷೖྗλΠ ϛϯάͷζϨʹΑΔӨڹ Λ࠷খԽ͢Δ • σʔλͷ࠷େɾ࠷খɾ தԝͦΕͧΕʹج४Λ ஔ͍ͯमਖ਼ΛࢼΈΔ -0.002
-0.0015 -0.001 -0.0005 0 0.0005 0.001 0.5 1 Time (s) before-1 before-2 before-3 -0.002 -0.0015 -0.001 -0.0005 0 0.0005 0.001 0.5 1 Time (s) after-1 after-2 after-3 20
ධՁ࣮ݧ • ొٴͼೝূͷޭௐࠪ • ͳΓ͢·͠ೝূͷݕূ • ରϞʔγϣϯɿ ɹԁɼࡾ֯ɼ৸͔ͤͯى͜͢ɼ ɹإʹ͚ۙͮΔɼ্ԼʹৼΔ 21
ొٴͼೝূͷޭௐࠪ • ֤Ϟʔυͱɼࢼߦճ3ճ·Ͱ • ճͰొೝূ͕Ͱ͖ͨ߹ʹޭ • ొʹޭͨ͠߹ͷΈɼೝূʹҠΔ 22
Ϟʔγϣϯຖͷޭʢ%ʣ ԁ ࡾ֯ ৸͔ͤͯ ى͜͢ إʹ ͚ۙͮΔ ্Լʹ ৼΔ ొ
92 92 53 53 76 ೝূ 91 75 100 100 90 23
ඃݧऀຖͷޭʢ%ʣ A B C D E F G H I
J K L M FRR ొ 80 80 100 60 60 100 40 100 60 40 60 100 80 26.1 ೝ ূ 100 75 100 66 100 80 100 80 66 100 100 100 100 10.2 24
ͳΓ͢·͠ೝূͷݕূ • ొٴͼೝূͷޭௐࠪͷࡍʹɼඃݧऀ͕Ϟʔ γϣϯೖྗ͢Δ༷ࢠΛݞӽ͠ʹࡱӨ • શͯͷϞʔγϣϯͰొٴͼೝূʹޭͨ͠2໊ ͷඃݧऀΛରʹɼࡱӨσʔλΛ༻͍ͯͳΓ͢· ͠ೝূ͕Մೳ͔ݕূ • ࢼߦճ3ճ·Ͱ
25
ͳΓ͢·͠ೝূͷݕূ ԁ ࡾ֯ ৸͔ͤͯ ى͜͢ إʹ ͚ۙͮΔ ্Լʹ ৼΔ C
มҐ 0.21 0.11 -0.06 0.34 0.28 ֯ 0.04 -0.19 -0.27 0.50 0.09 L มҐ 0.08 -0.12 -0.16 0.45 0.03 ֯ -0.24 -0.13 0.02 0.55 0.20 26
ݱࡏͷ՝ • ిंࣗಈंͳͲͷҠಈ͍ͯ͠ΔंͰೝূ͕ Մೳ͔ͷݕূ • ొೝূͷఆʹ༻͍ΔίαΠϯྨࣅͷᮢ ʹ͍ͭͯɼଥͳͷݕ౼ • ొ͔ΒظؒΛஔ͍ͯೝূͨ͠ࡍͷޭͷௐ ࠪ
27
ࠓޙͷల • ৗతͳ༻Λߟྀ͠ɼΛৼΔ͚ͩͰ ݸਓࣝผΛߦ͑ΔΑ͏ʹ • ొɼೝূͷՄ൱ఆʹػցֶशΛಋೖͰ ͖ͳ͍͔ݕ౼ 28
·ͱΊ • εϚʔτϑΥϯͷՃٴͼ֯ηϯαΛ༻͍ɼಈ࡞ͰݸਓΛೝূ • σʔλͷൺֱʹίαΠϯྨࣅΛ༻͠ɼσʔλͷৼΕ෯૿෯ζϨमਖ਼ͳͲ ͷσʔλՃػೳΛ࣮ • ݸਓೝূͷޭΛ্ͤ͞ɼৗతͳೖྗ͕Մೳͳ୯७ͳϞʔγϣϯͰͷར ༻Մೳʹɽ·ͨͳΓ͢·͠ೝূͷޭ͍͜ͱΛ֬ೝ •
ొೝূͷఆج४ͱͳΔίαΠϯྨࣅͷᮢʹ͓͚Δଥͳͷݕ౼ɼ Ҡಈ͍ͯ͠ΔंͰͷಈ࡞ݕূɼظؒΛஔ͍ͯͷೝূՄ൱ͷݕূ • ৗతͳ༻Λߟྀ͠ɼΛৼΔ͚ͩͰߴ͍ݸਓࣝผ͕࣮ݱͰ͖ΔΑ͏վྑ ΛॏͶΔ 29