Pattern Recognition with N-Tuple Systems Simon Lucas Computer Science Dept Essex University
Overview Standard Binary n-tuple Dealing with grey-levels –Continuous n-tuple –Bit-plane decomposition Dealing with sequences –Scanning N-Tuple Future Directions
N-Tuple Systems Bledsoe + Browning (late fifties) Sample a pattern at m sets of n-points per set Use each sample set to represent a memory address Have an n-tuple “bank” for each pattern class Simple training: –Note address occurrences for each class
What to store Various options –1-bit: address occurred or not –Freq – weighted: count number of occurs –Prob. – use count to estimate probability 1-bit version saturates Usually better to use probabilistic version (ML estimate)
N-Tuple Architecture
Standard N-Tuple Features Superfast training –As fast as you can read the data in! Superfast recognition (ditto) Simple Applicable to binary images
Grey-level
Threshold?
Niblack?
Beavis?
Continuous N-Tuple Samples grey-level image directly Pre-compiles samples into LUTs Fills LUT entries with ABS distance to closest sampled point Recognition speed not compromised BUT: slower to train Memory problems… Not probabilistic –Sensitive to spurious training data!
Continuous N-Tuple Results
Bit-Plane Decomposition Alternative to continuous n-tuple Uses a combination of binary n-tuple classifiers One for each bit-plane (so 8 for 256- grey level) Good results reported Speed sacrifice
Scanning N-Tuple Classifier (SNT) Introduced in 1995 (Lucas, Lucas + Amiri) Since investigated by other research groups (IBM, Kaist, Kent, Athens) In a recent study was one of the best classifiers on UNIPEN dataset Simple modification of n-gram model An n-gram with gaps!!!
Scanning N-Tuple 0232 Chain code image Scan sampler along chain code Estimate weights of address occurrences Classify by summing weights for each class Softmax function - > posterior probability Train DEMO!
Recent Work Extensive evaluation (IBM) Directional + bit-plane decomposition (Kent) (smaller tables) Mixture models for table compression (IBM, KAIST) Clustering (Athens) Discriminative Training (Essex) –Better accuracy (why????)
Terminology m – frequency count l – log likelihood weights a – class activation vector y – output vector (posterior prob.) t – target vector
Likelihood Score for Class k given Sequence s
Softmax Function Interpret as posterior probability y_k
Maximum Likelihood Est.
Discriminative Training Maximise probability of correct classification Minimise cross-entropy
Cross Entropy Error Term
Weight Update Rule If k = true class Apply weight updates
Cross-Entropy v. ML
Design Process
MNIST Results
Future Work Improve accuracy further –Mixture Models –Training data deformation models Better understanding of discrim v. ML Sparse (e.g. trie) SNT Optimal (all) threshold version for colour / grey-level images
Why Mixture? To tell A from B !!! A B ….
Why Opti-Thresh?
Global Mean Threshold
Optimally Thresholded Image
Conclusions N-Tuple classifiers – fantastic speed High degree of design skill needed to make them work well Compete with much more complex systems Interesting future work to be done!
Further Reading Continuous n-tuple –Simon M. Lucas, Face recognition with the continuous n-tuple classifier, Proceedings of the British Machine Vision Conference (1997), pages: [pdf]Simon M. Lucas[pdf] Scanning n-tuple –Simon M. Lucas and A. Amiri,, Statistical syntactic Methods for high performance OCR, IEE Proceedings on Vision, Image and Signal Processing (1996), v. 143, pages: [pdf]Simon M. Lucas[pdf] –Simon M. Lucas, Discriminative Training of the Scanning N-Tuple Classifier, International Workshop on Artificial Neural Networks (2003), pages: [pdf] (draft)Simon M. LucasInternational Workshop on Artificial Neural Networks[pdf] (draft) Plus many more references in those papers Search Google for n-tuple and also for scanning n- tuple