HN user

indy7500

66 karma
Posts3
Comments31
View on HN

Would you mind quickly explaining what you guys mean? Sorry, I'd love to improve it but I'm not sure I get it. If you had a bunch of bubbles for each square and piece etc. wouldn't you be taking up much more space than 5 boxes? And it's also a huge notation change for everyone

No, not a clear reason other than wanted to get the product out earlier. We'll work on an opt-in, that does sound the best.

Wouldn't other pieces affect this though? For example, what if the move was e6 and the next e-pawn move was e7. What if a piece was already there, Ne7 (wrongly recognized)? I thought about slowly running through it like this, but it felt like I kept running into problems which are obvious for us to recognize but I wasn't sure how to implement it computationally

Yes, that is the plan. That should heavily increase accuracy. Do you mean handwriting recognition as opposed to character recognition? It wasn't that we tried it and decided it wouldn't work, I just couldn't find previous instances of accurate enough recognition with handwriting. Accuracy was my priority. My sense was also that people would be turned off if they had to still manually input some games, and I had no idea how many manually inputted games it would take to reach good enough accuracy. This was when I hadn't come up with constraining characters and such, but now I can see that (with some attempts at handwriting recognition) that may be possible / is the next step after an app.

It is open sourced now if you or anyone would like to contribute. https://github.com/Messier-16/Reine/

We currently don't store scoresheets when uploaded to our website. Would you be able to send the pictures to us at info@reinechess.com? You could add comments about how it went (or not, since we can just run it and see for ourselves). If you think that might be a hassle I could quickly add a feedback form on the website. Also, I'd encourage that you try it once before the tourney with the restrictions—we haven't tested on very varied handwriting. Oh, and thanks so much for offering feedback!

P.S. Did you have something in mind for improving the postprocessing / trying out different iterations? Or was it just a challenge :D

Don't say that, you're definitely more experienced than me :) I'll try to clarify, but I could be wrong. This is from the chess.com article on it here: https://www.chess.com/blog/ReineChess/scannable-scoresheets-...

The model actually gives us a confidence for each possibility. It might say, N-90%, K-10%, B/R/Q-0% for one of the boxes. Here, we look at how confident our character recognizer is on each character. If the PGN is invalid, then we know some character was recognized incorrectly. We look at the low-confidence characters and change them to the next highest confidence prediction, checking to see which combination of changes delivers a valid PGN. For example, consider the string of moves 1. d4 d2. Black can't play d2 on move 1! But we look at the next most likely predictions, perhaps d8 for white and d5 for black. These are the combinations:

d4 d2

d4 d5

d8 d2

d8 d5

Only the second one is valid, so we choose it and continue ahead.

If you literally wrote "d4 d2," then it's a lot less likely that the correct digit instead of 2 will be in the top 3 predictions.

Also, a slight problem with b) is that it must be in the context of the whole game, since incorrect moves may only arise later on. This makes it harder with characters too ofc

The way we check legality and adjust is with the character recognition. We use the second highest and third highest confidence characters. So, if you write a 5 and the model recognizes it as a 5 and then a 6 and 7, but really it's a 4, we can't help. This is because we'd add moves exponentially every time we add that many combinations

(I am OP) I thought about doing it that way but found that handwriting recognition was pretty weak as of now and wanted to try something solid. The reason is, usually, handwriting recognition would take into account the following characters (it doesn't recognize individual characters at a time, it looks at a database of handwritten whole words). That would be the ideal if done well, of course.

The idea is you'd write down the moves during the game on the Scoresheet. Ideally, if people don't think it's too big of a change, we could just have tournament directors hand them out. Otherwise, print, bring to game, scan and throw away

Thanks! Definitely, the check and mate things should also be fixed long term. The nice thing is, I was able to put in tons of constraints to improve processing (for example the last two boxes must be a square like e4) if I ignore checks.

I took the screenshot with the "+" before I realized it'd be easier for now to ignore the "+". This is my fault for being lazy, I'll change it. I looked at a database of lichess games (40,000) to convince myself that non-Queen promotions were worth ignoring for the beta. If promoting to a different piece is clearly the better move, I could run a Stockfish check anytime a promotion move is made to assume the player chose the best non-Queen promotion (since otherwise you'd just promote to a Queen in a serious game)