将棋カメラ
https://scrapbox.io/files/65f110e2bf3ecd00249dc976.png
概要
「将棋カメラ」は実物の将棋盤と駒を使って将棋AIと対局するためのアプリです。将棋盤と駒をカメラでキャプチャし、プレイヤーの指した手を画像認識します。将棋AIの指し手はアプリが読み上げるので、プレイヤーは将棋AIの代わりに駒を動かします。CSAプロトコルに準拠したサーバーを内蔵しており、CSA通信に対応した将棋ソフトと連携することで将棋AIとの対局を可能にします。また動作確認用として、有効手をランダムに指す将棋AIを搭載しています。
カメラの設定方法
将棋盤をなるべく真上から撮影できる位置にデバイスを固定します。将棋盤の位置をアプリが認識すると、対局開始ボタンが押せるようになるので、手番を選んで対局開始ボタンを押します。
https://scrapbox.io/files/65f111a184a5d50026f4a104.png
上の図は実際の設定例です。緑色の枠は、本アプリが認識した将棋盤の枠を表しています。この枠が安定して正確な位置に来るようにカメラの位置や照明を変えてみて下さい。
対局方法
カメラの設定が完了すると対局開始ボタンが押せる状態になります。先手番で指すか、後手番で指すかを選んで対局開始ボタンを押して下さい。
プレイヤーの指し手が認識されるとその符号をアプリが読み上げます。続いて将棋 AI が指し手を決めて符号を読み上げるので、その通りに AI 側の駒を動かして下さい。AI 側の駒の移動が完了したと認識されると「ピポ」と音が鳴るので、その後に自分側の次の手に着手して下さい。
https://scrapbox.io/files/65f1120acc515b0025da3211.png
上の図は対局画面の例です。対局画面には画面上部に盤面の図、画面下部左に棋譜、下部右にカメラがキャプチャしている盤面の様子が表示されます。対局後は左下の「kifuエクスポート」ボタンから棋譜を kifu 形式でエクスポートできます。
対局を中断する場合や投了する場合は画面上部のボタンから行って下さい。
通信対局モードについて
世界コンピュータ将棋選手権で用いられ、広く利用されている CSA 通信プロトコルを使用して通信対局を行うモードです。CSA プロトコルに対応した将棋ソフトを PC で起動し、本アプリに内蔵されている CSA サーバーと接続して通信対局を行います。
通信対局の手順:
本アプリを起動し、WiFi 接続を ON にします。
PC を iPhone / iPad と同じ LAN に接続し、将棋ソフトを起動します。
本アプリ画面下部の「通信対局モード」を ON にします。CSA サーバーの起動が完了すると画面下部に「アドレス: 192.168.x.x, ポート: xxxx」などと表示されるのでメモしておきます。
将棋ソフトで通信対局の設定画面で、メモしておいたアドレスとポートを入力し、対局開始します。
本アプリに戻り、将棋盤が映るようにデバイスを固定して対局開始ボタンが押せる状態になるのを待ちます。
対局開始ボタンが押せる状態になったら、手番を選んで対局開始ボタンを押します。以降は、通信対局 OFF の場合と同様に対局を行います。
謝辞
棋譜読み上げボイスとして「VOICEVOX:ずんだもん」を利用させていただきました。感謝申し上げます。
サポート
メール: kbinani.bt at gmail.com