One option would be to use an existing Neural Net implementation, I'd recommend checking out the Accord.Net libary and the corresponding Accord.Neuro namespace.
Neural nets have been used successfully for handwriting recognition, which may be close to your problem. Check out the article Classifying Digits with Deep Belief Nets which includes a sample using Accord.Net.
Note: you would need hand labelled set of data to train the neural net with.