ABEJA Tech Blog

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

【AI×競馬】馬の記事を書いたら講演依頼がきた話

本記事はABEJAアドベントカレンダー2023 19日目の記事です。

こんにちは!データサイエンティストの安倍(あんばい)です。

最近の趣味は競馬布教です。 社内のNotionページに毎週予想を記載し、それを信じて馬券を購入する同僚が徐々に増えてきています。残念ながら、全体収支はマイナスのようです。

さて、今回のテーマですが、昨年投稿した「競走馬骨格推定」の続き話となります。嬉しいことに、読者の方から講演依頼を頂き、実際に発表、議論をしてきましたので、その内容についてご紹介したいと思います。 tech-blog.abeja.asia

目次

競走馬骨格推定について

まず初めに、昨年執筆した競走馬骨格推定について、簡単に説明をします。

競走馬骨格推定
鼻の時系列プロット

こんなものを作りました! 各骨格のポイントを正しく推定することができれば、骨格の座標位置を取得し、時系列データとして扱うことができます。 平常時の歩き方のデータと、異常時(テンションが高い時や怪我をしている時)のデータを比較することで、馬の体調や、怪我の予測をすることが出来るのではないかというアイディアです。

興味がある方は、こちらをご覧ください。

※弊社事業とは関係なく、個人で開発しているシステムとなります。

講演依頼

「育成牧場や、競馬関係組織から案件こないかなー」と思いながら、入社から1年が経過した今年10月、X(旧 Twitter)にて1件のDMが届きました。

こんにちは。いきなりのDMご容赦ください。
安倍さんの馬骨データにもとづく予測という記事を拝見いたしまして大変興味深く、是非お話を伺うことができないかと思い連絡させていただきました。
色々とお忙しいと思いますが、もしご協力をいただける可能性があるのであれば返信をいただけますと嬉しいです。どうぞよろしくお願いいたします。

筆者は採用活動にも携わっていますが、このようなケースは非常にレアです。 テックブログやプレスリリースを見て興味を持ち、カジュアル面談を受けて下さる方はたくさんいらっしゃいます。 一方で、単純に興味があるから聞いていみたいという理由で、個人宛に連絡が来るケースはあまり聞いたことがありません。

こんな珍しい機会を逃す訳にはいかないという採用の気持ち。連絡を頂けた嬉しさ。このプロジェクトの素晴らしさを、ついに自慢する機会が訪れたという欲望。詳細を聞かずに即諾しました。

発表してきた

発表中の様子

発表してきました!オフライン4名、オンライン2名の計6名が参加して下さいました。 参加頂きました皆様に、この場をお借りして感謝申し上げます。

発表会は冒頭30分が記事の説明、残り30分で議論という構成で進行しました。今回は議論の一部を抜粋し、ご紹介したいと思います。

※ 以下の文章はメモを元に、筆者が発表当時を思い出しながら、一部LLMを利用して、作成した文章となります。

議論の様子

参加者 : これを実際に使って賭けたりしましたか?

筆者 : 馬券を当てる目的では作っていないので、賭けてはいません。あくまでも、目的は馬の怪我の予測ですね。

参加者 : 骨格推定の技術自体も凄いけど、そもそもの視点が私たちと違う(笑)

筆者 : 当然ちゃんと実用化レベルまで行けば賭けるかもしれません。ただ、そのレベルまで行けば、牧場や競馬に関連する組織にシステムを売ったほうが儲かりますね。そこを目指したいですが、記事を書いてから約1年。声をかけてくださったのは皆さんが初めてでした(笑)


参加者 : パドックの内側を歩くか、外側を歩くかで、やる気が分かるってよく言うじゃないですか。歩き方以外にも、位置って重要になりませんかね?Z軸とか取れたらできるんですかね?

筆者 : その視点は無かった!今日参加した甲斐がありました(笑)仰るとおり、外側内側の違いはありそうですね。加えて、牡馬と牝馬の関係で、パドックの順番も変わると聞いたことがあります。こういったと所も、何かできるかも。話しを戻しますが、Z軸の取得は可能だと思います。ただし、撮影位置を固定する必要があります。同じ撮影環境化であれば、座標の違いとして検出は可能です。ですが、これは関係者でない限り現実的では無いですね。。

参加者 : なるほどー。確かに難しいかも。。ちなみに、パドック以外のデータでも推定は行いましたか?返し馬(パドックからコースに入り、ウォーミングアップをすること)とか。

筆者 : 返し馬は上手く推定できませんでした。皆さんはご存知かと思うのですが、走ってる馬ってめっちゃ速いんですよ(笑)普通のカメラのフレームレートではブレたり、各骨格を完全に追いきれなかったりするので厳しかったです。ハイスピードカメラとかじゃないと厳しいですね。。。


参加者 : 私はパドックでお腹周りを重視して見ます。骨格推定の技術で、お腹の変化とか分かりませんかね?

筆者 : セグメンテーションと組わせると、お腹の大きさ分かるかもしれませんね。ちょっと今やってみましょうか。SAM(Segment Anything)のデモやってみましょう。

SAMデモ結果

一同 : おーーー!凄い!!!

筆者 : これ凄いですよね。Pythonでも使えるので、是非試してみて下さい。SAMと骨格推定を掛け合わせれば、お腹の大きさは数値化できるかもしれませんね!

骨格推定 + SAM: もっとお腹に近い部分☆を予測できればお腹の情報が取れるかも!?


参加者 : 記事内で毛艶の良さの予測も検討されていましたが、これは現実的なんですか?

筆者 : データさえあれば、面白い結果が出せると思います。良い/悪いの2値の評価や、1〜5段階の評価があれば、分類や回帰の問題として解けると思います。

参加者 : ラベリング難しそうですね(笑)

筆者 : プロの方は分かるらしいです。親友に元厩務員がいるのですが、毛艶の良さはもちろん、歩き方だけでその子のおおよその性格まで分かるそうです。以前、LINEのビデオ通話越しでパドックを見せたことがありますが、親友が見た目だけで選んだ3頭が1〜3着でした。

一同 : やばーーー!


参加者 : 撮影角度や距離、明るさ、障害物などの撮影環境によって骨格が上手く推定できないというのは理解できました。一方で、推定できた骨格から、推定できなかった骨格を予測することはできそうだと思いますが、どう思いますか?

欠損骨格点予測: 予測できている点から予測できなかったポイントを推測

筆者 : その発想も無かった!凄い!確かに、骨格はある程度一意に決まるものなので、骨格間の平均的な距離を用いれば予測出来るかもしれません。欠損値として考えるという考えはありませんでした。。貴重なご意見ありがとうございます!

参加者 : 他にも、歩幅とか歩数とかも分かりますよね?

筆者 : 分かると思います。特に歩幅の大きさは大事ですね。ストライド(一歩の大きさ)や、足の回転数は馬ごとに個性があるので、走法の推定とかも出来ると面白いですね。話しは逸れますが、適性距離は遺伝子で決まる部分があり、ミオスタチン遺伝子の分析とかに最近興味があります。一般的な統計データ以外にも今回の動画や、遺伝子データなど、様々なデータから、様々なことを考察できるのがAI×競馬の面白さだと思います。

終わりに

発表会は2次会まで続き、AI×競馬以外にも、実運用方法やトレンドの技術、筆者の業務内容について等、様々な議論を交わすことができました。 当初、主催の方からは、参加者のデータサイエンスに関するレベルは様々とお聞きしていました。 しかし、蓋を開けてみると、参加者全員の知識が深く、これまで自分では思いつかなかった気づきやフィードバックを頂き、発表した側が逆に勉強となるという、素敵な機会となりました。 今後もこのような繋がりを大切にしたいですね!

ここまでご覧頂き、ありがとうございました。

個人の趣味が転じて、業界の発展に少しでも携わることができれば幸いです。 ご意見やご感想、発表以来お待ちしております!(@baibai25

We Are Hiring!

ABEJAは、テクノロジーの社会実装に取り組んでいます。 技術はもちろん、技術をどのようにして社会やビジネスに組み込んでいくかを考えるのが好きな方は、下記採用ページからエントリーください! (新卒の方のエントリーもお待ちしております) careers.abejainc.com