- 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.pyto create repo neededcamera.pyfor capturing images which are saved to./test_image_process/systemCamTestcircle_crop.pyfor 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.pyto generate training data in./data_360trainModel.pyto train deep CNN models which are saved to./model_savecircle_multi.pyto test the model using images in./webcamserver_one.pyto 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