Deep Learning for Image Anomaly Detection - Final Report

Ross Churchley
Omeiza Olumoye
Emily Gunawan
Morgan Schreffler
Deyeob Yeo
Fri, Aug 14, 2015
Institute for Mathematics and its Applications
PIMS-IMA Math Modeling in Industry XIX

The machine learning community has witnessed significant advances recently in the realm of image recognition [1,2]. Advances in computing power – primarily through the use of GPUs – has enabled a resurgence of neural networks with far more layers than was previously possible. For instance, the winning team, GoogLeNet [1,3], at the ImageNet 2014 competition triumphed with a 43.9% mean average precision, while the previous year’s winner, University of Amsterdam, won with 22.6% mean average precision.

Neural networks mimic the neurons in the brain. As in the human brain, multiple layers of computational “neurons” are designed to react to a variety of stimuli. For instance, a typical scheme to construct a neural network could involve building a layer of neurons that detects edges in an image. An additional layer could then be added which would be trained (optimized) to detect larger regions or shapes. The combination of these two layers could then identify and separate different objects present in a photograph. Adding further layers would allow the network to use the shapes to decipher the types of objects recorded in the image.

Goal of this project

An issue facing industries that deal with large numbers of digital photographs, such as magazines and retailers, is photo accuracy. Nearly all photos used in such contexts undergo some amount of editing (“Photoshopping”). Given the volume of photographs, mistakes occur [4]. Many of these images fall within a very narrow scope. An example would be the images used within a specific category of apparel on a retailer’s website. Detecting anomalies automatically in such cases would enable retailers such as Target to filter out mistakes before they enter production. By training a modern deep convolution neural network [1,5] on a collection of correct images within a narrow category, we would like to construct a network which will learn to recognize well-edited images. This amounts to learning a distribution of correct images so that poorly-edited images may be flagged as anomalies or outliers.

Keywords: neural networks, deep learning, image processing, machine learning

Prerequisites: Programming experience in Python. Experience in a Linux environment is a plus.