We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
ElixirConf 2023 - Barrett Helms - Chess Vision!
"Discover how to build a chess vision system using Elixir, Rust NIF, and OpenCV, achieving 100% accuracy with a trained model and#candy edge detection."
- Choose a chapter, complete all exercises (30-40), and use validation set to check accuracy.
-
Use
8 for validation, 10 for test
epochs to achieve 100% accuracy. - Implement a Chess Vision using Rust NIF and OpenCV, but start with Elixir for the model.
-
Use
candy edge detection
to detect edges in images, andhue line transform
to identify chessboard squares. - Preprocess images by converting them to grayscale, detecting edges, and identifying squares.
- Use a simple algorithm to find intersections of detected lines, and crop squares into individual images.
- Train a model to predict square images using labeled tensors with hot encoded labels.
- Perform model training, prediction, and validation in Elixir using judgments and OpenCV.
- Implement a FIN system to describe a chessboard at a given state, and use it to generate training data.
- Use Rust NIF to integrate OpenCV functions into Elixir, allowing for seamless interaction.
- Achieve 100% accuracy using FIN and a trained model to predict chessboard squares.
- Implement a live demo to show the Chess Vision in action, with perfect input and training data.