How networks see images. The course covers images as tensors, convolution with padding, stride and channels, pooling, classic edge filters, convolutional networks, and the box overlap and duplicate removal steps of object detection.
01
A convolution slides a small kernel over the image and takes a weighted sum at each position. The same weights are used at every position, which suits images because a pattern means the same thing anywhere.
02
Padding and stride set the output size. With many input channels, each output channel sums one kernel slice per input channel.
03
im2col lays every input patch out as a column, so the whole convolution becomes one matrix product. This is how many fast libraries compute it.
Practise it
04
Pooling shrinks a feature map by taking the maximum or the mean of each window. It makes the next layer see a larger area and makes features less sensitive to small shifts.
05
Fixed kernels such as Sobel estimate the image gradient in x and y. The gradient magnitude is large at edges.
Practise it
06
A CNN stacks blocks of convolution, nonlinearity and pooling, then flattens into a classifier. LeNet read handwritten digits with this design.
Practise it
07
A detector predicts many boxes. Intersection over union measures how much two boxes overlap, and non-maximum suppression keeps the best box and drops the ones that overlap it.