Inspiration
As busy chess enthusiasts we are always happy to start games of chess, but don't always have the time to finish them. We want to bridge the gap between the physical and virtual games of chess so we don't leave a game half finished.
What it does
It takes an image of a chess board, and processes it so that you can seemlessly continue your gameplay online!
How we built it
We used corner detection and a self-made grid identifying algorithm on the image of the chessboard to find the individual squares. We then trained a logistic regression model to recognize chess pieces from the top down point of view. We took the chess board with all of the pieces labeled and used a Python chess library to display the game online!
Challenges we ran into
As a group we had little experience with computer vision. Corner detection our square-finding algorithm required significant effort to get working. Processing the output from the computer vision in order to perform machine learning also proved to be a technical challenge. Transitions from one part of our pipeline to another involved a great attention to detail.
Accomplishments that we're proud of
Starting from scratch, we developed a robust corner detection system for the chess board, even with pieces on it and with pictures taken from various rotations. Weaving together different technologies and aspects of our project. Most of all are proud of how well we worked together, making sure that everyone had a challenge well-aligned to their skills and helping eachother to smooth out an roadblocks we encountered.
What we learned
We learned some foundational concepts of Computer Vision and we discovered that filming on a colorful rug is a terrible idea when detecting corners.
What's next for DuChess Vision
Feeding positions to a chess engine to get the best move. Adding a robot to move the pieces!
Log in or sign up for Devpost to join the conversation.