Lecture 6 Linear Processing. ch. 5 of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Similar documents
All images are degraded

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Lecture 10 Segmentation, Part II (ch 8) Active Contours (Snakes) ch. 8 of Machine Vision by Wesley E. Snyder & Hairong Qi

Lecture 12 Level Sets & Parametric Transforms. sec & ch. 11 of Machine Vision by Wesley E. Snyder & Hairong Qi

Lecture 13 Theory of Registration. ch. 10 of Insight into Images edited by Terry Yoo, et al. Spring (CMU RI) : BioE 2630 (Pitt)

Lecture 15 Active Shape Models

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region

Digital Image Processing. Image Enhancement - Filtering

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

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

Registration: Rigid vs. Deformable

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

Edge Detection Lecture 03 Computer Vision

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

Lecture 4: Image Processing

Filtering and Enhancing Images

Anno accademico 2006/2007. Davide Migliore

Lecture 6: Edge Detection

Lecture 7: Most Common Edge Detectors

The Pipeline. Lecture 17 ITK Pipeline. The pipeline idea. Image sources. Image to image filters. Input and output

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

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

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

Image Processing. Traitement d images. Yuliya Tarabalka Tel.

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

Lecture 09 Segmentation (ch 8) ch. 8 of Machine Vision by Wesley E. Snyder & Hairong Qi. Dr. John Galeo3. Into connected regions

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

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

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

EE795: Computer Vision and Intelligent Systems

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

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

Edge and corner detection

Noise Model. Important Noise Probability Density Functions (Cont.) Important Noise Probability Density Functions

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

Image Processing

Review of Filtering. Filtering in frequency domain

5. Feature Extraction from Images

Biomedical Image Analysis. Point, Edge and Line Detection

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

EECS490: Digital Image Processing. Lecture #19

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

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

Chapter 3: Intensity Transformations and Spatial Filtering

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

Filtering Images. Contents

Local Features: Detection, Description & Matching

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

Ulrik Söderström 16 Feb Image Processing. Segmentation

Lecture: Edge Detection

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

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

DIGITAL IMAGE PROCESSING

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Image Analysis. Edge Detection

Frequency analysis, pyramids, texture analysis, applications (face detection, category recognition)

IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE

2/7/18. For more info/gory detail. Lecture 8 Registration with ITK. Transform types. What is registration? Registration in ITK

ECG782: Multidimensional Digital Signal Processing

Lecture 4: Spatial Domain Transformations

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

Other Linear Filters CS 211A

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Line, edge, blob and corner detection

COMPARATIVE STUDY OF IMAGE EDGE DETECTION ALGORITHMS

Texture. Texture is a description of the spatial arrangement of color or intensities in an image or a selected region of an image.

What will we learn? Neighborhood processing. Convolution and correlation. Neighborhood processing. Chapter 10 Neighborhood Processing

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Digital Image Processing COSC 6380/4393

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

SURVEY ON IMAGE PROCESSING IN THE FIELD OF DE-NOISING TECHNIQUES AND EDGE DETECTION TECHNIQUES ON RADIOGRAPHIC IMAGES

CS4670: Computer Vision Noah Snavely

Segmentation and Grouping

Edge Detection. CSC320: Introduction to Visual Computing Michael Guerzhoy. René Magritte, Decalcomania. Many slides from Derek Hoiem, Robert Collins

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

Prof. Feng Liu. Winter /15/2019

Topic 4 Image Segmentation

Edge Detection. EE/CSE 576 Linda Shapiro

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Image Processing. Image Features

What Are Edges? Lecture 5: Gradients and Edge Detection. Boundaries of objects. Boundaries of Lighting. Types of Edges (1D Profiles)

Computer Vision I - Filtering and Feature detection

SRCEM, Banmore(M.P.), India

Final Review CMSC 733 Fall 2014

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Computer Vision I - Basics of Image Processing Part 2

Does everyone have an override code?

Binary Image Processing. Introduction to Computer Vision CSE 152 Lecture 5

Scaled representations

Edge Detection CSC 767

ECG782: Multidimensional Digital Signal Processing

ECG782: Multidimensional Digital Signal Processing

Introduction to Computer Vision

Comparison between Various Edge Detection Methods on Satellite Image

Final Review. Image Processing CSE 166 Lecture 18

CS 534: Computer Vision Texture

Corner Detection. Harvey Rhody Chester F. Carlson Center for Imaging Science Rochester Institute of Technology

Linear Operations Using Masks

Transcription:

Lecture 6 Linear Processing ch. 5 of Machine Vision by Wesley E. Snyder Hairong Qi Spring 217 16-725 (CMU RI) : BioE 263 (Pitt) Dr. John Galeotti he content of these slides by John Galeotti, 212-217 Carnegie Mellon University (CMU), was made possible in part by NIH NLM contract HHSN2762158P, and is licensed under a Creative Commons Attribution-NonCommercial 3. Unported License. o view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3./ or send a letter to Creative Commons, 171 2nd Street, Suite 3, San Francisco, California, 9415, USA. Permissions beyond the scope of this license may be available either from CMU or by emailing itk@galeotti.net. he most recent version of these slides may be accessed online via http://itk.galeotti.net/ Linear Operators D is a linear operator iff: D( αf 1 + βf 2 ) = αd( f 1 ) + βd( f 2 ) Where f 1 and f 2 are images, and a and b are scalar multipliers Not a linear operator (why?): g = D( f ) = af + b If and only if 2 1

Kernel Operators Kernel (h) = h -1,-1 h,-1 h 1,-1 f, f 1, f 2, f 3, f 4, small image Often 3x3 or 5x5 Correlated with h -1, h -1,1 h, h,1 h 1, h 1,1 f,1 f,2 f,3 f 1,1 f 1,2 f 1,3 f 2,1 f 2,2 f 2,3 f 3,1 f 3,2 f 3,3 f 4,1 f 4,2 f 4,3 a normal image ( f ) f,4 f 1,4 f 2,4 f 3,4 f 4,4 Implied correlation (sum of products) makes a kernel an operator. A linear operator. Note: his use of correlation is often mislabeled as convolution in the literature. Any linear operator applied to an image can be approximated with correlation. 3 Kernels for Derivatives ask: estimate partial spatial derivatives Solution: numerical approximation [ f (x + 1) - f (x) ]/1 Really Bad choice: not even symmetric [ f (x + 1) - f (x - 1) ]/2 Still a bad choice: very sensitive to noise We need to blur away the noise (only blur orthogonal to the direction of each partial): * f x = 1 1 1 -, % ( / 1 1 6 % ( f, + % 1 1 ( /. or Correlation (sum of products) * f x = 1 1 1 -, % ( / 2 2 8 % ( f, + % 1 1 ( /. he Sobel kernel is center-weighted 4 2

Derivative Estimation 2: Use Function Fitting hink of the image as a surface he gradient then fully specifies the orientation of the tangent planes at every point, and vice-versa. So, fit a plane to the neighborhood around a point hen the plane gives you the gradient he concept of fitting occurs frequently in machine vision. Ex: Gray values Surfaces Lines Curves Etc. 5 Derivative Estimation: Derive a 3x3 Kernel by Fitting a Plane If you fit by minimizing squared error, and you use symbolic notation to generalize, you get: A headache he kernel that we intuitively guessed earlier: 1 6-1 1-1 1-1 1 6 3

Vector Representations of Images Also called lexicographic representations Linearize the image Pixels have a single index (that starts at ) f, f 1, f 2, f 3, f,1 f 1,1 f 2,1 f 3,1 f,2 f 1,2 f 2,2 f 3,2 f,3 f 1,3 f 2,3 f 3,3 is the Lexicographic index F F 1 F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F 1 F 11 F 12 F 13 F 14 F 15 Change of coordinates F =7 7 4 6 1 3 5 9 8 1 4 5 2 7 2 Vector listing of pixel values! 7 4 6 1 3 5 9 F = 8 1 4 5 2 7 " 2 % 7 F F 1 F 2 F 3 Vector Representations of Kernels his is HUGE (N 2 ) Can also linearize a kernel Linearization is unique for each pixel coordinate and for each image size. For pixel coordinate (1,2) (i.e. pixel F 9 ) in our image: -3 1 2 F 4 F 5 F 6 F 7 h= -5 4 6 F 8 F 9 F 1 F 11-7 9 8 F 12 F 13 F 14 F 15 H 9 = " 3 1 2 5 4 6 7 9 8 H 1 = " 3 1 2 5 4 6 7 9 8 Can combine the kernel vectors for each of the pixels into a single lexicographic kernel matrix (H) H is circulant (columns are rotations of one another). Why? % % " 3 1 2 5 4 6 H = 7 9 8 3 1 2 5 4 6 7 9 8 3 1 2 5 4 6 7 9 8 % H 5 H 9 H 1 8 4

Convolution in Lexicographic Representations Convolution becomes matrix multiplication! Great conceptual tool for proving theorems H is almost never computed or written out 9 Basis Vectors for (Sub)Images Carefully choose a set of basis vectors (image patches) on which to project a sub-image (window) of size (x,y) Is this lexicographic? he basis vectors with the largest coefficients are the most like this sub-image. If we choose meaningful basis vectors, this tells us something about the sub-image Cartesian Basis Vectors u 1 =! " 1 u 2 =! " 1 u 9 =! " 1 Frei-Chen Basis Vectors u 1 u 2 u 3 " 1 2 1 % " 1 1 % " 1 2 % 2 2 1 1 1 2 1 1 1 2 1 u 4 u 5 u 6 " 2 1 % " 1 % " 1 1 % 1 1 1 1 1 2 1 1 1 u 7 u 8 u 9 " 1 2 1 % " 2 1 2 % " 111% 2 4 2 1 4 1 111 1 2 1 2 1 2 111 1 5

Edge Detection (VERY IMPORAN) Image areas where: Brightness changes suddenly = Some derivative has a large magnitude Often occur at object boundaries! Find by: Estimating partial derivatives with kernels Calculating magnitude and direction from partials Easy to Find Positive step edge Negative step edge Positive roof edge Negative roof edge Positive ramp edges Negative ramp edges Noisy Positive Edge Noisy Negative Edge Harder o Find 11 Edge Detection Diatom image (left) and its gradient magnitude (right). (http://bigwww.epfl.ch/theve naz/differentials/) f = f f % ( x y f = G x G y G x 2 + G y 2 = Edge Strength + f = atan G. x -, G y / hen threshold the gradient magnitude image Detected edges are: oo thick in places Missing in places Extraneous in places 12 6

Convolving w/ Fourier Sometimes, the fasted way to convolve is to multiply in the frequency domain. Multiplication is fast. Fourier transforms are not. he Fast Fourier ransform (FF) helps Pratt (Snyder ref. 5.33) figured out the details Complex tradeoff depending on both the size of the kernel and the size of the image For kernels 7x7, normal (spatial domain) convolution is fastest *. For kernels 13x13, the Fourier method is fastest *. * For almost all image sizes 13 Image Pyramids A series of representations of the same image Each is a 2:1 subsampling of the image at the next lower level. Subsampling = averaging = down sampling he subsampling happens across all dimensions! For a 2D image, 4 pixels in one layer correspond to 1 pixel in the next layer. o make a Gaussian pyramid: 1. Blur with Gaussian 2. Down sample by 2:1 in each dimension 3. Go to step 1 Increasing Scale 14 7

Scale Space Multiple levels like a pyramid Blur like a pyramid But don t subsample All layers have the same size Instead: Convolve each layer with a Gaussian of variance s. s is the scale parameter Only large features are visible at high scale (large s). 15 Quad/Oc rees Represent an image Homogeneous blocks Inefficient for storage oo much overhead Not stable across small changes But: Useful for representing scale space. 1 12 31 2 33 32 1 2 3 1 11 12 13 16 8

Gaussian Scale Space Large scale = only large objects are visible Increasing s coarser representations Scale space causality Increasing s extrema should not increase Allows you to find important edges first at high scale. How features vary with scale tells us something about the image Non-integral steps in scale can be used Useful for representing: Brightness exture PDF (scale space implements clustering) 17 How do People Do It? Receptive fields Representable by Gabor functions 2D Gaussian + A plane wave he plane wave tends to propagate along the short axis of the Gaussian But also representable by Difference of offset Gaussians Only 3 extrema 18 9

Canny Edge Detector 1. Use kernels to find at every point: Gradient magnitude Gradient direction 2. Perform Nonmaximum suppression (NMS) on the magnitude image his thins edges that are too thick Only preserve gradient magnitudes that are maximum compared to their 2 neighbors in the direction of the gradient 19 Canny Edge Detector, contd. Edges are now properly located and 1 pixel wide But noise leads to false edges, and noise+blur lead to missing edges. Help this with 2 thresholds A high threshold does not get many false edges, and a low threshold does not miss many edges. Do a flood fill on the low threshold result, seeded by the highthreshold result Only flood fill along isophotes 2 1