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

IkaLog_v2.1

 IkaLog_v2.1

IkaLog tech deck v2.1

Takeshi HASEGAWA

June 22, 2016
Tweet

More Decks by Takeshi HASEGAWA

Other Decks in Technology

Transcript

  1. !IBTFHBXʹ͍ͭͯ  ௕୩઒ɹ໠ )"4&("8"5BLFTIJ  UXJUUFS!IBTFHBX 2004   |  

    2011 2011   |   2014 2014   |   SEサービス プリセールス   @  So+ware  Research  Associates,  Inc.   システム構築、客先のシステム運用、提案でキャリアをスタート →  プリセールス〜PMを担当するインフラエンジニア システムアーキテクト   @  Trigence  Semiconductor,  Inc.   エンベデッド開発支援からITシステム管理まで多岐に対応   セールスエンジニア   @  Fusion-­‐io,  Inc.   高速半導体ストレージ ioDrive  /  ioMemory  シリーズの  SE  として活動
  2. هࣄ঺հʢʁʣ  Լه̎ຊͷهࣄ ϖʔδڧ ͕ ·ͱΊͯऩ࿥͞Ε·ͨ͠ɻ  *4#/ Ձ֨ ԁ

      •  4PGUXBSF%FTJHO ୈೋಛू αʔόͷ໨ར͖ʹͳΔํ๏લฤ  •  4PGUXBSF%FTJHO ୈೋಛू αʔόͷ໨ར͖ʹͳΔํ๏ޙฤ 
  3. ϓϨθϯςʔγϣϯʗϒʔεग़లঢ়گ ٕज़ղઆϓϨθϯςʔγϣϯ –  ͞͞Έͷձ –  RQTUVEZ –  αΠϘ΢ζʢגʣΤϯδχΞ༷޲͚ϓϥΠϕʔτηογϣϯ –  ژ౎࢈ۀେֶίϯϐϡʔλཧ޻ֶ෦ɹϥϯνηογϣϯ

    –  CQTUVEZ  ϓϩδΣΫτͷ঺հϒʔεग़లʗඇΤϯδχΞ޲͚ϓϨθϯςʔγϣϯ –  ؔ੢ΦʔϓϯϑΥʔϥϜεςʔδاը –  04$౦ژ ౙ य़ ϒʔεग़ల –  04$໊ݹ԰  ϒʔεग़ల 
  4. *LB-PHͷ͘͠Έ •  )%.*ΩϟϓνϟσόΠεΛར༻ͯ͠ ήʔϜը૾ΛऔΓࠐΈɺը૾ೝࣝ •  ਺஋ʗจࣈྻσʔλͱͯ͠ೝࣝ •  ͓޷Έͷํ๏Ͱ஝ੵɺग़ྗ  Nintendo

     WiiU   & スプラトゥーン {  “kills”:  5,  “deaths”:  1  }   IkaLog 映像 解析結果 ログファイル出力 外部ツール連携 外部Webサイト連携 蓄積/出力先
  5. *LB-PHͷΞʔΩςΫνϟ  ikalog.Engine GameStart GameKill GameDead Result  Judge ResultDetail CVCapture

      CVFile   DirectShow   AVFoundaYon   Screen   Screenshot   StatInk   TwiZer   ikalog.scenes   画像認識およびイベント発行 ikalog.inputs   ビデオ入力 ソース   ikalog.outputs   アクション   InklingsTracker OpenCV,    ビデオ入力   フレームワーク   ログファイル、   サイト連携、   アプリ連携など   OpenCV,もしくは   独自のラッパ
  6. &NCFEFE*LB-PHʢϥΠϒϥϦϞʔυʣ •  *LB-PHࣗମ͕1ZUIPOϞδϡʔϧͱ࣮ͯ͠૷͞Ε͍ͯΔ •  1ZUIPOίʔυ͔Β*LB-PHΛ࣮ߦͯ͠ɺ৘ใΛड͚औΕΔ •  ࡞ͬͯΈͨΞϓϦέʔγϣϯͷྫ  ΞϓϦέʔγϣϯ આ໌

    *LB3FOBNFQZ εϓϥτΡʔϯͷϏσΦΛ෼ੳ εςʔδʗϧʔϧʗউഊͷ͍ͭͨ ϑΝΠϧ໊ʹϦωʔϜ͢Δ *LB$MJQTQZ εϓϥτΡʔϯͷϏσΦΛ෼ੳ ఢΛ౗ͨ͠ʗ౗͞Εͨγʔϯ͚ͩΫϦοϓ͠ɺ l๩͍͠ਓz޲͚ͷαϚϦϜʔϏʔΛੜ੒
  7. *LB-PH͕ग़ྗ͢ΔσʔλͷෳࡶԽ  IkaLogの当初のスコープ   ・ステージ/ルール検出、勝敗(2択)   ・スクリーンショット保存 追加された検出内容   ・目標(ガチホコ/ガチヤグラ)の位置検出

      ・プレイヤーの死因(凶器)検出   ・時系列のスコア検出   ・プレイヤーのランク、所持金などの数値検出   ・全プレイヤーの生死ステータスのモニタリング   ・ロビー(パブリック/プライベートタッグ)検出   ・スペシャル蓄積・利用検出   ・目標に対するチームのイベント   ・装着ギアの検出     今後追加する(かもしれない)検出   ・コミュニケーション検出(ナイス/カモン)  
  8. 21

  9. *LB-PHͷΤίγεςϜ  ユーザー 開発者 hasegaw/ikaLog stat.ink ダウンロード 記録   送信

    hasegaw 一部データ   (QA用)    開発、    stat.inkデータに     よる機械学習 Windows版   実行ファイル生成 (本スライド中の画像の一部はイメージであり実際のものとは異なります。) PR モ   ツ   鍋
  10. ͱ͋ΔΠΧͷઓಆه࿥  0" 2" 4" 6" 8" 0" 1" 2"

    3" 4" 5" 6" 7" 8" 9" 10" Kill Win/Lose Win" Lose" 0" 1" 2" 3" 4" 5" 1" 2" 3" 4" 5" 6" 7" 8" 9" 10" 11" DeathWin/Lose" Win" Lose" 0.0%$ 2.0%$ 4.0%$ 6.0%$ 8.0%$ 10.0%$ 12.0%$ 14.0%$ *5$ *4$ *3$ *2$ *1$ 0$ 1$ 2$ 3$ 4$ 5$ K*D
  11. ήʔϜΛධՁ͢ΔͨΊͷओͳϝτϦοΫ •  εςʔδ   •  ϧʔϧ   • 

    φϫόϦɺΨνΤϦΞɺΨνϠάϥɺΨνϗίότϧ •  ήʔϜͷ݁Ռ •  উͪʗෛ͚ •  ࢖༻ͨ͠ϒΩ   •  γϡʔλʔʗνϟʔδϟʔʗεϩογϟʔʗϩʔϥʔͷ̐λΠϓ •  ֤ϒΩʹରͯ͠ѥछ͕̍ʙ̎छྨ •  Ωϧ਺ʗσε਺ 
  12. 39

  13. 5FTTFSBDU0$3Λ ධՁͨ͠ࡍͷ՝୊ •  ೝࣝ֬཰ɿ •  ΋ͱ΋ͱจষΛಡΈऔΔͨΊͷ΋ͷ •  ʙจࣈͷจࣈɺ਺ࣈͷೝࣝ͸ۤख •  ೝࣝਫ਼౓

    •    ͳͲΛؒҧ͑Δ͜ͱ͕͋Δ •  কདྷతʹ໰୊͕ى͖ͨࡍɺΞϧΰϦζϜʹ ख͕ग़ͤͳ͍ʢग़ͳ͍ʣ •  ιϑτ΢ΣΞ΁ͷ૊ΈࠐΈ্ͷ՝୊ •  1ZUIPOYͷεΫϦϓτ্͔Βར༻ͮ͠Β͔ͬͨ •  طଘCJOEJOHͰ͸GPSLFYFDͷཛྷ ˠ طଘͷจষ޲͚0$3ΤϯδϯΑΓ΋ ୯७Ͱ໨తʹదͨ͠ೝࣝํࣜΛݕ౼  文字として   認識されないことも
  14. L// ,ۙ๣๏ ͷߟ͑ํ  • • • • ▪ ▪

    ▪ ▪ ? ▲ ▲ ▲ ▲ ? ? ? ? とてもシンプルな機械学習     標本    の傍にあるサンプルがどれかで     分類する。       K=1  の場合は最寄りのサンプルがある   クラスに分類される。       K=3  の場合は近くに3つのサンプルがある   クラスに分類される。
  15. L//ʹΑΔਤܗϚονϯάͷྫ   •  (JU)VCʹιʔε͋Γ –  IUUQTHJUIVCDPNIBTFHBXPQFODW@LOO@FYBNQMF •  ࡾͭͷύλʔϯ˓˚˘Ͱը૾Λੜ੒͠ɺ L//Ͱֶश͢Δ

    •  ϥϯμϜʹ˓˚˘͔Βը૾Λੜ੒͠ɺͦͷը ૾ͷछྨΛ൑ఆ͢Δ –  ,//Λ༻͍ͯͦΕʹ͍ۙը૾Λݟ͚ͭग़͢ –  ݟ͚ͭͨը૾ͷछྨ͔Βɺ໰୊ਤܗͷछྨΛಛఆ 
  16. ,//Ͱݟ͚ͭͨʮҰ൪͍ۙจࣈը૾ʯͰ ը૾Λஔ͖׵͑   •  ֤೔ຊޠϑΥϯτจࣈΛ1/(ܗࣜʹม׵ •  ্هσʔλΛ,//Ͱֶश •  ը૾Λೖྗ͠άϨʔεέʔϧʹม׵

    •  ը૾ΛจࣈαΠζʹ͋Θͤͯ෼ׂɺ,//Ͱ ֤ྖҬʹ΋ͬͱ΋͍ۙจࣈϑΥϯτΛௐ΂Δ •  ը૾Λจࣈʹஔ͖׵͑ 
  17. ࢮҼͷೝࣝʢ̏ʣ •  جຊ͸਺ࣈͷೝࣝͱҰॹ –  จࣈ୯ҐͰ͸ͳ͘จࣈྻΛҰ૊ͱͯ͠ॲཧ –  จࣈྻ͸ࠨدͤͯ͠ॲཧʢͨ͠΄͏͕͍͍ͷ͔͸Α͘൑͍ͬͯͳ͍ʣ •  ೝࣝ཰͸ͦΕ΄Ͳߴ͘ͳ͍͕ɺೝࣝճ਺Ͱਫ਼౓Λ֬อ – 

    *LB-PH͸ݱࡏຖඵϑϨʔϜ΄Ͳղੳ͍ͯ͠Δ –  ԼهྫͰ͸ɺࢮҼͷϝοηʔδ߹ܭGΛղੳ͠ɺ ࠷ଟස౓͸HBM@EFDP G  ͩͬͨˠ݁Ռతʹਖ਼ղ   votes={      'supershot':  6,    'carbon_deco':  1,    'bucketslosher':  1,  'octoshooter_replica':  1,      'splashshield':  1,  'sshooter_collabo':  5,  'hotblaster':  2,    'pablo':  1,    'nzap89':  6,      'sharp_neo':  3,  'hotblaster_custom':  2,  '96gal_deco':  18,  '52gal':  1,    'hokusai':  1   }
  18. 56

  19. ϒΩೝࣝίʔυͷมભ ੈ୅ ಛ௃ɺར఺ ՝୊  ͢΂ͯͷਖ਼ղը૾Λอ͓͖࣋ͯ͠ɺ ೖྗը૾Λൺֱ ήʔϜஶ࡞෺ͷ಺༰Λͦͷ·· σʔλʹؚΊͯ഑෍͢Δඞཁ͕ ͋Δ

    ୈੈ୅ ը૾ͷ৭૬ώετάϥϜΛಛ௃ྔͱͨ͠ ౷ܭతख๏ʢͷͪʹ,ۙ๣๏΁੾ସʣɻ ೝࣝ཰ɹ̔̌ˋҎԼ ୈੈ୅ ୈҰੈ୅ͷಛ௃ྔͷ··ɺ෼ྨΞϧΰϦ ζϜΛ,//ʹ੾Γସ͑ ೝࣝ཰͕एׯѱԽ ୈੈ୅ ಛ௃ྔΛ৭૬ώετάϥϜ͔Βzը૾ͷෳ ࡶ͞zʹมߋ ɾϥϓϥγΞϯϑΟϧλͳͲΛ௨ͯ͠ը ૾ͷಛ௃ྔΛࢉग़ Ϣʔβͷ؀ڥʢσόΠεɺઃఆࠩ ҟɺઃఆϛεʣʹΑΓೝࣝ཰͕େ ෯௿Լ  ୈੈ୅ ɾϥϓϥγΞϯϑΟϧλॲཧޙͷΞϧΰ ϦζϜݟ௚͠ ਖ਼نԽɺϓʔϦϯά૚૬౰ͷॻ͖௚͠ Ϣʔβͷઃఆ໰୊͕ͳ͍ݶΓ͸΄ ΅ਖ਼֬ͳೝ͕ࣝՄೳ͕ͩ ̍̌̌ˋͰ͸ͳ͍ ୈੈ୅ ৞ΈࠐΈχϡʔϥϧωοτϫʔΫ $//ʣ ʹΑΔਂ૚ֶशͷಋೖ ෼ྨॲཧʹཁ͢Δ$16࣌ؒ ֶशσʔλͷαΠζɺ഑෍ํ๏ 
  20. ৽͍͠ಛ௃ྔࢉग़ํ๏Ͱͷ՝୊ •  ؀ڥʹΑͬͯಛ௃ྔ͕มԽ͢ΔཁҼ –  ΩϟϓνϟσόΠεͷը࣭ಛੑ •  ৭߹͍ɺίϯτϥετɺΨϯϚ –  8JJ6ͷग़ྗղ૾౓ • 

    QQ –  ͦͷଞɺέʔϒϧ΍࢖༻ػࡐͷӨڹʹΑΓ৴߸ʹϩε͕ੜ͡Δ •  Ϣʔβͷར༻ܗଶʹΑΓಛ௃ྔ͕มԽ͢ΔཁҼ –  Ωϟϓνϟؔ࿈ιϑτͰ8JJ6ը૾Λؒ઀औΓࠐΈ –  ຊདྷͱ͸ҟͳΔղ૾౓΍ΦϑηοτͰೖྗ͞Εɺ ಛ௃ྔ͕มԽ 
  21. ୈੈ୅rਂ૚ֶशʹΑΔϒΩ൑ఆ •  ৞ΈࠐΈχϡʔϥϧωοτ $// Λ༻͍ͨը૾ͷΫϥελ Ϧϯά –  %*(*54 CZO7*%*" $B⒎FͰ1SPPGPG$PODFQUΛ࣮૷

    –  "MFY/FU (PPHMF/FUͳͲͷطଘωοτΛར༻ •  ڻҟతͳਖ਼౴཰ –  ༷ʑͳϢʔβ͕౤ߘͨ͠σʔλͰ΋΄ͱΜͲޡ൑ఆͳ͠ ʢ਺ສϒΩ͋ͨΓޡ൑ఆ͸̎̌ҎԼʣ •  ֶश͸(1(16ඞਢɺϚονϯά͸$16΋Մ PO(16       dNT PO$16X*OUFM.,-dNT PO$16       dNTఔ౓  Thanks  @itoooon
  22. ୈੈ୅Ϣʔβ؀ڥ΁ͷσϓϩΠͷ՝୊  モデルデータの   肥大化 CPU   性能バランス 導入の手間 1秒以内に

      8ブキ判定可能      400MB~  (AlexNet)        100MB  (GoogleNet)    配布方法は?コスト対効果 8ブキの判定に〜5秒かかる   Core2  Duoから最新CPUまでユーザが分布   ニコ生や録画(SWエンコーダ)の   ためにCPUに余力を残す必要も 1MB  (KNN) Chainer  を  Windows  で動かすのは大変    Py2EXE  化も課題が多そう KNN  なら   OpenCV  に   含まれている   ユーザ向けとしての配布はせず   手元での開発効率アップのために  DNN  利用
  23. *LB-PHʹ͓͚Δ%//ͷར༻ঢ়گ  ゲーム終了時のスクリーンショット   stat.ink  から投稿データを深夜バッチで受け取り   約4000枚/日   認識対象となるブキ画像

      約24000サンプル/日   Chainer  による  DNN  で自動分類し、注目したいサンプルを絞り込む   スクリーンショットからサンプルを生成   ブキ精度向上にあたり注目したいサンプル   (1000以下)   実際に  IkaLog  が利用するブキ認識モデルの強化、テストに利用  
  24. 8FCDBNαϙʔτʢΠϝʔδʣ  1)  TV、ディスプレイに  Webcam   を向ける   2)  WiiU

     のホーム画面を表示   3)  IkaLog  で  Webcam  を介して  ワープ キャリブレーション   4)  以後  IkaLog  は画面と認識した範囲に対して処理を行う  
  25. 8FCDBNܦ༝ͷೖྗঢ়گ •  ʮط஌ͷը૾ʯʢ8JJ6ϗʔϜը໘ʣΛ ը໘্ʹग़ͯ͠ɺΩϟϦϒϨʔγϣϯ •  Q Y ͷը໘ΛœQY͙Β͍ͷਫ਼ ౓ͰऔΓࠐΊΔ • 

    ന৭͕    ʹͳΒͳ͍ͨΊ ԿΒ͔ͷରࡦ͕ඞཁ –  ΧϥʔόϥϯεɺΨϯϚௐ੔ –  *LB-PH಺ͷը૾ݕग़ͷεϨογϣϧυมߋɺ ೝࣝΞϧΰϦζϜࣗମͷมߋͳͲ 
  26. 8FCDBNରԠΛऔΓ΍Ίͨཧ༝ ήʔϜͷه࿥ΛʮखଧͪʯͰ͖Διϑτͷଘࡏ –  "OESPJEΞϓϦʮΠΧϨίʯ͕TUBUJOLʹରԠ ೝࣝੑೳͱͷόϥϯε –  ։ൃΛਐΊͯ΋)%.*Ωϟϓνϟ࣌ͱಉ͡ೝࣝਫ਼౓͸ग़ͤͳ͍ –  ೝࣝର৅ͷ૿Ճˠ։ൃ޻਺͕๲ΒΉ ։ൃίετͷׂʹɺෑډ͕Լ͕Βͳ͍

    –  *LB-PH͕૝ఆ͢Δը࣭ͷ8FCDBN͸ͦΕͳΓʹߴՁ •  ʴ̍ສԁͷॳظ౤ࢿͰɺ)%.*ΩϟϓνϟσόΠεͷߪೖ͕ࢹ໺ʹ •  8FCDBNରԠͷͨΊʹ։ൃऀଆ͕࣋ͪग़͢޻਺ͷ΄͏͕ѹ౗తʹେ͖͍ ˠ ͔͑ͬͯϢʔβΛΨοΧϦͤ͞ΔՄೳੑ͕ߴ͍ ήʔϜͷϦΞϧλΠϜ௥੻Λॆ࣮ͤ͞Δํ޲΁ํ਑స׵  
  27. *LB-PHͷํ޲ੑ  $   More  Users $$$   Less  Users

      More  Metrics Less  Metrics IkaLog   (IniYal  Version) ・画面認識   ・自動記録 IkaLog   (latest  Version) ・より多くの    認識項目   ・タイムライン分析 ・Android  App   ・手動入力   ・特殊ハード不要 IkaLog   (WebCam対応)   当初のプラン   ・HDMIキャプチャデバイスを    WebCamで代替   ・認識率・認識項目は減少
  28. TUBUJOL౤ߘϢʔβ਺  $   More  Users $$$   Less  Users

      More  Metrics Less  Metrics 100  users/day IkaLog   (latest  Version) 200  users/day
  29. 8FCDBNରԠͷ՝୊఺ͱ ͜Ε·ͰʹಘΒΕͨ஌ݟ •  ΋͠ɺ͜ͷΑ͏ͳʮมͳ࢖͍ํʯΛ͢Δͱ͖͸ ࣗಈௐ੔ػೳΛΦϑʹͰ͖Δ8FCDBN͕Φεεϝ –  Χϥʔόϥϯε͕ݻఆͰ͖Δ͜ͱ –  ίϯτϥετ͕ݻఆͰ͖Δ͜ͱ – 

    ΦʔτϑΥʔΧεΛΦϑʹͰ͖Δ͜ͱ •  ϓϥζϚ57͸໌Δ͗ͯ͢8FCDBNͷ μΠφϛοΫϨϯδ͕௥͍͔ͭͳ͍ʁ&-ӷথ͸ʁ •  ৽͠ΊͷεϚʔτϑΥϯͷΧϝϥ΋ඇৗʹ༏ल