0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実盤の囲碁を棋譜に残したい。「碁つづり」を作り始めました

0
Last updated at Posted at 2026-10-25

自宅の碁盤で打った対局を、スマホで撮って棋譜に残せないか。そんなことを考えて、Androidアプリ「碁つづり(Gotsuzuri)」を作り始めました。

目標は対局を撮影してSGF形式の棋譜を作ることです。今はまだ、撮った写真に碁盤の交点を重ね、石の配置を試しに判定するところまで。動画や棋譜の出力には、これから取り組みます。

ここまでの試作

KotlinとJetpack Composeで画面を作り、撮影にはCameraXを使っています。

真上に近い位置から撮影した、検証中の碁盤

開発中に使った、真上に近い位置からの写真。

最初は写真の四隅を手動で指定することにしました。木枠の角ではなく、最外周の交点を4つ選ぶと、19×19の交点が画像に重なります。斜めに写った盤面にも合わせられ、実際の操作は体感で2分もかかりませんでした。

石認識の難しさ

四隅の番号と、空・石候補・不明の試験判定を重ねた開発中の画面

試験判定を重ねた開発中の画面。緑は空、黒白の丸は石候補、橙は不明です。正解を表示しているわけではありません。

影と反射

交点が合えば石も読めそうですが、そう簡単にはいきませんでした。影で盤面が暗くなり、照明を足すと今度は反射が増えます。低い位置から撮ると、奥の石も重なって見えます。

低い角度から撮影した碁盤。奥側の石は縦に密集して見える

同じ配置を低い角度から撮影した写真。

石の高さと位置ずれ

石には厚みがあるので、斜めから見ると上面が交点からずれて見えます。盤面の交点を合わせる処理だけでは、このずれまでは直せません。

カメラから見た石の上面と盤面の交点の違いを示す模式図

石の高さによるずれの模式図。実写のずれ量を測定した図ではありません。

奥側の交点を拡大した写真。石と近接する4交点を黄色い輪で示している

黄色い輪の4交点は実際にはすべて空です。PCでの判定では、ここを黒2点・白2点と誤判定しました。輪は説明のために追加しています。

現在は色と明るさで石候補を探しています。まだAIモデルは使っていません。交点の周囲を探すようにしても、隣の石を拾っている疑いが残りました。

正解データでの比較

GTの作成

画面を見て「だいたい合っていそう」と確認するだけでは、改善したのか分かりません。そこでPCにラベル作成画面を用意し、私が各交点を空・黒・白に分類しました。この正解データをGT(Ground Truth)として、現在の判定結果と照合しました。

3枚の比較

同じ配置の写真3枚を比べた結果がこちらです。1枚につき361交点を数え、「不明」は判定を保留した点として分けています。

撮影位置 正しい判定 誤判定 不明
上方 347 0 14
低い角度 335 4 22
高い位置 337 0 24

低い角度で間違えた4点は、高い位置の写真ではすべて不明でした。誤検出はなくなっても、空だと分かるところまでは進んでいません。不明には本物の石も含まれるため、全部を空として扱うこともできません。

これはPCでの比較で、Android上の結果と完全に一致するものではありません。3枚とも同じ配置で、影などの条件も違うので、まだ一般的な認識性能は判断できません。

盤面認識AIの学習に向けて

ここまで試してみて、盤面認識AIの学習に取り組んでみたくなりました。色や明るさで判定する今の処理と、石の見た目を学習したモデルで、どんな違いが出るのか比べてみたいです。

まずは問題が出た場所の石について、画像上で見える中心を少数記録する予定です。石の色を読み違えたのか、正しい色を読んでも隣の交点に割り当てたのかを切り分けます。そのうえで別の配置の正解データも用意し、小さなモデルをPCで学習・評価してみたいと考えています。

今はまだ、AIの学習を始める前の段階です。自宅で石を並べながら、認識を改善していく過程も記録していく予定です。


この記事はReo's Tech Blogの同名記事にも掲載しています。

Reo's Tech Blogでは、個人開発や日々の技術的な取り組みを記録しています。興味がありましたら、ほかの記事もご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?