16720: Computer Vision Homework 2 Feature Descriptors, Homographies & RANSAC

Size: px
Start display at page:

Download "16720: Computer Vision Homework 2 Feature Descriptors, Homographies & RANSAC"

Transcription

1 16720: Computer Vision Homework 2 Feature Descriptors, Homographies & RANSAC Instructor: Deva Ramanan TAs: Achal Dave, Brian Pugh Shashank Jujjavarapu, Siddarth Malreddy See course website for deadline: Instructions/Hints 1. Please pack your system and write-up into a single file named <AndrewId>.zip, see the complete submission checklist in the overview. 2. All questions marked with a Q require a submission. 3. For the implementation part, please stick to the headers, variable names, and file conventions provided. 4. Start early! This homework will take a long time to complete. 5. Attempt to verify your implementation as you proceed: If you don t verify that your implementation is correct on toy examples, you will risk having a huge mess when you put everything together. Introduction In this homework, you will implement an interest point (keypoint) detector, a feature descriptor and an image stitching tool based on feature matching and homography. Interest point (keypoint) detectors find particularly salient points in an image. We can then extract a feature descriptor that helps describe the region around each of the interest points. SIFT, SURF and BRIEF are all examples of commonly used feature descriptors. Once we have extracted the interest points, we can use feature descriptors to match them (find correspondences) between images to do interesting things like panorama stitching or scene reconstruction. We will implement the BRIEF feature descriptor in this homework. It has a compact representation, is quick to compute, has a discriminative yet easily computed distance metric, and is relatively simple to implement. This allows for real-time computation, as you have seen in class. Most importantly, as you will see, it is also just as powerful as more complex descriptors like SIFT for many cases. 1

2 After matching the features that we extract, we will explore the homography between images based on the locations of the matched features. Specifically, we will look at the planar homographies. Why is this useful? In many robotics applications, robots must often deal with tabletops, ground, and walls among other flat planar surfaces. When two cameras observe a plane, there exists a relationship between the captured images. This relationship is defined by a 3 3 transformation matrix, called a planar homography. A planar homography allows us to compute how a planar scene would look from a second camera location, given only the first camera image. In fact, we can compute how images of the planes will look from any camera at any location without knowing any internal camera parameters and without actually taking the pictures, all using the planar homography matrix. 1 Keypoint Detector We will implement an interest point detector similar to SIFT. A good reference for its implementation can be found in [3]. Keypoints are found by using the Difference of Gaussian (DoG) detector. This detector finds points that are extrema in both scale and space of a DoG pyramid. This is described in [1], an important paper in computer vision. Here, we will implement a simplified version of the DoG detector described in Section 3 of [3]. NOTE: The parameters to use for the following sections are: σ 0 = 1, k = 2, levels = [ 1, 0, 1, 2, 3, 4], θ c = 0.03 and θ r = Gaussian Pyramid In order to create a DoG pyramid, we will first need to create a Gaussian pyramid. Gaussian pyramids are constructed by progressively applying a low pass Gaussian filter to the input image. This function is already provided to your in creategaussianpyramid.m. GaussianPyramid = creategaussianpyramid(im, sigma0, k, levels) The function takes as input a grayscale image im with values between 0 and 1 (hint: im2double(), rgb2gray()), the scale of the zeroth level of the pyramid sigma0, the pyramid factor k, and a vector levels specifying the levels of the pyramid to construct. At level l in the pyramid, the image is smoothed by a Gaussian filter with σ l = σ 0 k l. The output GaussianPyramid is a R C L matrix, where R C is the size of the input image im and L is the number of levels. An example of a Gaussian pyramid can be seen in Figure 1. You can visualize this pyramid with the provided function displaypyramid(pyramid). 2

3 Figure 1: Example Gaussian pyramid for model chickenbroth.jpg Figure 2: Example DoG pyramid for model chickenbroth.jpg 1.2 The DoG Pyramid (5 pts) The DoG pyramid is obtained by subtracting successive levels of the Gaussian pyramid. Specifically, we want to find: D l (x, y, σ l ) = (G(x, y, σ l 1 ) G(x, y, σ l )) I(x, y) (1) where G(x, y, σ l ) is the Gaussian filter used at level l and is the convolution operator. Due to the distributive property of convolution, this simplifies to D l (x, y, σ l ) = G(x, y, σ l 1 ) I(x, y) G(x, y, σ l ) I(x, y) (2) where GP l denotes level l in the Gaussian pyramid. = GP l GP l 1 (3) Q 1.2: Write the following function to construct a Difference of Gaussian pyramid: [DoGPyramid, DoGLevels] = createdogpyramid(gaussianpyramid, levels) The function should return DoGPyramid an R C (L 1) matrix of the DoG pyramid created by differencing the GaussianPyramid input. Note that you will have one level less than the Gaussian Pyramid. DoGLevels is an (L 1) vector specifying the corresponding levels of the DoG Pyramid (should be the last L 1 elements of levels). An example of the DoG pyramid can be seen in Figure Edge Suppression (10 pts) The Difference of Gaussian function responds strongly on corners and edges in addition to blob-like objects. However, edges are not desirable for feature extraction as they are not as distinctive and do not provide a substantially stable localization for keypoints. 3

4 Figure 3.a: suppression Without edge Figure 3.b: With edge suppression Figure 3: Interest Point (keypoint) Detection without and with edge suppression for model chickenbroth.jpg Here, we will implement the edge removal method described in Section 4.1 of [3], which is based on the principal curvature ratio in a local neighborhood of a point. The paper presents the observation that edge points will have a large principal curvature across the edge but a small one in the perpendicular direction. Q 1.3: Implement the following function: PrincipalCurvature = computeprincipalcurvature(dogpyramid) The function takes in DoGPyramid generated in the previous section and returns PrincipalCurvature, a matrix of the same size where each point contains the curvature ratio R for the corresponding point in the DoG pyramid: R= Tr(H)2 (λmin + λmax )2 = Det(H) λmin λmax (4) where H is the Hessian of the Difference of Gaussian function (i.e. one level of the DoG pyramid) computed by using pixel differences as mentioned in Section 4.1 of [3]. (hint: Matlab function gradient()). Dxx Dxy H= (5) Dyx Dyy This is similar in spirit to but different than the Harris corner detection matrix you saw in class. Both methods examine the eigenvalues λ of a matrix, but the method in [3] performs a test without requiring the direct computation of the eigenvalues. Note that 4

5 you need to compute each term of the Hessian before being able to take the trace and determinant. We can see that R reaches its minimum when the two eigenvalues λ min and λ max are equal, meaning that the curvature is the same in the two principal directions. Edge points, in general, will have a principal curvature significantly larger in one direction than the other. To remove edge points, we simply check against a threshold R > θ r. Fig. 3 shows the DoG detector with and without edge suppression. 1.4 Detecting Extrema (10 pts) To detect corner-like, scale-invariant interest points, the DoG detector chooses points that are local extrema in both scale and space. Here, we will consider a point s eight neighbors in space and its two neighbors in scale (one in the scale above and one in the scale below). Q 1.4: Write the function : locsdog = getlocalextrema(dogpyramid, DoGLevels, PrincipalCurvature, th contrast, th r) This function takes as input DoGPyramid and DoGLevels from Section 1.2 and PrincipalCurvature from Section 1.3. It also takes two threshold values, th contrast and th r. The threshold θ c should remove any point that is a local extremum but does not have a Difference of Gaussian (DoG) response magnitude above this threshold (i.e. D(x, y, σ) > θ c ). The threshold θ r should remove any edge-like points that have too large a principal curvature ratio specified by PrincipalCurvature. The function should return locsdog, an N 3 matrix where the DoG pyramid achieves a local extrema in both scale and space, and also satisfies the two thresholds. The first and second column of locsdog should be the (x, y) values of the local extremum and the third column should contain the corresponding level of the DoG pyramid where it was detected. (Try to eliminate loops in the function so that it runs efficiently.) NOTE: In all implementations, we assume the x coordinate corresponds to columns and y coordinate corresponds to rows. For example, the coordinate (10, 20) corresponds to the (row 20, column 10) in the image. 1.5 Putting it together (5 pts) Q 1.5: Write the following function to combine the above parts into a DoG detector: [locsdog, GaussianPyramid] = DoGdetector(im, sigma0, k, levels, th contrast, th r) The function should take in a gray scale image, im, scaled between 0 and 1, and the parameters sigma0, k, levels, th contrast, and th r. It should use each of the above functions and return the keypoints in locsdog and the Gaussian pyramid in 5

6 GaussianPyramid. Figure 3 shows the keypoints detected for an example image. Note that we are dealing with real images here, so your keypoint detector may find points with high scores that you do not perceive to be corners. Include the image with the detected keypoints in your report (similiar to the one shown in Fig. 3 (b) ). You can use any of the provided images. 2 BRIEF Descriptor Now that we have interest points that tell us where to find the most informative feature points in the image, we can compute descriptors that can be used to match to other views of the same point in different images. The BRIEF descriptor encodes information from a 9 9 patch p centered around the interest point at the characteristic scale of the interest point. See the lecture notes to refresh your memory. 2.1 Creating a Set of BRIEF Tests (5 pts) The descriptor itself is a vector that is n-bits long, where each bit is the result of the following simple test: { 1, if p(x) < p(y). τ(p; x, y) := (6) 0, otherwise. Set n to 256 bits. There is no need to encode the test results as actual bits. It is fine to encode them as a 256 element vector. There are many choices for the 256 test pairs (x, y) used to compute τ(p; x, y) (each of the n bits). The authors describe and test some of them in [2]. Read section 3.2 of that paper and implement one of these solutions. You should generate a static set of test pairs and save that data to a file. You will use these pairs for all subsequent computations of the BRIEF descriptor. Q 2.1: Write the function to create the x and y pairs that we will use for comparison to compute τ: [comparex, comparey] = maketestpattern(patchwidth, nbits) patchwidth is the width of the image patch (usually 9) and nbits is the number of tests n in the BRIEF descriptor. comparex and comparey are linear indices into the patchwidth patchwidth image patch and are each nbits 1 vectors. Run this routine for the given parameters patchwidth = 9 and n = 256 and save the results in testpattern.mat. Include this file in your submission. 2.2 Compute the BRIEF Descriptor (10 pts) Now we can compute the BRIEF descriptor for the detected keypoints. Q 2.2: Write the function: 6

7 [locs,desc] = computebrief(im, GaussianPyramid, locsdog, k, levels, comparex, comparey) Where im is a grayscale image with values from 0 to 1, locsdog are the keypoint locations returned by the DoG detector from Section 1.5, levels are the Gaussian scale levels that were given in Section 1, and comparex and comparey are the test patterns computed in Section 2.1 and were saved into testpattern.mat. The function returns locs, an m 3 vector, where the first two columns are the image coordinates of keypoints and the third column is the pyramid level of the keypoints, and desc is an m n bits matrix of stacked BRIEF descriptors. m is the number of valid descriptors in the image and will vary. You may have to be careful about the input DoG detector locations since they may be at the edge of an image where we cannot extract a full patch of width patchwidth. Thus, the number of output locs may be less than the input locsdog. Note: Its possible that you may not require all the arguments to this function to compute the desired output. They have just been provided to permit the use of any of some different approaches to solve this problem. 2.3 Putting it all Together (5 pts) Q 2.3: Write a function : [locs, desc] = brieflite(im) which accepts a grayscale image im with values between 0 and 1 and returns locs, an m 3 vector, where the first two columns are the image coordinates of keypoints and the third column is the pyramid level of the keypoints, and desc, an m n bits matrix of stacked BRIEF descriptors. m is the number of valid descriptors in the image and will vary. n is the number of bits for the BRIEF descriptor. This function should perform all the necessary steps to extract the descriptors from the image, including Load parameters and test patterns. Get keypoint locations. Compute a set of valid BRIEF descriptors. 2.4 Check Point: Descriptor Matching (5 pts) A descriptor s strength is in its ability to match to other descriptors generated by the same world point despite change of view, lighting, etc. The distance metric used to compute the similarity between two descriptors is critical. For BRIEF, this distance metric is the Hamming distance. The Hamming distance is simply the number of bits in two descriptors that differ. (Note that the position of the bits matters.) To perform the descriptor matching mentioned above, we have provided the function in matlab/briefmatch.m): 7

8 [matches] = briefmatch(desc1, desc2, ratio) Which accepts an m 1 n bits stack of BRIEF descriptors from a first image and a m 2 n bits stack of BRIEF descriptors from a second image and returns a p 2 matrix of matches, where the first column are indices into desc1 and the second column are indices into desc2. Note that m 1, m 2, and p may be different sizes and p min (m 1, m 2 ). Q 2.4: Write a test script testmatch to load two of the chickenbroth images and compute feature matches. Use the provided plotmatches and briefmatch functions to visualize the result. plotmatches(im1, im2, matches, locs1, locs2) where im1 and im2 are grayscale images from 0 to 1, matches is the list of matches returned by briefmatch and locs1 and locs2 are the locations of keypoints from brieflite. Save the resulting figure and submit it in your PDF report. Also, present results with the two incline images and with the computer vision textbook cover page (template is in file pf scan scaled.jpg) against the other pf * images. Briefly discuss any cases that perform worse or better. See Figure 4 for an example result. Suggestion for debugging: A good test of your code is to check that you can match an image to itself. 2.5 BRIEF and rotations (10 pts) You may have noticed worse performance under rotations. Let s investigate this! Q 2.5: Take the model chickenbroth.jpg test image and match it to itself while rotating the second image (hint: imrotate) in increments of 10 degrees. Count the number of correct matches at each rotation and construct a bar graph showing rotation angle vs the number of correct matches. Include this in your PDF and explain why you think the descriptor behaves this way. Create a script briefrottest.m that performs this task. 3 Planar Homographies: Theory (20 pts) Suppose we have two cameras C 1 and C 2 looking at a common plane Π in 3D space. Any 3D point P on Π generates a projected 2D point located at p (u 1, v 1, 1) T on the first camera C 1 and q (u 2, v 2, 1) T on the second camera C 2. Since P is confined to the plane Π, we expect that there is a relationship between p and q. In particular, 8

9 Figure 4: Example of BRIEF matches for model chickenbroth.jpg and chickenbroth 01.jpg. there exists a common 3 3 matrix H, so that for any p and q, the following conditions holds: p Hq (7) We call this relationship planar homography. Recall that both p and q are in homogeneous coordinates and the equality means p is proportional to Hq (recall homogeneous coordinates). It turns out this relationship is also true for cameras that are related by pure rotation without the planar constraint. Q 3.1 We have a set of points p = {p 1, p 2,..., p N } in an image taken by camera C 1 and corresponding points q = {q 1, q 2,..., q N } in an image taken by C 2. Suppose we know there exists an unknown homography H between corresponding points for all i {1, 2,..., N}. This formally means that H such that: p i Hq i (8) where p i = (x i, y i, 1) and q i = (u i, v i, 1) are homogeneous coordinates of image points each from an image taken with C 1 and C 2 respectively. (a) Given N correspondences in p and q and using Equation 8, derive a set of 2N independent linear equations in the form: Ah = 0 (9) where h is a vector of the elements of H and A is a matrix composed of elements derived from the point coordinates. Write out an expression for A. 9

10 Hint: Start by writing out Equation 8 in terms of the elements of H and the homogeneous coordinates for p i and q i. (b) How many elements are there in h? (c) How many point pairs (correspondences) are required to solve this system? Hint: How many degrees of freedom are in H? How much information does each point correspondence give? (d) Show how to estimate the elements in h to find a solution to minimize this homogeneous linear least squares system. Step us through this procedure. Hint: Use the Rayleigh quotient theorem (homogeneous least squares). 4 Planar Homographies: Implementation (10 pts) Now that we have derived how to find H mathematically in Q 3.1, we will implement in this section. Q 4.1 (10pts) Implement the function H2to1 = computeh(p1,p2) Inputs: p1 and p2 should be 2 Nmatrices of corresponding (x, y) T coordinates between two images. Outputs: H2to1 should be a 3 3 matrix encoding the homography that best matches the linear equation derived above for Equation 8 (in the least squares sense). Hint: Remember that a homography is only determined up to scale. The MATLAB functions eig() or svd() will be useful. Note that this function can be written without an explicit for-loop over the data points. 5 RANSAC (15 pts) The least squares method you implemented for computing homographies is not robust to outliers. If all the correspondences are good matches, this is not a problem. But even a single false correspondence can completely throw off the homography estimation. When correspondences are determined automatically (using BRIEF feature matching for instance), some mismatches in a set of point correspondences are almost certain. RANSAC (Random Sample Consensus can be used to fit models robustly in the presence of outliers. Q 5.1 (15pts): Write a function that uses RANSAC to compute homographies automatically between two images: [besth] = ransach(matches, locs1, locs2, niter, tol) The inputs and output of this function should be as follows: 10

11 Figure incline L.jpg (img1) 5.a: Figure incline R.jpg (img2) 5.b: Figure 5.c: img2 warped to img1 s frame Figure 5: Example output for Q 6.1: Original images img1 and img2 (left and center) and img2 warped to fit img1 (right). Notice that the warped image clips out of the image. We will fix this in Q 6.2 Inputs: locs1 and locs2 are matrices specifying point locations in each of the images and matches is a matrix specifying matches between these two sets of point locations. These matrices are formatted identically to the output of the provided briefmatch function. Algorithm Input Parameters: niter is the number of iterations to run RANSAC for, tol is the tolerance value for considering a point to be an inlier. Define your function so that these two parameters have reasonable default values. Outputs: besth should be the homography model with the most inliers found during RANSAC. 6 Stitching it together: Panoramas (40 pts) We can also use homographies to create a panorama image from multiple views of the same scene. This is possible for example when there is no camera translation between the views (e.g., only rotation about the camera center). First, you will generate panoramas using matched point correspondences between images using the BRIEF matching in Section 2.4. We will assume that there is no error in your matched point correspondences between images (Although there might be some errors, and even small errors can have drastic impacts). In the next section you will extend the technique to deal with the noisy keypoint matches. You will need to use the provided function warp im = warph(im, H, out size), which warps image im using the homography transform H. The pixels in warp_im are sampled at coordinates in the rectangle (1, 1) to (out_size(2), out_size(1)). The coordinates of the pixels in the source image are taken to be (1, 1) to (size(im,2), size(im,1)) and transformed according to H. To understand this function, you may review Homework 0. Q 6.1 (15pts) In this problem you will implement and use the function: [panoimg] = imagestitching(img1, img2, H2to1) 11

12 on two images from the Dusquesne incline. This function accepts two images and the output from the homography estimation function. This function: (a) Warps img2 into img1 s reference frame using the provided warph() function (b) Blends img1 and warped img2 and outputs the panorama image. For this problem, use the provided images incline L as img1 and incline R as img2. The point correspondences pts are generated by your BRIEF descriptor matching. Apply your computeh() to these correspondences to compute H2to1, which is the homography from incline R onto incline L. Then apply this homography to incline R using warph(). Note: Since the warped image will be translated to the right, you will need a larger target image. Visualize the warped image and save this figure as results/6 1.jpg using Matlab s imwrite() function and save only H2to1 as results/q6 1.mat using MATLAB s save() function. Q 6.2 (15pts) Notice how the output from Q 6.1 is clipped at the edges? We will fix this now. Implement a function [panoimg] = imagestitching noclip(img1, img2, H2to1) that takes in the same input types and produces the same outputs as in Q 6.1. To prevent clipping at the edges, we instead need to warp both image 1 and image 2 into a common third reference frame in which we can display both images without any clipping. Specifically, we want to find a matrix M that only does scaling and translation such that: warp im1 = warph(im1, M, out size); warp im2 = warph(im2, M*H2to1, out size); This produces warped images in a common reference frame where all points in im1 and im2 are visible. To do this, we will only take as input either the width or height of out size and compute the other one based on the given images such that the warped images are not squeezed or elongated in the panorama image. For now, assume we only take as input the width of the image (i.e., out size(2)) and should therefore compute the correct height(i.e., out size(1)). Hint: The computation will be done in terms of H2to1 and the extreme points (corners) of the two images. Make sure M includes only scale (find the aspect ratio of the full-sized panorama image) and translation. Again, pass incline L as img1 and incline R as img2. Save the resulting panorama in results/q6 2 pan.jpg. Q 6.3 (10pts): You now have all the tools you need to automatically generate panoramas. Write a function that accepts two images as input, computes keypoints and descriptors for both the images, finds putative feature correspondences by matching keypoint descriptors, estimates a homography using RANSAC and then warps one of the images with the homography so that they are aligned and then overlays them. 12

13 im3 = generatepanorama(im1, im2) Run your code on the image pair data/incline L.jpg, data/incline R.jpg. However during debugging, try on scaled down versions of the images to keep running time low. Save the resulting panorama on the full sized images as results/q6 3.jpg. (see Figure 6 for example output). Include the figure in your writeup. Figure 6: Final panorama view. With homography estimated using RANSAC. 7 Extra Credit (20 pts) The extra credit opportunities described below are optional and provide an avenue to explore computer vision and improve the performance of the techniques developed above. 1. As we have seen, BRIEF is not rotationally invariant. Design a simple fix to solve this problem using the tools you have developed so far. Explain in your PDF your design decisions and how you selected any parameters that you use. Demonstrate the effectiveness of your algorithm on image pairs related by large rotation. Submit your code as ec 1.m. 2. This implementation of BRIEF has some scale invariance, but there are limits. What happens when you match a picture to the same picture at half the size? Look to section 3 of [3] for a technique that will make your detector more robust to changes in scale. Implement it and demonstrate it in action with several test images. You may simply rescale some of the test images we have given you. Submit your code as ec 2.m. For each question, plot a graph of the number of correct matches, changing rotation from 0 to 180 degrees and scale from 1x to 20x (or some other set of appropriate scale values) and analyze your results in your report. 13

14 8 Submission and Deliverables The assignment should be submitted to Blackboard as a zip file named <AndrewId>.zip and to Gradescope as a pdf file named <AndrewId>.pdf. The zip file should contain: A folder code containing all the.m files you were asked to write. A folder results containing all the.mat and.jpg files you were asked to generate. A pdf named writeup.pdf containing the results, explanations and images asked for in the assignment along with to the answers to the questions on homographies. Submit all the code needed to make your panorama generator run. Make sure all the.m files that need to run are accessible from the code folder without any editing of the path variable. You may leave the data folder in your submission, but it is not needed. Please run the provided script checksubmission.m to ensure that all the required files are available, then submit zip file using blackboard. Missing to follow the structure will incur huge penalty in scores! Appendix: Image Blending Note: This section is not for credit and is for informational purposes only. For overlapping pixels, it is common to blend the values of both images. You can simply average the values but that will leave a seam at the edges of the overlapping images. Alternatively, you can obtain a blending value for each image that fades one image into the other. To do this, first create a ask like this for each image you wish to blend: mask = zeros(size(im,1), size(im,2)); mask(1,:) = 1; mask(end,:) = 1; mask(:,1) = 1; mask(:,end) = 1; mask = bwdist(mask, city ); mask = mask/max(mask(:)); The function bwdist computes the distance transform of the binarized input image, so this mask will be zero at the borders and 1 at the center of the image. You can warp this mask just as you warped your images. How would you use the mask weights to compute a linear combination of the pixels in the overlap region? Your function should behave well where one or both of the blending constants are zero. References [1] P. Burt and E. Adelson. The Laplacian Pyramid as a Compact Image Code. IEEE Transactions on Communications, 31(4): , April

15 [2] Michael Calonder, Vincent Lepetit, Christoph Strecha, and Pascal Fua. BRIEF : Binary Robust Independent Elementary Features. [3] David G. Lowe. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 60(2):91 110, November

16720: Computer Vision Homework 1

16720: Computer Vision Homework 1 16720: Computer Vision Homework 1 Instructor: Martial Hebert TAs: Varun Ramakrishna and Tomas Simon Instructions A complete homework submission consists of two parts. A pdf file with answers to the theory

More information

Computer Vision: Homework 3 Lucas-Kanade Tracking & Background Subtraction

Computer Vision: Homework 3 Lucas-Kanade Tracking & Background Subtraction 16-720 Computer Vision: Homework 3 Lucas-Kanade Tracking & Background Subtraction Instructor: Deva Ramanan TAs: Achal Dave, Sashank Jujjavarapu Siddarth Malreddy, Brian Pugh See course website for deadline:

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

Scale Invariant Feature Transform

Scale Invariant Feature Transform Why do we care about matching features? Scale Invariant Feature Transform Camera calibration Stereo Tracking/SFM Image moiaicing Object/activity Recognition Objection representation and recognition Automatic

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

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS Cognitive Robotics Original: David G. Lowe, 004 Summary: Coen van Leeuwen, s1460919 Abstract: This article presents a method to extract

More information

Scale Invariant Feature Transform

Scale Invariant Feature Transform Scale Invariant Feature Transform Why do we care about matching features? Camera calibration Stereo Tracking/SFM Image moiaicing Object/activity Recognition Objection representation and recognition Image

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

Local features and image matching. Prof. Xin Yang HUST

Local features and image matching. Prof. Xin Yang HUST Local features and image matching Prof. Xin Yang HUST Last time RANSAC for robust geometric transformation estimation Translation, Affine, Homography Image warping Given a 2D transformation T and a source

More information

Feature Based Registration - Image Alignment

Feature Based Registration - Image Alignment Feature Based Registration - Image Alignment Image Registration Image registration is the process of estimating an optimal transformation between two or more images. Many slides from Alexei Efros http://graphics.cs.cmu.edu/courses/15-463/2007_fall/463.html

More information

CSE 252A Computer Vision Homework 3 Instructor: Ben Ochoa Due : Monday, November 21, 2016, 11:59 PM

CSE 252A Computer Vision Homework 3 Instructor: Ben Ochoa Due : Monday, November 21, 2016, 11:59 PM CSE 252A Computer Vision Homework 3 Instructor: Ben Ochoa Due : Monday, November 21, 2016, 11:59 PM Instructions: Homework 3 has to be submitted in groups of 3. Review the academic integrity and collaboration

More information

Midterm Examination CS 534: Computational Photography

Midterm Examination CS 534: Computational Photography Midterm Examination CS 534: Computational Photography November 3, 2016 NAME: Problem Score Max Score 1 6 2 8 3 9 4 12 5 4 6 13 7 7 8 6 9 9 10 6 11 14 12 6 Total 100 1 of 8 1. [6] (a) [3] What camera setting(s)

More information

Scale Invariant Feature Transform by David Lowe

Scale Invariant Feature Transform by David Lowe Scale Invariant Feature Transform by David Lowe Presented by: Jerry Chen Achal Dave Vaishaal Shankar Some slides from Jason Clemons Motivation Image Matching Correspondence Problem Desirable Feature Characteristics

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

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

Stitching and Blending

Stitching and Blending Stitching and Blending Kari Pulli VP Computational Imaging Light First project Build your own (basic) programs panorama HDR (really, exposure fusion) The key components register images so their features

More information

SIFT: Scale Invariant Feature Transform

SIFT: Scale Invariant Feature Transform 1 / 25 SIFT: Scale Invariant Feature Transform Ahmed Othman Systems Design Department University of Waterloo, Canada October, 23, 2012 2 / 25 1 SIFT Introduction Scale-space extrema detection Keypoint

More information

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale. Distinctive Image Features from Scale-Invariant Keypoints David G. Lowe presented by, Sudheendra Invariance Intensity Scale Rotation Affine View point Introduction Introduction SIFT (Scale Invariant Feature

More information

Motion Estimation and Optical Flow Tracking

Motion Estimation and Optical Flow Tracking Image Matching Image Retrieval Object Recognition Motion Estimation and Optical Flow Tracking Example: Mosiacing (Panorama) M. Brown and D. G. Lowe. Recognising Panoramas. ICCV 2003 Example 3D Reconstruction

More information

The SIFT (Scale Invariant Feature

The SIFT (Scale Invariant Feature The SIFT (Scale Invariant Feature Transform) Detector and Descriptor developed by David Lowe University of British Columbia Initial paper ICCV 1999 Newer journal paper IJCV 2004 Review: Matt Brown s Canonical

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

CSE152 Introduction to Computer Vision Assignment 3 (SP15) Instructor: Ben Ochoa Maximum Points : 85 Deadline : 11:59 p.m., Friday, 29-May-2015

CSE152 Introduction to Computer Vision Assignment 3 (SP15) Instructor: Ben Ochoa Maximum Points : 85 Deadline : 11:59 p.m., Friday, 29-May-2015 Instructions: CSE15 Introduction to Computer Vision Assignment 3 (SP15) Instructor: Ben Ochoa Maximum Points : 85 Deadline : 11:59 p.m., Friday, 9-May-015 This assignment should be solved, and written

More information

Mosaics. Today s Readings

Mosaics. Today s Readings Mosaics VR Seattle: http://www.vrseattle.com/ Full screen panoramas (cubic): http://www.panoramas.dk/ Mars: http://www.panoramas.dk/fullscreen3/f2_mars97.html Today s Readings Szeliski and Shum paper (sections

More information

Object Recognition with Invariant Features

Object Recognition with Invariant Features Object Recognition with Invariant Features Definition: Identify objects or scenes and determine their pose and model parameters Applications Industrial automation and inspection Mobile robots, toys, user

More information

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE) Features Points Andrea Torsello DAIS Università Ca Foscari via Torino 155, 30172 Mestre (VE) Finding Corners Edge detectors perform poorly at corners. Corners provide repeatable points for matching, so

More information

Panoramic Image Stitching

Panoramic Image Stitching Mcgill University Panoramic Image Stitching by Kai Wang Pengbo Li A report submitted in fulfillment for the COMP 558 Final project in the Faculty of Computer Science April 2013 Mcgill University Abstract

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

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

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT Oct. 15, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)

More information

Local invariant features

Local invariant features Local invariant features Tuesday, Oct 28 Kristen Grauman UT-Austin Today Some more Pset 2 results Pset 2 returned, pick up solutions Pset 3 is posted, due 11/11 Local invariant features Detection of interest

More information

CAP 5415 Computer Vision Fall 2012

CAP 5415 Computer Vision Fall 2012 CAP 5415 Computer Vision Fall 01 Dr. Mubarak Shah Univ. of Central Florida Office 47-F HEC Lecture-5 SIFT: David Lowe, UBC SIFT - Key Point Extraction Stands for scale invariant feature transform Patented

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

CS 231A Computer Vision (Fall 2012) Problem Set 3

CS 231A Computer Vision (Fall 2012) Problem Set 3 CS 231A Computer Vision (Fall 2012) Problem Set 3 Due: Nov. 13 th, 2012 (2:15pm) 1 Probabilistic Recursion for Tracking (20 points) In this problem you will derive a method for tracking a point of interest

More information

CSE 252B: Computer Vision II

CSE 252B: Computer Vision II CSE 252B: Computer Vision II Lecturer: Serge Belongie Scribes: Jeremy Pollock and Neil Alldrin LECTURE 14 Robust Feature Matching 14.1. Introduction Last lecture we learned how to find interest points

More information

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1 Feature Detection Raul Queiroz Feitosa 3/30/2017 Feature Detection 1 Objetive This chapter discusses the correspondence problem and presents approaches to solve it. 3/30/2017 Feature Detection 2 Outline

More information

Local Feature Detectors

Local Feature Detectors Local Feature Detectors Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr Slides adapted from Cordelia Schmid and David Lowe, CVPR 2003 Tutorial, Matthew Brown,

More information

Key properties of local features

Key properties of local features Key properties of local features Locality, robust against occlusions Must be highly distinctive, a good feature should allow for correct object identification with low probability of mismatch Easy to etract

More information

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

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4 Advanced Video Content Analysis and Video Compression (5LSH0), Module 4 Visual feature extraction Part I: Color and texture analysis Sveta Zinger Video Coding and Architectures Research group, TU/e ( s.zinger@tue.nl

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

Local features: detection and description May 12 th, 2015

Local features: detection and description May 12 th, 2015 Local features: detection and description May 12 th, 2015 Yong Jae Lee UC Davis Announcements PS1 grades up on SmartSite PS1 stats: Mean: 83.26 Standard Dev: 28.51 PS2 deadline extended to Saturday, 11:59

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

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

CS 231A Computer Vision (Winter 2014) Problem Set 3

CS 231A Computer Vision (Winter 2014) Problem Set 3 CS 231A Computer Vision (Winter 2014) Problem Set 3 Due: Feb. 18 th, 2015 (11:59pm) 1 Single Object Recognition Via SIFT (45 points) In his 2004 SIFT paper, David Lowe demonstrates impressive object recognition

More information

CS1114 Assignment 5, Part 2

CS1114 Assignment 5, Part 2 CS1114 Assignment 5, Part 2 out: Wednesday, April 10, 2013. due: Friday, April 19, 2013, 5PM. This assignment covers two topics in two parts: interpolation (Part 1), and featurebased image recognition

More information

Local features: detection and description. Local invariant features

Local features: detection and description. Local invariant features Local features: detection and description Local invariant features Detection of interest points Harris corner detection Scale invariant blob detection: LoG Description of local patches SIFT : Histograms

More information

Computer Vision. Exercise 3 Panorama Stitching 09/12/2013. Compute Vision : Exercise 3 Panorama Stitching

Computer Vision. Exercise 3 Panorama Stitching 09/12/2013. Compute Vision : Exercise 3 Panorama Stitching Computer Vision Exercise 3 Panorama Stitching 09/12/2013 Compute Vision : Exercise 3 Panorama Stitching The task Compute Vision : Exercise 3 Panorama Stitching 09/12/2013 2 Pipeline Compute Vision : Exercise

More information

CS 223B Computer Vision Problem Set 3

CS 223B Computer Vision Problem Set 3 CS 223B Computer Vision Problem Set 3 Due: Feb. 22 nd, 2011 1 Probabilistic Recursion for Tracking In this problem you will derive a method for tracking a point of interest through a sequence of images.

More information

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

Implementation and Comparison of Feature Detection Methods in Image Mosaicing IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) e-issn: 2278-2834,p-ISSN: 2278-8735 PP 07-11 www.iosrjournals.org Implementation and Comparison of Feature Detection Methods in Image

More information

521466S Machine Vision Assignment #3 Image Features

521466S Machine Vision Assignment #3 Image Features 521466S Machine Vision Assignment #3 Image Features Spring 2018 This assignment explores feature detection, extraction, and matching. We will implement the well-known Harris corner detector and use Matlab

More information

Computer Vision, Assignment 4 Model Fitting

Computer Vision, Assignment 4 Model Fitting Centre for Mathematical Sciences, February 2013 Due 2013-02-26 Computer Vision, Assignment 4 Model Fitting 1 Instructions In this assignment you will study model fitting. In particular you will use random

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

Perspective Projection [2 pts]

Perspective Projection [2 pts] Instructions: CSE252a Computer Vision Assignment 1 Instructor: Ben Ochoa Due: Thursday, October 23, 11:59 PM Submit your assignment electronically by email to iskwak+252a@cs.ucsd.edu with the subject line

More information

Local Features Tutorial: Nov. 8, 04

Local Features Tutorial: Nov. 8, 04 Local Features Tutorial: Nov. 8, 04 Local Features Tutorial References: Matlab SIFT tutorial (from course webpage) Lowe, David G. Distinctive Image Features from Scale Invariant Features, International

More information

Corner Detection. GV12/3072 Image Processing.

Corner Detection. GV12/3072 Image Processing. Corner Detection 1 Last Week 2 Outline Corners and point features Moravec operator Image structure tensor Harris corner detector Sub-pixel accuracy SUSAN FAST Example descriptor: SIFT 3 Point Features

More information

Feature Matching and Robust Fitting

Feature Matching and Robust Fitting Feature Matching and Robust Fitting Computer Vision CS 143, Brown Read Szeliski 4.1 James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe 2008 AAAI Tutorial Project 2 questions? This

More information

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

SCALE INVARIANT FEATURE TRANSFORM (SIFT) 1 SCALE INVARIANT FEATURE TRANSFORM (SIFT) OUTLINE SIFT Background SIFT Extraction Application in Content Based Image Search Conclusion 2 SIFT BACKGROUND Scale-invariant feature transform SIFT: to detect

More information

Image Stitching. Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi

Image Stitching. Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi Image Stitching Slides from Rick Szeliski, Steve Seitz, Derek Hoiem, Ira Kemelmacher, Ali Farhadi Combine two or more overlapping images to make one larger image Add example Slide credit: Vaibhav Vaish

More information

Coarse-to-fine image registration

Coarse-to-fine image registration Today we will look at a few important topics in scale space in computer vision, in particular, coarseto-fine approaches, and the SIFT feature descriptor. I will present only the main ideas here to give

More information

Chapter 3 Image Registration. Chapter 3 Image Registration

Chapter 3 Image Registration. Chapter 3 Image Registration Chapter 3 Image Registration Distributed Algorithms for Introduction (1) Definition: Image Registration Input: 2 images of the same scene but taken from different perspectives Goal: Identify transformation

More information

CS4670: Computer Vision

CS4670: Computer Vision CS4670: Computer Vision Noah Snavely Lecture 6: Feature matching and alignment Szeliski: Chapter 6.1 Reading Last time: Corners and blobs Scale-space blob detector: Example Feature descriptors We know

More information

Computer Vision I Name : CSE 252A, Fall 2012 Student ID : David Kriegman Assignment #1. (Due date: 10/23/2012) x P. = z

Computer Vision I Name : CSE 252A, Fall 2012 Student ID : David Kriegman   Assignment #1. (Due date: 10/23/2012) x P. = z Computer Vision I Name : CSE 252A, Fall 202 Student ID : David Kriegman E-Mail : Assignment (Due date: 0/23/202). Perspective Projection [2pts] Consider a perspective projection where a point = z y x P

More information

Application questions. Theoretical questions

Application questions. Theoretical questions The oral exam will last 30 minutes and will consist of one application question followed by two theoretical questions. Please find below a non exhaustive list of possible application questions. The list

More information

Feature Detectors and Descriptors: Corners, Lines, etc.

Feature Detectors and Descriptors: Corners, Lines, etc. Feature Detectors and Descriptors: Corners, Lines, etc. Edges vs. Corners Edges = maxima in intensity gradient Edges vs. Corners Corners = lots of variation in direction of gradient in a small neighborhood

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

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 01/11/2016 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

Local Image Features

Local Image Features Local Image Features Computer Vision CS 143, Brown Read Szeliski 4.1 James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe 2008 AAAI Tutorial This section: correspondence and alignment

More information

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo -- Computational Optical Imaging - Optique Numerique -- Multiple View Geometry and Stereo -- Winter 2013 Ivo Ihrke with slides by Thorsten Thormaehlen Feature Detection and Matching Wide-Baseline-Matching

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

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58 Image Features: Local Descriptors Sanja Fidler CSC420: Intro to Image Understanding 1/ 58 [Source: K. Grauman] Sanja Fidler CSC420: Intro to Image Understanding 2/ 58 Local Features Detection: Identify

More information

Comparison of Feature Detection and Matching Approaches: SIFT and SURF

Comparison of Feature Detection and Matching Approaches: SIFT and SURF GRD Journals- Global Research and Development Journal for Engineering Volume 2 Issue 4 March 2017 ISSN: 2455-5703 Comparison of Detection and Matching Approaches: SIFT and SURF Darshana Mistry PhD student

More information

Motion illusion, rotating snakes

Motion illusion, rotating snakes Motion illusion, rotating snakes Local features: main components 1) Detection: Find a set of distinctive key points. 2) Description: Extract feature descriptor around each interest point as vector. x 1

More information

SIFT - scale-invariant feature transform Konrad Schindler

SIFT - scale-invariant feature transform Konrad Schindler SIFT - scale-invariant feature transform Konrad Schindler Institute of Geodesy and Photogrammetry Invariant interest points Goal match points between images with very different scale, orientation, projective

More information

Instance-level recognition

Instance-level recognition Instance-level recognition 1) Local invariant features 2) Matching and recognition with local features 3) Efficient visual search 4) Very large scale indexing Matching of descriptors Matching and 3D reconstruction

More information

Homographies and RANSAC

Homographies and RANSAC Homographies and RANSAC Computer vision 6.869 Bill Freeman and Antonio Torralba March 30, 2011 Homographies and RANSAC Homographies RANSAC Building panoramas Phototourism 2 Depth-based ambiguity of position

More information

Image correspondences and structure from motion

Image correspondences and structure from motion Image correspondences and structure from motion http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 20 Course announcements Homework 5 posted.

More information

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability Midterm Wed. Local features: detection and description Monday March 7 Prof. UT Austin Covers material up until 3/1 Solutions to practice eam handed out today Bring a 8.5 11 sheet of notes if you want Review

More information

Homework #4: Creating Panoramas

Homework #4: Creating Panoramas Homework #4: Creating Panoramas Assigned: March 21 Due: Wednesday, April 6 The goal of this assignment is to write a simple photo panorama creator. You will take four or more photographs and create a panoramic

More information

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing CS 4495 Computer Vision Features 2 SIFT descriptor Aaron Bobick School of Interactive Computing Administrivia PS 3: Out due Oct 6 th. Features recap: Goal is to find corresponding locations in two images.

More information

Computer Vision I - Appearance-based Matching and Projective Geometry

Computer Vision I - Appearance-based Matching and Projective Geometry Computer Vision I - Appearance-based Matching and Projective Geometry Carsten Rother 05/11/2015 Computer Vision I: Image Formation Process Roadmap for next four lectures Computer Vision I: Image Formation

More information

Instance-level recognition

Instance-level recognition Instance-level recognition 1) Local invariant features 2) Matching and recognition with local features 3) Efficient visual search 4) Very large scale indexing Matching of descriptors Matching and 3D reconstruction

More information

Computer Vision CSCI-GA Assignment 1.

Computer Vision CSCI-GA Assignment 1. Computer Vision CSCI-GA.2272-001 Assignment 1. September 22, 2017 Introduction This assignment explores various methods for aligning images and feature extraction. There are four parts to the assignment:

More information

CS 558: Computer Vision 4 th Set of Notes

CS 558: Computer Vision 4 th Set of Notes 1 CS 558: Computer Vision 4 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Overview Keypoint matching Hessian

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

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

Prof. Feng Liu. Spring /26/2017

Prof. Feng Liu. Spring /26/2017 Prof. Feng Liu Spring 2017 http://www.cs.pdx.edu/~fliu/courses/cs510/ 04/26/2017 Last Time Re-lighting HDR 2 Today Panorama Overview Feature detection Mid-term project presentation Not real mid-term 6

More information

A Fuzzy Brute Force Matching Method for Binary Image Features

A Fuzzy Brute Force Matching Method for Binary Image Features A Fuzzy Brute Force Matching Method for Binary Image Features Erkan Bostanci 1, Nadia Kanwal 2 Betul Bostanci 3 and Mehmet Serdar Guzel 1 1 (Computer Engineering Department, Ankara University, Turkey {ebostanci,

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

CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin)

CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin) CIS 580, Machine Perception, Spring 2014: Assignment 4 Due: Wednesday, April 10th, 10:30am (use turnin) Solutions (hand calculations, plots) have to be submitted electronically as a single pdf file using

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

CSE 547: Machine Learning for Big Data Spring Problem Set 2. Please read the homework submission policies.

CSE 547: Machine Learning for Big Data Spring Problem Set 2. Please read the homework submission policies. CSE 547: Machine Learning for Big Data Spring 2019 Problem Set 2 Please read the homework submission policies. 1 Principal Component Analysis and Reconstruction (25 points) Let s do PCA and reconstruct

More information

Local Patch Descriptors

Local Patch Descriptors Local Patch Descriptors Slides courtesy of Steve Seitz and Larry Zitnick CSE 803 1 How do we describe an image patch? How do we describe an image patch? Patches with similar content should have similar

More information

A System of Image Matching and 3D Reconstruction

A System of Image Matching and 3D Reconstruction A System of Image Matching and 3D Reconstruction CS231A Project Report 1. Introduction Xianfeng Rui Given thousands of unordered images of photos with a variety of scenes in your gallery, you will find

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

Visual Odometry. Features, Tracking, Essential Matrix, and RANSAC. Stephan Weiss Computer Vision Group NASA-JPL / CalTech

Visual Odometry. Features, Tracking, Essential Matrix, and RANSAC. Stephan Weiss Computer Vision Group NASA-JPL / CalTech Visual Odometry Features, Tracking, Essential Matrix, and RANSAC Stephan Weiss Computer Vision Group NASA-JPL / CalTech Stephan.Weiss@ieee.org (c) 2013. Government sponsorship acknowledged. Outline The

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

Final Exam Study Guide

Final Exam Study Guide Final Exam Study Guide Exam Window: 28th April, 12:00am EST to 30th April, 11:59pm EST Description As indicated in class the goal of the exam is to encourage you to review the material from the course.

More information

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882 Matching features Building a Panorama Computational Photography, 6.88 Prof. Bill Freeman April 11, 006 Image and shape descriptors: Harris corner detectors and SIFT features. Suggested readings: Mikolajczyk

More information

Introduction to Computer Graphics and Computer Vision Assignment 3: Due 7/27/2015

Introduction to Computer Graphics and Computer Vision Assignment 3: Due 7/27/2015 Introduction to Computer Graphics and Computer Vision Assignment 3: Due 7/27/2015 Nicholas Dwork For this assignment, don t submit any printouts of images. If you want to turn in some answers handwritten,

More information

Local Image preprocessing (cont d)

Local Image preprocessing (cont d) Local Image preprocessing (cont d) 1 Outline - Edge detectors - Corner detectors - Reading: textbook 5.3.1-5.3.5 and 5.3.10 2 What are edges? Edges correspond to relevant features in the image. An edge

More information

3D Reconstruction From Multiple Views Based on Scale-Invariant Feature Transform. Wenqi Zhu

3D Reconstruction From Multiple Views Based on Scale-Invariant Feature Transform. Wenqi Zhu 3D Reconstruction From Multiple Views Based on Scale-Invariant Feature Transform Wenqi Zhu wenqizhu@buffalo.edu Problem Statement! 3D reconstruction 3D reconstruction is a problem of recovering depth information

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 FDH 204 Lecture 10 130221 http://www.ee.unlv.edu/~b1morris/ecg795/ 2 Outline Review Canny Edge Detector Hough Transform Feature-Based

More information