Kifubara: Go board scanner — take a photo of a real board, get the score + SGF

I wanted to build an app like this for years but all my previous attempts ended up not working well enough (go board recognition is not as easy as it looks!).

This time, after a lot of experimentation, I’ve made something I now use myself and am happy to share with the community!

What it does well:

  • Take a photo (or use an existing one) and get the sgf + score right away (takes about a second on my phone)

  • Resilient to weird angles, light and other complications (to an extent, of course)

  • Works on Android and iOS (both phones and tablets)

  • Doesn’t need an internet connection, accounts or subscriptions

  • It looks cute (according to my girlfriend)

Things that I plan to improve next:

  • Currently assumes 19x19 board - should be an easy fix

  • Scoring is done with KataGo. It’s already decent but I’m looking into tuning it to be even better

I would really appreciate any feedback! If it fails to recognize your board, if score seems off or you don’t like how capybara looked at you - please post below or use the feedback button in the app.

Also, right now it’s just a single purpose tool, but it’s a passion project so I would love to add more features. It doesn’t have to be related to board recognition: eg OGS integration, recent pro games database, recording sgf from video, etc etc. Is there anything you would like to see?

Android: Play Store iOS: App Store Website: https://kifubara.app

7 Likes

Neat app, I’m excited to play with it more!

I’m curious how you’re doing detection! Traditional OpenCV edge detection + math, a modern neural net, a combination of the two?

2 Likes

I’ve tried a lot of traditional CV/math approaches but they are just too fragile and fail in some light, angle, image quality scenarios. Eventually I ended up training a few specialized NNs that do the heavy lifting and can be improved with more training data in the future.

It can potentially be done simpler but I used my own photo as a benchmark (bad angle, low quality, not exactly flat board, etc) and got pigeonholed into solving it. So potentially I’ve arrived at a somewhat over engineered approach :slight_smile:

3 Likes

Is this intended just for physical boards?

If so, is there some way to stop it working if it sees an image on a screen? I worry it could be used to facilitate cheating online

Folk find it hard to resist using AI sitting on their machine or on the web.

We hear this all the time in appeals “Oh, I am so sick at myself, please I won’t do it again”.

Now they have a new thing to tempt them into cheating at play.

Just because you can do something doesn’t mean you should.

On the other hand, if you can do something, someone will do it.

Does this mean it’s time to stop trying to minimize cheating at OGS?

Are we at the point where it’s just so easy and tempting that we might as well accept it?

That’d be a shame because in the last couple of years we’ve made massive investments and improvements in cheat minimization. This does leave me wondering though… what’s the point?

There seems to be more enthusiasm for cheating tools than cheat prevention :face_holding_back_tears:

This tool scores, but doesn’t tell you the next best move. It is equally low effort to download an sgf from OGS and run KataGo locally as it is to use this tool for the same.

I don’t think this is a cheating tool. I think it is a useful tool, especially for beginners, because scoring is difficult to understand.

And also for intermediates who just like the speed boost at the end of the game. I’d rather skip counting and play the next game instead.

3 Likes
  1. Why do we disable AI score estimator, if it’s not cheating to have an accurate score estimate?

  2. You overlooked SGF download. This is the fast-path to AI cheating.

This is no longer possible for games in progress, both live and correspondence, see Download SGF greyed out.

1 Like

I don’t know. Honestly, I don’t know what I would do with the information that I’m 10 points behind or ahead.

Probably try to create more chaos in game if I’m behind, but that adds volatility, not strength.

True, I didn’t know that this changed on OGS.

But there’s still the OGS API and 3rd party apps.

Uh, I agree that this raises a valid cheating concern. I myself create my games with score estimator off to play the game as it’s intended. I feel like using score estimator makes you get used to it and then incapable to play at the same level when it’s not available.

I intended this app for real boards but of course it works just as well on digital. The only thing I can say in my defense is that it’s not the first app of the kind and others were around for years. If anyone has an idea on how to handle this - I’m open to suggestions!

2 Likes

With board marking not just a number output: it also tells you that group you thought was alive is actually unsettled, so then you hunt for the killer tesuji.

3 Likes

I think the primary cheat is not the number of the score, it’s knowing if groups are truly dead or alive.

The point here, the fundamental thing underneath it, is “do we want people advertising ways to cheat at online Go here in our forum?”

This is a great tool for FTF. I’d love to be able to score instantly in that scenario.

Just don’t bring it here, eh? Don’t advertise all the other ways as well. “Oh, nice tool, here is another one like that”.

Really?

Do we OGS want to hear about these, here in our online go club?

In which case: do we really want the anti-cheat efforts currently being invested in?

Why didn’t the OGS community pile in here saying “take your online cheating tool away please”?

It may be just human nature to complain like mad when we’ve been cheated against, but at the same time love to discuss and share the latest cool tools that can be used for cheating. But it sure doesn’t help the anti-cheating effort…

I can’t speak for the entire community, but since you asked me: I don’t have the info to have an opinion on this. I think that goes for any not involved. I don’t know how much cheating there is, I don’t know which measures are taken and how much effort those cost. And I don’t oversee the effects of allowing posting of it on these forums.

There are a few reasons why I don’t think posting this here is very bad:

  • the info about which group is alive is gives occasionally useful hints, but a lot less info than full blown: “here is the best move at any turn”.
  • more potential cheaters will find this app straight from the App Stores or on Reddit, than from these forums.
  • Detection mechanisms for cheating remain the same (assuming similar methods as chess sites)

But I understand it’s exactly a counter to the recent measure of stopping easy sgf downloading. So if the ones involved in anti-cheating estimate that this lowers the barrier to cheating to an unacceptable level, then I think this thread should simply be deleted.

And possibly a note added in the rules that (tools for) sgf downloading of ongoing games is illegal.

2 Likes

Thanks for answering in a straightforward way.

I found that very helpful, and there has been other similar input in private, and in “the other thread”.

Upon reflection I think you’re (clearly) right that the more a person is involved with anti-cheating, the more cheating they are exposed to, and the more concerned they are likely to be about it.

While if they are doing a good job, anyone else should ideally be unconcerned because they don’t experience cheating :slight_smile:

So rather than feeling aggrieved that people don’t care to guard against cheating, I should feel pleased it’s not high on the collective radar.

Point taken.

One aspect of the type of cheating we’re talking about that I am exposed to is its effect on the cheaters. It is very common for a person appealing suspension for cheating to express how sick they are at the fact that they could not resist the temptation. Another curious thing I’ve encountered is that people aren’t tempted just don’t understand this at all “why on earth would you be tempted to do that”.

It’s with this background that I find it sad when temptation is put in people’s path.

I know that people looking for means to get an advantage will go find it in the store or on Reddit, but nonetheless people who are just casually participating here and have it drawn to their attention will be tempted, when they were not otherwise.

I wish I could think of the correct stance to take - just sharing the thought process at this point.

1 Like

My answer is you look very involved and yes I first wanna thank you for all the tremendous effort you put out into fighting cheating.

I guess you will find everyday some new tools, way to by pass all theese efforts so don’t get too worried, internet is a big machinery out of control and full of holes.

It’s kind of finding some balance and let players still enjoy coming to play, no way to erase the bad behaviors sadly. Should we talk or not? Here in some corner or in a Reddit post? Who knows? To which point something gonna be seen or make the buz?

Should OGS be similar to chess.com? I find lichess more similar but anyway OGS don’t have yet the size, don’t have the potential yet to have it’s own internal policy alike. Watch for the differences, we don’t have some features simply because we are small. But yes it’s good to promote some morality in the game. Just think of the balance between QoL and anti cheating. Most answers came first about this and not like a promotion of cheating IMHO.