Image Classification Using Deep Neural Networks Kyle Geyser April 30, 2014

advertisement
Image Classification Using Deep Neural Networks
Kyle Geyser
April 30, 2014
Kyle Geyser
Image Classification Using Deep Neural Networks
TOC
1. Intro
2. Background
3. Implementation
4. Results
5. Demo
6. Questions
Kyle Geyser
Image Classification Using Deep Neural Networks
Intro
I
Image Classification
Kyle Geyser
Image Classification Using Deep Neural Networks
Background
I
Neural Network
I
Single Neuron
Kyle Geyser
Image Classification Using Deep Neural Networks
Background
I
Neural Network (continued)
I
Fully Connected Network
Kyle Geyser
Image Classification Using Deep Neural Networks
Background
I
Image Pre-Processing
I
Principle Component Analysis (PCA)
I
I
Dimension reduction algorithm
Images can be somewhat redundant (neighboring pixels often
very similar in intensity)
Kyle Geyser
Image Classification Using Deep Neural Networks
Background (PCA)
Kyle Geyser
Image Classification Using Deep Neural Networks
Background (PCA)
Kyle Geyser
Image Classification Using Deep Neural Networks
Background (PCA)
Kyle Geyser
Image Classification Using Deep Neural Networks
Background (PCA)
Kyle Geyser
Image Classification Using Deep Neural Networks
Background
I
Image Pre-Processing (continued)
I
Whitening
I
I
PCA uncorrelates the data, now to scale the data in such a
way to give each input feature
unit variance
√
Rescale each xrot,i by 1/ λi .
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
I
Pre-process images
Run through trained classifier
I
I
I
I
Stacked auto-encoders
Softmax classifier
Convolution and pooling
Deep neural network
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Pre-processing
Apply PCA and whitening to the images, retaining 99%
variance.
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Auto-encoders
I
I
I
Neural network which trains in an unsupervised setting
Target values equal to input
One hidden layer
Kyle Geyser
Image Classification Using Deep Neural Networks
Auto-Encoder Examples
8x8 image patches, 25 hidden units
Kyle Geyser
Image Classification Using Deep Neural Networks
Auto-Encoder Examples
28x28 handwritten digit images (5-9), 196 hidden units
Kyle Geyser
Image Classification Using Deep Neural Networks
Auto-Encoder Examples
8x8 color image patches, 400 hidden units
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Stacked auto-encoders
Output of one auto-encoder is used as input for another
Kyle Geyser
Image Classification Using Deep Neural Networks
Stacked AE
All layers are stacked together to form one network
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Softmax classifier
I
I
I
I
Supervised learning
Extension of single neuron example from beginning (logistic
regression)
k different classes
k probabilities summing to 1
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Convolution
I
I
I
Natural images are stationary, i.e. statistics are roughly the
same everywhere in the image.
Use features learned on small patches and convolve them with
the whole image to get feature values at each location.
This allows a model to be trained on small patches, but still
allows for larger images to be run through the model.
Kyle Geyser
Image Classification Using Deep Neural Networks
Implementation
I
Pooling
I
I
I
Due to the stationary property of natural images, we can pool
features of nearby pixels
Mean pooling finding the mean of all features in some area
A way to reduce prediction calculations on large images
Kyle Geyser
Image Classification Using Deep Neural Networks
Results
I
4 image classes (car, plane, cat, dog)
I
Double stacked auto-encoders with 400 hidden units
(pre-trained on 10,000 color patches)
Trained softmax classifier on 2000 64x64 labeled color images
from STL-10 dataset
I
I
I
8x8 patches used for features → 57x57 convolved feature
matrices
19x19 mean pooling regions → 3x3 pooled features passed on
to softmax classifier
I
Tested on 3200 64x64 labeled color images from STL-10
dataset
I
≈80.2% accurate (varies slightly depending on how well the
model is trained)
Kyle Geyser
Image Classification Using Deep Neural Networks
Demo
DEMO
Kyle Geyser
Image Classification Using Deep Neural Networks
Questions
QUESTIONS?
Kyle Geyser
Image Classification Using Deep Neural Networks
Download