Deep Convolutional Neural
Networks and their Many Uses
for Computer Vision
Dr. Fares Al-Qunaieer
Lead Data Scientist
Saudi Information Technology Company (SITE)
Computer Vision
A field to develop algorithms that make machines and
computers “understand” the content of images and videos
Machine
Learning
Image
Processing
Computer
Vision
Conventional Computer Vision
Hand crafted operations and features
What is Convolution?
Multiply and sum kernel/filter across the image
Convolution
Sobel Operators
Deep Learning
Machine Learning Algorithms that use Neural Networks,
with many layers
Convolutional Neural Networks (ConvNets)
Image by Aphex34 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=45679374
• Neural Networks with convolution layers (and some more)
• Learn best kernels/filters from data instead of manually selected
Components and Layers of ConvNets
• Convolutional layers
• Pooling layers
• Fully connected layers
• Activation functions (e.g., ReLU)
Convolutional Layers
Image by Aphex34 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=45659236
Pooling Layers
Image by Aphex34 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=45673581
Max Pooling
Fully Connected Layers
Activation Functions
Visualizing ConvNets
Evolution of ConvNets
(Historical Journey)
Neocognitron (1980)
K. Fukushima: "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position", 1980
LeNet-5 (1998)
Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition, 1998
AlexNet (2012)
Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. "ImageNet classification with deep convolutional neural networks". 2012
VGG Net (2014)
Simonyan, Karen, and Andrew Zisserman. "Very deep convolutional networks for large-scale image recognition." 2014
GoogleNet – Inception (2014)
C. Szegedy et al., "Going deeper with convolutions," 2015
ResNet (2016)
K. He, X. Zhang, S. Ren and J. Sun, " Deep Residual Learning for Image Recognition," 2016
Applications
Objects Detection and Localization
Images source: https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e
YOLO (You Only Look Once)
Faster RCNN (Region Based CNN)
https://www.youtube.com/watch?v=MPU2HistivI
Objects Segmentation
V. Badrinarayanan, A. Kendall and R. Cipolla, "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation," 2017
Ronneberger, O., Fischer, P., & Brox, T. “U-Net: Convolutional
Networks for Biomedical Image Segmentation” 2015
Face Recognition (FaceNet)
F. Schroff, D. Kalenichenko and J. Philbin, "FaceNet: A unified embedding for face recognition and clustering," 2015
Image source: https://omoindrot.github.io/triplet-loss
Style Transfer
L. A. Gatys, A. S. Ecker and M. Bethge, "Image Style Transfer Using Convolutional Neural Networks," 2016
Image Generation - GAN (Generative Adversarial Network)
Image source: Goodfellow et al; Karras, Laine, Aila / Nvidia
Other Applications
• Scene labelling
• Action recognition
• Human Pose estimation
• Document analysis
• Medical diagnosis
• And many more …
DEMO
Thank You

Deep convolutional neural networks and their many uses for computer vision