Custom Vision Service を使用して 三国志大戦4 の 解任済み武将カードの画像か判定する

kameyatakefumi.hatenablog.com

前回、SR董卓を判定しようとして失敗しました。

Custom Vision Service の説明が結構フワッとしていて、なんとなしに使ってしまいました。
使ってみて改めて考えてみると、画像から特徴を抜き出し概念として捉えているっと思いました。

その概念にタグを設定して識別しているんじゃないかな。

なので、SR董卓といった個ではなく、もっと抽象的なものを判定するのに向いていそうっというわけで 解任済み武将カード を判定する事にしました。

前回、判定に使用したSR董卓は、解任済み武将カードの一覧から一点だけ抽出したものになります。

以下を学習させます。

解任済み武将カード
f:id:kameya_takefumi:20171016164400p:plain

Twitterハッシュタグより適用な画像を判定させてみます。
twitter.com

結果は以下の通り。
f:id:kameya_takefumi:20171016165009p:plain

お!いい感じです。

色々と試してみましたが、明らかに違う画像に対して高得点を付けているものが何点かありました。
Custom Vision Serviceさん、私にはわからない共通点を見出しているんだろうか。

この明らかに違うものを排除していくにはどうするんだろう。
そのタグに対するケースを増やしていき精度をあげるのが王道っぽいですね。
エラーケースを追加して個別に裁く方法は取れないように思える。

あとは、何点以下は除外といった しきい値 の設定ですね。

人間の仕事って良い学習データを集めてきて Custom Vision Serviceさん に与えて、しきい値を調整するっていう泥臭い事なのかな。
なんか農業している気になってきた。

kameyatakefumi.hatenablog.com

Custom Vision Service を使用して 三国志大戦4 の画像を判定する(失敗)

kameyatakefumi.hatenablog.com

Computer Vision API - OCR での読み取り結果が辛いので別の方法から判定できないか試してみる。
良さそうだと思ったのが Custom Vision Service というサービス。

Custom Vision Service | Microsoft Azure

さっそく学習データを用意する。

第1弾 群 SR 董卓
f:id:kameya_takefumi:20171013153956p:plain

将器主 速度上昇
f:id:kameya_takefumi:20171013154022p:plain

以前の画像を読み込みます。
f:id:kameya_takefumi:20171013133242p:plain

結果は以下の通り。
f:id:kameya_takefumi:20171013154251p:plain

は?
わくわくしてただけに心理的なダメージがありますね。

学習データが悪いのか、用途がそもそも間違っているのか、今の知識では判断がつきません。

画像の部分一致的な使い方ではなく、全体一致的な使い方のほうが適していそうですね。
そもそもそういうものでもない気がしますが。
ちゃんとした知識あれば、やらない失敗をしている気がします。

今回やってて思ったのが学習データを集めるのが非常に面倒だという事です。
面倒だと聞いてはいましたが、本当に面倒です。

どういう単位でタグをつけるのか、また処理の全体としてどう位置づけて利用するのかは人間の仕事だと感じますね。

私のやろうとしている事が単純すぎて Custom Vision Service が高度すぎるのかな。

kameyatakefumi.hatenablog.com

Java で Cognitive Services の Computer Vision API - OCR を利用する

kameyatakefumi.hatenablog.com

勉強会に行って満足するのではなく、実際に触ってみよう。
公式に Java のサンプルがあるので助かります。

Computer Vision API Java quick starts | Microsoft Docs

実行してみると、ちゃんと動きました。
素晴らしい。

APIを試しに使ってみるだけなら以下のサイトでも行える。

Computer Vision — 画像処理および画像分析 | Microsoft Azure

試しに三国志大戦4の画像 SR董卓 を読み込ませてみる。

f:id:kameya_takefumi:20171013133242p:plain

結果は以下の通り。

No. 9196 5814 9182 2459 5557

ア ー ケ ー ド

SRT 卓

1 彈

解 任 日 時 .

◇ 復 活 ◇ 復 活 ・ 攻 城 登 用 期 限

17 / 10 / 10 20 : 33

: 11 / 08 03 : 59 : 59

辛い。
他にも何点か画像を読み込ませて結果を見てみました。

画像サイズも重要なんだけど、フォントの種類で認識精度が変わりそうだと思いました。
フォントの種類は環境で違うので辛い所がありますね。

どの画像を読み込ませても、上の画像の「速度」の部分が文字と認識されない。
API的には記号でしかないようです。

人間の認識って凄く曖昧で、わかった気になっているって事が多いのかな。
それがある意味で凄いって事なんだろうけど。

文字の認識は、記号を読み取って、それを文字フィルターで拾っている感じになっているんだろうか。

使ってみるとAPIの特徴がわかってきていいですね。

kameyatakefumi.hatenablog.com

いま注目のMicrosoft最新テクノロジーをキャッチアップ ~ Azure、Cognitive Services、Xamarin ~

java-kuche.doorkeeper.jp

田淵義人氏

Xamarin概要と活用方法

新垣雄志氏

はじめてのAzure App Service for linux と Web App for Containers

大森彩子氏

Java Küche Introducing Cognitive Services_20171007


大森彩子氏 の資料はURLを控えていたんだけどアクセスできず、探していたら色々と見つけました。

Ayako Omori - Docs.com
ayako-omori | Speakers | Channel 9


今回の内容は非常によかったです。

田淵義人氏 の資料には Xamarin を使う上での指標がある程度示されているので、やり始める心理的ハードルが下がっていいですね。
他にも .NET のグチャグチャしている部分が視覚的にわかりやすくなっているのは助かります。

新垣雄志氏 の資料は実ビジネスで使っている点が見て取れて参考になります。
色んなサービスを利用したデモなので、最初にサービスの関連を表す一枚絵などがあり、各サービスの概要説明があると知識がない人も理解しやすかったのかなぁと思いました。

大森彩子氏 の資料は素晴らしくバランスがいいですね。
テーマとゴール、キャッチーな言葉(早く面白いことをやったヤツが優勝)、前提知識の説明、CognitiveServices の機能と利用例、デモの実施 と完璧ですね。

皆さん真面目?というかビジネス面が強かったので、それが好印象というか、私が好きな雰囲気の回でした。
会社から卒業していった方々とも久しぶりに話せて非常によかった。

白竜HADOU 4

暴力市場編は、えっ?これで終わりって感じですね。

都知事の結末を書いていない、書けないというか。
リアルタイムすぎて結末を詰めれなかった感じが強いですね。

終わりに向けての雑さが目立ちますね。

特にアナウンサーが抱かれるまでの流れは凄い。
わざわざUSBメモリを娘さんから渡してもらって名前も明かしていないのに、あとで高級ホテルでご飯を食べて抱かれるってなんやねん。

あと、白竜の顔の書き方が変わっている?

神の調合師編はパナソニック三洋電機が出てきてテンションがあがりましたが、白竜が韓国企業側に付く動機が今のところわかっていない(と思いたい)。
本当に動機が口利きして10億円が欲しいってだけなら悲しいよ。

白竜の行動にはある種の信念があったんですが、それが見えないまま話しが進みそうでモヤモヤしている。

頼むよー。

kameyatakefumi.hatenablog.com
kameyatakefumi.hatenablog.com