Presentation is loading. Please wait.

Presentation is loading. Please wait.

Harris detector Convert image to greyscale Apply Gaussian convolution to blur the image and remove noise Calculate gradient of image in x and y direction.

Similar presentations


Presentation on theme: "Harris detector Convert image to greyscale Apply Gaussian convolution to blur the image and remove noise Calculate gradient of image in x and y direction."— Presentation transcript:

1 Harris detector Convert image to greyscale Apply Gaussian convolution to blur the image and remove noise Calculate gradient of image in x and y direction for every pixel For each point in the image, consider a 3x3 square window of pixels around that point. Compute the Harris matrix H for that point, Compute the corner strength function Choose points whose c(H) is above threshold and c(H) is local maxima in a 10x10 neighborhood. These points will be called the feature points

2 My simple descriptor For each feature points Take a 45x45 window centered at the feature point Normalise the color of each pixels in the window Make a 9x9 window feature descriptor by applying linear weights to every 5 points and summing up the RGB values separately. The feature descriptor will contain the RGB value of the points, hence in total our feature descriptor has 9x9x3 dimensions

3 Simple descriptor – Bike 1

4 Simple descriptor – Bike 2

5 Simple descriptor – bike 3

6 Simple descriptor – bike 4

7 Simple descriptor – bike 5

8 Simple descriptor – bike 6

9 My simple feature descriptor: bikes 1 – bikes 2 – matching with ratio

10 My simple feature descriptor : bikes 1 –bikes 3 – matching with ratio

11 Simple descriptor numbers (testMatch results) My descriptorSIFT Img1-img243.6514837.281360 Img1-img364.34744813.653063 Img1-img4112.00206319.995964 Img1-img5320.15589834.570192 The total error is the average Euclidean distance between a (correctly) transformed feature point in the first image and its matched feature point in the second image.

12 Your error number will be slightly different: (nInliers/nMatches) My evaluation: for (unsigned int i=0; i<f1.size(); i++) { applyHomography(f1[i].x, f1[i].y, xNew, yNew, h); if (matches[i].id > 0) { d += sqrt(pow(xNew-f2[matches[i].id-1].x,2)+pow(yNew-f2[matches[i].id-1].y,2)); n++; } return d / n; Your evaluation in skeleton code: for (unsigned int i=0; i<f1.size(); i++) { applyHomography(f1[i].x, f1[i].y, xNew, yNew, h); if (matches[i].id > 0) { d = sqrt(pow(xNew-f2[matches[i].id-1].x,2)+pow(yNew-f2[matches[i].id-1].y,2)); if (d < epsilon) nInliers++; nMatches++; } return (nInliers / (float)nMatches);


Download ppt "Harris detector Convert image to greyscale Apply Gaussian convolution to blur the image and remove noise Calculate gradient of image in x and y direction."

Similar presentations


Ads by Google