urara-challenge

ウララチャレンジレポート

ウマ娘って馬と人間のどちら側なんでしょう…


はじめに

ウマ娘を知ったのがAmazon Primeのサブスクでアニメを見たことでした。とても面白かったので一気に2期すべて見てしまいました。

エピソードは以下のリンクから↓

はてなブログ:ウマ娘はレース場で「馬」となる?

アニメを見ながら、「ウマ娘」は「馬」なのか「人間」なのかどうか気になってきました。

世界観的に「ウマ娘」は「ウマ娘」であり、それは間違いないのですが…モンスター系の作品だと必ずと言っていいほど出現する生物的な考察記事やスレッドが散見されます。

ウマ娘も例外なく議論や考察がなされていますが、いまいちはっきりと結論がついていない雰囲気です。あとは、人間と同等のことができて身体能力が長けているのなら人間勝てなくね?という考察とかもちょこちょことみかけました。

馬と人間の特徴をそれぞれ当てはめるとどう考えても人間要素のほうが強い気がしますが、やっぱり気になってしまうものなので深層学習パワーではっきりと決着をつけることにしました。

すると予想もしない結果が出てしまいました。

アニメで見たウマ娘を深層学習に通すとどうなるのかな〜と思ってゲームのチュートリアル画面をdarknetに通してみたら、
本当に馬だと判定されてしまい困惑しています🐎 pic.twitter.com/XVgqo5zD1s

— Ar-Ray (@Ray255Ar) December 5, 2021

結果に驚きつつも、その理由を探るための長い旅が始まるのでした🐎

GradCAMによる検証 参考リポジトリ

GradCAMとは、最終の畳み込みの特徴マッピングについて最終的な分類スコアの勾配を計算してその表示を行うアルゴリズムです。分析結果は赤→黄色→青の順に強く反応していることを示しています。つまり、赤色で示されているところはAIが強く見ているよ👀ということです。

例えば、ぬいぐるみの画像をGradCAMで解析した結果を以下に示します。2つともぬいぐるみと検出されており、特に中央付近がぬいぐるみの強い検出根拠となっていると言えます。

実際のレースやライブ(ゲーム画面)画像に対してそれを適用してみました。以下の画像はyolov5+pytorch-grad-camのアウトプットを手動合成したものになります。

heatmap06-uma

ウマ娘の判定では、人間判定と馬判定に少し違いが見られました。例えば、人間判定で強く認識されている部分は腰の部分ですが、馬判定では周辺の地面も巻き込んでいるように見えます。


実際の馬の場合はどうでしょうか?東洋経済オンラインの記事の画像をお借りし、解析を行いました。

結果を見ると、先程のウマ娘の馬判定に見られた背景を巻き込んだ反応が見られています。2枚だけではこの根拠を説明するには不十分ですが、これまでの検証の傾向を見る限りだと馬判定を行うAIは検出時に背景も見ているのかもしれません。

ニコニコ動画

ニコニコ動画のニコニコ技術部タグで動画を投稿しました。初投稿でありながら3000回再生されました。

ウマ娘はAI的に馬?人間?の検証(ハルウララのシニア有馬記念1着攻略解説あり)-ニコニコ動画

ウマ娘ごとの検出結果

馬と人間の検出根拠の違いは分かったと思います。では「ウマ娘」ごとの検出結果はどうでしょうか?

そこで、urarachallenge_analyzerプロジェクトを作成して自動化スクリプトを組むことにしました。ウマ娘は50種類以上いますからね…

検出手順(urarachallenge_analyzer

詳しくはGitHubリポジトリ(urarachallenge_analyzer)を見てください。

検出条件(Make debut! ①)

収録条件

キャラクターセッティング例

検出条件

結果(Make debut! ①)

番号 キャラクター 人間 テディベア 検出なし
01 スペシャルウィーク 68.6% 4.5% 0.5% 0.0% 26.4%
01+ スペシャルウィーク(水着) 52.7% 0.5% 5.5% 2.7% 38.6%
02 トウカイテイオー 56.4% 5.5% 1.4% 4.1% 32.7%
03 マルゼンスキー 55.5% 11.8% 1.8% 2.3% 28.6%
04 オグリキャップ 54.1% 3.6% 2.3% 3.6% 36.4%
05 ゴールドシップ 69.1% 1.4% 0.0% 2.3% 27.3%
06 ウォッカ 71.4% 6.4% 0.0% 1.4% 20.9%
07 ダイワスカーレット 56.4% 8.6% 0.0% 5.5% 29.5%
08 タイキシャトル 64.1% 3.2% 2.7% 5.9% 24.1%
09 グラスワンダー 55.0% 6.4% 0.9% 3.6% 34.1%
10 ヒシアマゾン 35.9% 17.7% 0.0% 11.4% 35.0%
11 エルコンドルパサー 53.6% 12.7% 0.5% 1.8% 31.4%
12 シンボリルドルフ 43.6% 13.2% 0.5% 5.5% 37.3%
13 エアグルーヴ 59.1% 5.5% 0.0% 1.8% 33.6%
14 ファインモーション 67.7% 8.2% 1.4% 2.3% 20.5%
15 マヤノトップガン 41.8% 11.8% 3.6% 6.4% 36.4%
16 メジロライアン 70.9% 5.0% 0.5% 2.7% 20.9%
17 アグネスタキオン 63.2% 10.0% 0.0% 1.4% 25.5%
18 ウィニングチケット 75.9% 3.2% 0.0% 1.8% 19.1%
19 エイシンフラッシュ 68.2% 5.5% 0.0% 2.7% 23.6%
20 サクラバクシンオー 66.4% 5.9% 0.5% 4.1% 23.2%
21 スーパークリーク 64.1% 7.3% 0.0% 4.5% 24.1%
22 ハルウララ 65.0% 3.6% 0.0% 4.5% 26.8%
23 マチカネフクキタル 68.2% 5.0% 0.9% 3.6% 22.3%
24 メイショウドトウ 61.4% 1.8% 0.0% 1.8% 35.0%
25 ナイスネイチャ 55.5% 7.7% 1.4% 2.7% 32.7%
26 キングヘイロー 67.7% 5.9% 0.9% 1.4% 24.1%
27 メジロブライト 43.2% 14.1% 0.0% 4.1% 38.6%
28 ミホノブルボン 52.3% 4.5% 0.0% 11.4% 31.8%
29 マンハッタンカフェ 49.5% 5.9% 0.0% 5.0% 39.5%
30 サトノダイヤモンド 53.6% 13.2% 0.5% 3.2% 29.5%
31 アグネスデジタル 43.2% 8.2% 0.0% 10.5% 38.2%
32 キタサンブラック 57.7% 5.0% 1.4% 3.6% 32.3%
33 マチカネタンホイザ 57.3% 9.5% 0.0% 3.2% 30.0%
34 ニシノフラワー 61.8% 4.5% 1.4% 1.4% 30.9%
35 セイウンスカイ 59.5% 2.3% 0.9% 5.9% 31.4%

ランキング(2022年2月時点)

追加予定

勝負服などを追加予定です。