The problem of getting corrections on the board and detecting the movement of pieces can be solved independently, assuming that no one is moving the board, but also moving parts around.
Some thoughts on how I approach him:
Board Orientation Detection
You should be able to handle the rotation of the board in place, as well as move as long as a certain angle is maintained that allows you to see the shapes. This would help if there was something on the board that you could easily identify (for example, a marker on each corner), so that if you lose orientation (for example, someone completely removes the panel from the camera), you can easily find her again.
To track the board, you need to simulate the position of the camera relative to the board in three-dimensional space. This is the same problem as locating a camera moving around a fixed board. Egomotion problem. Once you decide, you can proceed to the next step, which detects movements and tracking objects.
Pieces Motion Detection
This is probably the simpler part of the problem. There are many algorithms for detecting objects in a video. I would add that you can use "key" frames. What I mean is to determine the framework in which you see only the boards before and after one move. for example, you donβt see the hand moving it, hiding the pieces, etc. After you have the frame before / after, you can find out what is moving and where it is located relative to the board.
You may be able to avoid the inability to recognize the shape of each part if you assume continuity (i.e. you have been tracking all the movements since the original location of the board, which is well known).
Assaf lavie
source share