Presentation is loading. Please wait.

Presentation is loading. Please wait.

Img1 img3 img5.

Similar presentations


Presentation on theme: "Img1 img3 img5."— Presentation transcript:

1 img img img5

2 Your task Write Harris detector ComputeHarris() in features.cpp
Write Feature descriptor ExtractDescriptor() in features.cpp Run your program to get required numerical and image results Compare results from your features and SIFT features

3 Interest Point Detection
Convert the RGB image to a gray-scale image. (Save the RGB image for later.) Apply a 9 x 9 Gaussian filter we give you. 3. Construct the Harris matrix M using a 5 x 5 neighborhood around each pixel. Compute corner response R = det(M) – k*Tr(M)2 at each pixel. If R is above a threshold and is a local maximum in a 3 x 3 neighborhood, select it as an interest point. 600 to 3000 points are expected to be detected for each image

4 Feature Description Go back to RGB space.
2. Take a 45 x 45 window around each feature point. Divide that window into 9 x 9 squares, each of them size 5 x 5. Applying a (given) 5 x 5 mask to each of these squares in each of R, G, and B, gives 3 results per square x 81 squares = a vector V of 243 values. Compute V = V / ||V||2 (V divided by its L2-norm). V is the descriptor.

5 Feature Matching: Use the skeleton code and user interface provided.
This is a 25 point assignment. There’s extra credit, too. From 5 to 20 points.

6 Examples for program running
Use command line to get feature files and numerical results Use Interface to get image results

7 Command line Run Harris operator and feature descriptor samplesolution computeFeatures img1.ppm feature1.f 1 Run your feature’s matching (always between image1 and another image) samplesolution testMatch feature1.f feature2.f H1to2p 1 Run SIFT feature matching (always between image1 and another image) samplesolution testSIFTMatch img1.key img2.key H1to2p 1 Please name your feature files as feature1.f, feature2.f, … feature6.f otherwise you have to change the content of database file (eg. img1simple.kdb)

8 User Interface Display Corners from your feature file
Load the image and feature file of the image you want, example: File-> Load Query Image ->img2.ppm File- > Load Query Feautures ->Normal ->feature2.f

9

10 Visualize matches Load image and feature of img1.ppm (Matches
are always between img1.ppm and another image) File-> Load Query Image ->img1.ppm File- > Load Query Feautures ->Normal ->feature1.f 2. Select all features points Image->Select All Features

11 All features have been selected

12 3. Load database file of the image you want to compare with img1
3. Load database file of the image you want to compare with img1.ppm, example, File->Load Image Database-> Normal -> img3simple.kdb 4. Perform Query Image-> Perform Query

13 Base image (img1. ppm) on the left and target image (img3
Base image (img1.ppm) on the left and target image (img3.ppm) on the right On the right part, red makers are feature points for which no matches are found

14 Visualize SIFT matching
Steps File-> Load Query Image ->img1.ppm File- > Load Query Feautures ->SIFT ->img1.key Image->Select All Features File->Load Image Database-> SIFT-> img3.kdb Image-> Perform Query

15 Useful debugging method
After loading img1.ppm, select some feature points by single clicking red makers and then load database file and perform query

16

17 Other Tips Start early if you are not familiar with C++
Read lecture notes, webpage instruction, ppt slides, homework template and grading guildline Play with samplesolution Manage the size of your

18 Good luck with this homework !


Download ppt "Img1 img3 img5."

Similar presentations


Ads by Google