この記事について
この記事は 某企業アドベントカレンダー2024 の22日目の記事で、9日目の記事 の続きとなります。
前回までのあらすじ
ぷよの色認識をする機械学習モデルを作成しました。このモデルに赤色のぷよ画像を渡すと、赤のラベル (R
) を返してくれます。
本記事でやりたいこと
そもそも色認識のモデルを作成した理由はなんでしたっけ?
そう、 ぷよぷよのプレイ動画から棋譜を作成したい のでした。本記事では、動画からテキストへ変換する手法を探ります。
棋譜化とは
棋譜化とは、ゲームや競技の進行を記録し、「棋譜」という形式にまとめることです。目的は主に以下の2つです:
1. 保存
名勝負や重要な対局を後世に残すため。
- 例: 歴史的な一戦を記録し、共有する。
2. 学習
過去の対局を振り返り、良い手・悪い手を分析するため。
- 例: 自分や他人の戦略を研究する。
棋譜化に適した条件
棋譜化はどの競技でも可能なわけではありません。以下の条件を満たしていると適しています:
-
状態が明確に表現できる
- プレイの進行が具体的で記録しやすい。
例: 将棋の「△3四歩」や囲碁の「D16」。
- プレイの進行が具体的で記録しやすい。
-
ターン制である
- プレイヤーが順番に行動し、それぞれの手が独立している。
例: チェスやオセロなど、手番が明確な競技。
- プレイヤーが順番に行動し、それぞれの手が独立している。
棋譜化が難しい競技の例
状態が複雑で連続的な競技では棋譜化が難しくなります:
-
サッカーやバスケットボール
選手の動きやプレイがリアルタイムで変化するため、テキスト形式での記録は現実的ではありません。 -
FPSやMOBAなどのeスポーツ
瞬時のアクションや膨大なデータ量をテキストで表現するのは困難なため、リプレイや動画形式が主流です。
ぷよぷよの棋譜化
ぷよぷよは棋譜化に適しています。以下の理由から、囲碁や将棋のように棋譜が作成可能です:
- 縦12マス、横6マスの盤面に対して、1ターンに2個ずつぷよを配置するルールが、「状態の明確さ」と「ターン制」の条件を満たしている。
- 棋譜による学習が期待できる。
動画保存の課題
現在、ぷよぷよのプレイ学習には YouTube などの動画が利用されていますが、動画は容量が非常に大きいため、将来的に保存しきれない可能性があります。
テキスト形式で保存できれば、容量の問題を大幅に解決できます。
それでは、「ぷよ譜」を作成するための準備を整えていきましょう。
ぷよ譜に必要な情報
今回は問題を簡単にするため、一人プレイの棋譜化を前提にします。
座標系の説明
ぷよぷよ盤面の座標系は以下の通りです:
- 縦は
a~m
のアルファベット - 横は
1~6
の数字
例えば、1手目で緑を 1a
、赤を 1b
に配置した場合、「1aG1bR」と記録します。
2手目以降も同様に表記し、カンマ区切りでテキストへ変換します。
有効フレームの決定
有効フレームとは、N手目の盤面として判断するにふさわしい動画フレームを指します。
プレイ動画には複数のフレームが含まれており、その中から有効フレームを判定する必要があります。例えば、以下のような中間フレームも含まれるため、どれが有効なのかを機械的に判断するルールが求められます。
結言
次回の記事では、この問題の解決方法を含め、実際に動画から棋譜化までのプロセスを解説します! ネクストコナンズヒント~!
「ネクスト・ネクネク」
それではまた来年〜(?????)