ひいろのゲーム帳

かんぱにガールズやコズミックブレイク、艦これ等を中心としたオンラインゲーム関連全般

[艦これ]驚異の技術力(執着心?)!!「艦これウィジェット」

      2015/06/15

 以前当ブログで取り上げたGoogleChrome用拡張機能である艦これ用専用機能?の「艦これウィジェット」が実は、すごい仕組みで動いているという事に気づきました。
参照:
[艦これ]艦これ専用ブラウザがChromeにもあるらしいので調べたよ
ae87fd12.jpg

 「GoogleChromeの拡張機能だから専用ブラウザでは、無いも~ん!!」という趣旨の記述が作者のサイトにあります。Chromeのサイトでもカテゴリが「仕事効率化」になっています。間違っていないかも知れませんが。
 しかし、IEコンポーネントを使用しているソフトと何が異なるのか解りません。

 IEコンポーネントを使用しているソフトは、IEの機能を使用している訳ですしChromeの拡張機能は、Chromeの機能を使用している筈です。
 双方共にブラウザの機能を使用している訳ですからそうすると「艦これウィジェット」も艦これ専用ブラウザでは?と疑問に思います。艦これの為の機能なのですし。
 
 ん~~、要するに「Chrome拡張は、Chromeだけ起動するけど他のソフトは、自作ソフトの上にIEコンポーネントが乗っかって動いているでしょ?」という事なんでしょうか?
 「厳密に言うとブラウザ&HTML関連パーサ自体も艦これ用に自作しないと艦これ専用とは、言わない」とかという話も出てきてしまいます。

 何でも赤く塗ってツノを付けておけば「専用」になるのは、あの人位です。

 IEを通常通り使用しているかIEコンポーネントを使用しているかは、サーバー側で検出可能なのでしょうか?
 User-Agent位しか識別方法が無いような気がするんですが。
 とりあえず、この辺りの話は、興味がある人は、詳しい人に聞くなり勝手に調べてもらうとして。

 各艦これ関連ツールとか自作ソフトは、皆名前もカテゴリも「自称」ですので作者の方が専用ブラウザでは、無いと言うならそういう風に取り扱ってあげないといけないのかもしれません。

 日本では、この手のソフトウェアの取り扱い規約は、作者が一方的に決められるらしいですしね。
 で、この「艦これウィジェット」のどこが驚異なのかと言うと遠征、建造時の開始時間の取得方法にあります。

 他の専用ブラウザだとパケットキャプチャしたりJSON方式のデータを解析して取得しているようですがこのソフトは、なんとOCR(Optical Character Reader)を使用して画像解析をしているのです。

 文字データでは、無く画像です。画像。

 前回取り上げた時点では、この点には、気づきませんでした。
 Chrome嫌いなので適当に見てたしね♪

 人間がドラ●もんとドラ○ちゃんをどうやって区別しているかといえば目で見た物が神経信号になって脳に伝達されて青い狸と黄色い猫を区別する訳です。
 では、それが狸か猫かと識別する方法は?狸と猫以外の空間との認識は?と疑問が沸きますが脳外科の先生様が言っていた事だとぼやっとした形(パターン)を人間の脳は、記憶していてその形や色に近いものを当該の生物なり物体だと判別するんだそうです。

 なのでドラ●もんの輪郭や特徴、色だけぼやっと覚えていてそれに合致するかどうかを脳内に蓄積されている情報(パターン)に総当りするらしいです。
 で、一番近いものがあったらそれを見た事があるもの。つまりドラ●もんと認識するんだそうです。

 なのでお化けは、この認識力が動作している際に人の顔だったり手の形に近いパターンがあるとなんとなく天井のシミが人の顔に見えたり柳の木の葉に月明かりがあたった時にたまたま人の形に見えるとかという錯覚から見えるんだと言っていました。

 コンピュータは、どうやって認識するかというといくつかの方法があるようですが簡単なのは、輪郭の線を強調して識別しその中にある特徴的な箇所をデータとして残しておいてその配置が近い場合に該当の物体と認識するというのがあります。

 人の顔などは、目、鼻、口、耳、顔の輪郭等特徴的な点が識別用の点として扱われるようです。

 今回の「艦これウィジェット」は、文字を取得するので生物や空間の物体よりは、解析が楽であると思いますけどそれでも画像を解析してもそれがなんという文字か数字かを判別する為のデータが無いと意味がありません。

 で、作者のサイトを閲覧していたらどうやらOCRサーバーを独自に稼動させて文字読み取り時にそのサーバーに画像を投げて結果をウィジェットに表示させているみたいです。

 しかもOCRエンジン部分は、WebApiで公開されている物を使用しているっぽいです。
 作者のGithubの方には、Docomoの文字認識WebApiを使用する試行錯誤の記録が残っています。

 他にエンジン名が出てこないのでDocomoエンジンなのかな?
 この辺り実際どうしているのかは、不明です。 (自作OCRは、なかなか個人では、難しいと思いますので何かしらの外部依存は、している筈ですよね。)

 ですが実際に必要な箇所を画像から指定して抜き出す箇所は、独自に作成されているようです。
 艦これの画面全部OCRにかけても提督レベルとかヒマワリメニューの文字とか要らない情報も大量に付いてきてしまいます。遠征開始時の時間を取得する場合、艦これの画面から遠征開始時間だけ抜き出さないといけないでしょ?

 それがトリミングとか言っている箇所なんだと思います。
 開発履歴を読むとその精度が上がったとかなんとか記述があるのでやはりそれなりの試行錯誤があったのでしょう。

 その結果なんとパケットキャプチャもサーバーからのデータ解析も行なわない艦これ専用ブラウザ「艦これウィジェット」ここに光臨!!ばば~~ん!!

 あっ?艦これ専用Chrome拡張機能だった。

 見よ!この作者の艦これへの執着心!
 震えろ!わざわざイバラの道へと自ら飛び込むチャレンジ精神!

 という訳でこの作者の艦これへの執着心は、相当のもののようです。
 開発更新も続いていますしね。

 このやり方だと作者が言うように運営の言う「不正なプログラムやスクリプトの禁止」に抵触しようがないので問題無しソフトになってしまいます。

 ただ、やはりOCR使用しているのでその解析精度や解析サーバーの速度に依存する箇所があるのも事実。

 艦これ関連ソフトは、運営規約と照らすと皆一長一短、脛に傷があるもの等なかなか安全に使用できて決め手になるのが出て来ませんな。

 不正スクリプトとか使用する連中がいなければあの乗りの運営なら「厳密には」とか言わずに黙認されたかもしれんのに迷惑至極。

参照:
艦これウィジェットの作者サイト

 - 艦これ