SlideShare a Scribd company logo
1 of 12
やさしい画像認識教室
~ゲーム編~
書いた人:YSR
http://qiita.com/YSRKEN
http://www.vector.co.jp/vpack/browse/person/an050622.html
自己紹介
• プログラミングと艦これが好きです
• 言語で言えばHSP・C++・Javaが好きです
• フリーソフトウェアを頻繁に作成しています(以下代表作)
• おりこうさんな秘書(艦これ用スクショ保存兼各種便利ツール)
• aviutl-waifu2x-cpuとaviutl-waifu2x-w2xc(waifu2xのAviUtlプラグイン版)
• HSP de 自動着色(モノクロの漫画を擬似的にカラー化する)
• フォント自動判定(画像に使われているフォントを推測する)
本題の前に
• 画像認識……パターン認識の一つで、画像から有用な情報を引き出し
て利用する手法のこと
• 昨今では機械学習の精度も向上しており、ニューラルネットワークの一種
であるディープラーニングにおいては、人間を超える認識率を叩き出す
ことも不可能ではなくなった
• 今回は画像認識の基礎的な部分について、高度な数学は用いず実例
をもって紹介します
今回のサンプル=艦これ
採用理由
• 人気ゲームである
• 画面サイズが一定で扱いやすい
• 3Dゲーではない
• 最近やってるゲームが
主にこれだった
何を判定したいか?
• 自艦隊および敵艦隊の艦船数
→先程の例では「4隻」「2隻」と答えるのが正解
• 自艦隊および敵艦隊の艦名
→先程の例では「暁・響・雷・電」「駆逐ロ級・駆逐イ級」と答えるのが正解
• 自艦隊および敵艦隊の損害判定
→「全て無傷」「全て撃沈」と答えるのが正解
判定方法=テンプレートマッチング
• テンプレートとなる雛形を先に用意しておき、それらと比較することにより
判定する手法
• 特徴点や図形的パターンを検出する手法(SIFTなど)に比べて原始的だ
が、実装が楽で速いので使いやすい
• 今回は「画像サイズ一定」「明るさがほぼ変動しない」「回転や拡大縮小も
ない」と仮定できるのでまさにうってつけの題材といえる
艦船数判定について
• 自艦隊および敵艦隊について、表示される枠の位置は一定
• しかも、各枠の位置は艦船数が変わってもそのままである
• したがって、枠の各位置においてそれが存在するかを
判定すれば良い
• 自艦隊においては、n番艦とした際、「(33, 45n+74)の位置の
色が#747572と十分近いか」として表される
艦名判定について その1
• 枠の位置が一定なので、その中にある艦娘や深海棲艦のアイコンの位
置も一定であり、またサイズも共通である
• そのままだと情報量が大きすぎるので、下図のように削減する
艦名判定について その2
• 先ほどの枠判定にしてもそうだが、100%完全に一致するとは限らないの
で、ハッシュ関数でO(1)というわけにはいかない可能性もある
• ただし先ほど抽出したクロップ画像は、小破以上で出るアイコンや煙で
隠れない位置を狙ったものなのでそれなりに頑強なはず(実コードでは
HashMapで実装した)
• マッチングする際は「どの特徴を利用すれば、頑健でかつ高速か」を考
えることが重要で、最先端の研究対象でもある
損害判定について
• 発想としては艦名判定と一緒
• 指定点(自艦隊のn番艦においては(140, 45n+60))における色データから、
「小破以上のアイコン」のものと十分に近いかを判定する
小破:#e3d052 中破:#c9944a 大破:#6d2e27 撃沈:#4b9fd4
• 小破未満の場合アイコンは付かないが、全く削れていない場合(無傷)と
僅かに削れている場合(軽微)があるので、枠の横にあるゲージで判定
実行例
• 実装に使用した言語:Java
• 動作環境:Core i7-4790K+Windows 10 64bit
※たまたま自作PCがこれだっただけで遅くても大丈夫なはずです
• 処理時間:約600マイクロ秒
まとめ・備考
• 画像認識には様々な手法が存在する
• テンプレートマッチングだけでも相当戦える
• 文字認識となると若干面倒だが、やってやれないこともない
• 今回のソースコード、および詳細な説明はこちらの記事に書いてます
「やさしい画像認識教室~ゲーム編~ - Qiita」
http://qiita.com/YSRKEN/items/819dd3acf750ff5c0e7f

More Related Content

Viewers also liked

Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識篤 富田
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料ぱろすけ
 
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―YSRKEN
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Takao Yamanaka
 
画像認識のための深層学習
画像認識のための深層学習画像認識のための深層学習
画像認識のための深層学習Saya Katafuchi
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量takaya imai
 

Viewers also liked (7)

Icml2017 overview
Icml2017 overviewIcml2017 overview
Icml2017 overview
 
Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識Watson visual recognitionで簡単画像認識
Watson visual recognitionで簡単画像認識
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料
 
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
おりこうさんな秘書 ―画像認識による高機能な艦これユーティリティへの挑戦―
 
Fisher Vectorによる画像認識
Fisher Vectorによる画像認識Fisher Vectorによる画像認識
Fisher Vectorによる画像認識
 
画像認識のための深層学習
画像認識のための深層学習画像認識のための深層学習
画像認識のための深層学習
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 

More from YSRKEN

画面座標検出アルゴリズム「ステップサーチ」について
画面座標検出アルゴリズム「ステップサーチ」について画面座標検出アルゴリズム「ステップサーチ」について
画面座標検出アルゴリズム「ステップサーチ」についてYSRKEN
 
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~YSRKEN
 
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~YSRKEN
 
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~YSRKEN
 
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編YSRKEN
 
「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法について「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法についてYSRKEN
 
艦これシミュレータ改のチュートリアル
艦これシミュレータ改のチュートリアル艦これシミュレータ改のチュートリアル
艦これシミュレータ改のチュートリアルYSRKEN
 

More from YSRKEN (7)

画面座標検出アルゴリズム「ステップサーチ」について
画面座標検出アルゴリズム「ステップサーチ」について画面座標検出アルゴリズム「ステップサーチ」について
画面座標検出アルゴリズム「ステップサーチ」について
 
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~
「畳み込み」が無敵だといつから錯覚していた?~艦これ航空戦におけるスロット毎の相互関係が引き起こす悲劇について研究と考察~
 
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~
艦これ航空戦の理論値解析~航空戦におけるSt1撃墜・St2撃墜についての研究と考察~
 
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~
ゲーム vs 画像認識 ~通信傍受に頼らない状況判断技術~
 
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編
艦これ支援ツール『おりこうさんな秘書』解説 3:編成まとめ編
 
「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法について「おりこうさんな秘書」に使われている技術・手法について
「おりこうさんな秘書」に使われている技術・手法について
 
艦これシミュレータ改のチュートリアル
艦これシミュレータ改のチュートリアル艦これシミュレータ改のチュートリアル
艦これシミュレータ改のチュートリアル
 

やさしい画像認識教室 ~ゲーム編~