This task is very similar to OCR, where character is a chess peace instead of letter
If we talk about any view on a chess board during OTB play it's similar to OCR in the wild
You can google approaches in those domains, including generation train examples
This task is solved a long time ago with near perfect accuracy, but keep in mind (if going to open source) that such algo is a useful block for cheating online in fast time control
One of the fresh and effective examples of using such algos - is GingerGM gchess (which is now a part of chess.com family I suppose), where you can search a position in popular chess youtube videos
If you need more train/valid examples:
- Train chess position detector (result is a list of bounding boxes), having an ability to detect multiple positions per image. Download free digital chess books, especially in formats where book is a set of scan images. Apply the detector to books to extract and crop examples.
- Get list of popular chess video content creator, download some of their videos, make screenshots with regular time slicing
- Use open software, for example python-chess, create different legal positions with different boards and different chess piece sets
- Use common in ML augmentation technique to add noise and to increase diversity (there are many special to OCR domain which can be relevant to chess as well)
https://mlinsightscentral.com/ with code. Learn Machine Learning. #Suscribe