三日坊主ブログ

三日坊主ブログ

あきたらやめます

楽してユリアンを上手くなりたい①

近況

Twitter断ちをしようと思って、iPhoneのスクリーンタイムパスコードを変えた。 https://3daysbouzu.hatenablog.com/?page=1593529066

記録を残しておくのは大事だなぁ。

以下の話

SF5をいい加減やるやる詐欺が続いてるので、ユリアンでも触ってみるかとなる。

どうせなら、プレイする時間をできるだけ減らして楽にうまくなりたいと思ったので、パソコン様を駆使して頑張ろうとなった。

というわけで、まずはユリアンのVトリガー、Vスキルはどういったものが使われているかを調べる。

調べ方

CFNのリプレイ再生前の画像を収集して、そこに写ってる情報をまとめる。 画像を見れば、いつ、誰と、どのキャラと対戦して勝った負けたまでわかるので。

f:id:sky2564:20211007003230p:plain
こういう画像

収集対象はT●kido77777氏とT●yaAkira氏とする。なんかサブキャラとか使ってなさそうなので。 画像は7000枚を集めた。

f:id:sky2564:20211007003302p:plain
ここは気合

切り抜き

集めた画像から必要な部分だけ切り出す。 キャラクタ、トリガー類、ラウンド結果など。

f:id:sky2564:20211007003327p:plain
キャラ画像

f:id:sky2564:20211007003341p:plain
トリガー類

キャラクタを分類する

どのキャラに対してどのトリガー類を使っているかを知りたいので、相手キャラと使用トリガー類は組で記録したい。 相手キャラを分類する方法として考えられるのは

  1. 目視で分類
  2. 教師なし学習でざっくり分類して、目視で整備
  3. 教師なし学習をしっかりやる

1.と2.は気合が求められるので、疲れてしまう。よって3.で頑張ることとした。 2.に関しては、分類したいクラス数がわかっていればKmeansで分類すれば良い気がするが、全キャラ分の画像が得られているかわからないので微妙かなと思いパス。

教師なし学習はMeanShiftでやる。 Bandwidthは2で、Sklearnのサンプル通り。

前処理

イマイチ手法を知らないのでテキトーに前処理として二種類使った。

一個はキャラクタ画像のヒストグラムをとる場合。bin数は256なので、RGBで256*3次元のベクトルになる。

もう一つは事前学習済みのResNet18を使った前処理。1000次元のベクトルが得られる。

f:id:sky2564:20211007003403p:plain
左から画像、対応するヒストグラム、ResNet出力

得られた特徴量を使ってMeanShiftに投げる。

眠くなったので次回に続きます。きっと。

また書きます。