Kifu project

For discussing go computing, software announcements, etc.
Gerlige
Beginner
Posts: 18
Joined: Tue Sep 04, 2012 12:55 am
Rank: EGF 12 kyu
GD Posts: 0
Has thanked: 5 times
Been thanked: 1 time

Kifu project

Post by Gerlige »

Has anyone heard of this project? http://wiki.elphel.com/index.php?title=Kifu:_Go_game_record_%28kifu%29_generator&oldid=7056
Do 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.
Alguien
Lives in gote
Posts: 628
Joined: Tue Aug 07, 2012 11:50 pm
Rank: KGS 3k
GD Posts: 0
Universal go server handle: Alguien
Has thanked: 44 times
Been thanked: 93 times

Re: Kifu project

Post 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.
Gerlige
Beginner
Posts: 18
Joined: Tue Sep 04, 2012 12:55 am
Rank: EGF 12 kyu
GD Posts: 0
Has thanked: 5 times
Been thanked: 1 time

Re: Kifu project

Post 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.
Last edited by Gerlige on Thu Nov 08, 2012 2:22 am, edited 1 time in total.
Alguien
Lives in gote
Posts: 628
Joined: Tue Aug 07, 2012 11:50 pm
Rank: KGS 3k
GD Posts: 0
Universal go server handle: Alguien
Has thanked: 44 times
Been thanked: 93 times

Re: Kifu project

Post 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.
Gerlige
Beginner
Posts: 18
Joined: Tue Sep 04, 2012 12:55 am
Rank: EGF 12 kyu
GD Posts: 0
Has thanked: 5 times
Been thanked: 1 time

Re: Kifu project

Post 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.
Alguien
Lives in gote
Posts: 628
Joined: Tue Aug 07, 2012 11:50 pm
Rank: KGS 3k
GD Posts: 0
Universal go server handle: Alguien
Has thanked: 44 times
Been thanked: 93 times

Re: Kifu project

Post 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.
Rémi
Lives with ko
Posts: 170
Joined: Sat Jan 14, 2012 4:11 pm
Rank: KGS 4 kyu
GD Posts: 0
Has thanked: 32 times
Been thanked: 119 times
Contact:

Re: Kifu project

Post by Rémi »

Gerlige wrote:Has anyone heard of this project? http://wiki.elphel.com/index.php?title=Kifu:_Go_game_record_%28kifu%29_generator&oldid=7056
Do 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.


I researched that problem a bit. Here are some links that you might find interesting:

viewtopic.php?f=18&t=572
http://ci.nii.ac.jp/naid/110004820697
http://www.inference.phy.cam.ac.uk/cjb/image2sgf.html
http://bigo.baduk.org/ocr.html
https://play.google.com/store/apps/deta ... ringcamera
http://www.silverstar.co.jp/02products/ ... go_ocr.htm

My 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
User avatar
Phelan
Gosei
Posts: 1449
Joined: Tue Apr 20, 2010 3:15 pm
Rank: KGS 6k
GD Posts: 892
Has thanked: 1550 times
Been thanked: 140 times

Re: Kifu project

Post by Phelan »

Rémi wrote:
Gerlige wrote:Has anyone heard of this project? http://wiki.elphel.com/index.php?title=Kifu:_Go_game_record_%28kifu%29_generator&oldid=7056
Do 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.


I researched that problem a bit. Here are some links that you might find interesting:

http://www.lifein19x19.com/forum/viewto ... f=18&t=572
http://ci.nii.ac.jp/naid/110004820697
http://www.inference.phy.cam.ac.uk/cjb/image2sgf.html
http://bigo.baduk.org/ocr.html
https://play.google.com/store/apps/deta ... ringcamera
http://www.silverstar.co.jp/02products/ ... go_ocr.htm

My 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

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.
a1h1 [1d]: You just need to curse the gods and defend.
Good Go = Shape.
Associação Portuguesa de Go
Rémi
Lives with ko
Posts: 170
Joined: Sat Jan 14, 2012 4:11 pm
Rank: KGS 4 kyu
GD Posts: 0
Has thanked: 32 times
Been thanked: 119 times
Contact:

Re: Kifu project

Post 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
User avatar
Phelan
Gosei
Posts: 1449
Joined: Tue Apr 20, 2010 3:15 pm
Rank: KGS 6k
GD Posts: 892
Has thanked: 1550 times
Been thanked: 140 times

Re: Kifu project

Post by Phelan »

Great news! I'm looking forward to it, then! :)
a1h1 [1d]: You just need to curse the gods and defend.
Good Go = Shape.
Associação Portuguesa de Go
GoEye2012
Lives with ko
Posts: 271
Joined: Mon Oct 01, 2012 4:45 am
Rank: IGS 7d
GD Posts: 0
IGS: goeye
Location: Hong Kong
Has thanked: 2 times
Been thanked: 49 times
Contact:

Re: Kifu project

Post by GoEye2012 »

Go Eye is the iOS app doing image recognition of computer generated go images (that is why it is called Go Eye :)
Tettamanti
Beginner
Posts: 7
Joined: Wed Apr 24, 2013 12:02 am
Rank: AGA 18 Kyu
GD Posts: 0
KGS: Tettamanti
IGS: Tettamanti
Contact:

Re: Kifu project

Post by Tettamanti »

Does go eye score the game from a camera shot?
GoEye2012
Lives with ko
Posts: 271
Joined: Mon Oct 01, 2012 4:45 am
Rank: IGS 7d
GD Posts: 0
IGS: goeye
Location: Hong Kong
Has thanked: 2 times
Been thanked: 49 times
Contact:

Re: Kifu project

Post 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/.
Tettamanti
Beginner
Posts: 7
Joined: Wed Apr 24, 2013 12:02 am
Rank: AGA 18 Kyu
GD Posts: 0
KGS: Tettamanti
IGS: Tettamanti
Contact:

Re: Kifu project

Post by Tettamanti »

Thanks for the quick response!
User avatar
fireproof
Lives with ko
Posts: 172
Joined: Sat Apr 20, 2013 8:22 am
GD Posts: 0
Universal go server handle: fireproof
Location: Santa Barbara, CA
Has thanked: 235 times
Been thanked: 77 times

Re: Kifu project

Post 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=8

Doesn'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.com

were 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.
Post Reply