Page 1 of 2
Kifu project
Posted: Wed Nov 07, 2012 3:58 pm
by Gerlige
Has anyone heard of this project?
http://wiki.elphel.com/index.php?title=Kifu:_Go_game_record_%28kifu%29_generator&oldid=7056Do you know something about it? Does anyone have copy of source code or binary file for this one? Or do you know any other open source project aimed on creating kifu from video or picture?
I would like to collaborate on such project but I don't want to redo something what is already done good enough.
Re: Kifu project
Posted: Thu Nov 08, 2012 12:44 am
by Alguien
I know there is at least one iphone application that claims to be able to give a game's count from a picture. I don't remember the name and it didn't work correctly.
I'm surprised it doesn't exist yet. It doesn't seem so hard (compared to algorithms used on robot soccer, for example, to track the ball and the opponents from a video feed).
I think that an android app that did that would be sellable.
Re: Kifu project
Posted: Thu Nov 08, 2012 12:56 am
by Gerlige
Alguien wrote:I know there is at least one iphone application that claims to be able to give a game's count from a picture. I don't remember the name and it didn't work correctly.
I've already
found seen such application for android too. It has poor interface and doesn't work without internet connection (because it looks like all the work with picture is done on a server). And result of counting was really bad too.
Re: Kifu project
Posted: Thu Nov 08, 2012 1:22 am
by Alguien
Gerlige wrote:I've already found such application for android too. It has poor interface and doesn't work without internet connection (because it looks like all the work with picture is done on a server). And result of counting was really bad too.
The server solver could be seen as an option:
- Server solver [Y/N] "If this option is active and there is an active connection, the application will send a copy of the image to be treated by our server solver. This could return a result faster than the device."
What I find interesting is that the kifu project doesn't contemplate using a sequence of images (arbitrary* captures from a video feed) to find the best picture before starting the processing. It's a standard procedure for pattern recognition.
*: On a phone or tablet, those captures could pass a first filter by relative contrast and luminosity, before even trying to see the 19x19 lines.
Also, if the process isn't prohibitively slow, a number of those captures could be processed to reach the best result by comparing several and returning a degree of confidence based on the homogeneity of the results.
Re: Kifu project
Posted: Thu Nov 08, 2012 2:21 am
by Gerlige
Alguien wrote:Gerlige wrote:I've already found such application for android too. It has poor interface and doesn't work without internet connection (because it looks like all the work with picture is done on a server). And result of counting was really bad too.
The server solver could be seen as an option:
- Server solver [Y/N] "If this option is active and there is an active connection, the application will send a copy of the image to be treated by our server solver. This could return a result faster than the device."
What I find interesting is that the kifu project doesn't contemplate using a sequence of images (arbitrary* captures from a video feed) to find the best picture before starting the processing. It's a standard procedure for pattern recognition.
*: On a phone or tablet, those captures could pass a first filter by relative contrast and luminosity, before even trying to see the 19x19 lines.
Also, if the process isn't prohibitively slow, a number of those captures could be processed to reach the best result by comparing several and returning a degree of confidence based on the homogeneity of the results.
I hope there isn't kind of misunderstanding. My English is a little poor. So I've probably used bad word. What I meant wasn't found but seen.
Re: Kifu project
Posted: Thu Nov 08, 2012 5:10 am
by Alguien
Gerlige wrote:I hope there isn't kind of misunderstanding. My English is a little poor. So I've probably used bad word. What I meant wasn't found but seen.
No worries, I was just exposing thoughts I've had about the topic for a while.
I don't know of any such project. Good luck finding one.

If it exists, though, I'd guess it wouldn't be in English.
Re: Kifu project
Posted: Thu Nov 08, 2012 4:27 pm
by Rémi
I researched that problem a bit. Here are some links that you might find interesting:
viewtopic.php?f=18&t=572http://ci.nii.ac.jp/naid/110004820697http://www.inference.phy.cam.ac.uk/cjb/image2sgf.htmlhttp://bigo.baduk.org/ocr.htmlhttps://play.google.com/store/apps/deta ... ringcamerahttp://www.silverstar.co.jp/02products/ ... go_ocr.htmMy experience is that it is a problem that is much more difficult than it seems, if you wish to deal with any pic that may contain shadows, reflections of the flash light on the board, strong perspective or bad stone alignment.
Rémi
Re: Kifu project
Posted: Sat Nov 10, 2012 6:45 am
by Phelan
Thanks, Remi, I didn't know some of these. I'm very interested in this area, and kinda frustrated by the lack of commercial/open source program for something like this. Seems like it should be possible to do with some collaboration or building upon previous results.
Two more links:
http://go-tracer.appspot.com/ - This one is working: give it a photo of a go game in progress, adjust the corners to where it best fits, and it gives you an sgf with the best estimate it can make of stone positions. You can preview after adjusting corners.
http://koti.kapsi.fi/thirsima/gocam/ - This one I never tried, it's from quite a long way back.
Edit: By the way, the Go Scoring Camera for Android linked above is the one mentioned previously, I think. I tried the trial, but never got the thing to work, so never got the full app.
Re: Kifu project
Posted: Sat Nov 10, 2012 9:08 am
by Rémi
Thanks for the links.
Phelan wrote:Thanks, Remi, I didn't know some of these. I'm very interested in this area, and kinda frustrated by the lack of commercial/open source program for something like this. Seems like it should be possible to do with some collaboration or building upon previous results.
I am actively working on producing such a tool. I already have a prototype Android application that can score a finished game much faster than a human. I have stopped working on this project to focus on the next release of Crazy Stone. But we will probably release something in 2013. Maybe a free scoring Android app that we will use to advertize Crazy Stone.
Rémi
Re: Kifu project
Posted: Sun Nov 11, 2012 6:49 pm
by Phelan
Great news! I'm looking forward to it, then!

Re: Kifu project
Posted: Mon Dec 31, 2012 8:46 pm
by GoEye2012
Go Eye is the iOS app doing image recognition of computer generated go images (that is why it is called Go Eye

Re: Kifu project
Posted: Wed Apr 24, 2013 12:04 am
by Tettamanti
Does go eye score the game from a camera shot?
Re: Kifu project
Posted: Thu Apr 25, 2013 4:54 pm
by GoEye2012
Tettamanti wrote:Does go eye score the game from a camera shot?
Not yet now. It is for computer generated images. Most of the use cases is that when people post game image in blogs, tweets, posts, it is handy to use Go Eye to turn it into SGF, post your answers up. Web sites for life-and-death problems are ideal for the use, e.g., yeefan.sg/weiqi/.
Re: Kifu project
Posted: Thu Apr 25, 2013 9:27 pm
by Tettamanti
Thanks for the quick response!
Re: Kifu project
Posted: Fri Apr 26, 2013 9:49 am
by fireproof
There is an iOS app that purportedly can "automatically count the total points acquired on the go board" using a photograph:
https://itunes.apple.com/us/app/go-boar ... 45628?mt=8Doesn't work very well in my experience. Does one image at a time, requires manual specification of the board corners like GoTracer.
I was also interested in something like this about a year ago, and found it to be over my head (I'm a web developer). Doing everything in javascript and Phonegap (aka Cordova) probably didn't help

GoCam
http://koti.kapsi.fi/thirsima/gocam/and
GoTracer
http://go-tracer.appspot.comwere the most useful starting points for me, though GoCam only worked well with an empty board to begin with, and GoTracer needed to have a fairly specific pixel density to work (an overly hi-res image would throw it off).
I got about a 50% success rate with pictures of random games in a cafe - board color, reflections, and other problems made it difficult. And processing that first image could take upwards of 60 seconds! The GoCam code is C, and the version I used was hacked up so that it only did grid-finding (I think, it's been awhile since I looked at it) and so that it would work on the iPhone.
I'd be happy to share what I've got left, if you're interested.
Other bits and bobs: jhead (compile for ARM) to resolve EXIF image data issues related to rotation. And I had a simple iOS app that would upload an image to a Node.js app that did the heavy lifting, too -- might have been quicker and easier to do in the short run, but I liked the idea of a stand-alone application better.