CS 6501: 3D Reconstruction and Understanding Convolutional Neural Networks Connelly Barnes.

Slides:



Advertisements
Similar presentations
ImageNet Classification with Deep Convolutional Neural Networks
Advertisements

Lecture 14 – Neural Networks
Overview of Back Propagation Algorithm
Convolutional Neural Networks for Image Processing with Applications in Mobile Robotics By, Sruthi Moola.
Object detection, deep learning, and R-CNNs
ECE 6504: Deep Learning for Perception Dhruv Batra Virginia Tech Topics: –(Finish) Backprop –Convolutional Neural Nets.
Deep Convolutional Nets
Neural networks in modern image processing Petra Budíková DISA seminar,
Convolutional Neural Network
Deep Learning Overview Sources: workshop-tutorial-final.pdf
Lecture 4b Data augmentation for CNN training
Facial Detection via Convolutional Neural Network Nathan Schneider.
Cancer Metastases Classification in Histological Whole Slide Images
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Demo.
The Relationship between Deep Learning and Brain Function
Machine Learning for Big Data
Deep Learning Amin Sobhani.
Data Mining, Neural Network and Genetic Programming
Data Mining, Neural Network and Genetic Programming
Data Mining, Neural Network and Genetic Programming
Computer Science and Engineering, Seoul National University
DeepCount Mark Lenson.
Applications of Deep Learning and how to get started with implementation of deep learning Presentation By : Manaswi Advisor : Dr.Chinmay.
Principal Solutions AWS Deep Learning
CSCI 5922 Neural Networks and Deep Learning: Convolutional Nets For Image And Speech Processing Mike Mozer Department of Computer Science and Institute.
Supervised Training of Deep Networks
Lecture 5 Smaller Network: CNN
Neural Networks 2 CS446 Machine Learning.
Convolution Neural Networks
How it Works: Convolutional Neural Networks
Training Techniques for Deep Neural Networks
Comparison Between Deep Learning Packages
Convolutional Networks
CS6890 Deep Learning Weizhen Cai
Machine Learning: The Connectionist
A brief introduction to neural network
Introduction to Deep Learning for neuronal data analyses
Computer Vision James Hays
Introduction to Neural Networks
Deep Learning Packages
Tensorflow in Deep Learning
Counting in Dense Crowds using Deep Learning
CS 4501: Introduction to Computer Vision Training Neural Networks II
Convolutional Neural Networks
Introduction to Deep Learning with Keras
Very Deep Convolutional Networks for Large-Scale Image Recognition
Smart Robots, Drones, IoT
network of simple neuron-like computing elements
CSC 578 Neural Networks and Deep Learning
A Proposal Defense On Deep Residual Network For Face Recognition Presented By SAGAR MISHRA MECE
Deep Learning and Mixed Integer Optimization
Neural Networks Geoff Hulten.
Lecture: Deep Convolutional Neural Networks
Use 3D Convolutional Neural Network to Inspect Solder Ball Defects
Visualizing and Understanding Convolutional Networks
Analysis of Trained CNN (Receptive Field & Weights of Network)
Coding neural networks: A gentle Introduction to keras
Convolutional Neural Networks
Inception-v4, Inception-ResNet and the Impact of
Convolutional Neural Network
CSCI 5922 Neural Networks and Deep Learning: Convolutional Nets For Image And Speech Processing Mike Mozer Department of Computer Science and Institute.
Deep Learning Authors: Yann LeCun, Yoshua Bengio, Geoffrey Hinton
CSC 578 Neural Networks and Deep Learning
Department of Computer Science Ben-Gurion University of the Negev
CS295: Modern Systems: Application Case Study Neural Network Accelerator Sang-Woo Jun Spring 2019 Many slides adapted from Hyoukjun Kwon‘s Gatech “Designing.
VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
Debasis Bhattacharya, JD, DBA University of Hawaii Maui College
Example of training and deployment of deep convolutional neural networks. Example of training and deployment of deep convolutional neural networks. During.
CSC 578 Neural Networks and Deep Learning
Presentation transcript:

CS 6501: 3D Reconstruction and Understanding Convolutional Neural Networks Connelly Barnes

Outline Convolutional Neural Networks (“CNNs”, “ConvNets”) Useful for images Deep learning libraries Project

Outline Convolutional Neural Networks History Convolutional layers Downsampling: stride and pooling layers Fully connected layers Residual networks Data augmentation Deep learning libraries CNNs for 3D Data

Slide from Stanford CS231N History Slide from Stanford CS231N

Slide from Stanford CS231N History Slide from Stanford CS231N

Slide from Stanford CS231N History Slide from Stanford CS231N

Slide from Stanford CS231N History Slide from Stanford CS231N

Slide from Stanford CS231N History Slide from Stanford CS231N

Slide from Stanford CS231N History Slide from Stanford CS231N

Today: CNNs Widely Used Self-driving cars

Today: CNNs Widely Used Image Classification

Convolutional Neural Networks Similar to multilayer neural network, but weight matrices now have a special structure (Toeplitz or block Toeplitz) due to convolutions. The convolutions typically sum over all color channels.

Convolutional Neural Network Neuron Layout Input layer: RGB image Centered, i.e. subtract mean over training set Usually crop to fixed size (square) input image R G B Image from Wikipedia

Convolutional Neural Network Neuron Layout Hidden layer Feature map 1 Feature map n Image from Wikipedia

Receptive Field: Input Region Weights (Shared) Hidden Layer Neuron Receptive Field: Input Region Image from Wikipedia

Mathematically… 𝐋 𝑖 =𝜑( 𝐋 𝑖−1 ∗[ 𝐖 1 , 𝐖 2 ,… 𝐖 𝑛 ]+[ 𝑏 1 ,…, 𝑏 𝑛 ]) Weights for Feature Map 1 Weights for Feature Map n Activation Function Biases 𝐋 𝑖 =𝜑( 𝐋 𝑖−1 ∗[ 𝐖 1 , 𝐖 2 ,… 𝐖 𝑛 ]+[ 𝑏 1 ,…, 𝑏 𝑛 ]) Previous Layer Feature Maps h x w x d Convolution (Shares Weights Spatially) k1 x k2 x d Current Layer Feature Maps

Outline Convolutional Neural Networks History Convolutional layers Downsampling: stride and pooling layers Fully connected layers Residual networks Data augmentation Deep learning libraries CNNs for 3D Data

Stride Stride m indicates that instead of computing every pixel in the convolution, compute only every mth pixel.

Max/average pooling “Downsampling” using max() operator Downsampling factor f could differ from neighborhood size N that is pooled over.

Max/average pooling For max pooling, backpropagation just propagates error back to to whichever neuron had the maximum value. For average pooling, backpropagation splits error equally among all the input neurons.

Fully connected layers Connect every neuron to every other neuron, as with multilayer perceptron. Common at end of ConvNets.

Outline Convolutional Neural Networks History Convolutional layers Downsampling: stride and pooling layers Fully connected layers Residual networks Data augmentation Deep learning libraries CNNs for 3D Data

Residual networks Make it easy to learn the identity function: Network with all zero weights gives identity function. Helps with vanishing/exploding gradients.

Outline Convolutional Neural Networks History Convolutional layers Downsampling: stride and pooling layers Fully connected layers Residual networks Data augmentation Deep learning libraries CNNs for 3D Data

Figure from BaiduVision Data Augmentation Many weights to train Often would be helpful to have more training data Fake having more training data Random rotations Random flips Random shifts Random “zooms” Recolorings etc Figure from BaiduVision

Deep Learning Libraries Deep learning with GPU support: PyTorch (Nice Python integration) Python: Keras, simplifies TensorFlow and Theano interfaces TensorFlow (C++ with Python bindings) Caffe (C++ with Python bindings), MATLAB neural network toolbox …

Outline Convolutional Neural Networks History Convolutional layers Downsampling: stride and pooling layers Fully connected layers Residual networks Data augmentation Deep learning libraries CNNs for 3D Data

Multi-view CNNs Project 1: reimplement MVCNN: Multi-view CNNs in Keras.

Project For the project, you should set up an Amazon Educate account with free compute credits on a GPU-equipped instance (e.g. p2.xlarge) Use the Amazon Machine Instance (AMI) for deep learning Install Keras, and make sure the GPU works with Keras See this StackOverflow post to check for Keras + GPU

Figure from paper: [Wu et al. 2015, 3D ShapeNets] ModelNet-40 Figure from paper: [Wu et al. 2015, 3D ShapeNets]

Multi-view CNNs Results from MVCNN: Multi-view CNNs.

3D ShapeNets [Wu et al. 2015, 3D ShapeNets]