A convolutional neural network (CNN) is described for use in image classification. The CNN contains convolutional, nonlinear, pooling layers and fully connected layers that generate the output classification. Convolutional layers apply filters to image regions to extract features. Nonlinear and pooling layers introduce nonlinearity and downsample the image to reduce parameters. A fully connected layer at the end results in an N-dimensional vector representing the image classes. References are provided for further reading on CNNs and deep learning.