Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スマートフォンのモーションセンサを利用した,個人認証アプリケーションの開発に関する研究

 スマートフォンのモーションセンサを利用した,個人認証アプリケーションの開発に関する研究

2017年2月16日(木)の修士論文口頭試問・公聴会にて用いたスライド

Avatar for Kensuke Kosaka

Kensuke Kosaka

February 16, 2017

More Decks by Kensuke Kosaka

Other Decks in Programming

Transcript

  1. طଘೝূͷ໰୊఺ • ύείʔυೝূͷ໰୊఺ • ύείʔυͷܻ਺ʹΑͬͯ͸ɼೝূ࡞ۀ͕൥ࡶ • γϣϧμʔϋοΫͷةݥੑ • ݶΒΕͨจࣈछͷத͔ΒύείʔυΛߏங͢Δ͜ͱ͔Βɼύλʔϯ਺ʹ੍ݶ •

    ࢦ໲ೝূͷ໰୊఺ • ୺຤ʹࢦ໲εΩϟφ͕౥ࡌ͞Ε͍ͯΔඞཁ͕͋Δ • ࢦ໲৘ใ͸มߋͰ͖ͳ͍ͨΊɼࢦ໲৘ใ͕࿙Ӯ͢Δͱࠓޙͦͷࢦ໲Λ༻͍ͯͷ ೝূ͕Ͱ͖ͳ͍ 6
  2. ؔ࿈ݚڀͱͦͷ՝୊఺ • ࡔຊͷݚڀ [1] • Ճ଎౓ηϯαΛ༻͍ɼ͋Β͔͡Ίอଘͨ͠ෳ਺छྨͷδΣενϟύλʔϯͱϢʔβͷೖྗσʔλΛൺ ֱͯ͠ೝࣝ཰Λௐ΂ͨ • ѻ͏δΣενϟʹΑͬͯೝࣝ཰͕ߴ͍΋ͷͱ௿͍΋ͷʹೋ෼Խ͢Δ܏޲ •

    ⅓໺Βͷݚڀ [2] • Ճ଎౓ηϯαʹՃ͑ͯ֯଎౓ηϯαΛ༻͍ͨδΣενϟಈ࡞ʹΑΔೝূख๏ΛఏҊ͠ɼࣗ༝౓޲্ͱ ͳΓ͢·͠ೝূʹର͢Δڧ౓ͷ޲্ΛՄೳʹͨ͠ • ॳճͷೝূͰͷຊਓڋ൱཰͕໿61%ͱൺֱతߴ͍ • ୯७ͳδΣενϟͰ͸ɼͳΓ͢·͠ೝূʹऑ͍ [1] ࡔຊᠳ, “Ϣʔβͷ௚ײతͳೖྗΛͱΒ͑ΔͨΊͷ3࣠Ճ଎౓ηϯαʹΑΔδΣενϟೝࣝͷݚڀ”, 2009೥౓ެཱ͸ͩͯ͜ະདྷେֶଔۀ࿦จ. [2] ⅓໺խ࢙, ৽ҪΠεϚΠϧ, “Ճ଎౓ηϯαɾδϟΠϩ ηϯαΛซ༻ͨ͠εϚʔτϑΥϯͷར༻ೝূख๏ͷఏҊ”, ৘ใॲཧֶձݚڀใࠂ, Vol.2014- MBL-70, No.17, Vol2014-UBI-41, No.17,2014. 8
  3. ຊγεςϜͷྲྀΕɿೝূ 1ճ͚ͩϞʔγϣϯೖྗ ೖྗ͕୹͢ ͗ͳ͍͔֬ೝ σʔλͷՃ޻ CUDAαʔ όʹ઀ଓͰ͖Δ͔ CUDAαʔόʹσʔλ
 ͱύϥϝʔλͷૹ৴ σʔλΛඪ४Խ

    ࣝผثΛߏங σʔλ͔Βࣝผثͷग़ྗΛಘΔ ग़ྗΛAndroid୺຤
 ʹૹ৴ 0.5ະຬͳΒೝূ੒ޭɼҎ্ͳΒࣦഊ 11
  4. Ϟʔγϣϯσʔλͷऔಘ • 3࣠Ճ଎౓ηϯα ʢTYPE_LINEAR_ACCELERATIONʣͱ3࣠֯ ଎౓ηϯαʢTYPE_GYROSCOPEʣΛ࢖༻ • औಘִؒ͸SENSOR_DELAY_FASTESTɼ Nexus5Ͱ5ϛϦඵִؒ • Nexus5Ͱͷ֤ηϯαͷ஋Ҭ

    • Ճ଎౓ɿ-19.613297~19.613297 • ֯଎౓ɿ-34.906586~34.906586 • ΞϓϦ্ʹ༻ҙͨ͠ϘλϯΛԡ͍ͯ͠Δ ؒɼσʔλΛऔಘ͠ଓ͚Δ X Z Y 12
  5. σʔλͷ૿෯ • ηϯα͔ΒಘΒΕͨ΋ͷʹલ ड़ͷՃ޻Λߦͬͨσʔλ͸ɼ ܻ਺͕ඇৗʹখ͘͞ͳΔ • ͜ͷσʔλΛͦͷ··ࣝผث ͷೖྗͱͨ͠৔߹ɼࣝผثͷ ֶश΍ࣝผ্͕ख͍͔͘ͳ͍ ৔߹͕͋ͬͨ

    • શͯͷσʔλΛ1000ഒ͠ɼ σʔλΛ૿෯͢Δ -4x10-6 -2x10-6 0 2x10-6 4x10-6 6x10-6 8x10-6 1x10-5 0 50 100 150 200 250 300 350 Sensor value Data dimension NN input data 18
  6. ࣝผثͷύϥϝʔλௐ੔ • Denoising Autoencoderͷ࣍ݩ࡟ݮ཰ͱࣝผ༻χϡʔϩϯͷֶश࣌ʹ༻͍Δμϛʔσʔλͷμ ϛʔׂ߹ΛܾΊΔͨΊɼ2໊ͷඃݧऀ͔ΒಘͨϞʔγϣϯσʔλͰௐ੔ • Denoising AutoencoderͷDropout཰΍ϊΠζׂ߹͸ɼҰൠతͳਪ঑஋ͱ͞ΕΔ50%ͱ30%ʹઃఆ • ֶशճ਺ͱڐ༰ޡࠩ͸ɼ͜ͷௐ੔࣌ͷֶशͷਐΈ۩߹ͱɼݱ࣮తͳ࣌ؒͰֶश͕ऴΘΔ͜ͱ

    Λߟྀ͠ɼDenoising Autoencoder͸200ճͱ0.1ɼࣝผ༻χϡʔϩϯ͸500ճͱ0.1Λઃఆ • ඃݧऀͷϞʔγϣϯσʔλͱͱ΋ʹɼͳΓ͢·͠ೝূͷϞʔγϣϯσʔλ΋ೖྗ͠ɼඃݧऀ ͷ΋ͷͰ͸ग़ྗ͕௿͘ɼͳΓ͢·͠ೝূͷ΋ͷͰ͸ग़ྗ͕ߴ͘ͳΔΑ͏ʹௐ੔ • ඃݧऀͷ΋ͷʹΑΔग़ྗ͕0.5ҎԼͰͳΓ͢·͠ೝূͷ΋ͷʹΑΔग़ྗ͕0.5Ҏ্ɼ͔ͭ࣍ ݩ࡟ݮ཰͕50%લޙͱ͍͏৚݅Ͱ߹கͨ͠ɼ࣍ݩ࡟ݮ཰50%Ͱμϛʔׂ߹͕30%ͷ૊Έ߹ ΘͤΛ࠾༻ 27
  7. ࣝผਫ਼౓ͷධՁ࣮ݧ݁Ռ ඃݧऀ ͳΓ͢·͠ A 0.313607 0.999820 B 0.472281 0.787281 C

    0.374718 0.539652 D 0.453637 0.557697 E 0.795578 0.642317 F 0.458756 0.466918 29
  8. ࣝผਫ਼౓ͷධՁ࣮ݧ݁Ռ • ඃݧऀEͱFΛআ͍ͯࣝผͰ͖͍ͯΔ • ඃݧऀEͱF͸ɼऴ࢝σʔλͷมಈ͕ܹ͠ ͘ɼೖྗճຖʹҰக͍ͯ͠Δ෦෼͕গͳ͍ • ࣝผثͷֶश͕ਐ·ͳ͔ͬͨՄೳੑ • ୺຤ॴ༗ऀͷϞʔγϣϯσʔλ͕0ʹ͍ۙ

    ஋Λଟؚ͘Ή৔߹ɼ0Ͱ্ॻ͖ͯ͠΋ҧ͍ ͕ग़ʹࣝ͘͘ผثͷग़ྗ͕ߴΊʹ • ୺຤ॴ༗ऀͷϞʔγϣϯσʔλͷ஋Ҭ͕޿ ͘มಈ͕ܹ͍͠৔߹ɼ0Ͱ্ॻ͖͢Δ͜ͱ Ͱҧ͍͕ग़ա͗ͯ͠·͍ࣝผثͷग़ྗ͕௿ Ίʹ -2x10-5 -1.5x10-5 -1x10-5 -5x10-6 0 5x10-6 1x10-5 1.5x10-5 2x10-5 2.5x10-5 0 20 40 60 80 100 120 140 160 180 Sensor value Data dimension E0 E1 E2 E3 -1.5x10-5 -1x10-5 -5x10-6 0 5x10-6 1x10-5 1.5x10-5 2x10-5 2.5x10-5 0 50 100 150 200 250 300 Sensor value Data dimension F0 F1 F2 F3 30
  9. ొ࿥ٴͼೝূͷॲཧ࣌ؒܭଌ • Androidͷϩάग़ྗ༻APIͰ͋ΔLogΫϥεΛ༻͍ͯॲཧ࣌ؒΛܭଌ • ొ࿥ॲཧ͸Ϟʔγϣϯೖྗޙ͔Βɼࣝผثͷֶश͕ऴΘΓύϥϝʔλΛड৴͢Δ·Ͱ • ೝূॲཧ͸Ϟʔγϣϯೖྗޙ͔Βɼࣝผثͷग़ྗΛड͚औͬͯೝূ݁ՌΛදࣔ͢Δ·Ͱ • NVIDIAࣾͷGeForce GTX1080Λ౥ࡌͨ͠CUDAαʔόͰͷొ࿥ॲཧ͸͓Αͦ38ඵɼೝূॲཧ͸2ඵ

    • ୺຤಺Ͱͷೝূॲཧ͸͓Αͦ2.2ඵ • Ϟʔγϣϯσʔλͷ࣍ݩ਺͕ଟ͍৔߹΍ɼαʔόΛଟ਺ͷϢʔβͰར༻͢Δ৔߹͸ΑΓ௕͍ॲཧ ࣌ؒΛཁ͢Δ • SIMDΛҙࣝ͠ɼGPGPUʹΑΔԋࢉॲཧʹ࠷దԽͨ͠ϓϩάϥϜʹվྑ͢Δ • NVIDIA SLIΛར༻͠ɼॲཧೳྗͷߴ͍GPUΛ2ຕར༻ͯ͠ߴ଎Խ͢Δ 31
  10. ՝୊ • ࣝผਫ਼౓ͷධՁ࣮ݧ͔ΒɼҰ෦ͷඃݧऀʹ্͍ͭͯखࣝ͘ผ͕ߦ͍͑ͯͳ͍ • ୺຤ॴ༗ऀ͕ೖྗͨ͠Ϟʔγϣϯσʔλʹ0ʹ͍ۙ஋͕ଟؚ͘·ΕΔ৔߹͸μϛʔσʔλͱ ͷ͕ࠩग़ͳ͍͜ͱ͕ɼ஋Ҭ͕޿͘มಈ͕ܹ͍͠৔߹͸μϛʔσʔλͱͷ͕ࠩग़ա͗Δ͜ͱ ͕͋Γɼࣝผ্͕ख͍͔͘ͳ͍Մೳੑ͕͋Δ • σʔλͷมಈ͕ܹ͘͠ɼϞʔγϣϯσʔλຖʹҰக͍ͯ͠Δ෦෼͕ݟΒΕͳ͍৔߹ʹࣝผ ثͷֶश͕͋·Γਐ·ͣࣝผ্͕ख͍͔͘ͳ͍Մೳੑ͕͋Δ

    • ࣝผثͷਫ਼౓޲্ͷͨΊʹڐ༰ޡࠩΛݫ͘͠͠ɼֶशճ਺Λ૿΍͢ͱɼֶशʹ͞ΒͳΔ࣌ؒΛ ཁͯ͠͠·͏ • ৞ΈࠐΈχϡʔϥϧωοτϫʔΫͳͲͷΑΓߴ౓ͳਓ޻χϡʔϥϧωοτϫʔΫΛ༻͍ɼ୺຤ ॴ༗ऀͷϞʔγϣϯͷಛ௃ΛΑΓଟࣝ͘ผثʹֶशͤ͞Δ͜ͱͰɼࣝผਫ਼౓Λ޲্Ͱ͖ΔՄೳ ੑ͕͋Δ 32
  11. ·ͱΊ • εϚʔτϑΥϯͷՃ଎౓ٴͼ֯଎౓ηϯαΛ༻͍ɼಈ࡞ͰݸਓΛೝূ͢ΔγεςϜΛ։ൃ • ೖྗσʔλ͕୺຤ॴ༗ऀʹΑΔ΋ͷ͔ɼͳΓ͢·͠ೝূʹΑΔ΋ͷ͔Λࣝผ͢ΔͨΊʹਓ ޻χϡʔϥϧωοτϫʔΫʹΑΔࣝผثΛ༻͍ͨ • ࣝผثͷֶशʹ͸ɼ୺຤ॴ༗ऀʹΑΔσʔλͷଞʹɼσʔλͷ30%Λ0Ͱ্ॻ͖ͨ͠μϛʔ σʔλΛ༻͍ͨ •

    ೔ৗతͳೖྗ͕Մೳͳಈ͖Ͱͷೝূ͕Մೳͳ͜ͱΛ֬ೝͨ͠΋ͷͷɼҰ෦ͷඃݧऀʹ͍ͭ ͯ͸ࣝผ্͕ख͘Ͱ͖ͳ͔ͬͨ • ৞ΈࠐΈχϡʔϥϧωοτϫʔΫͳͲͷΑΓߴ౓ͳਓ޻χϡʔϥϧωοτϫʔΫΛ༻͍ͯɼ ୺຤ॴ༗ऀͷϞʔγϣϯͷಛ௃ΛΑΓଟࣝ͘ผثʹֶशͤ͞Δ͜ͱͰࣝผਫ਼౓Λ޲্Ͱ͖ ΔՄೳੑ͕͋Δ΋ͷͷɼֶशʹ͔͔Δ࣌ؒͱͷτϨʔυΦϑͱͳΔ͜ͱ͕༧૝͞ΕΔ 33