Convert a physical chessboard into a digital one
tech.bakkenbaeck.com
tech.bakkenbaeck.com
10 seconds seems very high for what's being done here. We can get realtime facial recognition (at like 30-60fps). Recognizing chess pieces ought to be trivial by comparison.
If you're taking the rules seriously, there should be a lot more rules: there are many (many) invalid board states. It seems strange focusing on just a couple. In fact, it seems strange looking at rules altogether. Why not simply have your algorithm figure out what piece is at what position?
SURF or SIFT might be useful here; where you're looking for features that identify specific pieces. In other words, I'm not totally sure if ML is necessary. I would consider processing the image with something like a canny filter and then running a shape detection on the contours.
Either way, really cool project, and great write-up!
So, just an optical recognition of empty field vs used field is required. This works since the starting position of chess pieces is always the same.
This way old inductive chess computer from Mephisto worked (the high-end models had inductive fields).
It also seems suited towards an altogether different use case, where you don't already know the previous game state or the moves that resulted in it. This recognizes the entire game state over and over again, which is a lot of redundant work if you already know the previous game state and only consider valid moves from that state.
For the purpose of recording an entire game, a much simpler computer vision approach would be possible based on the previous state. Just find the empty square where there was previously a piece, consider where it might have ended up according to its possible moves and look for changes in those squares. The hardest CV issue then is figuring out what a pawn was promoted to.
New technology can change the rules. I'm not sure about FIDE, I'm a former USCF TD. The USCF began allowing digital scoresheets many years ago. No doubt sponsorship from Monroi played a roll in the rule change, but it happened none the less. I can easily see the use of digital chessboards eventually eliminating the requirement to manually write moves down.
There are also many instances where players are not required to notate (at least under USCF rules). Like when a player's time remaining drops below 5min in sudden death time controls. When a player can't read or write. Blind, or other handicapped players. And blitz games.
At many of my tournaments it was pretty routine for parents to set up video cameras to record the games because the player's were too young to read or write.
It is also permitted (and encouraged) to write down the time on the clock after each move, and to record all draw offers, both of which are valuable information during and after the game. If one of my goals is to grind down my opponent's clock in a complex position where I have the initiative, seeing how much more time he is using on average gives me an idea of how long I need to maintain the tension to gain a sufficient time advantage. For example, in a game where both players start with two hours, entering the endgame with 1 hour versus my opponent's 15 minutes is an enormous advantage, even in a position which should otherwise be drawn with perfect play.
Also, in some time controls, players gain extra time after a certain move (generally the 40th), so it can be very important to know exactly when you're going to get that extra hour. These time controls are less common than they used to be.
I have students as young as 5 years old learn how to keep notation after only a few weeks of learning chess. It is a very important skill.
1) your opponent moves
2) opponent hits clock
3) they go to write down the move
4) you write down the move
5) you move
6) hit clock
7) write down your move
8) opponent writes down your move
...
Imagine if this were done in poker!
When it comes to studying for an upcoming tournament match you will know who your opponent is so you have the ability to study up on their previous play. Maybe they play a certain style against your mainline go-to that you can exploit.
Edit: grammar/spacing