試行錯誤の毎日ですが、結局のところ、ボード上にあるチェッカー、ダイスとキューブが正確に認識できれば、あとはひたすらバックギャモンのルールに従って処理をすればいいわけです。
ところが、肝心の物体認識処理はすこぶる難しい。協力者の方に試合の動画を提供してもらい、様々な条件でうまくいくようにできないものかと頑張っているところです。
ここまでやってみて難しい条件だったのは以下のような場合です。
- 照明が暗い上に、ボードの絵柄とチェッカーのコントラストが弱い
- チェッカーがテカっていて、色が判別しづらい
- チェッカーのテクスチャが複雑で、ダイスと誤認識してしまう
クイズ:これは何でしょうか? pic.twitter.com/9IYbKYi37V— Masahiro Kisono (@mkisono) December 16, 2016
棋譜ミーボード
他にも課題はたくさんあるのですが、それらを少しでも解消すべく、棋譜ミーにとって都合のよいボードを考案しました。これです!バックギャモンのボードは、ポイントの色とチェッカーの色が同じ場合が多いです。見た目にはこの方が美しいと思うのですが、チェッカーの場所を特定したいプログラムにとっては悪条件です。理想的には、例えば以下のようになっていたらいいです。背景がぼんやりした色で、チェッカーの色とハッキリ違っているといいな。アプリだと色が簡単に変更できて便利ですね。
リアルボードはアプリと違ってどうしようも無い気がしますが、そんなことはない。自分でチェッカーを別の色に塗ってしまえばいいのでは?
ということで、東急ハンズでスプレー塗料を買ってきて、緑と白だったチェッカーを、ピンクと青にリノベしました!
塗装したチェッカーを乾かしているところ
ボードの背景が緑ベースなので、色空間上で距離の遠そうな赤と青に近い色にしました。さらに大事なポイントは「つや消し」タイプの塗料であること! チェッカーのテカリは侮れない要素で、黒のチェッカーがテカっているために、見た目は白になっていることさえあります。こうなると判別はすこぶる難しいのが現状です。
ちなみに元はこうでした。
ARダブリングキューブ
チェッカーは常に丸い。プレシジョンダイスは、色は違えどデザインは共通。なので、これらはかなり正確に認識することができます。問題はダブリングキューブです。デザインも大きさもまちまちで、世の中のあまねくダブリングキューブを正確に認識するのは至難の技に思えます。これではいつまで経っても仕事が終わらないので、棋譜ミー専用ダブリングキューブを試作しました。
ダイスについているQRコードみたいなものは、「ARマーカー」というものです。プログラムで処理すると、画像からARマーカーの位置を簡単に見つけることができます。これを使えば、キューブの認識はpiece of cakeです。試作品は、これまた東急ハンズで買ったサイコロ型の木材(70円)に紙を貼り付けたものです。実際はもう少しサイズを小さくしても認識可能だと思います。
ARキューブの制作現場
理想のバックギャモンボードとは
棋譜ミー的に都合の良いボードの条件を列挙すると、以下のようになります。- ボードの背景とチェッカーの色のコントラストが強い
- チェッカーがテカらない素材である
- ボードの縦方向のピッチが長く、両側からチェッカーを6枚ずつ並べても重ならない
- 「バー」の幅が広い
- ARダブリングキューブ装備!
ボードの縦方向が狭いと、チェッカーをチェッカーの上に重ねる場面が多くなります。このケースもチェッカーを認識するのが難しく、現状は対応していません。プレイヤーの皆さんは、なるべくチェッカーを重ねないようお願いいたしますw
この条件を見ると、先日矢澤プロが紹介されていたP-40ボードはとても良いです。ボードが自由にデザインできるシステムは素晴らしいですね。オーダーする際には、配色をパッキパキにしてください!!
唯一困ったことはバーの幅が狭いこと。これの何が困るかというと、オンザバーのチェッカーと、バーの隣のポイントにあるチェッカーが見た目重なる場合があるからです。特にボード斜め横から撮影した画像では、この問題が顕著になります。Phil先生、ぜひ広幅バータイプのP-40ボード作ってください!
もう一つP-40で困るのは、このボードで私がまだ一度も勝ってないこと! 相手はそれぞれ景山プロとipetaniさんだったので、まあ無理からぬ結果ではありますが・・
そんなわけで、棋譜ミーと棋譜ミーボードの進化はきっと続きますっ!!