ikalog: data collector for splatoon and machine learning (jan 2017 @ softbank)
TRANSCRIPT
![Page 1: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/1.jpg)
本スライド中に登場するスプラトゥーン関連画像は任天堂株式会社の著作物です。
![Page 2: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/2.jpg)
2004|
2011
2011|
2014
2014|
SEサービス プリセールス @So+wareResearchAssociates,Inc.システム構築、客先のシステム運用、提案でキャリアをスタート→プリセールス〜PMを担当するインフラエンジニア
システムアーキテクト @TrigenceSemiconductor,Inc.、ほかエンベデッド開発支援、ITシステム管理、機械学習支援まで多岐に対応
セールスエンジニア@Fusion-io,Inc.高速半導体ストレージ ioDrive/ioMemoryシリーズのSEとして活動
![Page 3: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/3.jpg)
![Page 4: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/4.jpg)
![Page 5: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/5.jpg)
–
–
–
–
–
–
![Page 6: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/6.jpg)
![Page 7: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/7.jpg)
様々なステージとルール
• 16のステージ、4つのルール• 勝利に向けチームで立ち向かう
多様な楽しみ方
• 90以上のブキから好きなものを選んでプレイ
![Page 8: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/8.jpg)
WiiU用ゲーム「スプラトゥーン」支援ソフト
– HDMIキャプチャを介して情報を自動取得
– 数値・文字列データとして認識
– お好みの方法で蓄積、出力
NintendoWiiU& スプラトゥーン
データ化{“kills”:5,“deaths”:1}
IkaLog
外部ツールへ出力(棒読みちゃん等)
出力例
![Page 9: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/9.jpg)
HDMIキャプチャデバイス
IkaLog実行用PC
![Page 10: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/10.jpg)
![Page 11: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/11.jpg)
![Page 12: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/12.jpg)
![Page 13: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/13.jpg)
![Page 14: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/14.jpg)
録画ソフト 自動制御
AmaRecTV
カラーLED連動
Fluentd転送
スプラトゥーン戦績記録SNS
CSV/JSONファイル保存 スクリーンショット保存
SNS投稿
IkaLog
![Page 15: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/15.jpg)
![Page 16: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/16.jpg)
• IkaLogユーザのひとり @fetus_hina さんが開発、
運営する Web サイト
• IkaLog からのプレイデータを受け取り、
表示・集計する
• IkaLogからの投稿を分析し
統計情報、トレンドを表示
![Page 17: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/17.jpg)
17https://stat.ink/
![Page 18: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/18.jpg)
自分が倒されて行動不能だった時間
イカ(味方/敵 計8匹)の生死状況
チームのスペシャル発動、キル/デス
自分の塗り面積
https://stat.ink/
![Page 19: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/19.jpg)
https://stat.ink/
ナワバリバトル – 互いの干渉が少ない
ガチエリア – “相手を倒しつつ生存”がカギ
ガチホコ – 全体的に乱戦になりやすい
ガチヤグラ – 全体的に乱戦になりやすい
![Page 20: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/20.jpg)
https://stat.ink/
![Page 21: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/21.jpg)
.96ガロンデコアップデートをきっかけにユーザー数が激減
ロングブラスターカスタム夏以降、人気を博しているブキのひとつ
https://stat.ink/
![Page 22: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/22.jpg)
データソースh^ps://stat.ink/en`re/user
【ピーク】24時間あたり370ユーザ、約15,000ゲーム
2016年11月時点にて24時間あたり 平均100ユーザ超が利用、平均2500ゲームを処理
最後の“フェス“(ゲーム内イベント)
![Page 23: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/23.jpg)
23
勝率0%
勝率100%
![Page 24: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/24.jpg)
![Page 25: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/25.jpg)
• 2014年INTEROPでの”Chainer”デモがきっかけ
– 深層学習のプレゼンテーションみて「凄いな」と思った
– “何か面白いソフトウェアを作りたいな”
– ちょうどスプラトゥーンの発売直後だった
• 未経験からのチャレンジ
– OpenCV経験 3時間ぐらい
– 機械学習/ディープライーニング経験 なし
![Page 26: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/26.jpg)
![Page 27: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/27.jpg)
ここまでするなら
自動化できるツールを作ろう!
![Page 28: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/28.jpg)
![Page 29: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/29.jpg)
ソース映像 マスク画像 加算画像
+==
正しいマスクを加算すると画像が真っ白になる
違うマスクを加算すると画像が真っ白にならない
![Page 30: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/30.jpg)
30
![Page 31: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/31.jpg)
31
![Page 32: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/32.jpg)
32
![Page 33: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/33.jpg)
33
![Page 34: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/34.jpg)
34
![Page 35: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/35.jpg)
35
![Page 36: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/36.jpg)
![Page 37: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/37.jpg)
37
![Page 38: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/38.jpg)
• ゲーム中で使われているフォントは2種類
– 画面上に現れる数字フォントは1種類
– フォントが判っているのだから、認識できるはず
• 試行錯誤の後、既存OCRエンジンの利用は断念
– 機械学習ベースの認識エンジンを実装
![Page 39: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/39.jpg)
•
•
–
–
–
–
–
文字として認識されないことも
![Page 40: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/40.jpg)
●●●
●
■
■
■■
?▲
▲
▲
▲
?
?
?
?
とてもシンプルな機械学習標本 の傍にあるサンプルがどれかで分類する。K=1の場合は最寄りのサンプルがあるクラスに分類される。K=3の場合は近くに3つのサンプルがあるクラスに分類される。
![Page 41: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/41.jpg)
• GitHub にソースあり
– https://github.com/hasegaw/opencv_knn_example/
• 三つのパターン ○ △ □ で画像を生成し、
kNNで学習する
• ランダムに ○ △ □ から画像を生成し、その画像
の種類を判定する
– KNN を用いてそれに近い画像を見つけ出す
– 見つけた画像の種類から、問題図形の種類を特定
![Page 42: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/42.jpg)
問題図形をランダムに生成
K近傍法を用いて、学習済みの図形から、もっとも近い図形を調べる
仕分ける○ △ □
○学習済み図形
○ △ □
![Page 43: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/43.jpg)
![Page 44: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/44.jpg)
1)画面上の数字部分(位置固定)を切り抜き
2)縦・横のヒストグラムを生成し各文字の位置を特定
3)文字を検出用サンプルのサイズ(等幅)にリサイズ、
二値化
4)KNNにより既知の検出用サンプルと照らし合わせて
認識する
![Page 45: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/45.jpg)
![Page 46: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/46.jpg)
![Page 47: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/47.jpg)
![Page 48: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/48.jpg)
• 基本は数字の認識と一緒
• 認識率はそれほど高くないが、認識回数で精度を確保
– IkaLogは現在毎秒10フレームほど解析している
– 下記例では、死因のメッセージ合計49fを解析し、
最多頻度は96gal_deco (18f, 36%) だった → 結果的に正解
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}
![Page 49: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/49.jpg)
![Page 50: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/50.jpg)
•
•
•
![Page 51: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/51.jpg)
![Page 52: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/52.jpg)
黒いブレット明るいブレット
背景色
![Page 53: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/53.jpg)
黒いブレット
明るいブレット
背景色
![Page 54: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/54.jpg)
![Page 55: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/55.jpg)
• –
–
• –
–
• –
–
![Page 56: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/56.jpg)
![Page 57: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/57.jpg)
57
![Page 58: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/58.jpg)
スプラトゥーンのブキ 59種類(スライド作成当時)
![Page 59: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/59.jpg)
•
•
•
•
他の装備品が被っている 保護色(まだマシ) 保護色(マジつらい)
![Page 60: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/60.jpg)
![Page 61: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/61.jpg)
(まだバグがあった頃のバージョンの表示なので色がずれているけども)こんなかんじで特徴量を抽出していた
![Page 62: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/62.jpg)
入力画像 ラプラシアンフィルタ適用
グレースケール K近傍法によるクラス分類
Thanks@itooon
sschooter_collabo
スプラシューターコラボ
特徴画像
![Page 63: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/63.jpg)
63
![Page 64: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/64.jpg)
長所
– 色の違いに鈍感
– 画像の「形」でざっくり認識
短所
– 解像度の違いに弱い
– 似た形の画像を正しく分類できない
![Page 65: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/65.jpg)
スクリーンでは視認しにくいが、ユーザーが様々な解像度の画像を送ってくる「現実」
![Page 66: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/66.jpg)
![Page 67: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/67.jpg)
67
![Page 68: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/68.jpg)
オリジナルのブキ(longblaster)
カスタムバージョン(longblaster_custom)
更に追加(Apr2016)(longblaster_necro)
出力される特徴量に被りが発生し、特徴量算出アルゴリズムの見直しが必要に
![Page 69: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/69.jpg)
longblaster_necro
longblaster_custom
longblaster
IkaLog内部で使用する特徴量を主成分分析(PCA)で2次元空間に
投影したもの
出力される特徴量に被りが発生し、特徴量算出アルゴリズムの見直しが必要に
![Page 70: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/70.jpg)
ゲーム終了時に表示される別の画面画面上に表示される「ギアパワー」画像を分類するKNNの問題点・「メイン」ギアパワーと「サブ」ギアパワーで 画像の大きさが異なる・ユーザー環境によって解像度が異なる・ブキ画像同様、状況によって特徴量が変化→ 「画像サイズの変化に強い分類器がほしい」
![Page 71: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/71.jpg)
• • ❌ ⭕
–
–
– •
•
![Page 72: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/72.jpg)
(本スライド中の画像の一部はイメージであり実際のものとは異なります。)
オブジェクトストレージ
作業用インスタンス
onIaaS
1年以上のデータを蓄積総データ量 4TB以上
IkaLogユーザ stat.ink
hasegaw
![Page 73: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/73.jpg)
• 機械学習/深層学習の精度は前処理の精度に影響を受ける
• 画像のズレ/ゆがみ対策(自動補正)を実装し、対策
テンプレートマッチング、最小二乗法を用いて最適候補を選定
アスペクト比が壊れている なぜか画像がズレているリファレンス
分類に使用する画像
![Page 74: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/74.jpg)
Thanks@itoooon
![Page 75: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/75.jpg)
![Page 76: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/76.jpg)
長所
– ニューラルネットワークにより認識率が大幅に向上
短所
– データが大きくなる(例:100MB~400MB)
– Windows版に組み込みしづらい
PythonスクリプトをEXE化する「Py2EXE」と
ディープラーニングフレームワークは相性が悪い
– 処理に時間がかかる
![Page 77: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/77.jpg)
ゲーム終了時のスクリーンショットstat.inkから投稿データを深夜バッチで受け取り約4000枚/日
認識対象となるブキ画像約24000サンプル/日
ChainerによるDNNで自動的に分類
スクリーンショットからサンプルを生成
ブキ精度向上にあたり注目したいサンプル(絞り込み済)
実際に IkaLogが利用するブキ認識モデルの強化、テストに利用
![Page 78: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/78.jpg)
– 入力値: RGBもしくはHSVの色情報(47*45*3=6,345units)
– 出力値: 各クラスの出力値(91units,So+maxを適用する)
– 使用する結合:全結合のみを使用(理由は後述)
– 目 的:特徴量の自動生成
• 今回の用途であれば、深層学習で特徴量を自動的に見つけ出せるはず
• 各ブキの背景色の重みが自動的ゼロに調整されれば、背景色への考慮
も不要
– 目標性能値
• 目標性能値:91クラスのマルチクラス分類が350ms未満(画面1枚あたり3秒以内)
• stat.inkの投稿データに対して99.99%の精度
![Page 79: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/79.jpg)
0
1
2
3
..
..
n
0
1
2
3
…
89
90
InputLayer OutputLayerHiddenLayer
52gal
52gal_deco
96gal
96gal_deco
…
sschooter_wasabi
wakaba
![Page 80: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/80.jpg)
80
![Page 81: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/81.jpg)
• AzureML上でアルゴリズムの事前検証
– 小さなデータセットを使用し分類器を作成
– 入力層:ピクセル情報(をPCAにかけたもの)
– 隠れ層:1層、150ユニット(暫定)
– 出力層:各クラス(のはず)
• この方針でトレーニングすれば、精度が高い分類器を得られるだろうと判断
– 特に何も考えなくても98%以上の精度が得られた
– 各種ボケ画像も、おおよそ問題なく判定できた
![Page 82: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/82.jpg)
![Page 83: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/83.jpg)
83
![Page 84: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/84.jpg)
• AzureMLで得た結果をベースに、IkaLogに組み込む
モデルを作成する
– stat.inkに投稿された90万点のブキ画像を教師データとして用意
– フレームワーク「Chainer」を使用
– GPUの恩恵も受けられる
• 学習したモデルの配布用フォーマット
– float32→float16に変換
– 配布するモデルファイルのサイズが半減
![Page 85: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/85.jpg)
CPU GPU #ofjobs
Throughput(images/s)
GPUTime/epoch(s)
RelaJveperf.
(virtual)
Corei7-4790S定格3.2GHz
使用せず 1 3,928 234.5s 1X
Corei7-4790S定格3.2GHz
GeForceGTX760
1 10,371 39.2s 5.9X
Corei7-4790S定格3.2GHz
GeForceGTX760
4 (^l)15,988 25.8s(103/4)
9.08X
Corei7-4790S定格3.2GHz
GeForceGTX1080
4 (^l)30,320 6.25s(25.0s/4) 37.52X
2XE5-2630Lv3定格 1.80GHz
TeslaP100
4 (^l)65,811 2.5s(10.3/4)
93.8X
SpecialThanksto
※スループットとEpochあたりのGPU処理時間は測定基準が異なるため単純比較できません。※マルチジョブ実行時は類似ジョブが並列動作しているためGPU実行総時間をジョブ数で割っています。
自宅のLinuxBox
![Page 86: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/86.jpg)
K近傍法 既存ImageNet 新ニューラルネット
認識効率 一部ユーザでは低い
99.99+%
99.99+%
モデルサイズ 20MB(現時点) 400MB(AlexNet)100MB(GoogleNet)
14MB(Float32)7MB(Float16)
分類にかかる時間@IvyBridge2GHz
とても高速 ~300ms ~20ms
• 出来合いのImageNetよりも高速、より小さなモデルデータ(配布物)
• 従来のIkaLogよりも高い認識精度を実現
SpecialThanksto
![Page 87: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/87.jpg)
• ニューラルネットの順伝播処理を新規実装
– 既存のフレームワークは組み込まない
(Windowsユーザ対策)
– 高度な機能を実装すると面倒なため、最低限の
機能を絞り込んで実装(LinearFunc`on,ReLU)h^ps://github.com/hasegaw/IkaLog/commit/3238b67749334a3c4254aa6f25c005f83e210895
– IvyBridge2.0GHzで20ms以下、PYNQ-Z1(Cortex-A9650MHz)で200ms以下で順伝播可能
![Page 88: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/88.jpg)
88
この書籍の最初の100ページ分がIkaLogのニューラルネットの実装
そのものです。
![Page 89: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/89.jpg)
• ニューラルネットを他の用途にも適用
– ブキ分類器のほか、ギアパワー分類器を作る(優先度 高)
– ガチホコのタッチダウン分類器を作る
– 戦況評価関数にRNNが使えるのではないか
• 本当に必要なデータセットの選定
– 21GBのデータセットには大量の重複データが含まれている
– 重複データをうまく取り除くと学習時間、作業効率、精度にメリットがあると考える
– PCA-basedanomalydetec`onが使えそう
![Page 90: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/90.jpg)
• IkaLogでは、複数の機械学習アプローチを適用している
– リアルタイム処理では、おもにK近傍法(KNN)を利用
– 入力画像にロバストな分類器を作るため、深層学習を利用
• 特徴量の自動抽出、何十万の画像から自動的な学習
• IkaLogとディープラーニング
– Windowsアプリケーションにそのまま組み込めるような深層学習のフレームワークは限られている
– しかし、関数や機能を限定すれば、比較的容易に実装可能
– 学習には既存の深層学習フレームワークやGPUを活用
![Page 91: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/91.jpg)
![Page 92: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/92.jpg)
HDMIキャプチャデバイス
IkaLog実行用PC
![Page 93: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/93.jpg)
FPGAボード
![Page 94: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/94.jpg)
Processor:Dual-CoreARMCortex-A9FPGA:1.3MreconfigurablegatesMemory:512MBDDR3/FLASHStorage:MicroSDcardslotVideo:HDMIInandHDMIOutAudio:Micin,LineOutNetwork:10/100/1000EthernetExpansion:USBHostconnectedto
ARMPSInterfaces:1xArduinoHeader,2xPmod(49GPIO)GPIO:16GPIO(65intotalwithArduinoandPmods)OtherI/O:6xUserLEDs,4xPushbu^ons,2xSwitchesDimensions:3.44”x4.81”
(87mmx122mm)
![Page 95: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/95.jpg)
![Page 96: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/96.jpg)
![Page 97: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/97.jpg)
![Page 98: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/98.jpg)
IntelPCの6倍の時間がかかる!!
![Page 99: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/99.jpg)
•
–
–
•
![Page 100: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/100.jpg)
•
• –
–
•
•
•
•
![Page 101: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/101.jpg)
![Page 102: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/102.jpg)
最適化の効果
![Page 103: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/103.jpg)
•
pi@raspberrypi:~/ikalog/IkaLog $ PYTHONPATH=./lib/ python3 bench_1024mat.pyencode 0.000015974s logical_and_popcnt 0.094928265s total 0.094944239s�
<class 'ikalog.utils.ikamatcher2.reference.Numpy_uint8'>
encode 0.000014544s logical_and_popcnt 0.021027803s total 0.021042347s<class 'ikalog.utils.ikamatcher2.reference.Numpy_uint8_fast'>
encode 0.005746365s logical_and_popcnt 0.002564192s total 0.008310556s<class 'ikalog.utils.ikamatcher2.arm_neon.NEON'>
![Page 104: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/104.jpg)
• –
– •
• –
–
![Page 105: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/105.jpg)
ARMCoreHDMIRX
DRAM
RGB(1280,720,3)
HSV(1280,720,3)
Gray(1280,720,1) IkaLog実行時間の
10.4%が色変換ARMNEON命令使用
![Page 106: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/106.jpg)
ARMCoreHDMIRX
ColorConverter
DRAM
RGB(1280,720,3)
HSV(1280,720,3)
Gray(1280,720,1) IkaLogは色変換済みの
データ参照のみにするキャプチャ時にPL部で色変換を済ませておきDRAMに書き込んでおく
![Page 107: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/107.jpg)
らぴす(2000-2014)
![Page 108: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)](https://reader034.vdocuments.site/reader034/viewer/2022050613/58870b6a1a28abf2228b507f/html5/thumbnails/108.jpg)
©07strikers