Taking Inverse Graphics Seriously



Similar documents
Neural Networks for Machine Learning. Lecture 13a The ups and downs of backpropagation

Introduction to Machine Learning CMU-10701

Part-Based Recognition

Efficient online learning of a non-negative sparse autoencoder

Image Classification for Dogs and Cats

Introduction to Computer Graphics

Deep Convolutional Inverse Graphics Network

Robust Real-Time Face Detection

Object Recognition and Template Matching

Manifold Learning with Variational Auto-encoder for Medical Image Analysis

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

CS 1699: Intro to Computer Vision. Deep Learning. Prof. Adriana Kovashka University of Pittsburgh December 1, 2015

Supporting Online Material for

Handwritten Digit Recognition with a Back-Propagation Network

An Analysis of Single-Layer Networks in Unsupervised Feature Learning

Template-based Eye and Mouth Detection for 3D Video Conferencing

Learning to Process Natural Language in Big Data Environment

Big Ideas in Mathematics

Image and Video Understanding

Novelty Detection in image recognition using IRF Neural Networks properties

Applying Deep Learning to Car Data Logging (CDL) and Driver Assessor (DA) October 22-Oct-15

Limitations of Human Vision. What is computer vision? What is computer vision (cont d)?

Artificial Neural Networks and Support Vector Machines. CS 486/686: Introduction to Artificial Intelligence

Deep learning applications and challenges in big data analytics

Classifying Manipulation Primitives from Visual Data

ARTIFICIAL INTELLIGENCE METHODS IN EARLY MANUFACTURING TIME ESTIMATION

Applying Deep Learning to Enhance Momentum Trading Strategies in Stocks

Selecting Receptive Fields in Deep Networks

An Introduction to Neural Networks

Admin stuff. 4 Image Pyramids. Spatial Domain. Projects. Fourier domain 2/26/2008. Fourier as a change of basis

Analecta Vol. 8, No. 2 ISSN

AN IMPROVED DOUBLE CODING LOCAL BINARY PATTERN ALGORITHM FOR FACE RECOGNITION

Introduction to Machine Learning and Data Mining. Prof. Dr. Igor Trajkovski

Such As Statements, Kindergarten Grade 8

Neural Networks and Support Vector Machines

Programming Exercise 3: Multi-class Classification and Neural Networks

Steven C.H. Hoi School of Information Systems Singapore Management University

Modeling Pixel Means and Covariances Using Factorized Third-Order Boltzmann Machines

Tracking in flussi video 3D. Ing. Samuele Salti

A Simple Feature Extraction Technique of a Pattern By Hopfield Network

A Short Introduction to Computer Graphics

NEURAL NETWORKS A Comprehensive Foundation

Efficient Learning of Sparse Representations with an Energy-Based Model

Deformable Part Models with CNN Features

What is Visualization? Information Visualization An Overview. Information Visualization. Definitions

Machine Learning for Data Science (CS4786) Lecture 1

HANDS-FREE PC CONTROL CONTROLLING OF MOUSE CURSOR USING EYE MOVEMENT

Stochastic Pooling for Regularization of Deep Convolutional Neural Networks

Time Domain and Frequency Domain Techniques For Multi Shaker Time Waveform Replication

The Value of Visualization 2

Simplified Machine Learning for CUDA. Umar

: Introduction to Machine Learning Dr. Rita Osadchy

Solving Simultaneous Equations and Matrices

Chapter 19. General Matrices. An n m matrix is an array. a 11 a 12 a 1m a 21 a 22 a 2m A = a n1 a n2 a nm. The matrix A has n row vectors

Visibility optimization for data visualization: A Survey of Issues and Techniques

Method of Combining the Degrees of Similarity in Handwritten Signature Authentication Using Neural Networks

Learning Deep Architectures for AI. Contents

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

Keywords: Image Generation and Manipulation, Video Processing, Video Factorization, Face Morphing

Recognition. Sanja Fidler CSC420: Intro to Image Understanding 1 / 28

CS1112 Spring 2014 Project 4. Objectives. 3 Pixelation for Identity Protection. due Thursday, 3/27, at 11pm

OBJECT TRACKING USING LOG-POLAR TRANSFORMATION

Local features and matching. Image classification & object localization

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

A Learning Based Method for Super-Resolution of Low Resolution Images

Intelligent Flexible Automation

Performance Assessment Task Which Shape? Grade 3. Common Core State Standards Math - Content Standards

Accurate and robust image superresolution by neural processing of local image representations

Semantic Recognition: Object Detection and Scene Segmentation

Activity recognition in ADL settings. Ben Kröse

Essential Mathematics for Computer Graphics fast

Component Ordering in Independent Component Analysis Based on Data Power

Recognizing Cats and Dogs with Shape and Appearance based Models. Group Member: Chu Wang, Landu Jiang

A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA

Solution Guide III-C. 3D Vision. Building Vision for Business. MVTec Software GmbH

GLOVE-BASED GESTURE RECOGNITION SYSTEM

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Common Core Unit Summary Grades 6 to 8

Pedestrian Detection with RCNN

Tensor Methods for Machine Learning, Computer Vision, and Computer Graphics

THE HUMAN BRAIN. observations and foundations

Visualization Techniques in Data Mining

3 An Illustrative Example

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Lecture 6: Classification & Localization. boris. ginzburg@intel.com

A. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)

Lecture 6: CNNs for Detection, Tracking, and Segmentation Object Detection

Rectified Linear Units Improve Restricted Boltzmann Machines

Topological Data Analysis Applications to Computer Vision

SUCCESSFUL PREDICTION OF HORSE RACING RESULTS USING A NEURAL NETWORK

How To Use Neural Networks In Data Mining

MassArt Studio Foundation: Visual Language Digital Media Cookbook, Fall 2013

Feed-Forward mapping networks KAIST 바이오및뇌공학과 정재승

Keywords: Image complexity, PSNR, Levenberg-Marquardt, Multi-layer neural network.

Transcription:

CSC2535: 2013 Advanced Machine Learning Taking Inverse Graphics Seriously Geoffrey Hinton Department of Computer Science University of Toronto

The representation used by the neural nets that work best for recognition (Yann LeCun) Convolutional neural nets use multiple layers of feature detectors that have local receptive fields and shared weights. The feature extraction layers are interleaved with sub-sampling layers that throw away information about precise position in order to achieve some translation invariance.

Why convolutional neural networks are doomed Convolutional nets are doomed for two reasons: Sub-sampling loses the precise spatial relationships between higher-level parts such as a nose and a mouth. The precise spatial relationships are needed for identity recognition Overlapping the sub-sampling pools helps a bit. They cannot extrapolate their understanding of geometric relationships to radically new viewpoints.

Equivariance vs Invariance Sub-sampling tries to make the neural activities invariant to small changes in viewpoint. This is a silly goal, motivated by the fact that the final label needs to be viewpoint-invariant. Its better to aim for equivariance: Changes in viewpoint lead to corresponding changes in neural activities. In the perceptual system, its the weights that code viewpoint-invariant knowledge, not the neural activities.

What is the right representation of images? Computer vision is inverse computer graphics, so the higher levels of a vision system should look like the representations used in graphics. Graphics programs use hierarchical models in which spatial structure is modeled by matrices that represent the transformation from a coordinate frame embedded in the whole to a coordinate frame embedded in each part. These matrices are totally viewpoint invariant. This representation makes it easy to compute the relationship between a part and the retina from the relationship between a whole and the retina. Its just a matrix multiply!

Some psychological evidence that our visual systems impose coordinate frames in order to represent shapes (after Irvin Rock)

The cube task You can all imagine a wire-frame cube. Now imagine the cube standing on one corner so that body-diagonal from that corner, through the center of the cube to the opposite corner is vertical. Where are the other corners of the cube? You cannot do this task because I forced you to use a coordinate system that is not your usual way of understanding a cube.

Mental rotation: More evidence for coordinate frames We perform mental rotation to decide if the tilted R has the correct handedness, not to recognize that it is an R. But why do we need to do mental rotation to decide handedness?

What mental rotation achieves It is very difficult to compute the handedness of a coordinate transformation by looking at the individual elements of the matrix. The handedness is the sign of the determinant of the matrix relating the object to the viewer. This is a high-order parity problem. To avoid this computation, we rotate to upright preserving handedness, then we look to see which way it faces when it is in its familiar orientation. If we had individual neurons that represented a whole pose, we would not have a problem with identifying handedness, because these neurons would have a handedness.

Two layers in a hierarchy of parts A higher level visual entity is present if several lower level visual entities can agree on their predictions for its pose. p j T j face T ij T i T ij T h T hj T hj p i T i p h T h mouth pose of mouth i. e. relationship to camera nose

A crucial property of the pose vectors They allow spatial transformations to be modeled by linear operations. This makes it easy to learn a hierarchy of visual entities. It makes it easy to generalize across viewpoints. The invariant geometric properties of a shape are in the weights, not in the activities. The activities are equivariant.

Extrapolating shape recognition to very different sizes, orientations and positions Current wisdom: Learn different models for different viewpoints. This requires a lot of training data. A much more ambitious approach: The manifold of images of the same rigid shape is highly non-linear in the space of pixel intensities. Transform to a space in which the manifold is globally linear. This allows massive extrapolation.

A toy example of what we could do if we could reliably extract the poses of parts of objects Consider images composed of five ellipses. The shape is determined entirely by the spatial relations between the ellipses because all parts have the same shape. Can we extract sets of spatial relationships from data that contains several different shapes? Can we generalize far beyond the range of variation in the training examples? Can we learn without being told which ellipse corresponds to which part of a shape?

Examples of two shapes (Yichuan Tang) Examples of training data Examples of training data It can extrapolate! Generated data after training Generated data after training

Learning one shape using factor analysis The pose of the whole can predict the poses of all the parts. This generative model is easy to fit using the EM algorithm for factor analysis. T j face T ij T hj = factor loadings T i mouth T h nose

Learning the right assignments of the ellipses to the parts of a shape. If we do not know how to assign the ellipses to the parts of a known shape we can try many different assignments and pick the one that gives the best reconstruction. Then we assume that is the correct assignment and use that assignment for learning. This quickly leads to models that have strong opinions about the correct assignment. We could eliminate most of the search by using a feed-forward neural net to predict the assignments.

Fitting a mixture of shapes We can use a mixture of factor analysers (MFA) to fit images that contain many different shapes so long as each image only contains one example of one shape.

Recognizing deformed shapes with MFA

A big problem How do we get from pixels to the first level parts that output explicit pose parameters? We do not have any labeled data. This de-rendering stage has to be very non-linear.

A picture of three capsules i x y i x y i x y Intensity of the capsule s visual entity. input image

Extracting pose information by using a domain specific decoder (Navdeep Jaitly & Tijmen Tieleman) The idea is to define a simple decoder that produces an image by adding together contributions from each capsule. Each capsule learns a fixed template that gets intensity-scaled and translated differently for reconstructing each image. The encoder must learn to extract the appropriate intensity and translation for each capsule from the input image.

output image Decoder: Add together intensity-scaled and translated contributions from each capsule. learned template i x y i x y i x y Train encoder using backpropagation

The templates learned by the autoencoder Each template is multiplied by a casespecific intensity and translated by a casespecific Δ x, Δy Then it is added to the output image.

image reconstruction recon. error capsule 1 capsule 2 capsule 3 capsule 4

Modeling the capsule outputs with a factor analyser 10 factors i 1 x1 y1 i2 x2 y2 i3 x3 y3 i4 x4 y4... We learn a mixture of 10 factor analysers on unlabeled data. What do the means look like?

Means discovered by a mixture of factor analysers mean - 2 σ of each factor mean + 2 σ of each factor directly on pixels on outputs of capsules

Another simple way to learn the lowest level parts Use pairs of images that are related by a known coordinate transformation e.g. a small translation of the image. We often have non-visual access to image transformations e.g. When we make an eye-movement. Cats learn to see much more easily if they control the image transformations (Held & Hein)

Learning the lowest level capsules We are given a pair of images related by a known translation. Step 1: Compute the capsule outputs for the first image. Each capsule uses its own set of recognition hidden units to extract the x and y coordinates of the visual entity it represents (and also the probability of existence) Step 2: Apply the transformation to the outputs of each capsule - Just add Δx to each x output and Δy to each y output Step 3: Predict the transformed image from the transformed outputs of the capsules Each capsule uses its own set of generative hidden units to compute its contribution to the prediction.

actual output target output gate +Δx +Δy p x y +Δx +Δy p x y +Δx +Δy p x y probability that the capsule s visual entity is present input image

Why it has to work When the net is trained with back-propagation, the only way it can get the transformations right is by using x and y in a way that is consistent with the way we are using Δx and Δy. This allows us to force the capsules to extract the coordinates of visual entities without having to decide what the entities are or where they are.

gate output image p x x x p p probability that the feature is present input image

Relationship to a Kalman filter A linear dynamical system can predict the next observation vector. But only when there is a linear relationship between the underlying dynamics and the observations. The extended Kalman filter assumes linearity about the current operating point. It s a fudge. Transforming autoencoders use non-linear recognition units to map the observation space to the space in which the dynamics is linear. Then they use non-linear generation units to map the prediction back to observation space This is a much better approach than the extended Kalman filter, especially when the dynamics is known.

Relationship to Slow Feature Analysis Slow feature analysis uses a very primitive model of the dynamics. It assumes that the underlying state does not change much. This is a much weaker way of extracting features than using precise knowledge of the dynamics. Also, slow feature analysis only produces dumb features that do not output explicit instantiation parameters.

Dealing with the three dimensional world Use stereo images to allow the encoder to extract 3-D poses. Using capsules, 3-D would not be much harder than 2-D if we started with 3-D pixels. The loss of the depth coordinate is a separate problem from the complexity of 3-D geometry. At least capsules stand a chance of dealing with the 3-D geometry properly. Convolutional nets in 3-D are a nightmare.

Dealing with 3-D viewpoint (Alex Krizhevsky) Input stereo pair Output stereo pair Correct output

It also works on test data

the end The work on transforming autoencoders is in a paper called transforming autoencoders on my webpage: http://www.cs.toronto.edu/~hinton/absps/transauto6.pdf The work on the dropout technique that is used to make a large number of capsules find different overlapping templates is described in a paper on arxiv: http://arxiv.org/abs/1207.0580