Recursive Cortical Network is a model developed by Vicarious.inc, and it is believed to be able to generalize from few examples. This small project is a study of the performance of 4 models under such extreme circumstance.
- RCN: use reference implementation of Recursive Cortical Network
- CNN: use pytorch official example as reference architecture
- SVM: use [Digit Classification Using HOG Features] (https://www.mathworks.com/help/vision/examples/digit-classification-using-hog-features.html) as reference architecture
- KNN: use L1 distance to implement.
Use EMNIST dataset for letters. (Cohen, G., Afshar, S., Tapson, J., & van Schaik, A. (2017). EMNIST: an extension of MNIST to handwritten letters. Retrieved from http://arxiv.org/abs/1702.05373)
EMNIST Letters: 145,600 characters. 26 balanced classes.
You need to download dataset from EMNIST website to run the code. This script(modified from https://github.com/Coopss/EMNIST) can be used to convert emnist-letters.mat
to image files.
Folders should be organized into the following structure, with each leaf node containing all the corresponding images for this label.
EMNIST
├── testing
│ ├── A
│ ├── B
│ ├── C
│ ├── ...
│ └── Z
└── training
├── A
├── B
├── C
├── ...
└── Z