- Developed a system that recognizes chess positions & types based on real-time captured images
- Used 1) Hough Circle algorithm for recognizing chess locations, and 2) a deep CNN model with Red-Black enhancement for recognizing chess types
- Achieved an identification accuracy of over 99.5%
- Demos for the entire SRTP, which included 3 studies, with the chess_simulator, and alphacc_zero.
- Usage:
init_mkdir.py
to create repo neededcamera.py
for capturing images which are saved to./test_image_process/systemCamTest
circle_crop.py
for croping chesses which are saved to./test_image_process/image_circle_test
- Next step requires HUMAN to move cropped chesses to corresponding folder under
./data_pre_360
generate_data.py
to generate training data in./data_360
trainModel.py
to train deep CNN models which are saved to./model_save
circle_multi.py
to test the model using images in./webcam
server_one.py
to run the chess vision TCP server for communication with Qt digital twin platform
- Environment:
- python 3.6
- tensorflow 2.4
- keras 2.4
- opencv
- pillow
- Whole Structure
- DataGenerator
- RedBlackReinforcement
- RealChessboardImage
- HoughCircleProcess
- ChessLocationResult & ChessboardMatrixResult