Programming and Pictures: Computational Photography and Applications to Math and Physics. GISA 2016 Session 131 Marist School Christopher Michaud

Size: px
Start display at page:

Download "Programming and Pictures: Computational Photography and Applications to Math and Physics. GISA 2016 Session 131 Marist School Christopher Michaud"

Transcription

1 Programming and Pictures: Computational Photography and Applications to Math and Physics GISA 2016 Session 131 Marist School Christopher Michaud

2 Purpose Explore how math and physics concepts are used to create visual effects in Image Editing

3 Why? Our society is a creature with billions of eyes. Digital image editing and sharing play a significant role in social media systems. Our students document and live through their pictures. We want to connect the world of digital images to the concepts in math and science to increase fluency and build connections beyond the symbols on the page.

4 Goals We want our students to visualize the role of Rate of Change and how the derivative forms the basis of human perception in images and sound. Change how our students see and experience the world through a visual and kinetic understanding of functions. Bring models and equations to life through image manipulation.

5 Elements of Computational Photography 1. Illumination 2. Optics 3. Sensor 4. Processing 5. Display 6. User Source: Irfan Essa, Georgia Tech 2015

6 Pictures as Functions: Python

7 Modeling Images as Functions: One Channel I =

8 Modeling Images as Functions (Color: BGR) I =

9 Pictures as Functions and numpy arrays: Python Color Images Mathematical Expression: I(100, 50) = {61, 150, 184} Python Expression img[50][100] # Returns: array([ 61, 150, 184], dtype=uint8) NOTE! In Mathematical expressions we write I(x, y) In programming (most languages) we write image arrays as: img_array[row][column] -That becomes img_array[y][x]

10 Pictures as Functions and numpy arrays: Grayscale images Mathematical Expression: I(100, 50) = 150 Python Expression img_g[50][100] # Returns value of 150 NOTE! In Mathematical expressions we write I(x, y) In programming (most languages) we write image arrays as: img_array[row][column] -That becomes img_array[y][x]

11 Numpy Arrays in Python Numpy Arrays can be written two ways: Nested: img[50][100][3] Means Row Index 50, Column Index 100, Blue Channel Vectorised img[50, 100, 3]

12 Why Vectors? Can call range of Values without For Loops Slow Way: Iteration # Nested For Loop part_img = [[]] fill = [] for r in range (50, 100): fill = [] for c in range(60, 80): fill.append(img_g[r][c]) part_img.append(fill) Fast Way: Vectors and Numpy part_img = img_g[50:100, 60:80] # Yes this one line is equal to # the nested for loop on the left! # And, this is much faster to # to process needed for real time # Movie processing

13 Some Python Examples:

14 Function Calls in Example Code Function normalize(img) adjustcolors(img, red, green, blue) avgcolors(img) getdx(img) getdy(img) getgradient(img) avgtwopics(img1, img2) getlines(img) Description Fits data between 0.0 and 1.0. Returns image Adjusts values in color channel by scalar multiplication. Returns image Averagres values in Red, Green, Blue color channels and returns greyscale image. Returns the derivative (Rate of Change) of pixel intensity in x direction. Returns the derivative (Rate of Change) of pixel intensity in y direction. Returns magnitude and angles of image gradient. Returns the average of two images. (Mean at each pixel) Returns the lines found in image.

15 Vectorised Array: Set Green and Blue to 0

16 Vectorised Array: Divide entire picture by 2

17 Definition of a Derivative Rate of Change over between 2 or move variables. Expressed as a ratio yy xx Slope of a Line tangential to a point on a continuous function Foundation of Calculus / Physics / AI Continuous and Discrete applications.

18 You have already used Derivatives with Linear Functions. The Derivative in a linear function is the same as the slope.

19 Mathematical Definition of a Derivative (Continuous Functions) The derivative of a f(x) with respect to x is the function f (x) and is defined as: ff xx = lim h 0 ff xx + h ff(xx) h

20 For most continuous functions, we can compute the derivatives with formulas.

21 Another Continuous Function

22 What about discrete data? In computing (such as images or sound), Data is discrete. Comes in Chunks May not be continuous or defined by formula We can still compute and use derivatives. How? Element wise subtraction!

23 Example Data: Row 328 What does the rate of change tell us about this data? [216, 125, 86, 109, 156, 156, 76, 50, 48, 34, 61, 134, 97]

24 Example: Row 328 [:] What could the derivative of this data tell us? What information can we gather?

25 What can we get from the derivative?

26 What can we get from the derivative?

27 Closer Look...

28 Derivatives for Two Inputs: Image Functions Recall the Intensity Function: II(xx, yy) Returns the intensity of a pixel value at (x,y) We can take two derivatives For change in intensity / change in x For change in intensity / change in y

29 Continuous Function I(x, y) Two Derivatives: Formal Definition for x direction: II(xx, yy) xx = lim h 0 ff xx + h, yy ff(xx, yy) h Formal Definition for y direction: II(xx, yy) yy = lim h 0 ff xx, yy + h ff(xx, yy) h

30 But.. Images are discrete. Thus, we modify for discrete data: X Direction II(xx, yy) xx = ff xx + 1, yy ff(xx, yy) 1 II(xx,yy) xx = ff xx + 1, yy ff(xx, yy)

31 But.. Images are discrete. Thus, we modify for discrete data: Y Direction II(xx, yy) yy = ff xx + 1, yy ff(xx, yy) 1 II(xx,yy) yy = ff xx, yy + 1 ff(xx, yy)

32 What does this look like in an actual image? II(xx,yy) xx = ff xx + 1, yy ff(xx, yy)

33 What does this look like in an actual image? II(xx,yy) yy = ff xx, yy + 1 ff(xx, yy)

34 Side by Side comparison... II(xx, yy) xx II(xx, yy) yy

35 Derivate in x with discrete data (One Dimension): VV = VV =

36 Derivate in x with discrete data (One Dimension): VV = VV = ?

37 Application: Image Gradients = II xx, II yy θθ = II xx, 0 II = 0, yy = II xx, II yy Gradient points in direction of the most rapid change in Intensity.

38 Mathematical Definitions: The gradient of an Image: = II xx, II yy The gradient Direction: θθ = tan 1 II yy / II xx The gradient Magnitude (Edge Strength): = II xx 2 + II yy 2

39 Python Example: Derivative on one dimension

40 Correlation and Convolution Filters Used to Filter Images Blurring Effects Remove Noise Prepare Images for further analysis

41

42

43 2D Filter Function (Convolution) cv2.filter2d(img, -1, kernel) Takes input of grayscale img data filters with kernel. The kernel is an m x m array used to filter the data. Usually a Gaussian, Laplacian, Sorbel, or box filter. Example: # img is an existing numpy image array kernel = np.ones((5, 5), np.float32)/25 box_blur = cv2.filter2d(img, -1, kernel)

44 Gaussian Blur: Role of Sigma We will blur images with the cv2.gaussianblur() function. cv2.gaussianblur(img, (m x m), sigma) Where: img = Image Array to Blur (m x m): size of window of Gaussian (odd number) sigma: The spread of the blur (High for more depth)

45 CV2 Canny Edge Function Built in Edge detection function in Open CV that uses a more involved algorithm: Filters image with derivative of Gaussian Uses magnitude and orientation of gradients Non-Maximum suppression Linking and thresholding Result is a more refined edge image. img_edge_canny = cv2.canny(img_gauss, 50, 100)

46 2D Gaussian Filter Image

47 Example:

48 Why Blur with Gaussian? Remove Noise from the Picture.

49 Code Sample: Blur with Gaussian

50 Code Sample: Canny Edge Note: You will have to experiment with the parameters for GaussianBlur() and Canny() to get a good edge image.

51 Template Matching with Python and Open CV Goal: With a patch or section of image, search a larger image or set of data and find the closest match. Foundation of recognition. Two types to consider: Normalized Correlation Sum of Squared Differences

52 Sum of Squared Differences Note: This formula is based on center matching where the image x is searched by template t around the center point of the search.

53 SSD Example: (Corner Matching) img patch

54 SSD Example img patch

55 SSD Example Non Normalized

56 SSD Example Normalized / 63

57 Note that the filters find the Upper Left Corner of the Match

58 What about an in-exact match? Still Works! Closet Match found

59 Example with an Image patch Source: lisa.png img

60 Correlation Map Brightest area is region of best match. patch img f (Correlation Map)

61 Difference Map Darkest area is region of best match. patch img f (Correlation Map)

62 Not Exact Match: Last Supper Note that it did find a face. Correlations and SSD are not perfect, but they provide a starting point for Computer vision

63 Normalized Correlation

64 Algorithm: Normalized Correlation 1. Convert image and patch to grayscale 2. Filter image with patch -> f 3. Locate row and column in f with highest value -> point 4. Identify x and y from point object 5. Identify width and height from patch 6. Draw Rectangle at x, y with width and height

65 Python, CV2, and Numpy commands for Template matching f = cv2.matchtemplate(image, patch, MatchType) matchtemplate() returns a correlation map using the MatchType constant. -patch refers to the search template -image: Image array to be searched or filtered (Examples of MatchType) TM_CCORR_NORMED TM_SQDIFF_NORMED TM_SQDIFF Example: f = cv2.matchtemplate(img, patch, cv2. TM_CCORR_NORMED)

66 Python, CV2, and Numpy commands for Template matching np.where(f == value) np.where() returns a list of points from an array based on the search parameters point = np.where(f == f.max()) y = point[0][0] x = point[1][0]

67 Code Samples: Sum of Squared Differences # img is the image to search # patch is the template # Make Grayscale gray = cv2.cvtcolor(img, cv2.color_bgr2gray) # Create Summed of Squared Differences with patch ssd = cv2.matchtemplate(gray, patch, cv2.tm_sqdiff_normed) # find min for match with SQDIFF_NORMED point = np.where(ssd == ssd.min()) y = point[0][0] x = point[1][0] w = len(patch[0]) l = len(patch) # Draw Rectangle cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)

68 Code Samples: Normalized Correlation # img is the image to search # patch is the template # Make Grayscale gray = cv2.cvtcolor(img, cv2.color_bgr2gray) # Create Normalized Correlation with Patch f = cv2.matchtemplate(gray, patch, cv2.tm_ccorr_normed) # Find max for match with CCORR_NORMED point = np.where(f == f.max()) y = point[0][0] x = point[1][0] w = len(patch[0]) h = len(patch) #Draw Rectangle cv2.rectangle(img, (x, y), (x+w, y+h), (0, 0, 255), 2)

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

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science Edge Detection From Sandlot Science Today s reading Cipolla & Gee on edge detection (available online) Project 1a assigned last Friday due this Friday Last time: Cross-correlation Let be the image, be

More information

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

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages Announcements Mailing list: csep576@cs.washington.edu you should have received messages Project 1 out today (due in two weeks) Carpools Edge Detection From Sandlot Science Today s reading Forsyth, chapters

More information

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

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection COS 429: COMPUTER VISON Linear Filters and Edge Detection convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection Reading:

More information

Digital Image Processing. Image Enhancement - Filtering

Digital Image Processing. Image Enhancement - Filtering Digital Image Processing Image Enhancement - Filtering Derivative Derivative is defined as a rate of change. Discrete Derivative Finite Distance Example Derivatives in 2-dimension Derivatives of Images

More information

Outline 7/2/201011/6/

Outline 7/2/201011/6/ Outline Pattern recognition in computer vision Background on the development of SIFT SIFT algorithm and some of its variations Computational considerations (SURF) Potential improvement Summary 01 2 Pattern

More information

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

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick Edge Detection CSE 576 Ali Farhadi Many slides from Steve Seitz and Larry Zitnick Edge Attneave's Cat (1954) Origin of edges surface normal discontinuity depth discontinuity surface color discontinuity

More information

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

Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge) Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded in the edges More compact than pixels Ideal: artist

More information

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

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges CS 4495 Computer Vision Linear Filtering 2: Templates, Edges Aaron Bobick School of Interactive Computing Last time: Convolution Convolution: Flip the filter in both dimensions (right to left, bottom to

More information

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

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014 SIFT SIFT: Scale Invariant Feature Transform; transform image

More information

Edge and corner detection

Edge and corner detection Edge and corner detection Prof. Stricker Doz. G. Bleser Computer Vision: Object and People Tracking Goals Where is the information in an image? How is an object characterized? How can I find measurements

More information

Edge detection. Gradient-based edge operators

Edge detection. Gradient-based edge operators Edge detection Gradient-based edge operators Prewitt Sobel Roberts Laplacian zero-crossings Canny edge detector Hough transform for detection of straight lines Circle Hough Transform Digital Image Processing:

More information

Computer Vision

Computer Vision 15-780 Computer Vision J. Zico Kolter April 2, 2014 1 Outline Basics of computer images Image processing Image features Object recognition 2 Outline Basics of computer images Image processing Image features

More information

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

Edge Detection (with a sidelight introduction to linear, associative operators). Images Images (we will, eventually, come back to imaging geometry. But, now that we know how images come from the world, we will examine operations on images). Edge Detection (with a sidelight introduction to

More information

Edge Detection Lecture 03 Computer Vision

Edge Detection Lecture 03 Computer Vision Edge Detection Lecture 3 Computer Vision Suggested readings Chapter 5 Linda G. Shapiro and George Stockman, Computer Vision, Upper Saddle River, NJ, Prentice Hall,. Chapter David A. Forsyth and Jean Ponce,

More information

Filtering Images. Contents

Filtering Images. Contents Image Processing and Data Visualization with MATLAB Filtering Images Hansrudi Noser June 8-9, 010 UZH, Multimedia and Robotics Summer School Noise Smoothing Filters Sigmoid Filters Gradient Filters Contents

More information

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

Edge detection. Winter in Kraków photographed by Marcin Ryczek Edge detection Winter in Kraków photographed by Marcin Ryczek Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, edges carry most of the semantic and shape information

More information

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

Outlines. Medical Image Processing Using Transforms. 4. Transform in image space Medical Image Processing Using Transforms Hongmei Zhu, Ph.D Department of Mathematics & Statistics York University hmzhu@yorku.ca Outlines Image Quality Gray value transforms Histogram processing Transforms

More information

Laboratory of Applied Robotics

Laboratory of Applied Robotics Laboratory of Applied Robotics OpenCV: Shape Detection Paolo Bevilacqua RGB (Red-Green-Blue): Color Spaces RGB and HSV Color defined in relation to primary colors Correlated channels, information on both

More information

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

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) References: [1] http://homepages.inf.ed.ac.uk/rbf/hipr2/index.htm [2] http://www.cs.wisc.edu/~dyer/cs540/notes/vision.html

More information

Lecture 6: Edge Detection

Lecture 6: Edge Detection #1 Lecture 6: Edge Detection Saad J Bedros sbedros@umn.edu Review From Last Lecture Options for Image Representation Introduced the concept of different representation or transformation Fourier Transform

More information

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

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels Edge Detection Edge detection Convert a 2D image into a set of curves Extracts salient features of the scene More compact than pixels Origin of Edges surface normal discontinuity depth discontinuity surface

More information

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

Edge detection. Winter in Kraków photographed by Marcin Ryczek Edge detection Winter in Kraków photographed by Marcin Ryczek Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image

More information

Anno accademico 2006/2007. Davide Migliore

Anno accademico 2006/2007. Davide Migliore Robotica Anno accademico 6/7 Davide Migliore migliore@elet.polimi.it Today What is a feature? Some useful information The world of features: Detectors Edges detection Corners/Points detection Descriptors?!?!?

More information

Lecture 4: Image Processing

Lecture 4: Image Processing Lecture 4: Image Processing Definitions Many graphics techniques that operate only on images Image processing: operations that take images as input, produce images as output In its most general form, an

More information

Other Linear Filters CS 211A

Other Linear Filters CS 211A Other Linear Filters CS 211A Slides from Cornelia Fermüller and Marc Pollefeys Edge detection Convert a 2D image into a set of curves Extracts salient features of the scene More compact than pixels Origin

More information

Image Processing

Image Processing Image Processing 159.731 Canny Edge Detection Report Syed Irfanullah, Azeezullah 00297844 Danh Anh Huynh 02136047 1 Canny Edge Detection INTRODUCTION Edges Edges characterize boundaries and are therefore

More information

Digital Image Processing COSC 6380/4393

Digital Image Processing COSC 6380/4393 Digital Image Processing COSC 6380/4393 Lecture 21 Nov 16 th, 2017 Pranav Mantini Ack: Shah. M Image Processing Geometric Transformation Point Operations Filtering (spatial, Frequency) Input Restoration/

More information

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

Edge and local feature detection - 2. Importance of edge detection in computer vision Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature

More information

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han

Computer Vision. Image Segmentation. 10. Segmentation. Computer Engineering, Sejong University. Dongil Han Computer Vision 10. Segmentation Computer Engineering, Sejong University Dongil Han Image Segmentation Image segmentation Subdivides an image into its constituent regions or objects - After an image has

More information

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

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection By Dr. Yu Cao Department of Computer Science The University of Massachusetts Lowell Lowell, MA 01854, USA Part of the slides

More information

Lecture 7: Most Common Edge Detectors

Lecture 7: Most Common Edge Detectors #1 Lecture 7: Most Common Edge Detectors Saad Bedros sbedros@umn.edu Edge Detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the

More information

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

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient Edge Detection CS664 Computer Vision. Edges Convert a gray or color image into set of curves Represented as binary image Capture properties of shapes Dan Huttenlocher Several Causes of Edges Sudden changes

More information

Prof. Feng Liu. Winter /15/2019

Prof. Feng Liu. Winter /15/2019 Prof. Feng Liu Winter 2019 http://www.cs.pdx.edu/~fliu/courses/cs410/ 01/15/2019 Last Time Filter 2 Today More on Filter Feature Detection 3 Filter Re-cap noisy image naïve denoising Gaussian blur better

More information

Image gradients and edges April 11 th, 2017

Image gradients and edges April 11 th, 2017 4//27 Image gradients and edges April th, 27 Yong Jae Lee UC Davis PS due this Friday Announcements Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

Image gradients and edges April 10 th, 2018

Image gradients and edges April 10 th, 2018 Image gradients and edges April th, 28 Yong Jae Lee UC Davis PS due this Friday Announcements Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

EN1610 Image Understanding Lab # 3: Edges

EN1610 Image Understanding Lab # 3: Edges EN1610 Image Understanding Lab # 3: Edges The goal of this fourth lab is to ˆ Understanding what are edges, and different ways to detect them ˆ Understand different types of edge detectors - intensity,

More information

Image Processing: Final Exam November 10, :30 10:30

Image Processing: Final Exam November 10, :30 10:30 Image Processing: Final Exam November 10, 2017-8:30 10:30 Student name: Student number: Put your name and student number on all of the papers you hand in (if you take out the staple). There are always

More information

Segmentation I: Edges and Lines

Segmentation I: Edges and Lines Segmentation I: Edges and Lines Prof. Eric Miller elmiller@ece.tufts.edu Fall 2007 EN 74-ECE Image Processing Lecture 8-1 Segmentation Problem of breaking an image up into regions are are interesting as

More information

Edge Detection CSC 767

Edge Detection CSC 767 Edge Detection CSC 767 Edge detection Goal: Identify sudden changes (discontinuities) in an image Most semantic and shape information from the image can be encoded in the edges More compact than pixels

More information

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

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University Edge and Texture CS 554 Computer Vision Pinar Duygulu Bilkent University Filters for features Previously, thinking of filtering as a way to remove or reduce noise Now, consider how filters will allow us

More information

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

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017 Reading Jain, Kasturi, Schunck, Machine Vision. McGraw-Hill, 1995. Sections 4.2-4.4, 4.5(intro), 4.5.5, 4.5.6, 5.1-5.4. [online handout] Image processing Brian Curless CSE 457 Spring 2017 1 2 What is an

More information

Assignment 3: Edge Detection

Assignment 3: Edge Detection Assignment 3: Edge Detection - EE Affiliate I. INTRODUCTION This assignment looks at different techniques of detecting edges in an image. Edge detection is a fundamental tool in computer vision to analyse

More information

Image gradients and edges

Image gradients and edges Image gradients and edges April 7 th, 2015 Yong Jae Lee UC Davis Announcements PS0 due this Friday Questions? 2 Last time Image formation Linear filters and convolution useful for Image smoothing, removing

More information

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

Announcements. Edge Detection. An Isotropic Gaussian. Filters are templates. Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3. Announcements Edge Detection Introduction to Computer Vision CSE 152 Lecture 9 Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3. Reading from textbook An Isotropic Gaussian The picture

More information

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

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary EDGES AND TEXTURES The slides are from several sources through James Hays (Brown); Srinivasa Narasimhan (CMU); Silvio Savarese (U. of Michigan); Bill Freeman and Antonio Torralba (MIT), including their

More information

Edge Detection. EE/CSE 576 Linda Shapiro

Edge Detection. EE/CSE 576 Linda Shapiro Edge Detection EE/CSE 576 Linda Shapiro Edge Attneave's Cat (1954) 2 Origin of edges surface normal discontinuity depth discontinuity surface color discontinuity illumination discontinuity Edges are caused

More information

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

CS4442/9542b Artificial Intelligence II prof. Olga Veksler CS4442/9542b Artificial Intelligence II prof. Olga Veksler Lecture 8 Computer Vision Introduction, Filtering Some slides from: D. Jacobs, D. Lowe, S. Seitz, A.Efros, X. Li, R. Fergus, J. Hayes, S. Lazebnik,

More information

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

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University CS334: Digital Imaging and Multimedia Edges and Contours Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What makes an edge? Gradient-based edge detection Edge Operators From Edges

More information

Recall: Derivative of Gaussian Filter. Lecture 7: Correspondence Matching. Observe and Generalize. Observe and Generalize. Observe and Generalize

Recall: Derivative of Gaussian Filter. Lecture 7: Correspondence Matching. Observe and Generalize. Observe and Generalize. Observe and Generalize Recall: Derivative of Gaussian Filter G x I x =di(x,y)/dx Lecture 7: Correspondence Matching Reading: T&V Section 7.2 I(x,y) G y convolve convolve I y =di(x,y)/dy Observe and Generalize Derivative of Gaussian

More information

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

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing Larry Matthies 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

More information

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

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10 Announcements Assignment 2 due Tuesday, May 4. Edge Detection, Lines Midterm: Thursday, May 6. Introduction to Computer Vision CSE 152 Lecture 10 Edges Last Lecture 1. Object boundaries 2. Surface normal

More information

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

Robert Collins CSE598G. Intro to Template Matching and the Lucas-Kanade Method Intro to Template Matching and the Lucas-Kanade Method Appearance-Based Tracking current frame + previous location likelihood over object location current location appearance model (e.g. image template,

More information

Line, edge, blob and corner detection

Line, edge, blob and corner detection Line, edge, blob and corner detection Dmitri Melnikov MTAT.03.260 Pattern Recognition and Image Analysis April 5, 2011 1 / 33 Outline 1 Introduction 2 Line detection 3 Edge detection 4 Blob detection 5

More information

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

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur Pyramids Gaussian pre-filtering Solution: filter the image, then subsample blur F 0 subsample blur subsample * F 0 H F 1 F 1 * H F 2 { Gaussian pyramid blur F 0 subsample blur subsample * F 0 H F 1 F 1

More information

CS534: Introduction to Computer Vision 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 CS534: Introduction to Computer Vision Edges and Contours Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What makes an edge? Gradient-based edge detection Edge Operators Laplacian

More information

CS4442/9542b Artificial Intelligence II prof. Olga Veksler

CS4442/9542b Artificial Intelligence II prof. Olga Veksler CS4442/9542b Artificial Intelligence II prof. Olga Veksler Lecture 2 Computer Vision Introduction, Filtering Some slides from: D. Jacobs, D. Lowe, S. Seitz, A.Efros, X. Li, R. Fergus, J. Hayes, S. Lazebnik,

More information

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

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13. Announcements Edge and Corner Detection HW3 assigned CSE252A Lecture 13 Efficient Implementation Both, the Box filter and the Gaussian filter are separable: First convolve each row of input image I with

More information

Computer Vision for HCI. Topics of This Lecture

Computer Vision for HCI. Topics of This Lecture Computer Vision for HCI Interest Points Topics of This Lecture Local Invariant Features Motivation Requirements, Invariances Keypoint Localization Features from Accelerated Segment Test (FAST) Harris Shi-Tomasi

More information

SE 263 R. Venkatesh Babu. Object Tracking. R. Venkatesh Babu

SE 263 R. Venkatesh Babu. Object Tracking. R. Venkatesh Babu Object Tracking R. Venkatesh Babu Primitive tracking Appearance based - Template Matching Assumptions: Object description derived from first frame No change in object appearance Movement only 2D translation

More information

Capturing, Modeling, Rendering 3D Structures

Capturing, Modeling, Rendering 3D Structures Computer Vision Approach Capturing, Modeling, Rendering 3D Structures Calculate pixel correspondences and extract geometry Not robust Difficult to acquire illumination effects, e.g. specular highlights

More information

CS4733 Class Notes, Computer Vision

CS4733 Class Notes, Computer Vision CS4733 Class Notes, Computer Vision Sources for online computer vision tutorials and demos - http://www.dai.ed.ac.uk/hipr and Computer Vision resources online - http://www.dai.ed.ac.uk/cvonline Vision

More information

CS143 Introduction to Computer Vision Homework assignment 1.

CS143 Introduction to Computer Vision Homework assignment 1. CS143 Introduction to Computer Vision Homework assignment 1. Due: Problem 1 & 2 September 23 before Class Assignment 1 is worth 15% of your total grade. It is graded out of a total of 100 (plus 15 possible

More information

PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director of Technology, OTTE, NEW YORK

PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director of Technology, OTTE, NEW YORK International Journal of Science, Environment and Technology, Vol. 3, No 5, 2014, 1759 1766 ISSN 2278-3687 (O) PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director

More information

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

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy BSB663 Image Processing Pinar Duygulu Slides are adapted from Selim Aksoy Image matching Image matching is a fundamental aspect of many problems in computer vision. Object or scene recognition Solving

More information

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

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit Augmented Reality VU Computer Vision 3D Registration (2) Prof. Vincent Lepetit Feature Point-Based 3D Tracking Feature Points for 3D Tracking Much less ambiguous than edges; Point-to-point reprojection

More information

Segmentation and Grouping

Segmentation and Grouping Segmentation and Grouping How and what do we see? Fundamental Problems ' Focus of attention, or grouping ' What subsets of pixels do we consider as possible objects? ' All connected subsets? ' Representation

More information

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Edge Detection Image processing

More information

Sobel Edge Detection Algorithm

Sobel Edge Detection Algorithm Sobel Edge Detection Algorithm Samta Gupta 1, Susmita Ghosh Mazumdar 2 1 M. Tech Student, Department of Electronics & Telecom, RCET, CSVTU Bhilai, India 2 Reader, Department of Electronics & Telecom, RCET,

More information

Comparison between Various Edge Detection Methods on Satellite Image

Comparison between Various Edge Detection Methods on Satellite Image Comparison between Various Edge Detection Methods on Satellite Image H.S. Bhadauria 1, Annapurna Singh 2, Anuj Kumar 3 Govind Ballabh Pant Engineering College ( Pauri garhwal),computer Science and Engineering

More information

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF Scott Smith Advanced Image Processing March 15, 2011 Speeded-Up Robust Features SURF Overview Why SURF? How SURF works Feature detection Scale Space Rotational invariance Feature vectors SURF vs Sift Assumptions

More information

Computer Vision and Graphics (ee2031) Digital Image Processing I

Computer Vision and Graphics (ee2031) Digital Image Processing I Computer Vision and Graphics (ee203) Digital Image Processing I Dr John Collomosse J.Collomosse@surrey.ac.uk Centre for Vision, Speech and Signal Processing University of Surrey Learning Outcomes After

More information

Ulrik Söderström 17 Jan Image Processing. Introduction

Ulrik Söderström 17 Jan Image Processing. Introduction Ulrik Söderström ulrik.soderstrom@tfe.umu.se 17 Jan 2017 Image Processing Introduction Image Processsing Typical goals: Improve images for human interpretation Image processing Processing of images for

More information

Edge Detection. CMPUT 206: Introduction to Digital Image Processing. Nilanjan Ray. Source:

Edge Detection. CMPUT 206: Introduction to Digital Image Processing. Nilanjan Ray. Source: Edge Detection CMPUT 206: Introduction to Digital Image Processing Nilanjan Ray Source: www.imagingbook.com What are edges? Are image positions where local image intensity changes significantly along a

More information

Biomedical Image Analysis. Point, Edge and Line Detection

Biomedical Image Analysis. Point, Edge and Line Detection Biomedical Image Analysis Point, Edge and Line Detection Contents: Point and line detection Advanced edge detection: Canny Local/regional edge processing Global processing: Hough transform BMIA 15 V. Roth

More information

CHAPTER 4 EDGE DETECTION TECHNIQUE

CHAPTER 4 EDGE DETECTION TECHNIQUE 56 CHAPTER 4 EDGE DETECTION TECHNIQUE The main and major aim of edge detection is to significantly reduce the amount of data significantly in an image, while preserving the structural properties to be

More information

CS5670: Computer Vision

CS5670: Computer Vision CS5670: Computer Vision Noah Snavely Lecture 2: Edge detection From Sandlot Science Announcements Project 1 (Hybrid Images) is now on the course webpage (see Projects link) Due Wednesday, Feb 15, by 11:59pm

More information

Local Features: Detection, Description & Matching

Local Features: Detection, Description & Matching Local Features: Detection, Description & Matching Lecture 08 Computer Vision Material Citations Dr George Stockman Professor Emeritus, Michigan State University Dr David Lowe Professor, University of British

More information

EE795: Computer Vision and Intelligent Systems

EE795: Computer Vision and Intelligent Systems EE795: Computer Vision and Intelligent Systems Spring 2012 TTh 17:30-18:45 WRI C225 Lecture 04 130131 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Histogram Equalization Image Filtering Linear

More information

EEM 463 Introduction to Image Processing. Week 3: Intensity Transformations

EEM 463 Introduction to Image Processing. Week 3: Intensity Transformations EEM 463 Introduction to Image Processing Week 3: Intensity Transformations Fall 2013 Instructor: Hatice Çınar Akakın, Ph.D. haticecinarakakin@anadolu.edu.tr Anadolu University Enhancement Domains Spatial

More information

Wikipedia - Mysid

Wikipedia - Mysid Wikipedia - Mysid Erik Brynjolfsson, MIT Filtering Edges Corners Feature points Also called interest points, key points, etc. Often described as local features. Szeliski 4.1 Slides from Rick Szeliski,

More information

The NAO Robot, a case of study Robotics Franchi Alessio Mauro

The NAO Robot, a case of study Robotics Franchi Alessio Mauro The NAO Robot, a case of study Robotics 2013-2014 Franchi Alessio Mauro alessiomauro.franchi@polimi.it Who am I? Franchi Alessio Mauro Master Degree in Computer Science Engineer at Politecnico of Milan

More information

Obtaining Feature Correspondences

Obtaining Feature Correspondences Obtaining Feature Correspondences Neill Campbell May 9, 2008 A state-of-the-art system for finding objects in images has recently been developed by David Lowe. The algorithm is termed the Scale-Invariant

More information

Edge detection. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I)

Edge detection. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I) Edge detection Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Elaborazione delle immagini (Image processing I) academic year 2011 2012 Image segmentation Several image processing

More information

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town Recap: Smoothing with a Gaussian Computer Vision Computer Science Tripos Part II Dr Christopher Town Recall: parameter σ is the scale / width / spread of the Gaussian kernel, and controls the amount of

More information

CPSC 425: Computer Vision

CPSC 425: Computer Vision CPSC 425: Computer Vision Image Credit: https://docs.adaptive-vision.com/4.7/studio/machine_vision_guide/templatematching.html Lecture 9: Template Matching (cont.) and Scaled Representations ( unless otherwise

More information

Implementing the Scale Invariant Feature Transform(SIFT) Method

Implementing the Scale Invariant Feature Transform(SIFT) Method Implementing the Scale Invariant Feature Transform(SIFT) Method YU MENG and Dr. Bernard Tiddeman(supervisor) Department of Computer Science University of St. Andrews yumeng@dcs.st-and.ac.uk Abstract The

More information

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm Group 1: Mina A. Makar Stanford University mamakar@stanford.edu Abstract In this report, we investigate the application of the Scale-Invariant

More information

CS4670: Computer Vision Noah Snavely

CS4670: Computer Vision Noah Snavely CS4670: Computer Vision Noah Snavely Lecture 2: Edge detection From Sandlot Science Announcements Project 1 released, due Friday, September 7 1 Edge detection Convert a 2D image into a set of curves Extracts

More information

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

SURVEY ON IMAGE PROCESSING IN THE FIELD OF DE-NOISING TECHNIQUES AND EDGE DETECTION TECHNIQUES ON RADIOGRAPHIC IMAGES SURVEY ON IMAGE PROCESSING IN THE FIELD OF DE-NOISING TECHNIQUES AND EDGE DETECTION TECHNIQUES ON RADIOGRAPHIC IMAGES 1 B.THAMOTHARAN, 2 M.MENAKA, 3 SANDHYA VAIDYANATHAN, 3 SOWMYA RAVIKUMAR 1 Asst. Prof.,

More information

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

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11 Announcement Edge and Corner Detection Slides are posted HW due Friday CSE5A Lecture 11 Edges Corners Edge is Where Change Occurs: 1-D Change is measured by derivative in 1D Numerical Derivatives f(x)

More information

Laser sensors. Transmitter. Receiver. Basilio Bona ROBOTICA 03CFIOR

Laser sensors. Transmitter. Receiver. Basilio Bona ROBOTICA 03CFIOR Mobile & Service Robotics Sensors for Robotics 3 Laser sensors Rays are transmitted and received coaxially The target is illuminated by collimated rays The receiver measures the time of flight (back and

More information

Peripheral drift illusion

Peripheral drift illusion Peripheral drift illusion Does it work on other animals? Computer Vision Motion and Optical Flow Many slides adapted from J. Hays, S. Seitz, R. Szeliski, M. Pollefeys, K. Grauman and others Video A video

More information

DIGITAL IMAGE PROCESSING

DIGITAL IMAGE PROCESSING The image part with relationship ID rid2 was not found in the file. DIGITAL IMAGE PROCESSING Lecture 6 Wavelets (cont), Lines and edges Tammy Riklin Raviv Electrical and Computer Engineering Ben-Gurion

More information

Reconstructing Images of Bar Codes for Construction Site Object Recognition 1

Reconstructing Images of Bar Codes for Construction Site Object Recognition 1 Reconstructing Images of Bar Codes for Construction Site Object Recognition 1 by David E. Gilsinn 2, Geraldine S. Cheok 3, Dianne P. O Leary 4 ABSTRACT: This paper discusses a general approach to reconstructing

More information

An Implementation on Object Move Detection Using OpenCV

An Implementation on Object Move Detection Using OpenCV An Implementation on Object Move Detection Using OpenCV Professor: Dr. Ali Arya Reported by: Farzin Farhadi-Niaki Department of Systems and Computer Engineering Carleton University Ottawa, Canada I. INTRODUCTION

More information

Why is computer vision difficult?

Why is computer vision difficult? Why is computer vision difficult? Viewpoint variation Illumination Scale Why is computer vision difficult? Intra-class variation Motion (Source: S. Lazebnik) Background clutter Occlusion Challenges: local

More information

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE COMPUTER VISION 2017-2018 > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE OUTLINE Optical flow Lucas-Kanade Horn-Schunck Applications of optical flow Optical flow tracking Histograms of oriented flow Assignment

More information

Last update: May 4, Vision. CMSC 421: Chapter 24. CMSC 421: Chapter 24 1

Last update: May 4, Vision. CMSC 421: Chapter 24. CMSC 421: Chapter 24 1 Last update: May 4, 200 Vision CMSC 42: Chapter 24 CMSC 42: Chapter 24 Outline Perception generally Image formation Early vision 2D D Object recognition CMSC 42: Chapter 24 2 Perception generally Stimulus

More information

A Summary of Projective Geometry

A Summary of Projective Geometry A Summary of Projective Geometry Copyright 22 Acuity Technologies Inc. In the last years a unified approach to creating D models from multiple images has been developed by Beardsley[],Hartley[4,5,9],Torr[,6]

More information

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

Filtering and Edge Detection. Computer Vision I. CSE252A Lecture 10. Announcement Filtering and Edge Detection CSE252A Lecture 10 Announcement HW1graded, will be released later today HW2 assigned, due Wed. Nov. 7 1 Image formation: Color Channel k " $ $ # $ I r I g I b % " ' $ ' = (

More information