Kifu project
-
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
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.
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
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.
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
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
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
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
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
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
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
- 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
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.
-
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
Thanks for the links.
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
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
- 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
-
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
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:
-
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
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:
- 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
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.
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.