Neural networks, specifically convolutional neural networks (CNNs), are increasingly being used for machine vision tasks. CNNs take in raw pixel data as input and are able to automatically learn representations needed for detection and classification. They have been applied successfully to many problems in computer vision including image classification, object detection, segmentation and more.