Vision Review: Image Processing Course web page: www.cis.udel.edu/~cer/arv September 17, 2002.

Slides:



Advertisements
Similar presentations
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Advertisements

3-D Computer Vision CSc83020 / Ioannis Stamos  Revisit filtering (Gaussian and Median)  Introduction to edge detection 3-D Computater Vision CSc
Spatial Filtering (Chapter 3)
Motion illusion, rotating snakes. Slide credit Fei Fei Li.
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
CS 4487/9587 Algorithms for Image Analysis
Digital Image Processing
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Edge and Corner Detection Reading: Chapter 8 (skip 8.1) Goal: Identify sudden changes (discontinuities) in an image This is where most shape information.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Midterm Review CS485/685 Computer Vision Prof. Bebis.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
Segmentation (Section 10.2)
2D Fourier Theory for Image Analysis Mani Thomas CISC 489/689.
Lecture 2: Image filtering
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
Computer Vision : CISC 4/689
Computational Photography: Image Processing Jinxiang Chai.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Introduction to Image Processing Grass Sky Tree ? ? Review.
Filtering Course web page: vision.cis.udel.edu/cv March 5, 2003  Lecture 9.
Images Course web page: vision.cis.udel.edu/cv March 3, 2003  Lecture 8.
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Image Features Kenton McHenry, Ph.D. Research Scientist.
Image Processing Xuejin Chen Ref:
Computer Vision : CISC 4/689 Sobel Edge Detection: Gradient Approximation Horizontal diff.Vertical diff Note anisotropy of edge.
Image Processing Edge detection Filtering: Noise suppresion.
Image Filtering Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 02/02/10.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Instructor: S. Narasimhan
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Computer Vision : CISC 4/689 Note to self David Jacob’s notes: Convolution Correlation Derivatives Separability.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Templates, Image Pyramids, and Filter Banks
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Kylie Gorman WEEK 1-2 REVIEW. CONVERTING AN IMAGE FROM RGB TO HSV AND DISPLAY CHANNELS.
Autonomous Robots Vision © Manfred Huber 2014.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP7 Spatial Filters Miguel Tavares Coimbra.
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
CSE 185 Introduction to Computer Vision Image Filtering: Spatial Domain.
Digital Image Processing CSC331
Announcements Final is Thursday, March 18, 10:30-12:20 –MGH 287 Sample final out today.
Sliding Window Filters Longin Jan Latecki October 9, 2002.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Winter in Kraków photographed by Marcin Ryczek
Miguel Tavares Coimbra
- photometric aspects of image formation gray level images
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
TP12 - Local features: detection and description
Edge Detection CS 678 Spring 2018.
Jeremy Bolton, PhD Assistant Teaching Professor
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 2: Edge detection
Filtering Things to take away from this lecture An image as a function
Feature Detection .
Vision Review: Image Processing
Filtering An image as a function Digital vs. continuous images
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
Winter in Kraków photographed by Marcin Ryczek
Review and Importance CS 111.
Presentation transcript:

Vision Review: Image Processing Course web page: September 17, 2002

Announcements Homework and paper presentation guidelines are up on web page Readings for next Tuesday: Chapters 6, 11.1, and 18 For next Thursday: “Stochastic Road Shape Estimation”

Computer Vision Review Outline Image formation Image processing Motion & Estimation Classification

Outline Images Binary operators Filtering –Smoothing –Edge, corner detection Modeling, matching Scale space

Images An image is a matrix of pixels Note: Matlab uses Resolution –Digital cameras: 1600 X 1200 at a minimum –Video cameras: ~640 X 480 Grayscale: generally 8 bits per pixel  Intensities in range [0…255] RGB color: 3 8-bit color planes

Image Conversion RGB  Grayscale: Mean color value, or weight by perceptual importance (Matlab: rgb2gray ) Grayscale  Binary: Choose threshold based on histogram of image intensities (Matlab: imhist )

Color Representation RGB, HSV (hue, saturation, value), YUV, etc. Luminance: Perceived intensity Chrominance: Perceived color –HS(V), (Y)UV, etc. –Normalized RGB removes some illumination dependence:

Binary Operations Dilation, erosion (Matlab: imdilate, imerode ) –Dilation: All 0’s next to a 1  1 (Enlarge foreground) –Erosion: All 1’s next to a 0  0 (Enlarge background) Connected components –Uniquely label each n-connected region in binary image –4- and 8-connectedness –Matlab: bwfill, bwselect Moments: Region statistics –Zeroth-order: Size –First-order: Position (centroid) –Second-order: Orientation

Image Transformations Geometric: Compute new pixel locations –Rotate –Scale –Undistort (e.g., radial distortion from lens) Photometric: How to compute new pixel values when non-integral –Nearest neighbor: Value of closest pixel –Bilinear interpolation (2 x 2 neighborhood) –Bicubic interpolation (4 x 4)

Bilinear Interpolation Idea: Blend four pixel values surrounding source, weighted by nearness Vertical blend Horizontal blend

Image Comparison: SSD Given a template image and an image, how to quantify the similarity between them for a given alignment? Sum of squared differences (SSD)

Cross-Correlation for Template Matching Note that SSD formula can be written: First two terms fixed  last term measures mismatch—the cross-correlation: In practice, normalize by image magnitude when shifting template to search for matches

Filtering Idea: Analyze neighborhood around some point in image with filter function ; put result in new image at corresponding location System properties –Shift invariance: Same inputs give same outputs, regardless of location –Superposition: Output on sum of images = –Sum of outputs on separate images –Scaling: Output on scaled image = Scaled output on image Linear shift invariance  Convolution

Convolution Definition: Shorter notation: Properties –Commutative –Associative Fourier theorem: Convolution in spatial domain = Multiplication in frequency domain –More on Fourier transforms on Thursday

Discrete Filtering Linear filter: Weighted sum of pixels over rectangular neighborhood—kernel defines weights Think of kernel as template being matched by correlation (Matlab: imfilter, filter2 ) Convolution: Correlation with kernel rotated 180  –Matlab: conv2 Dealing with image edges –Zero-padding –Border replication

Filtering Example 1: Rotate

Step

Step

Step

Step

Step

Step

Final Result

Separability Definition: 2-D kernel can be written as convolution of two 1-D kernels Advantage: Efficiency—Convolving image with kernel requires multiplies vs. for non- separable kernel

Smoothing (Low-Pass) Filters Replace each pixel with average of neighbors Benefits: Suppress noise, aliasing Disadvantage: Sharp features blurred Types –Mean filter (box) –Median (nonlinear) –Gaussian x 3 box filter

Box Filter: Smoothing 7 x 7 kernelOriginal image

Gaussian Kernel Idea: Weight contributions of neighboring pixels by nearness Matlab: fspecial(‘gaussian’,…)

Gaussian: Benefits Rotational symmetry treats features of all orientations equally (isotropy) Smooth roll-off reduces “ringing” Efficient: Rule of thumb is kernel width  5  –Separable –Cascadable: Approach to large  comes from identity

Gaussian: Smoothing  = 1  = 3 7 x 7 kernel Original image

Gradient Think of image intensities as a function. Gradient of image is a vector field as for a normal 2-D height function: Edge: Place where gradient magnitude is high; orthogonal to gradient direction

Edge Causes Depth discontinuity Surface orientation discontinuity Reflectance discontinuity (i.e., change in surface material properties) Illumination discontinuity (e.g., shadow)

Edge Detection Edge Types –Step edge (ramp) –Line edge (roof) Searching for Edges: –Filter: Smooth image –Enhance: Apply numerical derivative approximation –Detect: Threshold to find strong edges –Localize/analyze: Reject spurious edges, include weak but justified edges

Step edge detection First derivative edge detectors: Look for extrema –Sobel operator (Matlab: edge(I, ‘sobel’) ) –Prewitt, Roberts cross –Derivative of Gaussian Second derivative: Look for zero-crossings –Laplacian : Isotropic –Second directional derivative –Laplacian of Gaussian/Difference of Gaussians Sobel xSobel y

Derivative of Gaussian

Laplacian of Gaussian Matlab: fspecial(‘log’,…)

Edge Filtering Example Rotate

Step

Step

Step

Step edge effect

Sobel Edge Detection: Gradient Approximation HorizontalVertical

Sobel vs. LoG Edge Detection: Matlab Automatic Thresholds SobelLoG

Canny Edge Detection Derivative of Gaussian Non-maximum suppression –Thin multi-pixel wide “ridges” down to single pixel Thresholding –Low, high edge-strength thresholds –Accept all edges over low threshold that are connected to edge over high threshold Matlab: edge(I, ‘canny’)

Canny Edge Detection: Example (Matlab automatically set thresholds)

Corner Detection Basic idea: Find points where two edges meet—i.e., high gradient in orthogonal directions Examine gradient over window (Shi & Tomasi, 1994) Edge strength encoded by eigenvalues ; corner is where over threshold Harris corners (Harris & Stephens, 1988), Susan corners (Smith & Brady, 1997)

Example: Corner Detection courtesy of S. Smith SUSAN corners

Edge-Based Image Comparison Chamfer, Hausdorff distance, etc. –Transform edge map based on distance to nearest edge before correlating as usual courtesy of D. Gavrila

Scale Space How thick an edge? How big a dot? Must consider what scale we are interested in when designing filters Efficiency a major consideration: Fine- grained template matching is expensive over a full image

Image Pyramids Idea: Represent image at different scales, allowing efficient coarse-to-fine search Downsampling: Simplest scale change: Decimation—just downsample from Forsyth & Ponce

Gaussian, Laplacian Pyramids Gaussian pyramid of image: and Laplacian pyramid –Difference of image and Gaussian at each level of courtesy of Wolfram Gaussian pyramidLaplacian pyramid

Color-based Image Comparison Color histograms (Swain & Ballard, 1991) –Steps Histogram RGB/HSV triplets over two images to be compared Normalize each histogram by respective total number of pixels to get frequencies Similarity is Euclidean distance between color frequency vectors –Sensitive to lighting changes –Works for different-sized images –Matlab: imhist, hist