Advanced Chessboard Recognition and Optical Notation Yielding Mechanism (Acronym)

During my exchange semester I took the course “Machine Vision”, which focused on the fundamental concepts and techniques of imaging and image processing operation, working with image processing tools such as OpenCV and applying machine vision techniques to solve known problems in research-based and industrial applications.

During the semester two classmates and I developed the Advanced Chessboard Recognition and Optical Notation Yielding Mechanism (or short ACRONYM). The idea is to convert an image of an over-the-board chess game into a digital representation. Users should be able to take a picture on their phone which then gets evaluated and converted into then Forsyth–Edwards chess notation system (FEN).

The image processing pipeline was written in Python using OpenCV, the server backend was made with Flask and the frontend with Flutter. My focus was primarly on the image processing pipeline. More specifically the detection of squares inside of the board, the piece classification using a convolutional neural network and the experiments around it. See the full pipeline below.

Read the full report here

pipeline

Updated: