Defect detection can take many forms, however, in the context of Machine Vision, it typically takes the form of surface inspection of a product. A defect could comprise a scratch on an otherwise polished surface, or an incorrect thread running through a textile pattern. Both classical rule-based image processing strategies and Deep Learning based image analysis can both perform complex inspections in these scenarios. Deep Learning can offer significant advantages in terms of ease-of-configuration using unsupervised Neural Network training techniques. This typically involves collecting several images of good samples and using those to train the neural network. The advantage here comes from the fact that the neural network can be trained without significant numbers of defect samples, which may be difficult to artificially generate in some applications.