If you're ok with helping the computer out a bit, you could put a very small matrix bar code (think QR Code) on top of each piece. Since there are 6 chess pieces and 2 colors, you could have a code for each piece in just a 2x2 matrix (4 dots / bits).
Otherwise, it seems like it may be very difficult, as I'm not even sure of what some of the black on black pieces are myself (bottom right).
If you can get games in machine readable format, it may be possible to develop a ML approach that figures out the most likely identifications based on relative positions and as much information as image processing provides.
If it's actually the problem of locating chessmen you're addressing and you're getting on to special modifications then you'd just use a board with sensors and code carrying pieces.
If you want only to modify the chessmen and not the board then I'm sure some transponder could be fitted and the table could have 3 receivers removably fixed to it that could triangulate their positions.
If it has to be camera based but you're going to modify them men could you just give them all different coloured hats.
You would have to put in some control bits/markers (like a QR code) though, since the pieces could be turned in any direction. I do agree though, it seems like you would need something to identify the pieces.
The other option, although a magnitude harder, would be to take two (or maybe three) images from a lower angle on two different sides and use that to determine the silhouette of the pieces.
If you're ok with helping the computer out a bit, you could put a very small matrix bar code (think QR Code) on top of each piece. Since there are 6 chess pieces and 2 colors, you could have a code for each piece in just a 2x2 matrix (4 dots / bits).
Otherwise, it seems like it may be very difficult, as I'm not even sure of what some of the black on black pieces are myself (bottom right).