I think your best bet is to feed the the segmented chess board squares into a machine learning algorithm. You would have one which classifies squares as empty or not, and another which recognizes chess pieces. The difficult part is building up all the examples to do the training, picking the right algorithms to use (SVM, logistic regression, etc), and then transforming the raw data into the proper form for the algorithm.
I did find a very recent paper on a chess playing robot which has some good starting points: http://www.cs.washington.edu/ai/Mobile_Robotics/postscripts/...