Convolutional Networks
Convolutional Networks
OVERVIEW
• Introduction to Convolution
• Two applications of convolution
◦ spatial image processing
◦ linear systems
• Neural Network perspective
• Convolutional Networks
• Recent Deep Convolution Networks
• Variants
• Summary and Conclusion
CONVOLUTION
One of the most important operations in
image processing, pattern recognition and computer vision
1 1 1
⋆ 1 1 1 =
1 1 1
-1 -2 -1
⋆ 0 0 0 =
1 2 1
LINEAR SYSTEMS
• Block diagram of a linear system
yk = D ⋆ Bk ⋆ Mk ⋆ x + ηk for 1 ≤ k ≤ p
Mk is a warp matrix, Bk is the blur matrix, D is a sub-sampling matrix
and ηk is the noise matrix
SUPER-RESOLUTION
IMAGE RESTORATION
• Linear systems are used in Image Restoration
◦ Image is g(x, y), distorting function is h(x, y) and the original clean
(unknown) image is f (x, y)
◦ Restoration is done by removing the effects of convolution by
h(x, y)
• Image acquisition is almost always modelled as a linear system in which
the ideal world-scene is transformed into a digital image after convo-
lution with the transform function of the camera or any image input
device
◦ the device transfer function is called Point Spread Function (PSF)
Can we tie in convolution with
NEURAL NETWORK
• Consists of neurons in layers
Learning algorithm:
• Fully interconnected layers
backpropagation (1985)
• No lateral connections within
layers
• One input and one output
layer
Problems
• No 2D structure of images
• Too many parameters to learn
• No local features (convolution)
CONVOLUTION LAYER!
Proposed by Yann LeCun in late 1980s
The basic ideas of Convolution Neural Network (CNN)
• Remove the fully-connected nature of neural networks
• Implement convolution operation in a neural network layer
Key features of Convolution Neural Network
• Local connections
• 2D structure
• Weight-sharing
• Sliding window
CONVOLUTION LAYER
Note how 2D structure,
local weights and weight sharing
are used
CNN
So, whats the big deal about
convolution layers as against
standard implementation of convolution?
16
DIGIT RECOGNITION
FACE DETECTION
TRAINING A CNN
• A sample is presented to the network, its output
is compared with the desired
output and error is used for updating the weights
(same as any regular ANN)
• Calculating the output of a single node j
∑
Xj = f ( wij Xi +
Bj )
i∈Mj Back Propagation Algo-
rithm
• Calculating error
∑
1 N
E= (T − X
i
i 2
)
2 i=1
• Calculating gradient
∂E
∆w = −η
∂w
• Updating the weights
w = w + ∆w
CNN AS AN EDGE DETECTOR
• Architecture: input layer connected to convolution layer; output is fea-
ture map
• Convolution Layer: kernel size 3 × 3
• The CNN is trained by giving an image as input and its corresponding
Sobel edge detected image as target output
• Initial weights: −0.25 to + 0.25 and Learning Rate: 0.0001