  Convolutional Neural Networks, or CNNs, are the state of the art for image
classification, but typically come at the cost of a large memory footprint.
This limits their usefulness in applications relying on embedded devices, where
memory is often a scarce resource. Recently, there has been significant
progress in the field of image classification on such memory-constrained
devices, with novel contributions like the ProtoNN, Bonsai and FastGRNN
algorithms. These have been shown to reach up to 98.2% accuracy on optical
character recognition using MNIST-10, with a memory footprint as little as 6KB.
However, their potential on more complex multi-class and multi-channel image
classification has yet to be determined. In this paper, we compare CNNs with
ProtoNN, Bonsai and FastGRNN when applied to 3-channel image classification
using CIFAR-10. For our analysis, we use the existing Direct Convolution
algorithm to implement the CNNs memory-optimally and propose new methods of
adjusting the FastGRNN model to work with multi-channel images. We extend the
evaluation of each algorithm to a memory size budget of 8KB, 16KB, 32KB, 64KB
and 128KB to show quantitatively that Direct Convolution CNNs perform best for
all chosen budgets, with a top performance of 65.7% accuracy at a memory
footprint of 58.23KB.
