Model Fitting. CS6240 Multimedia Analysis. Leow Wee Kheng. Department of Computer Science School of Computing National University of Singapore

Similar documents
Edge and local feature detection - 2. Importance of edge detection in computer vision

Leow Wee Kheng CS4243 Computer Vision and Pattern Recognition. Motion Tracking. CS4243 Motion Tracking 1

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Segmentation and Grouping

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

Lecture 7: Most Common Edge Detectors

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Edge detection. Gradient-based edge operators

Vivekananda. Collegee of Engineering & Technology. Question and Answers on 10CS762 /10IS762 UNIT- 5 : IMAGE ENHANCEMENT.

Lecture 16: Computer Vision

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Other Linear Filters CS 211A

Image Registration Lecture 4: First Examples

Particle Filtering. CS6240 Multimedia Analysis. Leow Wee Kheng. Department of Computer Science School of Computing National University of Singapore

Image Processing. BITS Pilani. Dr Jagadish Nayak. Dubai Campus

Robert Collins CSE598G. Intro to Template Matching and the Lucas-Kanade Method

Announcements. Edge Detection. An Isotropic Gaussian. Filters are templates. Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3.

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

Feature Detection and Matching

Image Filtering, Warping and Sampling

CPSC 340: Machine Learning and Data Mining. Robust Regression Fall 2015

Computer Vision 2. SS 18 Dr. Benjamin Guthier Professur für Bildverarbeitung. Computer Vision 2 Dr. Benjamin Guthier

COMPUTATIONAL INTELLIGENCE (CS) (INTRODUCTION TO MACHINE LEARNING) SS16. Lecture 2: Linear Regression Gradient Descent Non-linear basis functions

Filtering Images. Contents

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

Image Enhancement in Spatial Domain (Chapter 3)

Visual Tracking (1) Pixel-intensity-based methods

EE795: Computer Vision and Intelligent Systems

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

Lecture 6: Edge Detection

Motion. 1 Introduction. 2 Optical Flow. Sohaib A Khan. 2.1 Brightness Constancy Equation

Non-Rigid Image Registration III

Week 3: Perceptron and Multi-layer Perceptron

A Modified Spline Interpolation Method for Function Reconstruction from Its Zero-Crossings

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge)

Filtering and Edge Detection. Computer Vision I. CSE252A Lecture 10. Announcement

Biomedical Image Analysis. Point, Edge and Line Detection

Image Warping. Srikumar Ramalingam School of Computing University of Utah. [Slides borrowed from Ross Whitaker] 1

Introduction to Digital Image Processing

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

COMPUTATIONAL INTELLIGENCE (INTRODUCTION TO MACHINE LEARNING) SS18. Lecture 2: Linear Regression Gradient Descent Non-linear basis functions

Math (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines

Tutorial 5. Jun Xu, Teaching Asistant March 2, COMP4134 Biometrics Authentication

Basic relations between pixels (Chapter 2)

Lecture 16: Computer Vision

CHAPTER 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN

Intensity Transformation and Spatial Filtering

Digital Image Processing. Image Enhancement - Filtering

Image features. Image Features

Texture Segmentation Using Multichannel Gabor Filtering

Digital Image Processing

3D Motion from Image Derivatives Using the Least Trimmed Square Regression

Machine Learning Classifiers and Boosting

Visual Tracking (1) Feature Point Tracking and Block Matching

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

Abstract. Keywords. Computer Vision, Geometric and Morphologic Analysis, Stereo Vision, 3D and Range Data Analysis.

Parametric Surfaces and Surface Area

Sampling and Reconstruction

Filtering and Enhancing Images

Mean Shift Tracking. CS4243 Computer Vision and Pattern Recognition. Leow Wee Kheng

Correcting Radial Distortion of Cameras With Wide Angle Lens Using Point Correspondences

Edges and Lines Readings: Chapter 10: better edge detectors line finding circle finding

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Experiments with Edge Detection using One-dimensional Surface Fitting

Adaptative Elimination of False Edges for First Order Detectors

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

VARIANCE REDUCTION TECHNIQUES IN MONTE CARLO SIMULATIONS K. Ming Leung

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

Image Processing. Traitement d images. Yuliya Tarabalka Tel.

Stereo Observation Models

CS4733 Class Notes, Computer Vision

Functions of Several Variables

2D Image Processing INFORMATIK. Kaiserlautern University. DFKI Deutsches Forschungszentrum für Künstliche Intelligenz

Chapter 3: Intensity Transformations and Spatial Filtering

Edge and corner detection

Accurate Reconstruction by Interpolation

Lecture: Edge Detection

Biomedical Image Analysis. Spatial Filtering

Feature Matching and Robust Fitting

Silhouette-based Multiple-View Camera Calibration

BME I5000: Biomedical Imaging

Measuring Corner Properties

How and what do we see? Segmentation and Grouping. Fundamental Problems. Polyhedral objects. Reducing the combinatorics of pose estimation

Line, edge, blob and corner detection

Computer Graphics / Animation

Image Analysis. Edge Detection

In this lecture. Background. Background. Background. PAM3012 Digital Image Processing for Radiographers

Feature Tracking and Optical Flow

Outlines. Medical Image Processing Using Transforms. 4. Transform in image space

PA2 Introduction to Tracking. Connected Components. Moving Object Detection. Pixel Grouping. After Pixel Grouping 2/19/17. Any questions?

Lecture 10 Detectors and descriptors

Transcription:

Model Fitting CS6240 Multimedia Analysis Leow Wee Kheng Department of Computer Science School of Computing National University of Singapore (CS6240) Model Fitting 1 / 34

Introduction Introduction Model fitting fits a model to input data. It is equivalent to registration. A model can be parametric or non-parametric. Input data can be data points or images. Let s start with fitting of lines, planes, and curves to data points. (CS6240) Model Fitting 2 / 34

Fitting to Data Points Line Fitting Line Fitting Fitting of line in 2-D space can be stated as follows: Given data points (x i,z i ), i = 1,...,n, determine the line (i.e., linear function) f(x) that minimizes the error z f(x). This is also called linear regression. z z i e i x i x (CS6240) Model Fitting 3 / 34

Fitting to Data Points Line Fitting Equation of a line in 2-D space is z = a 1 x+a 2. (1) The difference e i = z i (a 1 x i +a 2 ) is the fitting error. So, the problem is to find the line, parameterized by a 1 and a 2, that minimizes the sum-squared error E E = i z i (a 1 x i +a 2 ) 2. (2) To find the least-squared fitting line, combine Eq. 1 for all i: z 1 x 1 1 [ ] a1. =.. a 2 z n x n 1 (3) (CS6240) Model Fitting 4 / 34

Fitting to Data Points Line Fitting which can be written as where Z = z 1. z n, M = Z = MA (4) x 1 1.. x n 1, A = [ a1 a 2 ]. Then, the least-square solution for A is given by A = (M M) 1 M Z. (5) (CS6240) Model Fitting 5 / 34

Fitting to Data Points Plane Fitting Plane Fitting The same method can be applied to the fitting of planes in 3-D space. Equation of planes in 3-D space: z = a 1 x+a 2 y +a 3. (6) Then, we obtain z 1. z n = x 1 y 1 1... x n y n 1 a 1 a 2 a 3 (7) which can also be written as Z = MA. (8) (CS6240) Model Fitting 6 / 34

Fitting to Data Points Curved Surface Fitting Curved Surface Fitting Consider data points (x i,y i,z i ) that define a curved surface in 3-D space. A simple way to represent the curved surface is by means of an order-m polynomial function: z = a kl x k y l, 0 k +l m. (9) k l (CS6240) Model Fitting 7 / 34

Fitting to Data Points Curved Surface Fitting For example, a 2nd-order polynomial function is z = a 20 x 2 +a 02 y 2 +a 11 xy +a 10 x+a 01 y +a 00. (10) Combining the equation for all i gives z 1 x 2 1 y1 2 x 1 y 1 x 1 y 1 1. =...... z n x 2 n yn 2 x n y n x n y n 1 which can also be written as a 20. a 00 (11) Z = MA. (12) So, fitting of polynomial curved surface in 3-D space is easy! Exercise: Fit a polynomial curve in 2-D space. (CS6240) Model Fitting 8 / 34

Fitting to Data Points Curved Surface Fitting Another general way to represent a curved surface is by means of basis functions h k (x,y), k = 1,...,K: z = K a k h k (x,y). (13) k=1 Usually use radially symmetric functions called radial basis functions. Usually want basis functions to have finite support, i.e., have non-zero value over small domain. Examples: Gaussian, splines, wavelets, etc. (CS6240) Model Fitting 9 / 34

Fitting to Image Content Fitting to Image Content Previous sections illustrate fitting of models to data points. What about fitting models to image content? This is more tedious because digital image is a discrete object, and image content can be very complex. Here, we look at some simple examples as illustrations. (CS6240) Model Fitting 10 / 34

Fitting to Image Content Point Fitting Point Fitting The simplest example is to fit a model to a point in the image. How does a point look like in an image? (a) A point. (b) The enlarged image of a point. A point usually occupies more than one pixel. A point does not have sharp edges. The edges are smooth or blurred. (CS6240) Model Fitting 11 / 34

Fitting to Image Content Point Fitting An appropriate model of a point is 2D Gaussian. 2D (unnormalized) Gaussian g(x,y) = exp ( x2 +y 2 ) 2σ 2 (14) (CS6240) Model Fitting 12 / 34

Fitting to Image Content Point Fitting So, a point can be modeled by the 2D Gaussian G as follows: ) G(x;θ) = G(x;A,B,σ,u) = A+Bexp ( x u 2 2σ 2 (15) x = (x,y): any location in the image. A: intensity of background (dark region). B: peak intensity of point (brightest region). u = (u,v): peak location, i.e., center of point. σ: amount of spread of the Gaussian. θ = (A,B,σ,u,v) : parameters of the point model. (CS6240) Model Fitting 13 / 34

Fitting to Image Content Point Fitting If the model G matches a point in image I perfectly, then for all locations x within the model G. G(x;θ) = I(x) (16) So, the point fitting problem is to find the parameters θ that minimize the error E: E(θ) = 1 2 (G(x;θ) I(x)) 2 (17) x W where W is the extent of G (like a small window or template). (CS6240) Model Fitting 14 / 34

Fitting to Image Content Point Fitting Since E is differentiable, we can compute the derivatives of E with respect to the parameters, E/ θ = ( E/ A,..., E/ v). E A = (G(x;θ) I(x)) x W E B = (G(x;θ) I(x))exp ( x u 2 2σ 2 x W E u = ) (G(x;θ) I(x))exp ( x u 2 x u 2σ 2 σ 2 x W ) (18) E σ = x W(G(x;θ) I(x))exp ) ( x u 2 x u 2 2σ 2 σ 3 (CS6240) Model Fitting 15 / 34

Fitting to Image Content Point Fitting It is difficult to solve E/ θ = 0 analytically for the minimum. In this case, we can apply gradient descent method as follows: Initialize θ. Repeat until convergence update θ in the direction of negative gradient of E: θ = η E θ (19) i.e., θ(t+1) = θ(t) η E θ. (20) η is a constant update rate. η should be small to ensure stability and convergence. There are many possible convergence criteria, e.g., E(t+1) E(t) is small enough. (CS6240) Model Fitting 16 / 34

Fitting to Image Content Point Fitting Intuitive Idea of Gradient Descent Consider E/ A. Assume B = 0 for now. Notes: When A > I, A < 0, A is decreased towards I. When A < I, A > 0, A is increased towards I. Gradient descent changes the parameters towards the desired values. Can use this to check whether the signs of the equations are correct. In theory, when the desired values are attained, the error E is minimized. In practice, gradient descent can get trapped in local minimum. (CS6240) Model Fitting 17 / 34

Fitting to Image Content Point Fitting Example: Fit a Gaussian model to a point in the image. Actual parameter values: (A,B,u,v,σ) = (10,170,4.4,3.7,1.8) Initial estimate θ(0): (A,B,u,v,σ) = (0,100,5,3,1) Optimization error E(θ) over iteration t: optimization error 10000 1000 100 10 1 0.1 0.01 0.001 0.0001 1E-005 1E-006 1E-007 1E-008 0 10 20 30 40 50 60 iteration (CS6240) Model Fitting 18 / 34

Fitting to Image Content Point Fitting Error of position (u,v) over iteration t: position error 1.2 1 0.8 0.6 0.4 0.2 0 0 10 20 30 40 50 60 iteration Need a good initial estimate. Otherwise, algorithm can get trapped in a local minimum. Since (u, v) can be real-valued, model fitting produces a sub-pixel localization of the point in the image. (CS6240) Model Fitting 19 / 34

Fitting to Image Content Edge Fitting Edge Fitting Edge fitting can be performed in a similar manner. An edge is defined by a change of intensity, which is a blurred step function. (CS6240) Model Fitting 20 / 34

Fitting to Image Content Edge Fitting Edge Model y y v A O B θ x O u (O,x,y) is the global coordinate system of the image. (O,x,y ) is the local coordinate system in which the edge is defined. x (CS6240) Model Fitting 21 / 34

Fitting to Image Content Edge Fitting A unit step function is defined as { 1 if x > 0 U(x) = 0 otherwise. U ( x ) 1 0 x An ideal 2-D step edge S located at O in the coordinate system (O,x,y ) along the y -axis is given by S(x,y ) = U(x ). (21) (CS6240) Model Fitting 22 / 34

Fitting to Image Content Edge Fitting A 2-D blurred edge F can be modeled by convolving the 2-D step edge S with a 1-D Gaussian G across the edge: F(x,y ;σ) = G(w;σ)S(x w,y )dw (22) where ) G(w;σ) = exp ( w2 2σ 2 (23) (a) sharp edge (b) 1-D Gaussian across edge (c) blurred edge (CS6240) Model Fitting 23 / 34

Fitting to Image Content Edge Fitting O is located at (u,v) of the global coordinate system. So, transform edge from local system to global system: [ x ] y = [ (x u)cosθ +(y v)sinθ ] (x u)sinθ +(y v)cosθ (24) Let the gray level on the darker side be A and the gray level on the brighter side be B. Then, the final edge model M is: M(x,y;θ) = A+BF(x,y ;σ) (25) where θ = (u,v,θ,σ,a,b) T is the parameter vector. (CS6240) Model Fitting 24 / 34

Fitting to Image Content Edge Fitting Can compute the error of match E(θ) as E(θ) = x W (M(x;θ) I(x)) 2 (26) where W is the extent of M. Now, apply algorithm to find the θ that minimizes E(θ). In this case, it is not so easy to differentiate E wrt θ. One method is to apply Powell s direction set algorithm [PTVF92]. Powell s algorithm does not require the user to provide the partial derivatives of E. It estimates the partial derivative numerically. (CS6240) Model Fitting 25 / 34

Fitting to Image Content Fitting Other Models Fitting Other Models Other parametric models such as corners can be fitted to the image in a similar way. (Exercise, [DB93, DG90]) Fitting general models is more complex. Two kinds of models: Parametric: represented by parametric but non-analytic equations. Non-parametric: represented by a set of discrete data points. (CS6240) Model Fitting 26 / 34

Revisit Line and Plane Fitting Revisit Line and Plane Fitting The previous method minimizes error of one of the coordinates (z). What if you want to minimize the perpendicular distances of the points to the line (or plane)? x 2 x i2 ei Need to compute the distance of a point to a line (or plane). x i1 x 1 (CS6240) Model Fitting 27 / 34

Revisit Line and Plane Fitting Equation of hyperplane π (line in 2-D, plane in 3-D, etc.): a 1 x 1 +a 2 x 2 + +a n x n +a n+1 = 0. (27) Denote a = (a 1 a n ), x = (x 1 x n ). Then, equation of π can be written as a x+a n+1 = 0 (28) where x is a point on π. Then, the unit vector u of π is a/ a. (Exercise) (CS6240) Model Fitting 28 / 34

Revisit Line and Plane Fitting Consider a point p not on π. p d x π u Let x denote the perpendicular projection of p on π. Perpendicular distance of p to π, denoted as d, is give by O d = p u x u = p a x a a = a p+a n+1. a (29) (CS6240) Model Fitting 29 / 34

Revisit Line and Plane Fitting So, finding the best-fit hyperplane π is to find the a that minimizes the distance D [ a ] 2 p+a n+1. (30) D = i a This equation is difficult to differentiate. Can apply Powell s direction set algorithm [PTVF92]. Notes: So, fitting n-d linear or non-linear models to data points in n+1-d space is not too difficult. But, fitting other models are not so easy. Example: How to fit a curve (1-D object) to data points in 3-D space? No convenient analytic form. How to even represent them? (CS6240) Model Fitting 30 / 34

Summary Summary Problems and algorithms discussed: problem corresp. model algorithm line, plane known linear linear least square curve, curved surface known polynomial, RBF linear least square line, plane unknown linear Powell point in image unknown Gaussian gradient descent edge in image unknown Step Powell Fitting a model to input data is equivalent to registering the model to the input data. Model fitting is also equivalent to model learning. After fitting, you get a model that fits the data. Usually need good initialization to get good optimization results. (CS6240) Model Fitting 31 / 34

Exercise Exercise (1) Develop a method for fitting a polynomial curve in 2-D space. (2) Develop a method for fitting a corner model to a corner in an image. (3) The equation of a hyperplane π is given by a 1 x 1 +a 2 x 2 + +a n x n +a n+1 = 0. (31) Denote a = (a 1 a n ), x = (x 1 x n ). Show that the unit vector u of π is a/ a. (CS6240) Model Fitting 32 / 34

Reference Reference I R. Deriche and T. Blaszka. Recovering and characterizing image features using an efficient model based approach. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 530 535, 1993. http://citeseer.nj.nec.com/deriche94recovering.html. R. Deriche and G. Giraudon. Accurate corner detection: An analytical study. In Proceedings of 3rd International Conference on Computer Vision, pages 66 70, 1990. (CS6240) Model Fitting 33 / 34

Reference Reference II W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical Recipes in C. Cambridge University Press, 2nd edition, 1992. (CS6240) Model Fitting 34 / 34