Link Search Menu Expand Document

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.

View it on GitHub


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.


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).


Using the library

  1. Generating the training data
  2. Training the models
  3. Evaluating the models
  4. Predicting the board
    1. Pieces
    2. Orientation
    3. Evaluation
  5. Combining the steps
  6. Logging

Algorithm Breakdown

  1. Board Extraction



Copyright © 2020 Ian Hornik. Distributed with an MIT license.