100
Lecture 10: Convolutional Neural Networks Zerrin Yumak Utrecht University

Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

  • Upload
    others

  • View
    35

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Lecture 10: Convolutional Neural Networks

Zerrin YumakUtrecht University

Page 2: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Announcements

• Project proposal deadline is extended!

• New project proposal deadline: 23 Dec Monday 23:59pm

• We will look at your proposals and give feedback by email.

• If you have any questions, you can ask for an appointment afterChristmas holidays (meetings will happen during lecture hours)

• Not mandatory, please ask for an appointment 3-4 days in advance.

Page 3: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

In this lecture

• A bit of history• CNN basics

• Convolutions, strides, pooling• CNN architectures

• AlexNext• ZFNet• VGGNet• GoogLeNet• Residual Networks

• Applications of CNN• Object detection• Object segmentation• …

Page 4: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

A bit of history

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 5: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

A bit of history

CS231n: Convolutional Neural Networks

Page 6: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

A bit of history

CS231n: Convolutional Neural Networks

Page 7: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

A bit of history

CS231n: Convolutional Neural Networks

Page 8: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs are widely used now..

CS231n: Convolutional Neural Networks

Page 9: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Images are numbers

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 10: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Fully Connected Neural Network

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 11: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Using Spatial Structure

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 12: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Using Spatial Structure

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 13: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Feature Extraction with Convolution

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 14: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Feature Extraction and Convolution

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 15: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Features of X

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 16: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Filters to Detect X Features

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 17: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

The Convolution Operation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 18: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

The Convolution Operation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 19: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

The Convolution Operation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 20: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

The Convolution Operation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 21: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

The Convolution Operation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 22: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Producing Feature Maps

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 23: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs for Classification

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 24: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolutional Layers: Local Connectivity

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 25: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs: Spatial Arrangement of Output Volume

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 26: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Introducing Non-Linearity

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 27: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Pooling

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 28: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Pooling

CS231n: Convolutional Neural Networks

Page 29: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 30: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 31: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 32: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 33: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 34: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Convolution Layer

CS231n: Convolutional Neural Networks

Page 35: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 36: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 37: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 38: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 39: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 40: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 41: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 42: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Stride

CS231n: Convolutional Neural Networks

Page 43: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

In practice: Common to zero pad the border

CS231n: Convolutional Neural Networks

Page 44: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

In practice: Common to zero pad the border

CS231n: Convolutional Neural Networks

Page 45: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 46: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 47: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 48: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 49: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 50: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,
Page 51: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 52: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 53: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

[ConvNetJS demo: training on CIFAR-10]

CS231n: Convolutional Neural Networks

Page 54: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs for Classification: Feature Learning

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 55: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs for Classification: Class Probabilities

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 56: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CNNs: Training with Backpropagation

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 57: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Dataset

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 58: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Challenge

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 59: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Challenge: Classification Task

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 60: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Challenge: Classification Task

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 61: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. 2017. ImageNet classification with deep convolutional neural networks. Commun. ACM 60, 6 (May 2017), 84-90

CS231n: Convolutional Neural Networks

Page 62: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 63: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 64: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 65: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 66: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 67: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 68: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 69: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 70: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 71: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Large Scale Visual Recognition Challenge (ILSVRC) winners

CS231n: Convolutional Neural Networks

Page 72: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Large Scale Visual Recognition Challenge (ILSVRC) winners

M. D. Zeiler and R. Fergus, Visualizing and Understanding Convolutional Networks, European conference on computer vision, 818-833, 2013CS231n: Convolutional Neural Networks

Page 73: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Large Scale Visual Recognition Challenge (ILSVRC) winners

CS231n: Convolutional Neural Networks

Page 74: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition, Computer Vision and Pattern Recognition, 2014

CS231n: Convolutional Neural Networks

Page 75: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelv, D. Erhan, V. Vanhoucke, A. Rabinovich, Going deeper with convolutions, IEEE Conference on Computer Vision and PatternRecognition, 2015

CS231n: Convolutional Neural Networks

Page 76: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 77: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 78: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 79: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 80: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

ImageNet Large Scale Visual Recognition Challenge (ILSVRC) winners

CS231n: Convolutional Neural Networks

Page 81: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

K. He, X. Zhang, S. Ren, J. Sun, Deep Residual Learning for Image Recognition, IEEE Conference on Computer Vision and Pattern Recognition, 2016

CS231n: Convolutional Neural Networks

Page 82: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 83: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 84: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

CS231n: Convolutional Neural Networks

Page 85: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Comparing complexity

CS231n: Convolutional Neural Networks

Page 86: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

DataDo not use MNIST in your projects! Use it only for practicing with Tensorflow.

© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 87: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

So far: Image Classification

CS231n: Convolutional Neural Networks

Page 88: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Other Computer Vision Tasks

CS231n: Convolutional Neural Networks

Page 89: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Semantic Segmentation

CS231n: Convolutional Neural Networks

Page 90: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Semantic Segmentation: FCNs

Long, Shelhamer, and Darrell, “Fully Convolutional Networks for Semantic Segmentation”, CVPR 2015 Noh et al, “Learning Deconvolution Network for Semantic Segmentation”, ICCV 2015 © MIT 6.S191: Introduction to Deep Learning

IntroToDeepLearning.com

Page 91: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Classification + Localization

CS231n: Convolutional Neural Networks

Page 92: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Classification + Localization

CS231n: Convolutional Neural Networks

Page 93: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Human Pose Estimation

Johnson and Everingham, "Clustered Pose and Nonlinear Appearance Models for Human Pose Estimation", BMVC 2010Toshev and Szegedy, “DeepPose: Human Pose Estimation via Deep Neural Networks”, CVPR 2014

CS231n: Convolutional Neural Networks

Page 94: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Human Pose Estimation

CS231n: Convolutional Neural Networks

Page 95: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Object Detection/Instance Segmentation

Girshick et al, “Rich feature hierarchies for accurate object detection and semantic segmentation”, CVPR 2014Redmon et al, “You Only Look Once: Unified, Real-Time Object Detection”, CVPR 2016

He et al, “Mask R-CNN”, arXiv 2017© MIT 6.S191: Introduction to Deep LearningIntroToDeepLearning.com

Page 96: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Image Captioning using RNNs

CS231n: Convolutional Neural Networks

Page 97: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Image Captioning using RNNs

A. Karpathy, L. Fei-Fei, Deep Visual-Semantic Alignments for Generating Image Descriptions, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017https://cs.stanford.edu/people/karpathy/deepimagesent/

CS231n: Convolutional Neural Networks

Page 98: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Visualizing Convolutional Networks

http://www.cs.cmu.edu/~aharley/vis/For more info: http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture12.pdf © MIT 6.S191: Introduction to Deep Learning

IntroToDeepLearning.com

Page 99: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

For your projects..• Use research papers mentioned in the slides and other papers you found

• There are links in the slides and on the project website • An interesting source is https://paperswithcode.com

• Do your research and investigate what is possible and what you like to do

• Choose a problem• e.g. object classification, object detection, segmentation, face detection/recognition, pose estimation, image/video

captioning• You can also choose more advanced problems such as GANs

• Choose a dataset• e.g. CIFAR, ImageNet, MSCoco (Do not use MNIST)

• Modify/reimplement different architectures• e.g. AlexNet, GoogLeNet, ResNet etc.

• Try different hyperparameters

• More challenging, state-of-the-art problems and in depth analysis result in higher grade!

Page 100: Lecture 10: Convolutional Neural Networks · CS231n: Convolutional Neural Networks K. Simonyan and A. Zisserman, Very Deep Convolutional Networks for Large -Scale Image Recognition,

Supplementary material and references

• Deep Learning book, Chapter 9

• CS231N: Convolutional Neural Networks, Stanford University • http://cs231n.stanford.edu/2017/syllabus

• 6.S191: Introduction to Deep Learning, MIT• http://introtodeeplearning.com/2018/#schedule

• Coursera Deeplearning.ai on YouTube: https://www.youtube.com/channel/UCcIXc5mJsHVYTZR1maL5l9w/videos

• (Slides are mainly adopted from the above courses)