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

Similar documents
Anno accademico 2006/2007. Davide Migliore

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

Lecture 6: Edge Detection

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

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

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

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

Prof. Feng Liu. Winter /15/2019

Why is computer vision difficult?

Broad field that includes low-level operations as well as complex high-level algorithms

Digital Image Processing. Image Enhancement - Filtering

Other Linear Filters CS 211A

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

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Lecture: Edge Detection

Edge Detection Lecture 03 Computer Vision

Templates, Image Pyramids, and Filter Banks

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

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

Computer Vision for HCI. Topics of This Lecture

Filtering Applications & Edge Detection. GV12/3072 Image Processing.

School of Computing University of Utah

Digital Image Processing COSC 6380/4393

Local features: detection and description May 12 th, 2015

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

Segmentation and Grouping

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

Application questions. Theoretical questions

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

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Review of Filtering. Filtering in frequency domain

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

CS5670: Computer Vision

CPSC 425: Computer Vision

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

Autonomous Navigation for Flying Robots

Low-level Vision Processing Algorithms Speaker: Ito, Dang Supporter: Ishii, Toyama and Y. Murakami

Lecture 7: Most Common Edge Detectors

Edge and corner detection

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

EE795: Computer Vision and Intelligent Systems

Computer Vision I - Basics of Image Processing Part 1

Classification of image operations. Image enhancement (GW-Ch. 3) Point operations. Neighbourhood operation

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

Neighborhood operations

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

Image gradients and edges April 11 th, 2017

Image gradients and edges April 10 th, 2018

Image processing and features

Image Analysis. Edge Detection

Lecture 4: Image Processing

CS4733 Class Notes, Computer Vision

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

Computer Vision: 4. Filtering. By I-Chen Lin Dept. of CS, National Chiao Tung University

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

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

Edge Detection CSC 767

2D Image Processing Feature Descriptors

CPSC 425: Computer Vision

EE795: Computer Vision and Intelligent Systems

Edges and Binary Images

The SIFT (Scale Invariant Feature

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

Perception. Autonomous Mobile Robots. Sensors Vision Uncertainties, Line extraction from laser scans. Autonomous Systems Lab. Zürich.

Final Exam Study Guide CSE/EE 486 Fall 2007

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

Filters and Pyramids. CSC320: Introduction to Visual Computing Michael Guerzhoy. Many slides from Steve Marschner, Alexei Efros

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

CAP 5415 Computer Vision Fall 2012

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

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

DIGITAL IMAGE PROCESSING

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

Outline 7/2/201011/6/

Local features: detection and description. Local invariant features

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

EE795: Computer Vision and Intelligent Systems

Tracking Computer Vision Spring 2018, Lecture 24

EECS 556 Image Processing W 09. Image enhancement. Smoothing and noise removal Sharpening filters

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

Local Feature Detectors

Biomedical Image Analysis. Spatial Filtering

Chapter 3: Intensity Transformations and Spatial Filtering

Lecture 4: Spatial Domain Transformations

An introduction to 3D image reconstruction and understanding concepts and ideas

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

CS5670: Computer Vision

Image Analysis. Edge Detection

Introduction to Computer Vision. Week 3, Fall 2010 Instructor: Prof. Ko Nishino

All good things must...

Filtering Images. Contents

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

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

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

Local Features: Detection, Description & Matching

Mosaics. Today s Readings

Straight Lines and Hough

Image gradients and edges

Scale Invariant Feature Transform

Transcription:

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies" lhm@jpl.nasa.gov, 818-354-3722"

Announcements" First homework grading is done! Second homework is due next Tuesday! Third homework will be due Feb 8; combines material on outlier detection and egomotion! (Next quarter)! lhm - 2

Recap and Where Weʼre Going: 1 st Module (Done)" Image formation, cameras, and camera calibration! Illumination and radiometry! Sources of light sunlight, thermal emission, night sky glow! Propagation of light reflection from surfaces, attenuation in media! Cameras! Basic optics! Camera architectures! Image detectors materials, architectures, performance, for various regions of the EM spectrum! Geometric camera modeling and calibration! lhm - 3

Recap and Where Weʼre Going: 2 nd Module (Midway Through)" Visual motion estimation and 3-D perception! Low-level image processing! Feature detection, matching, and outlier detection! Pose estimation (egomotion) and visual odometry! Dense range imaging with stereo vision! Other range sensors, range data analysis, introduction to robots! 1-week mini-project on visual localization using a stereo camera head to match landmark points!? lhm - 4

Recap and Where Weʼre Going: 3 rd Module" State estimation, localization, and mapping! Introduction to estimation! Linear Kalman filter! Extended Kalman filter! Particle filters and the UKF! Simultaneous localization and mapping! 1-week mini-project on stereo-based SLAM for localization and occupancy grid mapping with ladar! lhm - 5

This Lecture" Point operators! Neighborhood operators! Edge detection! Image pyramids! Geometric image transformations! Reading material:! Today: Szeliski ch. 3 and sections 4.2-4.3! Next Tuesday: Szeliski ch. 11! lhm - 6

Images as Functions" f(x,y) y Interpret image either as:! Continuous image f(x,y)! Discrete array f[x,y]! Images are affected by:! Noise! Nonlinear distortions of intensity and geometry! x lhm - 7

Image Noise" lhm - 8

Image Distortions" lhm - 9

Point Operators" Output pixel = function of one input pixel in one or more images! g(x) = h(f(x)) or g(x) = h(f 0 (x),..., f n (x)) g(i, j) = h(f(i, j)) Examples! Monadic linear: bias and gain adjustment,! g(x) = a f(x) + b Monadic nonlinear: gamma correction,! Dyadic linear: image blending,! g(x) = [f(x)] 1/ϒ g(x) = (1 - α) f 0 (x) + α f 1 (x) lhm - 10

Point Operators: Histogram Equalization" g(x) = h(f(x)) or g(x) = h(f 0 (x),..., f n (x)) g(i, j) = h(f(i, j)) g(x) = a f(x) + b g(x) = [f(x)] 1/ϒ g(x) = (1 - α) f 0 (x) + α f 1 (x) lhm - 11

Point Operators: Color Space Conversion (e.g. RGB to HSV)" HSV(i, j) = f ( RGB(i, j) ) lhm - 12

Application of Color Space Conversion: Simple Segmentation" (a) (b) (c) (d) lhm - 13

Neighborhood Operators (or Window Operators, or Local Operators)" Slide one small window of numbers over the image and compute some function, replacing the central pixel in the image with the output of the function.! lhm - 14

Linear Filters" h() is called the filter, or kernel, or mask; entries in h() are the filter coefficients. Abbreviated notation:! Can also be written:! Correlation! Convolution! lhm - 15

Some Basic Properties of Convolution" Commutative:! f * g = g * f! Associative:! f * (g * h) = (f * g) * h! Distributes over addition:! Differentiation:! Shift invariant! f * (g + h) = f * g + f * h! (f * g)ʼ = fʼ * g = f * gʼ! lhm - 16

Neighborhood Operators: Border Effects" When applying convolution with a KxK kernel, the result is undefined for pixels closer than K pixels to the border of the image! Options:! Warp around! Expand/Pad! Crop! K lhm - 17

Kernel: 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9

0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 0.0 4 Kernel:

Kernel: 15 x 15 matrix of value 1/225

1-D: 2-D: Slight abuse of notations: We ignore the normalization constant such that

, σ = 5 Kernel:

Simple Averaging Gaussian Smoothing

Image Noise

Gaussian Smoothing to Remove Noise No smoothing σ = 2 σ = 4

Computational Issues for Filters: Separability and Moving Averages" When a KxK filter is equivalent to a Kx1 and a 1xK filter! Reduces number of multiplies from K 2 to 2K! For box filter, moving average makes cost independent of K! lhm - 27

Some Other (Nonlinear) Neighborhood Operators: Median Filter" Replace center pixel of KxK window with the mean value of all pixels in the window! Good for removing large noise spikes without blurring image! Original image! Gaussian filtered! Median filtered! lhm - 28

Some Other (Nonlinear) Neighborhood Operators: Bilateral Filter for Edge-Preserving Smoothing" 4-Jan-2011 ME/CS 132 lhm - 29

Some Other (Nonlinear) Neighborhood Operators: Bilateral Filter for Edge-Preserving Smoothing" Original image! 15x15 box filter! 15x15 bilateral filter! lhm - 30

Other Useful Neighborhood Operators: Feature Detectors (Recall Earlier Lecture)" (Implementation note: moving averages)! lhm - 31

Other Useful Neighborhood Operators: Image Matching (Recall Earlier Lecture)" Sum squared difference (SSD) vs. sum absolute difference (SAD)! Normalization: why? Many approaches.! lhm - 32

Other Useful Neighborhood Operators" Morphology! Distance transform! Connected components! lhm - 33

Edge Detection: What is an Edge?" Local maxima of rate of change of intensity! lhm - 34

Origin of Edges" surface normal discontinuity depth discontinuity surface color discontinuity illumination discontinuity Many factors! Sometimes care which factor applies; sometimes can determine that! lhm - 35

Image Derivatives: 1-D Case" We want to compute, at each pixel (x,y) the derivatives:! In the discrete case we could take the difference between the left and right pixels:! Convolution of the image by! -1 0 1 Problem: Increases noise! Difference between Actual image values True difference (derivative) Twice the amount of noise as in the original image lhm - 36

Edges in 1-D: Effects of Noise" Where is the edge?! lhm - 37

Solution: Smooth First" f (x) h(x) h f x (h f ) Where is the edge? Look for peaks in! x (h f ) lhm - 38

Derivative Property of Convolution: Saves One Step" x (h f ) = x h f f (x) x h x h f lhm - 39

Laplacian of Gaussian" f (x) 2 x 2 h 2 x h f 2 4-Jan-2011 Where is the edge? Zero crossing ME/CS 132 of bottom graph! lhm - 40

2-D Edge Detection Filters" Laplacian of Gaussian Gaussian derivative of Gaussian is the Laplacian operator: lhm - 41

DOG Approximation to LOG" lhm - 42

The Effect of Scale on Edge Detection" larger σ larger σ Scale space (Witkin 83) lhm - 43

θ Edge pixels are at local maxima of gradient magnitude Gradient computed by convolution with Gaussian derivatives Gradient direction is always perpendicular to edge direction

Applying the Gradient Magnitude Operator" I lhm - 45

Different Thresholds Applied" to the Gradient Magnitude" Additional steps:! Thresholding with hysteresis! Thinning (non-maximum suppression)! Linking! lhm - 46

Sampling an Image" Examples of GOOD sampling! lhm - 47

Undersampling and Aliasing" Examples of BAD sampling -> Aliasing! lhm - 48

Downsampling and Aliasing" Sample every other pixel to go left to right! lhm - 49

Downsampling with Smoothing (Gaussian, 1 Sigma)" Sample every other pixel to go left to right! lhm - 50

Downsampling with Smoothing (Gaussian, 1.4 Sigma)" Sample every other pixel to go left to right! How do you know how much to smooth, with what kind of filter? Fourier transform theory.! lhm - 51

Intuitive Introduction to Fourier Transforms" lhm - 52

Intuition for Two Dimensions" dot = A measure of image content at this frequency and orientation lhm - 53

Multiresolution Image Representations" Known as a Gaussian Pyramid [Burt and Adelson, 1983]" Gaussian Pyramids have all sorts of applications in computer vision! lhm - 54

Gaussian Pyramid Construction" filter kernel Repeat! Filter! Subsample! Until minimum resolution reached! can specify desired number of levels (e.g., 3-level pyramid)! The whole pyramid is only 4/3 the size of the original image! lhm - 55

Computer Vision - A Modern Approach Set: Pyramids and Texture Slides by D.A. Forsyth

Laplacian Pyramid Construction" Given input I Construct Gaussian pyramid I G 1,..,I G n Take the difference between consecutive levels:! I L k = I G k I G k-1 Image I L k is an approximation of the Laplacian at scale number k Laplacian is a band-pass filter: Both high frequencies (edges and noise) and low frequencies (slow variations of intensity across the image)! lhm - 57

Computer Vision - A Modern Approach Set: Pyramids and Texture Slides by D.A. Forsyth

Another Example" lhm - 59

Geometric Image Transformations (e.g. Barrel Distortion Correction, Rectification)" lhm - 60

Geometric Image Transformations (e.g. Barrel Distortion Correction, Rectification)" lhm - 61