Electronic go board

General conversations about Go belong here.
Post Reply
Javerberg
Beginner
Posts: 13
Joined: Mon Jul 28, 2014 3:35 am
GD Posts: 0
Has thanked: 1 time

Electronic go board

Post by Javerberg »

Hi!

I have an idea for a reasonable cheap electronic go board. Instead of 381 sensors and 400 leds it should be enough with a camera, a small computer, image recognition software, and a motorized laser pointer. If the software if efficient enough to work on a raspberry pi it should be possible to build such a device for around $ 100. It should also be possible to make the device very portable, with a volume of maybe a few cubic decimetres.

Ideally the device should be able to communicate with a smartphone app via bluetooth, and the app should be capable of both providing an ai opponent and connect to some online server.

The image recognition software can be a challenge, especially since we have to take moving hands in account. Still, it should definitely be possible. A first step would be to develop an app that can record a game between two humans (in practice this requires a small stand / tripod for the phone).

I'm surprised that no one, to my knowledge, tried anything like this before. Am I missing some thing obvious, or does this sound like a reasonable idea?

/Magnus Jäverberg
User avatar
HermanHiddema
Gosei
Posts: 2011
Joined: Tue Apr 20, 2010 10:08 am
Rank: Dutch 4D
GD Posts: 645
Universal go server handle: herminator
Location: Groningen, NL
Has thanked: 202 times
Been thanked: 1086 times

Re: Electronic go board

Post by HermanHiddema »

I know several people throughout recent years have attempted to write image recognition software that would be able to extract a board position from an image, but the results, although interesting, have never been very reliable.

That problem really is the only difficult part of the total equation. The raspberry pi is not really a required part, IMO, since pretty much everyone these days is always carrying around a powerful computer with a high-res camera (aka, a smartphone), so all you need is a way to mount and stabilize it above the board. Write the image recognition into a phone app, supply some kind of tripod, and you're done.
User avatar
pitirre
Dies in gote
Posts: 52
Joined: Thu Sep 16, 2010 3:14 pm
Rank: 5k
GD Posts: 0
Been thanked: 4 times

Re: Electronic go board

Post by pitirre »

For a 100$ I buy that board that can do all that
si no puedes triunfar, muere gloriosamente
Javerberg
Beginner
Posts: 13
Joined: Mon Jul 28, 2014 3:35 am
GD Posts: 0
Has thanked: 1 time

Re: Electronic go board

Post by Javerberg »

HermanHiddema, you are most likely right. The image recognition doesn't sound like a very hard problem, but I guess I will understand it better after trying myself. So far I have just been toying with a pair of easy examples.

The question of how much benefit a raspberry pi and laser pointer would add is moot until the image recognition problem is solved.
DalekSnare
Beginner
Posts: 13
Joined: Thu Dec 05, 2013 10:18 pm
Rank: DGS 4 kyu
GD Posts: 0
Universal go server handle: DalekSnare
Has thanked: 11 times
Been thanked: 3 times

Re: Electronic go board

Post by DalekSnare »

I want to make a smartphone app like this as a fun side project, but I won't have time for a few months, so I don't know when/if I'll get around to it.

The computer vision problem should be getting easier now that many phones have decent cameras; modern iPhones, Androids, and especially PureView Lumias have much better imaging than phones did a few years ago, with better optics, sensors, and optical image stabilization that would minimize noise and blur. Once you have a clear image, there are lots of gridlines and big round reference points (stones) that should make mapping an image to a virtual board possible. Another important thing would be to work with the limitations of the CV and include a feedback mechanism where the app highlights on the screen any awkwardly placed or uneven stones that should be straightened for it to be confident of their intended position. If you have it record a game, you could make it make a confirmation sound when it registers a move. If you include logic based on the rules of the game (have it determine if what it though happened was legal, and have it know when to expect stones to be removed from the board) then that would augment the accuracy of game recording and let it ask for feedback if it has an error.

This does sound like a fun program to work on.
Javerberg
Beginner
Posts: 13
Joined: Mon Jul 28, 2014 3:35 am
GD Posts: 0
Has thanked: 1 time

Re: Electronic go board

Post by Javerberg »

DalekSnare, this is about the same way I feel. A fun project, but it will take a more time than I'm sure I can spare. Reliable interpretation of a photo is a far from being trivial, and to interpretate a video is likely much harder.

I agree that most modern phones have good enough hardware, so an app would be a good way for distribution. I like your suggestion for feedback while recording a game. This should, as you say, increase the reliability.

The hardest problem, in my belief, is to achieve high reliability. This will take many hours of collecting test data and trimming the algorithm. Especially for video. Still, if successful this could be a rewarding project. Maybe not in money, but to make an app that a lot of people enjoy is rewarding in it self.
gongli2000
Beginner
Posts: 1
Joined: Sat Dec 27, 2014 2:09 pm
Rank: 6
GD Posts: 0

Re: Electronic go board

Post by gongli2000 »

I've actually gotten somewhere with this.
Check out my kickstarter page which is not live yet.
How much would people be willing to contribute to see this program out?
https://www.kickstarter.com/projects/16 ... n=17c8c45f
alejo
Lives with ko
Posts: 130
Joined: Sat May 22, 2010 4:10 am
Rank: KGS 5 kyu
GD Posts: 442
KGS: alejo
Has thanked: 16 times
Been thanked: 25 times

Re: Electronic go board

Post by alejo »

Javerberg wrote:Hi!

I have an idea for a reasonable cheap electronic go board. Instead of 381 sensors and 400 leds it should be enough with a camera, a small computer, image recognition software, and a motorized laser pointer. If the software if efficient enough to work on a raspberry pi it should be possible to build such a device for around $ 100. It should also be possible to make the device very portable, with a volume of maybe a few cubic decimetres.

Ideally the device should be able to communicate with a smartphone app via bluetooth, and the app should be capable of both providing an ai opponent and connect to some online server.

The image recognition software can be a challenge, especially since we have to take moving hands in account. Still, it should definitely be possible. A first step would be to develop an app that can record a game between two humans (in practice this requires a small stand / tripod for the phone).

I'm surprised that no one, to my knowledge, tried anything like this before. Am I missing some thing obvious, or does this sound like a reasonable idea?

/Magnus Jäverberg


There have already been a few attempts to get this working on Asia. The latest, and most promising one, is this one: http://www.ruiqi-tech.com/products_deta ... D=27&id=35 (site in Chinese). If you had my blog on your feed list you'd know about just 2 days before posting ;)

gongli2000 wrote:I've actually gotten somewhere with this.
Check out my kickstarter page which is not live yet.
How much would people be willing to contribute to see this program out?
https://www.kickstarter.com/projects/16 ... n=17c8c45f


This sounds interesting. I'm actually waiting for something like this. Recording games during tournaments is cumbersome. Ideally, I'd like it to be rather small, not as bulky as a manfrotto tripod + camera. Try board and stones recognition when the board is more "shifted". I'd go for the mobile app too.
However, I'll give you a hint if you want to get some serious support: learn to place the stones in the traditional way...
My blog about Go and Boardgames: Alejo's Tenuki
virre
Dies with sente
Posts: 96
Joined: Sun Jun 01, 2014 1:22 am
GD Posts: 0
KGS: virre
DGS: virre
OGS: virre
Location: Solna, Sweden
Has thanked: 42 times
Been thanked: 19 times

Re: Electronic go board

Post by virre »

alejo wrote:However, I'll give you a hint if you want to get some serious support: learn to place the stones in the traditional way...


Yeah I reacted on that too.

Also stop-motion techonlogy based on a small camera and an Arduino might well be much more usable. (Also I still think a preasure plate based Goban, such as the one that suddenly was out (which made my plans on building one myself, becauses fun a bit less likely) will work better and be less complex in the long run)
amonaco
Beginner
Posts: 1
Joined: Tue Feb 24, 2015 10:57 pm
Rank: 6 kyu
GD Posts: 0

Re: Electronic go board

Post by amonaco »

I believe image recognition from a camera is the way to Go (rather than wiring a board) for use at tournaments.

This page hosts some apps that claims to do that:

http://remi.coulom.free.fr/kifu-snap/

But more important is the "Links" section with links on source code projects that implement this. Some of them provide:

* Board detection
* Position auto-correction
* Stones and move detection
* Generation of SGF
* Calculating score
Post Reply