Compact deep neural networks for device based image classification
Convolutional Neural Network (CNN) is efficient in learning hierarchical features from large image datasets, but its model complexity and large memory foot prints are preventing it from being deployed to devices without a server back-end support. Modern CNNs are always trained on GPUs or even GPU clusters with high speed computation capability due to the immense size of the network. A device based deep learning CNN engine for image classification can be very useful for situations where server back-end is either not available, or its communication link is weak and unreliable. Methods on regulating the size of the network, on the other hand, are rarely studied. In this paper we present a novel compact architecture that minimizes the number and complexity of lower level kernels in a CNN by separating the color information from the original image. A 9-patch histogram extractor is built to exploit the unused color information. A high level classifier is then used to learn the combined features obtained from the compact CNN that was trained only on grayscale image with limited number of kernels, and the histogram extractor. We apply our compact architecture to Samsung Mobile Image Dataset for image classification. The proposed solution has a recognition accuracy on par with the state of the art CNNs, while achieving significant reduction in model memory foot print. With this advantage, our model is being deployed to the mobile devices.