ikalog: data collector for splatoon and machine learning (jan 2017 @ softbank)

108
本スライド中に登場するスプラトゥーン関連画像は任天堂株式会社の著作物です。

Upload: takeshi-hasegawa

Post on 14-Apr-2017

2.367 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

本スライド中に登場するスプラトゥーン関連画像は任天堂株式会社の著作物です。

Page 2: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

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)
Page 4: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 5: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

– 

– 

– 

– 

– 

– 

Page 6: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 7: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

様々なステージとルール

•  16のステージ、4つのルール•  勝利に向けチームで立ち向かう

多様な楽しみ方

•  90以上のブキから好きなものを選んでプレイ

Page 8: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

WiiU用ゲーム「スプラトゥーン」支援ソフト

– HDMIキャプチャを介して情報を自動取得

– 数値・文字列データとして認識

– お好みの方法で蓄積、出力

NintendoWiiU& スプラトゥーン

データ化{“kills”:5,“deaths”:1}

IkaLog

外部ツールへ出力(棒読みちゃん等)

出力例

Page 9: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

HDMIキャプチャデバイス

IkaLog実行用PC

Page 10: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 11: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 12: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 13: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 14: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

録画ソフト 自動制御

AmaRecTV

カラーLED連動

Fluentd転送

スプラトゥーン戦績記録SNS

CSV/JSONファイル保存 スクリーンショット保存

SNS投稿

IkaLog

Page 15: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 16: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  IkaLogユーザのひとり @fetus_hina さんが開発、

運営する Web サイト

•  IkaLog からのプレイデータを受け取り、

表示・集計する

•  IkaLogからの投稿を分析し

統計情報、トレンドを表示

Page 17: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

17https://stat.ink/

Page 18: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

自分が倒されて行動不能だった時間

イカ(味方/敵 計8匹)の生死状況

チームのスペシャル発動、キル/デス

自分の塗り面積

https://stat.ink/

Page 19: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

https://stat.ink/

ナワバリバトル – 互いの干渉が少ない

ガチエリア – “相手を倒しつつ生存”がカギ

ガチホコ – 全体的に乱戦になりやすい

ガチヤグラ – 全体的に乱戦になりやすい

Page 20: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

https://stat.ink/

Page 21: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

.96ガロンデコアップデートをきっかけにユーザー数が激減

ロングブラスターカスタム夏以降、人気を博しているブキのひとつ

https://stat.ink/

Page 22: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

データソース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)

23

勝率0%

勝率100%

Page 24: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 25: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  2014年INTEROPでの”Chainer”デモがきっかけ

– 深層学習のプレゼンテーションみて「凄いな」と思った

–  “何か面白いソフトウェアを作りたいな”

– ちょうどスプラトゥーンの発売直後だった

•  未経験からのチャレンジ

– OpenCV経験 3時間ぐらい

– 機械学習/ディープライーニング経験 なし

Page 26: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 27: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

ここまでするなら

自動化できるツールを作ろう!

Page 28: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 29: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

ソース映像 マスク画像 加算画像

+==

正しいマスクを加算すると画像が真っ白になる

違うマスクを加算すると画像が真っ白にならない

Page 30: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

30

Page 31: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

31

Page 32: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

32

Page 33: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

33

Page 34: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

34

Page 35: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

35

Page 36: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 37: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

37

Page 38: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  ゲーム中で使われているフォントは2種類

– 画面上に現れる数字フォントは1種類

– フォントが判っているのだから、認識できるはず

•  試行錯誤の後、既存OCRエンジンの利用は断念

– 機械学習ベースの認識エンジンを実装

Page 39: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

• 

– 

– 

– 

– 

– 

文字として認識されないことも

Page 40: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

●●●

■■

?▲

?

?

?

?

とてもシンプルな機械学習標本    の傍にあるサンプルがどれかで分類する。K=1の場合は最寄りのサンプルがあるクラスに分類される。K=3の場合は近くに3つのサンプルがあるクラスに分類される。

Page 41: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  GitHub にソースあり

–  https://github.com/hasegaw/opencv_knn_example/

•  三つのパターン ○ △ □ で画像を生成し、

kNNで学習する

•  ランダムに ○ △ □ から画像を生成し、その画像

の種類を判定する

– KNN を用いてそれに近い画像を見つけ出す

– 見つけた画像の種類から、問題図形の種類を特定

Page 42: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

問題図形をランダムに生成

K近傍法を用いて、学習済みの図形から、もっとも近い図形を調べる

仕分ける○ △ □

○学習済み図形

○ △ □

Page 43: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 44: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

1)画面上の数字部分(位置固定)を切り抜き

2)縦・横のヒストグラムを生成し各文字の位置を特定

3)文字を検出用サンプルのサイズ(等幅)にリサイズ、

二値化

4)KNNにより既知の検出用サンプルと照らし合わせて

認識する

Page 45: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 46: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 47: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 48: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  基本は数字の認識と一緒

•  認識率はそれほど高くないが、認識回数で精度を確保

–  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)
Page 50: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

• 

• 

Page 51: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 52: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

黒いブレット明るいブレット

背景色

Page 53: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

黒いブレット

明るいブレット

背景色

Page 54: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 55: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• – 

– 

• – 

– 

• – 

– 

Page 56: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 57: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

57

Page 58: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

スプラトゥーンのブキ 59種類(スライド作成当時)

Page 59: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

• 

• 

• 

他の装備品が被っている 保護色(まだマシ) 保護色(マジつらい)

Page 60: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 61: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

(まだバグがあった頃のバージョンの表示なので色がずれているけども)こんなかんじで特徴量を抽出していた

Page 62: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

入力画像 ラプラシアンフィルタ適用

グレースケール K近傍法によるクラス分類

Thanks@itooon

sschooter_collabo

スプラシューターコラボ

特徴画像

Page 63: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

63

Page 64: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

長所

– 色の違いに鈍感

– 画像の「形」でざっくり認識

短所

– 解像度の違いに弱い

– 似た形の画像を正しく分類できない

Page 65: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

スクリーンでは視認しにくいが、ユーザーが様々な解像度の画像を送ってくる「現実」

Page 66: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 67: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

67

Page 68: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

オリジナルのブキ(longblaster)

カスタムバージョン(longblaster_custom)

更に追加(Apr2016)(longblaster_necro)

出力される特徴量に被りが発生し、特徴量算出アルゴリズムの見直しが必要に

Page 69: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

longblaster_necro

longblaster_custom

longblaster

IkaLog内部で使用する特徴量を主成分分析(PCA)で2次元空間に

投影したもの

出力される特徴量に被りが発生し、特徴量算出アルゴリズムの見直しが必要に

Page 70: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

ゲーム終了時に表示される別の画面画面上に表示される「ギアパワー」画像を分類するKNNの問題点・「メイン」ギアパワーと「サブ」ギアパワーで 画像の大きさが異なる・ユーザー環境によって解像度が異なる・ブキ画像同様、状況によって特徴量が変化→ 「画像サイズの変化に強い分類器がほしい」

Page 71: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• •  ❌ ⭕

– 

– 

– • 

• 

Page 72: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

(本スライド中の画像の一部はイメージであり実際のものとは異なります。)

オブジェクトストレージ

作業用インスタンス

onIaaS

1年以上のデータを蓄積総データ量 4TB以上

IkaLogユーザ stat.ink

hasegaw

Page 73: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  機械学習/深層学習の精度は前処理の精度に影響を受ける

•  画像のズレ/ゆがみ対策(自動補正)を実装し、対策

テンプレートマッチング、最小二乗法を用いて最適候補を選定

アスペクト比が壊れている なぜか画像がズレているリファレンス

分類に使用する画像

Page 74: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

Thanks@itoooon

Page 75: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 76: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

長所

– ニューラルネットワークにより認識率が大幅に向上

短所

– データが大きくなる(例:100MB~400MB)

– Windows版に組み込みしづらい

PythonスクリプトをEXE化する「Py2EXE」と

ディープラーニングフレームワークは相性が悪い

– 処理に時間がかかる

Page 77: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

ゲーム終了時のスクリーンショットstat.inkから投稿データを深夜バッチで受け取り約4000枚/日

認識対象となるブキ画像約24000サンプル/日

ChainerによるDNNで自動的に分類

スクリーンショットからサンプルを生成

ブキ精度向上にあたり注目したいサンプル(絞り込み済)

実際に IkaLogが利用するブキ認識モデルの強化、テストに利用

Page 78: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

–  入力値: 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)

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)

80

Page 81: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  AzureML上でアルゴリズムの事前検証

–  小さなデータセットを使用し分類器を作成

–  入力層:ピクセル情報(をPCAにかけたもの)

–  隠れ層:1層、150ユニット(暫定)

–  出力層:各クラス(のはず)

•  この方針でトレーニングすれば、精度が高い分類器を得られるだろうと判断

–  特に何も考えなくても98%以上の精度が得られた

–  各種ボケ画像も、おおよそ問題なく判定できた

Page 82: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 83: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

83

Page 84: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  AzureMLで得た結果をベースに、IkaLogに組み込む

モデルを作成する

–  stat.inkに投稿された90万点のブキ画像を教師データとして用意

–  フレームワーク「Chainer」を使用

–  GPUの恩恵も受けられる

•  学習したモデルの配布用フォーマット

–  float32→float16に変換

– 配布するモデルファイルのサイズが半減

Page 85: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

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)

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)

•  ニューラルネットの順伝播処理を新規実装

– 既存のフレームワークは組み込まない

(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)

88

この書籍の最初の100ページ分がIkaLogのニューラルネットの実装

そのものです。

Page 89: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  ニューラルネットを他の用途にも適用

–  ブキ分類器のほか、ギアパワー分類器を作る(優先度 高)

–  ガチホコのタッチダウン分類器を作る

–  戦況評価関数にRNNが使えるのではないか

•  本当に必要なデータセットの選定

–  21GBのデータセットには大量の重複データが含まれている

–  重複データをうまく取り除くと学習時間、作業効率、精度にメリットがあると考える

–  PCA-basedanomalydetec`onが使えそう

Page 90: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

•  IkaLogでは、複数の機械学習アプローチを適用している

–  リアルタイム処理では、おもにK近傍法(KNN)を利用

–  入力画像にロバストな分類器を作るため、深層学習を利用

•  特徴量の自動抽出、何十万の画像から自動的な学習

•  IkaLogとディープラーニング

– Windowsアプリケーションにそのまま組み込めるような深層学習のフレームワークは限られている

–  しかし、関数や機能を限定すれば、比較的容易に実装可能

–  学習には既存の深層学習フレームワークやGPUを活用

Page 91: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 92: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

HDMIキャプチャデバイス

IkaLog実行用PC

Page 93: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

FPGAボード

Page 94: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

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)
Page 96: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 97: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 98: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

IntelPCの6倍の時間がかかる!!

Page 99: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

– 

– 

• 

Page 100: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

• – 

– 

• 

• 

• 

• 

Page 101: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
Page 102: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

最適化の効果

Page 103: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

• 

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)

• – 

– • 

• – 

– 

Page 105: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

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)

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)

らぴす(2000-2014)

Page 108: IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)

©07strikers