From Screenshot to Chessboard
Chesster is a .NET Core library with functionality to take a simple screenshot of a chessboard to a fully-evaluated position.
Introduction
There have been multiple applications for neural networks surrounding the game of chess. AlphaZero revolutionized the way we see modern chess, completely annhilating existing engines. Many papers on the recognition of analog chessboards exist, with fairly high confidence levels.
Chesster is not supposed to be a new step in this direction, but rather a step back to see how far we have come, putting some existing technology and knowledge together. A screenshot of a digital chessboard can be processed to extract the board, predict the pieces and evaluate the best possible move.
The library was written in .NET Core to allow cross-platform usage.
Installing
For the moment, the library can be cloned via GitHub. A NuGet release is planned for the future.
To utilize the neural networks, you first need to train them. You can refer to the documentation to find out how to train the models, or you can download the pre-trained models from the GitHub releases (tbd).
Documentation
Using the library
- Generating the training data
- Training the models
- Evaluating the models
- Predicting the board
- Combining the steps
- Logging
Algorithm Breakdown
- Board Extraction
Examples
TODO