200 Pages

17a-Sift

Course: CS 635, Fall 2008
School: Kentucky
Rating:
 
 
 
 
 

Word Count: 1332

Document Preview

Scale SIFT: Invariant Feature Transform With slides from Sebastian Thrun Stanford CS223B Computer Vision, Winter 2006 1 Pattern Recognition Want to find ... in here 3 SIFT Invariances: Scaling Rotation Illumination Deformation Yes Yes Yes Maybe Yes Provides Good localization Distinctive image features from scale-invariant keypoints. David G. Lowe, International Journal of Computer Vision, 60, 2...

Register Now

Unformatted Document Excerpt

Coursehero >> Kentucky >> Kentucky >> CS 635

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Scale SIFT: Invariant Feature Transform With slides from Sebastian Thrun Stanford CS223B Computer Vision, Winter 2006 1 Pattern Recognition Want to find ... in here 3 SIFT Invariances: Scaling Rotation Illumination Deformation Yes Yes Yes Maybe Yes Provides Good localization Distinctive image features from scale-invariant keypoints. David G. Lowe, International Journal of Computer Vision, 60, 2 (2004), pp. 91-110. 4 Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging parameters SIFT Features 5 Advantages of invariant local features Locality: features are local, so robust to occlusion and clutter (no prior segmentation) Distinctiveness: individual features can be matched to a large database of objects Quantity: many features can be generated for even small objects Efficiency: close to real-time performance Extensibility: can easily be extended to wide range of differing feature types, with each adding robustness SIFT On-A-Slide 1. 2. 3. 4. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates Localizable corner: For each maximum fit quadratic function. Compute center with sub-pixel accuracy by setting first derivative to zero. Eliminate edges: Compute ratio of eigenvalues, drop keypoints for which this ratio is larger than a threshold. Enforce invariance to orientation: Compute orientation, to achieve scale invariance, by finding the strongest second derivative direction in the smoothed image (possibly multiple orientations). Rotate patch so that orientation points up. Compute feature signature: Compute a "gradient histogram" of the local image region in a 4x4 pixel region. Do this for 4x4 regions of that size. Orient so that largest gradient points up (possibly multiple solutions). Result: feature vector with 128 values (15 fields, 8 gradients). Enforce invariance to illumination change and camera saturation: Normalize to unit length to increase invariance to illumination. Then threshold all gradients, to become invariant to camera saturation. 7 5. 6. SIFT On-A-Slide 1. 2. 3. 4. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates Localizable corner: For each maximum fit quadratic function. Compute center with sub-pixel accuracy by setting first derivative to zero. Eliminate edges: Compute ratio of eigenvalues, drop keypoints for which this ratio is larger than a threshold. Enforce invariance to orientation: Compute orientation, to achieve scale invariance, by finding the strongest second derivative direction in the smoothed image (possibly multiple orientations). Rotate patch so that orientation points up. Compute feature signature: Compute a "gradient histogram" of the local image region in a 4x4 pixel region. Do this for 4x4 regions of that size. Orient so that largest gradient points up (possibly multiple solutions). Result: feature vector with 128 values (15 fields, 8 gradients). Enforce invariance to illumination change and camera saturation: Normalize to unit length to increase invariance to illumination. Then threshold all gradients, to become invariant to camera saturation. 8 5. 6. Find Invariant Corners 1. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates 9 Finding "Keypoints" (Corners) Idea: Find Corners, but scale invariance Approach: Run linear filter (diff of Gaussians) At different resolutions of image pyramid 10 Difference of Gaussians Minus Equals 11 Difference of Gaussians surf(fspecial('gaussian',40,4)) surf(fspecial('gaussian',40,8)) surf(fspecial('gaussian',40,8) - fspecial('gaussian',40,4)) 12 Find Corners with DiffOfGauss im =imread('bridge.jpg'); bw = double(im(:,:,1)) / 256; for i = 1 : 10 gaussD = fspecial('gaussian',40,2*i) - fspecial('gaussian',40,i); res = abs(conv2(bw, gaussD, 'same')); res = res / max(max(res)); imshow(res) ; title(['\bf i = ' num2str(i)]); drawnow end 13 Gaussian Kernel Size i=1 14 Gaussian Kernel Size i=2 15 Gaussian Kernel Size i=3 16 Gaussian Kernel Size i=4 17 Gaussian Kernel Size i=5 18 Gaussian Kernel Size i=6 19 Gaussian Kernel Size i=7 20 Gaussian Kernel Size i=8 21 Gaussian Kernel Size i=9 22 Gaussian Kernel Size i=10 23 Key point localization Detect maxima and minima of difference-of-Gaussian in scale space s p e m Ra e l r u l B a r t b ut Sc 24 Example of keypoint detection (a) 233x189 image (b) 832 DOG extrema (c) 729 above threshold 25 SIFT On-A-Slide 1. 2. 3. 4. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates Localizable corner: each For maximum fit quadratic function. Compute center with sub-pixel accuracy by setting first derivative to zero. Eliminate edges: Compute ratio of eigenvalues, drop keypoints for which this ratio is larger than a threshold. Enforce invariance to orientation: Compute orientation, to achieve scale invariance, by finding the strongest second derivative direction in the smoothed image (possibly multiple orientations). Rotate patch so that orientation points up. Compute feature signature: Compute a "gradient histogram" of the local image region in a 4x4 pixel region. Do this for 4x4 regions of that size. Orient so that largest gradient points up (possibly multiple solutions). Result: feature vector with 128 values (15 fields, 8 gradients). Enforce invariance to illumination change and camera saturation: Normalize to unit length to increase invariance to illumination. Then threshold all gradients, to become invariant to camera saturation. 26 5. 6. Example of keypoint detection Threshold on value at DOG peak and on ratio of principle curvatures (Harris approach) (c) 729 left after peak value threshold (from 832) (d) 536 left after testing ratio of principle curvatures 27 SIFT On-A-Slide 1. 2. 3. 4. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates Localizable corner: For each maximum fit quadratic function. Compute center with sub-pixel accuracy by setting first derivative to zero. Eliminate edges: Compute ratio of eigenvalues, drop keypoints for which this ratio is larger than a threshold. Enforce invariance to orientation: Compute orientation, to achieve scale invariance, by finding the strongest second derivative direction in the smoothed image (possibly multiple orientations). Rotate patch so that orientation points up. Compute feature signature: Compute a "gradient histogram" of the local image region in a 4x4 pixel region. Do this for 4x4 regions of that size. Orient so that largest gradient points up (possibly multiple solutions). Result: feature vector with 128 values (15 fields, 8 gradients). Enforce invariance to illumination change and camera saturation: Normalize to unit length to increase invariance to illumination. Then threshold all gradients, to become invariant to camera saturation. 28 5. 6. Select canonical orientation Create histogram of local gradient directions computed at selected scale Assign canonical orientation at peak of smoothed histogram Each key specifies stable 2D coordinates (x, y, scale, orientation) 0 2 29 SIFT On-A-Slide 1. 2. 3. 4. Enforce invariance to scale: Compute Gaussian difference max, for may different scales; non-maximum suppression, find local maxima: keypoint candidates Localizable corner: For each maximum fit quadratic function. Compute center with sub-pixel accuracy by setting first derivative to zero. Eliminate edges: Compute ratio of eigenvalues, d...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Toledo - MATH - 3320
Selected Homework SolutionsProblem 2.1 If (G, ) is a group then: a. The identity of G is unique. b. The inverse of each element in G is unique. (a) Suppose that e and e are both identities for G. It will suffice to show that e = e . Consider the pro
Toledo - MATH - 1860
Math 1860-008-1-January 24, 2006Quiz 31. Find the work (in joules) required to empty a tank that is filled with water. The tank is a pyramid with a height of 2 meters and a 2 meter by 2 meter square base. The outlet is at the top of the tank.
Toledo - MATH - 1860
Exam 1Math 1860-008 Homework version OdenthalNameInstructions This exam is closed book and closed notes. You may use a non-graphing calculator. There are 12 problems on 10 pages. There are 275 total points in the exam. As promised the exam is co
Minnesota - CHITH - 001
Portfolio of Ravishankar Chityala1. 2D drafting packageSoftware: X-windowsThis 2D Drafting package has been created using X windows. The tool bar at the top have also been created using X windows. It creates 2D primitives like Line, Polygon, a
MO St. Louis - OOH - 20002001
Professional and Technical Occupations 83For information about job opportunities in companies other than airlines, consult the classified section of aviation trade magazines and apply to companies that operate aircraft at local airports.Air Traff
MO St. Louis - OOH - 20002001
366 Occupational Outlook Handbookover $26,640. Median annual earnings in the industries employing the largest numbers of guards in 1997 are shown below.Real estate operators and lessors . $20,300 Hospitals .. 19,500 Hotels and motels . 18,000 Misc
University of Florida - CLAS - 2112
Princeton - PUP - 100
1975The Machiavellian Moment: Florentine Political Thought and the Atlantic Republican Tradition(Click here to view our web site description.)J.G.A. PocockThis undisputed modern classic defies conventional categorization. The book's range is
Bard College - CMSC - 103
forward(6)turn(90)forward(6)turn(90)forward(6)turn(90)forward(6)
Bard College - CMSC - 103
DECLARE countcount := 0LOOPforward(6)turn(120)count := count + 1EXIT IF count = 3END LOOP
Bard College - CMSC - 103
DECLARE count, sidescount := 0sides := 9LOOPforward(6)turn(360/sides)count := count + 1EXIT IF count = sidesEND LOOP
Bard College - CMSC - 103
DECLARE huehue := 0LOOPhsb(hue, 1, 0)forward(5)back(5)turn(360/100)hue := hue + 0.01exit if hue = 1END LOOP
Bard College - CMSC - 103
declare countmoveTo(-10,0) { Give ourselves a little more room to the right }count := 0loop { This is just what we had before } forward(5) turn(90) count := count+1 exit if count = 4end loopforward(5) { Now
Bard College - CMSC - 103
SUB square { This is a subroutine - a reusable set of instructions }declare count { The count variable is only used inside the subroutine }count := 0loop { The body of the subroutine is just the square-drawing } forward(5)
Bard College - CMSC - 103
SUB square (sideLength) { sideLength is a parameter - its value will }declare count { be given by the calling instruction }count := 0loop forward(sideLength) { Here's the change; use sideLength } turn(90) count := count+1
Bard College - CMSC - 103
SUB square (sideLength) { sideLength is a parameter - its value will }declare count { be given by the calling instruction }count := 0loop forward(sideLength) { Here's the change; use sideLength } turn(90) count := count+1 e
Bard College - CMSC - 103
PREDECLARE SUB square (sideLength) { predeclare the subroutine here }{ and define it later }{ Start main program here }{ This program would be (more) confusing without the subroutine! }{ It would have to contain loops within loops }declare squ
Bard College - CMSC - 103
PREDECLARE SUB square (sideLength) { predeclare the subroutine here } { and define it later }{ Start main program here }{ This program would be (more) confusing without the subroutine! It would have to contain
Bard College - CMSC - 103
PREDECLARE SUB petal { subroutine draws a generic petal shape }declare countcount := 0penUpmove(0,3)penDowncyancircle(1) { center of the flower }turn(-90) { face outward to draw a petal }magentaLOOP petal turn(160) { found v
Bard College - CMSC - 103
PREDECLARE SUB triangle (sideLength){ Main body }penUpmoveTo(-3, -3)penDowntriangle(3)Forward(3)triangle(3)turn(120){ to go up right side of left triangle }Forward(3)turn(-120)triangle(3)hideTurtle{ End main body }SUB triangle
Bard College - CMSC - 103
SUB subroutine1 DrawText("subroutine1 is starting") DrawText("subroutine1 is ending")END SUBSUB subroutine2 DrawText("subroutine2 is starting and will now call subroutine1") penUp move(1,0) penDown subroutine1 penUp m
Bard College - CMSC - 103
SUB test DECLARE subVar subVar := 2 DrawText("In the test subroutine, subVar is #subVar") { DrawText("In the test subroutine, bodyVar is #bodyVar") }END SUB{ Begin main program here }DECLARE bodyVarbodyVar := 1penUpmoveTo(-8, 8)
Bard College - CMSC - 103
DECLARE var {THIS WAS AFTER SUBROUTINE}SUB test IMPORT var { was: DECLARE var } var := 2 DrawText("In the test subroutine, var is #var")END SUB{ Begin main program here }{ DECLARE var } {MOVED THIS LINE TO TOP}var := 1penUpmove
Bard College - CMSC - 103
DECLARE birthYear, thisYear, bdayAlready, agethisYear := 2006AskUser("What year were you born?", birthYear)YesOrNo("Have you had a birthday yet this year?", bdayAlready){ YesOrNo assigns its variable 1 for a yes answer, 0 for a no }IF (bdayAl
Bard College - CMSC - 103
DECLARE numberToGuessnumberToGuess := randomInt(100) {random(100) gives a random number between 1 and 100}DECLARE guessesSoFar, guessguessesSoFar := 0TellUser("I am thinking of a number between 1 and 100. Try to guess it.")LOOP AskUser("W
Bard College - CMSC - 103
DECLARE numberToGuessnumberToGuess := randomInt(100) {random(100) gives a random number between 1 and 100}DECLARE guessesSoFar, guessguessesSoFar := 0TellUser("I am thinking of a number between 1 and 100. Try to guess it. You have 10 tries.")
Bard College - CMSC - 103
FUNCTION convertToF (Ctemp){ Precondition: Ctemp is a number Postcondition: returns the Fahrenheit equivalent temperature } DECLARE Ftemp Ftemp := Ctemp*(9/5) + 32 return FtempEND FUNCTIONDECLARE inputTemp, outputTempAskUser("Give a t
Bard College - CMSC - 103
DECLARE x,yASkUser("Enter a non-negative number", x)y := sqrt(x)TellUser("The square root of #x is #y")
Bard College - CMSC - 103
FUNCTION getLegalValue{ Precondition: User has already been prompted to enter a value Postcondition: A legal (non-negative) value has been elicited, and it is returned} DECLARE input LOOP AskUser("Enter a non-negative number", input)
Bard College - CMSC - 103
PREDECLARE FUNCTION leapYearCheck(year) {Will check for leap year - return 1 for yes, 0 for no}DECLARE month, yearAskUser("What month are you interested in?", month)IF month = 1 OR month = 3 OR month = 5 OR month = 7 OR month = 8 OR month
Bard College - CMSC - 103
FUNCTION calcNewBalance(annualInterest, numYears, timesPerYear, initBalance){ Precondition: annualInterest is the annual interest rate, expressed as a percentage (so 10 means 10%) numYears is how long the investment accumulates inter
Bard College - CMSC - 103
FUNCTION calcNewBalance(annualInterest, numYears, timesPerYear, initBalance){ Precondition: annualInterest is the annual interest rate, expressed as a percentage (so 10 means 10%) numYears is how long the investment accumulates inter
Bard College - CMSC - 103
SUB triangleRecurse(size)DECLARE count, ratioratio := 1/3count := 0LOOP forward(size) turn(120) count := count+1 EXIT IF count = 3END LOOPIF size > 0.25THEN forward(size*ratio) turn(arctan(sqrt(3)*ratio)/(2-3*ratio) tria
Bard College - CMSC - 103
FUNCTION leapYearCheck(year){Precondition: year is a whole number, greater than zero Postcondition: return 1 for yes, 0 for no}DECLARE yearBy4, yearBy100, yearBy400yearBy4 := trunc(year/4)yearBy100 := trunc(year/100)yearBy400 := trunc(year/400
Bard College - CMSC - 103
SUB writeMonthName(month) { month is between 1 and 12 } penUp moveTo(0,6) penDown IF month = 1 THEN DrawText("January") END IF IF month = 2 THEN DrawText("February") END IF IF month = 3 THEN DrawText("March") END
Bard College - CMSC - 103
SUB goToSquare(col, row){ Move to the appropriate caledar square. The columns are numbered from 0 (Sunday) to 6 (Saturday). The rows are numbered from 0 (topmost week) to 4 (bottommost week) Thus goToSquare(0,0) takes the turtle to the upper
Bard College - CMSC - 103
PREDECLARE star (sidelength){ This program should draw 4 stars, each with 5 sides }{ Begin main program }penUpmoveTo(-8, -6)penDownstar(6)penUpmoveTo(4, -6)penDownstar(6)penUpmoveTo(-8, 4)penDownstar(6)penUpmoveTo(4, 4)penDow
Bard College - CMSC - 103
FUNCTION calcNewBalance(annualInterest, numYears, timesPerYear, initBalance){ Precondition: annualInterest is the annual interest rate, expressed as a percentage (so 10 means 10%) numYears is how long the investment accumulates inter
University of Texas - INF - 388
Katherine Martinez, Amber Castor, Alta Valliant, Shannon KeithU.S.A. P.A.T.R.I.O.T. Act5Click to edit Master subtitle style Appropriate Tools Required to Intercept and Obstruct Terrorism Act of 2001The Uniting and Strengthening America by P
MO St. Louis - OOH - 20002001
Marketing and Sales Occupations 267Sources of Additional Information For information about careers in modeling contact: The Models Guild, Office and Professional Employees International Union, AFL-CIO, CLC, 265 W. 14th Street, Suite 203, New York,
MO St. Louis - OOH - 20022003
32 Occupational Outlook HandbookClaims Adjusters, Appraisers, Examiners, and Investigators(O*NET 13-1031.01, 13-1031.02, 13-1032.00) Significant Points Adjusters and examiners investigate claims, negotiate settlements, and authorize payments
U. Houston - BCHS - 6229
Journal of Structural Biology 134, 167185 (2001) doi:10.1006/jsbi.2001.4335, available online at http:/www.idealibrary.com onFold Change in Evolution of Protein StructuresNick V. GrishinHoward Hughes Medical Institute and Department of Biochemist
U. Houston - BCHS - 6229
De Novo Protein Design: Fully Automated Sequence Selection Bassil I. Dahiyat, et al. Science 278, 82 (1997); DOI: 10.1126/science.278.5335.82 The following resources related to this article are available online at www.sciencemag.org (this information
MO St. Louis - CHEM - 469
UNC - AMSTU - 390
Southern Object Essay AMST 390: Southern Material Culture The goal of this typed, double-spaced, three-page assignment is to describe an object thoroughly, to place it in a historical and regional context, and to explain its significance as a souther
UNC - AMSTU - 390
Personal Probate Inventory Assignment AMST 390: Southern Material Culture During the colonial period and the era of the early republic, a probate inventory, the court ordered record of a deceased's personal property-including slaves-, was performed b
Utah - MATH - 1070
Utah - MATH - 1070
Utah - MATH - 1070
MATH 1070 - 070: GETTING TO KNOW THE CLASS Please answer the following questions. Do not put your name on this sheet. Skip any questions that you feel uncomfortable answering. These data are being collected to learn more about you and your classmates
UC Davis - ATT - 0601
INTRODUCTION TO WINEMAKING FOR DISTANCE LEARNERSWhether you're interested in a career in the wine industry or are just a devoted enophile, you can take this unique UC Davis course at home at your convenience. Using DVDs of 28 hours of lecture time,
N.C. State - ARE - 306
ARE 306Unit 17Family Law: Marriage, Children & Divorce1Contracting MarriageCompetence Age Sound mindProhibited marriages Degree of relationship Coercion Either party physically impotent2Incidents of marriage Support Con
UNC Wilmington - GLY - 550
TAMU Kingsville - PHYSICS - 4390
IntroductionWith the invention of the transistor in 1947, computers were transformed from slow application specific calculators into machines capable of providing general scientific support. Due to the greater reliability, longer life, and faster re
TAMU Kingsville - PHYSICS - 4390
The InternetGiven the omnipresence of the Internet these days, one could wonder why bother discussing its use in an advanced physics course? Surely everyone is already familiar with how to surf the net! While this is true, computational physicists u
TAMU Kingsville - PHYSICS - 4390
Data AcquisitionThe low cost of advanced electronics has brought the computer into experimental physics at all levels, from the experiments operating at the cutting edge of discovery down to equipment used in freshman laboratories. Equipment that in
TAMU Kingsville - PHYSICS - 4390
Data AnalysisOnce the data has been entered into the computer, either via a data acquisition system or by hand, it often still needs to be manipulated to ascertain the range of validity. While some of this work can be done analytically (and should,
TAMU Kingsville - PHYSICS - 4390
IntegrationIn addition to calculating derivatives, the ability to calculate an integral is a fundamental task in physics. As with differentiation, the task is not as straightforward as we would hope. The reason for this lies in the same regime as it
TAMU Kingsville - PHYSICS - 4390
Partial Differential EquationsIn studying ordinary differential equations, we were motivated by the fact that many of the basic equations encountered in nature are cast in a form where the rate of change in the function depends on the function itsel
UGA - LEA - 0529
Hattaway 1Lea Hattaway EDIT 2000 June 21, 2004 Technology Integration Statement Technology can be extremely beneficial in the classroom if used properly. I think that too many teachers simply try to incorporate a computer into their lesson and it m
Texas A&M - FRSC - 461
Lab 5 Tables Topics 1) Types 2) Importing 3) Manipulating 4) Exporting 5) Joining 1) Types a) b) c) 2) Importing Book 1. Chapter 4 2. Chapter 4 3. Chapter 4 4. Chapter 4 5. Chapter 4 Lab Manual 1. Chapter 11 2. Chapter 11 3. Chapter 11 4. Chapter 11
Texas A&M - FRSC - 461
Lab 4 Classic GIS and Geo-processing, Queries, and Buffers Topics 1) Queries 2) Buffer 3) Merge/Append 4) Clip 5) Dissolve 6) Union 7) Intersect 8) Activity 9) HW#4 Book 1. 112-113 2. 115-116 3. 4. 5. 6. 118-120 7. 118-120 8. 9. Lab Manual 1. 65-69 2