ABEJA Tech Blog

中の人の興味のある情報を発信していきます

競走馬骨格推定 ウマ娘から競馬にドハマリしたデータサイエンティストが競馬×AIの可能性を考える

本記事はABEJA Advent Calendar 2022 18日目の記事です。

こんにちは! 今年10月からデータサイエンティストとして働いている安倍(あんばい)と申します。

ウマ娘から競馬を知り、気がつけば週末は必ず競馬場にいる筆者が、競馬予想に留まらず、競馬xAIの可能性と未来について語ります。 多くの競馬ファンの皆様に楽しんでいただけるよう、可能な限り難しい技術の話しは省いておりますので、気軽にご覧いただけると幸いです!

目次

事の発端

皆様、馬券の調子はいかがでしょうか?競馬にハマりたての頃はしっかり分析を行い、予想を立ててきた筆者ですが、今となっては推し馬の馬券だけを買う生活を送っています。

競馬予想は大きく分けて2つのフェーズが存在します。1つ目が前述したデータ分析、2つ目が当日の馬の体調です。 これら2つを重ね合わせた上で、馬券を購入される方が多いのではないでしょうか?

データ分析は様々なサービスを利用することで簡単に閲覧することができますし、AI予想も多く見かけます。 しかし、馬の体調はどうでしょうか?厩務員や調教師、獣医、騎手といった専門家であれば、容易に分かるのかもしれません。

この馬の体調を何とかして、予想することができないのか?これが本記事のテーマです。

調子のいい馬ってどんな馬?

調子のいい馬とはどんなどんな馬でしょうか?

筆者は2つあると考えています。1つ目が「勢い」、2つ目が「レース当日の体調」です。

勢い

勢いについては多くの方が理解できるのではないでしょうか。直近のレースで好走した馬は次走でも好走する傾向があり、勢いは調子の良さと言えそうです。そんな精神的なものが馬にあるわけがないと思う方もいらっしゃるかもしれません。しかしながら、勝ち続けていた馬が負けて涙を流したというエピソードや、負けてから勝てなくなったというエピソードがあることから、勢いは重要な要素であると筆者は考えています。

レース当日の体調

日本中央競馬では最短距離が1000mのレースから、最長は3600mのレースまであり、馬の適性に応じたレースに出走します。 目標のレースに向け、トレーニングや食事管理、休息を行った上で当日を迎えるわけです。それでも尚、当日の体調が良くなければ結果はでません。

これは競走馬に限った話ではなく、人間のアスリートや、普段生活している我々にも当てはまることです。 筆者は偏頭痛持ちのため、突発的に頭痛に襲われることもあれば、気圧の影響で具合が悪くなることがしばしばあります。 そう考えると、非常に当日の体調というのは大きな影響を持ちそうなことが分かります。

専門家は見ただけで馬の調子が分かるのか?

テレビ中継や、競馬配信サービスでは、解説付きでパドックの様子を見ることができます。 「調子が良い!」と解説の方が言うのであれば買ってみようかな?と馬券を購入し、後悔された方は多くいらっしゃるのではないでしょうか。 筆者も類に漏れず経験をしており、疑心暗鬼に狩られた筆者は、知り合いの厩務員に「本当に馬の調子なんて分かるの?」と質問をしたことがあります。

さすが専門家といったところでしょうか。歩き方や毛艶の良さはもちろんのこと、馬の性格まで一目瞭然で分かるそうです。

調子のいい馬をAIを使って予想してみたい!

アイディア

専門家が馬の調子を理解できるというのであれば、それを何とかしてコンピュータ、AIで実現したいと思うのがデータサイエンティストという職業です。 実際にAIでどんなことができるのでしょうか?筆者が思いついたアイディアは2つあります。

  1. 写真から毛艶の良さをAIで予想する
  2. パドックの歩き方から、調子の良さをAIで予想する

本記事では、2つ目の「パドックの歩き方から、調子の良さをAIで予想する」の実現を目指します。

骨格推定

AIはデータが無ければ何もできません。そのため、まずは馬の歩き方を何とかしてデータにする必要があります。 そこで、今回利用したのが、骨格推定と呼ばれる技術です。骨格推定とはどんな技術なのでしょうか?

骨格推定例: 筆者の場合

こんな感じの技術です。

人間であれば、顔、指、腕、足といった特徴的な部分の動きを、AIを用いて予想する技術です。 骨格推定は下記のようなことに応用することができ、非常に社会にとって有意義な技術です。

  • 姿勢推定による怪我の予防や、リハビリ・ヘルスケアのサポート
  • スポーツやダンス等、フォーム解析によるパフォーマンス改善
  • 不審な行動の分析・検出・予想
  • 3DCGを使ったアバター操作やゲーム開発

動画のように、骨格推定を馬に対して適応することができれば、馬の歩き方や、各関節の動きをデータとして取得することが可能です。

競走馬骨格推定モデルの作成

ここからは、どのように競走馬の骨格を推定したかという技術的な話しになります。

データセット

Horse10Benchmarkと呼ばれるデータセットを用います。 www.mackenziemathislab.org

JRAサラブレッド講座 競走馬・馬体の仕組み、によると、競走馬は60個の骨格を持ちます。 Horse10Benchmarkではこれらの骨格のうち、22個が記録(ラベリング)されたデータセットになります。 https://www.jra.go.jp/kouza/thoroughbred/mechanism/bone/img/pic_main.jpg www.jra.go.jp

モデル

Horse10Benchmarkは動物の骨格を推定するプロジェクトで使用されており、調査したところmmposeとDeepLabCutと呼ばれるプロジェクトにて既にモデルの構築が行われています。 これら2つを実際に使用し、使い勝手の良さや精度、カスマイズ性という観点から、本記事ではmmposeの学習済みモデルを使用することにしました。 github.com github.com

モデル動作確認

さて、準備したモデルを実際に使用してみましょう。

しっかりと馬の骨格を推定することができています!

ここで改めて、当初の目的を確認しましょう。 推定したいのは「パドックにおける、競走馬の骨格」です。 パドックという、自然とはかけ離れた環境においても、骨格を推定することができるのでしょうか?

パドックの様子 あまりにも自然とかけ離れている

いざ!競走馬骨格推定!

推定結果

競走馬骨格推定
いかがでしょうか? 鼻や目、足の骨格をおおよそ正しく推定できているように見えます。試しに、鼻の動きをグラフにして確認してみましょう。
鼻の時系列プロット

グラフの縦軸は画面上における位置、横軸は時間経過を表しています。 左側の画像は動画における、鼻の横の動き(X座標)、右側は縦の動き(Y座標)を表しています。

右側の画像を見ると、波が上下していることが分かります。 これは、馬が鼻を上下に揺らしながら歩いていることを表しており、実際に動画でもその様子が確認できます。

調子の良さを推測する

競走馬の骨格を推定することで、各骨格の動き、厳密に言えば時間ごとの骨格の座標位置をデータとして取得することができました。 ここから、馬の調子を予想することは可能なのでしょうか?

最も簡単な方法は普段のデータと比較をしてみることです。 推定結果で得られたデータと、擬似的に作成した異常時のデータを見比べてみましょう。

例えば、普段はおとなしいのに、その日だけ異常にテンションが高く、物凄く頭を上下させている馬がいた場合、この様なグラフが得られるのではないでしょうか。 普段よりも波の上下が激しくなっており、グラフを見ただけで、いつもと違うということが分かります。

鼻の動きの比較

歩き方はどうでしょうか。後ろ足の蹄の動きをグラフにしてみます。 途中、100 Frameあたりでグラフが一瞬跳ね上がっているのが分かります。馬がビックリして一瞬だけ歩き方が変わったかもしれませんし、はたまた、足に異常があり、歩くことに支障がでているかもしれません。

後ろ足の蹄の動きの比較

このように、平常時のデータを取得することができていれば、普段との比較ができますし、人間の目では見落としてしまいそうな小さな変化も気がつくことができそうです。

競馬×AIの可能性

競走馬の世界は非常に過酷です。骨折をすれば予後不良で殺処分となりますし、少しの怪我でも引退を余儀なくされます。 いくら専門家であっても、人間の言葉は通じませんので、調子を推測するには限界があります。

今回挑戦した骨格推定以外にも、様々な技術を用いることで、専門家のサポートや怪我のリスク低減に貢献することができると筆者は強く感じています。

しかしながら、課題は多く残ります。 実は、今回のプロジェクトで行った骨格推定の大半が失敗に終わっています。

手綱を引く厩務員様や、パドックの柵と馬が重なってしまうと、正しく骨格の推定はできません。また、馬の毛色や撮影距離、角度、明るさ等も検出に大きな影響を与えることが分かりました。

骨格推定失敗例

極めつけは、一頭一頭のデータを蓄積するには膨大な手間と、労力がかかるということです。2022年11月27日時点で、JRA日本中央競馬会に登録されている競走馬は、おおよそ9000頭です。これに地方競馬所属の競走馬も加えた場合、一頭一頭のデータを蓄積し、骨格推定を行うのは非常にコストが高いと言えます。 www.jra.go.jp

そんな中、JRA日本中央競馬会は「AI」×「パドック動画」をタイトルに、馬別のパドック映像の提供や、今回筆者が取り組んだ骨格推定を用いた歩用解析の実証を始めています。

筆者が可能性を感じたAIを用いた競走馬の体調管理も、遠い未来ではなさそうです。 jra-van.jp

最後に

最後までご覧いただきありがとうございました!少しでも面白い、興味深いと思って頂けたら幸いです。

さらなる精度向上や、今回取り組むことができなかった毛艶の予測についても、取り組みたいと考えています。Twitter、GitHubにて情報を発信しておりますので、合わせてご確認頂けたらと思います。

最後に、ウマ娘骨格推定の結果を置いて終わりたいと思います。ご覧いただきありがとうございました!

twitter.com github.com

謝辞

末筆ながら、本記事の執筆にご協力いただきました皆様に深く感謝申し上げます。

とりわけ、各種撮影にご協力いただきました、ご学友のデータサイエンティスト、セーター氏には深く感謝申し上げます。