AulaRACornersLucas.ppt

543 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
543
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Now the figure on the right is signed; darker is negative, lighter is positive, and mid grey is zero.
    I always ask 1) which derivative (y or x) is this? 2) Have I got the sign of the kernel right? (i.e.
    is it d/dx or -d/dx).
  • AulaRACornersLucas.ppt

    1. 1. Extração de Características cap 4 – Trucco e Verri
    2. 2. Características de uma imagem • Globais: histograma, conteúdo de freqüências, etc... • Locais: regiões com determinada propriedade, arestas, cantos, curvas, etc...
    3. 3. Arestas e cantos • Locais de mudanças significativas na intensidade da imagem
    4. 4. Edgedels = edge elements
    5. 5. Tipos de arestas degrau(step) rampa(ramp) cume(roof) impulso(spike)
    6. 6. Gráfico sem e com ruído
    7. 7. Derivadas e arestas f(x) f(x)+n(x) | f'(x)+n'(x) | f"(x)+n"(x)
    8. 8. Série de Taylor )()( 2 )( )()()()( 3" 2 ' xOxf x xfxxfxxf ∆+ ∆ +∆+=∆+ iiii ffff "' 1 2 1 ++≅+ Com ∆x=1, f(x)=fi e f(x+∆x)=fi+1 Com ∆x=-1, f(x)=fi e f(x+∆x)=fi-1 iiii ffff "' 1 2 1 +−≅− (a) (b)
    9. 9. Aproximações para derivadas (a-b) ⇒ 2/)( 11 ' −+ −≅ iii fff (a+b) ⇒ )2( 11 " −+ −+−−≅ iiii ffff f(x) x fi-1 fi fi+1 i+1ii-1
    10. 10. Em 2D           ∂ ∂ ∂ ∂ =∇ y f x f yxf ),( Gradiente Laplaciano 2 2 2 2 2 ),( y f x f yxf ∂ ∂ + ∂ ∂ =∇ ( ) ( ) ( ) x yxfyxf x yxf mnmn ∆ − ≈ ∂ ∂ + ,,, 1 ( ) ( ) ( ) x yxfyxf y yxf mnmn ∆ − ≈ ∂ ∂ + ,,, 1 [ ]11 −       −1 1 Convolution Kernels           − 141 4204 141
    11. 11. Laplaciano )2( 11 " −+ −+−−≅ iiii ffff •Sometimes we are interested only in changing magnitude without regard to the changing orientation. •A linear differential operator called the Laplacian may be used. •The Laplacian has the same properties in all directions and is therefore invariant to rotation in the image. http://www.cee.hw.ac.uk/hipr/html/log.html http://ct.radiology.uiowa.edu/~jiangm/courses/dip/html/node83.html
    12. 12. Finite differences [ ]11* −= IIx       − = 1 1 *IIy I Khurram Hassan-Shafique
    13. 13. Classical Operators Prewitt’s Operator           11 11 11       −1 1 [ ]11 − Smooth Differentiate           − − − 101 101 101           −−− 111 000 111       111 111 Khurram Hassan-Shafique
    14. 14. Classical Operators Sobel’s Operator           11 22 11       −1 1 [ ]11 − Smooth Differentiate           − − − 101 202 101           −−− 121 000 121       121 121 Khurram Hassan-Shafique
    15. 15. • Sobel Edge Detector Detecting Edges in Image Image I           − − − 101 202 101           −−− 121 000 121 * * I dx d I dy d 22       +      I dy d I dx d Threshold Edges Khurram Hassan-Shafique
    16. 16. Sobel Edge Detector I dx d I dy d I Khurram Hassan-Shafique
    17. 17. Sobel Edge Detector I 22       +      =∆ I dy d I dx d 100=≥∆ Threshold Khurram Hassan-Shafique
    18. 18. Marr and Hildreth Edge Operator • Smooth by Gaussian • Use Laplacian to find derivatives IGS *σ= 2 22 2 2 1 σ σ σπ yx eG + − = S y S x S 2 2 2 2 2 ∂ ∂ + ∂ ∂ =∇ Khurram Hassan-Shafique
    19. 19. Marr and Hildreth Edge Operator ( ) ( ) IGIGS ** 222 σσ ∇=∇=∇ 2 22 2 2 22 3 2 2 2 1 σ σ σσπ yx e yx G + −       + −−=∇ Khurram Hassan-Shafique
    20. 20. Marr and Hildreth Edge Operator 2 22 2 2 22 3 2 2 2 1 σ σ σσπ yx e yx G + −       + −−=∇ 0.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.0008 0.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.0066 0.0215 0.0982 0 -0.242 0 0.0982 0.0215 0.031 0.108 -0.242 -0.7979 -0.242 0.108 0.031 0.0215 0.0982 0 -0.242 0 0.0982 0.0215 0.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.0066 0.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.0008 X Y Khurram Hassan-Shafique
    21. 21. Marr and Hildreth Edge Operator Zero Crossings Detection IImage σG2 *∇ IG *2 σ∇ Edge Image IG *2 σ∇ Zero Crossings Khurram Hassan-Shafique
    22. 22. 1=σ 6=σ 3=σ Khurram Hassan-Shafique
    23. 23. Quality of an Edge Detector • Robustness to Noise • Localization • Too Many/Too less Responses Poor robustness to noise Poor localization Too many responses True Edge Khurram Hassan-Shafique
    24. 24. Canny Edge Detector • Criterion 1: Good Detection: The optimal detector must minimize the probability of false positives as well as false negatives. • Criterion 2: Good Localization: The edges detected must be as close as possible to the true edges. • Single Response Constraint: The detector must return one point only for each edge point. Khurram Hassan-Shafique
    25. 25. Hai Tao
    26. 26. The result – General form of the filter (N.B. the filter is odd so h(x) = -h(-x) the following expression is for x < 0 only) h x e a x a x e a x a xx x ( ) ( sin cos ) ( sin cos ) /= + + + −−α α ω ω ω ω λ1 2 3 4 1 2 α β ω = = = 2 05220 2 91540 156939 . . . a a a a 1 2 3 4 1 01486768717 0 2087553476 1244653939 0 7912446531 2 = = − = − = − = − . . . . λ Camillo J. Taylor
    27. 27. Approximation – Canny’s filter can be approximated by the derivative of a Gaussian h x d dx e x e x x ( ) ( )= = − − − 2 2 2 2 2 2 2σ σ σ Camillo J. Taylor Derivative of GaussianCanny
    28. 28. Canny Edge Detector • Convolution with derivative of Gaussian • Non-maximum Suppression • Hysteresis Thresholding Khurram Hassan-Shafique
    29. 29. Algorithm Canny_Enhancer • Smooth by Gaussian IGS *σ= 2 22 2 2 1 σ σ σπ yx eG + − = [ ]T yx T SSS y S x S =      ∂ ∂ ∂ ∂ =∇ 22 yx SSS +=∇ x y S S1 tan− =θ Khurram Hassan-Shafique • Compute x and y derivatives • Compute gradient magnitude and orientation
    30. 30. Canny Edge Operator ( ) ( ) IGIGS ** σσ ∇=∇=∇ T y G x G G       ∂ ∂ ∂ ∂ =∇ σσ σ T I y G I x G S       ∂ ∂ ∂ ∂ =∇ ** σσ Khurram Hassan-Shafique
    31. 31. Canny Edge Detector xS yS I Khurram Hassan-Shafique
    32. 32. Canny Edge Detector I 22 yx SSS +=∆ 25=≥∆ ThresholdS Khurram Hassan-Shafique
    33. 33. We wish to mark points along the curve where the magnitude is biggest. We can do this by looking for a maximum along a slice normal to the curve (non-maximum suppression). These points should form a curve. There are then two algorithmic issues: at which point is the maximum, and where is the next one? Algorithm Non-Maximum Suppression Khurram Hassan-Shafique
    34. 34. Non-Maximum Suppression • Suppress the pixels in ‘Gradient Magnitude Image’ which are not local maximum ( ) ( ) ( ) edgeantonormaldirectionthealong inofneighborstheareand Sx,yy,xy,x ∆′′′′′′ ( ) ( ) ( ) ( ) ( ) ( )      ′′′′∆>∆ ′′∆>∆ ∆ = otherwise0 ,,& ,,if , , yxSyxS yxSyxS yxS yxM ( )yx ′′, ( )yx, ( )yx ′′′′, Khurram Hassan-Shafique
    35. 35. Non-Maximum Suppression 0 1 2 3 41420tan41422-:3 41422tan:2 41422tan41420:1 41420tan41420:0 .θ. .θ .θ. .θ.- −≤< ≥ << ≤< x y S S θ =tan Khurram Hassan-Shafique
    36. 36. Non-Maximum Suppression 22 yx SSS +=∇ M 25=≥ ThresholdM Khurram Hassan-Shafique
    37. 37. Hysteresis Thresholding Khurram Hassan-Shafique
    38. 38. Hysteresis Thresholding • If the gradient at a pixel is above ‘High’, declare it an ‘edge pixel’ • If the gradient at a pixel is below ‘Low’, declare it a ‘non-edge-pixel’ • If the gradient at a pixel is between ‘Low’ and ‘High’ then declare it an ‘edge pixel’ if and only if it is connected to an ‘edge pixel’ directly or via pixels between ‘Low’ and ‘ High’ Khurram Hassan-Shafique
    39. 39. Hysteresis Thresholding M 25=≥ ThresholdM 15 35 = = Low High Khurram Hassan-Shafique
    40. 40. Resultado de algoritmo de histerese
    41. 41. Subpixel Localization– One can try to further localize the position of the edge within a pixel by analyzing the response to the edge enhancement filter – One common approach is to fit a quadratic polynomial to the filter response in the region of a maxima and compute the true maximum. a b x yyya yyb cbay cbay cy cbxaxxy 2 );0())1()1(( 2 1 ));1()1(( 2 1 )1( ;)1( ;)0( )( max 2 − = −−+= −−= +−=− ++= = ++= 0 1-1
    42. 42. Derivadas direcionais y n y f x n x f n f ∂ ∂ ∂ ∂ + ∂ ∂ ∂ ∂ = ∂ ∂   x y f(x,y)         = y x n n n  h pfnhpf n pf h )()( lim )( 0    −+ = ∂ ∂ → yx n y f n x f n f ∂ ∂ + ∂ ∂ = ∂ ∂  nf n f ⋅∇= ∂ ∂                   ∂ ∂ ∂ ∂             ∂ ∂ ∂ ∂ = ∂ ∂ ⋅ ∂ ∂ = ∂ ∂ y x yx n n y f x f y f x f nn n f n f n f  2
    43. 43. Detecting corners – If Ex and Ey denote the gradients of the intensity image, E(x,y), in the x and y directions then the behavior of the gradients in a region around a point can be obtained by considering the following matrix ( ) ∑∑         =      = 2 2 yyx yxx yx y x EEE EEE EE E E C Camillo J. Taylor
    44. 44. Examining the matrix – One way to decide on the presence of a corner is to look at the eigenvalues of the 2 by 2 matrix C. • If the area is a region of constant intensity we would expect both eigenvalues to be small • If it contains a edge we expect one large eigenvalue and one small one • If it contains edges at two or more orientations we expect 2 large eigenvalues Camillo J. Taylor
    45. 45. Finding corners – One approach to finding corners is to find locations where the smaller eigenvalue is greater than some threshold – We could also imagine considering the ratio of the two eigenvalues
    46. 46. Computing Image Gradients
    47. 47. Corner Analysis – The ellipses indicate the eignvalues and eigenvectors of the C matrices
    48. 48. Corner Detection • Basic idea: Find points where two edges meet—i.e., high gradient in two directions • “Cornerness” is undefined at a single pixel, because there’s only one gradient per point – Look at the gradient behavior over a small window • Categories image windows based on gradient statistics – Constant: Little or no brightness change – Edge: Strong brightness change in single direction – Flow: Parallel stripes – Corner/spot: Strong brightness changes in orthogonal directions
    49. 49. Corner Detection: Analyzing Gradient Covariance • Intuitively, in corner windows both Ix and Iy should be high – Can’t just set a threshold on them directly, because we want rotational invariance • Analyze distribution of gradient components over a window to differentiate between types from previous slide: • The two eigenvectors and eigenvalues ¸1, ¸2 of C (Matlab: eig(C)) encode the predominant directions and magnitudes of the gradient, respectively, within the window • Corners are thus where min(¸1, ¸2) is over a threshold courtesy of Wolfram
    50. 50. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    51. 51. Harris Detector: Mathematics [ ] 2 , ( , ) ( , ) ( , ) ( , ) x y E u v w x y I x u y v I x y= + + −∑ Change of intensity for the shift [u,v]: IntensityShifted intensity Window function orWindow function w(x,y) = Gaussian1 in window, 0 outside
    52. 52. Harris Detector: Mathematics [ ]( , ) , u E u v u v M v   ≅     For small shifts [u,v] we have a bilinear approximation: 2 2 , ( , ) x x y x y x y y I I I M w x y I I I   =      ∑ where M is a 2×2 matrix computed from image derivatives:
    53. 53. Harris Detector: Geometric Interpretation [ ]( , ) , u E u v u v M v   ≅     [ ][ ] [ ] [ ] const v u vu v u RRvuE T =            =            = ' ' 0 0 '' 0 0 2 1 2 1 λ λ λ λ λ1, λ2 – eigenvalues of M (λmax)-1/2 (λmin)-1/2 constvu =+ 2 2 2 1 )'()'( λλ
    54. 54. Harris Detector: Mathematics λ1 λ2 “Corner” λ1 and λ2 are large, λ1 ~ λ2; E increases in all directions λ1 and λ2 are small; E is almost constant in all directions “Edge” λ1 >> λ2 “Edge” λ2 >> λ1 “Flat” region Classification of image points using eigenvalues of M:
    55. 55. Harris Detector: Mathematics Measure of corner response: ( ) 2 det traceR M k M= − 1 2 1 2 det trace M M λ λ λ λ = = + (k – empirical constant, k = 0.04-0.06)
    56. 56. Harris Detector: Mathematics λ2 • R depends only on eigenvalues of M • R is large for a corner • R is negative with large magnitude for an edge • |R| is small for a flat region λ1 “Corner” “Edge” “Edge” “Flat” R > 0 R < 0 R < 0|R| small
    57. 57. Algoritmo • Comparação dos gráficos λ1 “Corner” “Edge” “Edge” “Flat” R > 0 R < 0 R < 0|R| small λ2 ( ) 2 det traceR M k M= −
    58. 58. Algoritmo • Comparação dos gráficos λ1 “Corner” “Edge” “Edge” “Flat” R > 0 R < 0 R < 0|R| small λ2 ( ) 2 det traceR M k M= −
    59. 59. Algoritmo • Comparação dos gráficos λ1 “Corner” “Edge” “Edge” “Flat” R > 0 R < 0 R < 0|R| small λ2 ( ) 2 det traceR M k M= −
    60. 60. Harris Detector • The Algorithm: – Find points with large corner response function R (R > threshold) – Take the points of local maxima of R
    61. 61. Harris Detector: Workflow
    62. 62. Harris Detector: Workflow Compute corner response R
    63. 63. Harris Detector: Workflow Find points with large corner response: R>threshold
    64. 64. Harris Detector: Workflow Take only the points of local maxima of R
    65. 65. Harris Detector: Workflow
    66. 66. Example: Gradient Covariances Full image Detail of image with gradient covar- iance ellipses for 3 x 3 windows from Forsyth & Ponce Corners are where both eigenvalues are big
    67. 67. Example: Corner Detection (for camera calibration) courtesy of B. Wilburn
    68. 68. Example: Corner Detection courtesy of S. Smith SUSAN corners
    69. 69. Harris Detector: Summary • Average intensity change in direction [u,v] can be expressed as a bilinear form: • Describe a point in terms of eigenvalues of M: measure of corner response • A good (corner) point should have a large intensity change in all directions, i.e. R should be large positive [ ]( , ) , u E u v u v M v   ≅     ( ) 2 1 2 1 2R kλ λ λ λ= − +
    70. 70. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    71. 71. Tracking: compression of video information • Harris response (uses criss-cross gradients) • Dinosaur tracking (using features) • Dinosaur Motion tracking (using correlation) • Final Tracking (superimposed) Courtesy: (http://www.toulouse.ca/index.php4?/CamTracker/index.php4?/CamTracker/FeatureTracking.html) This figure displays results of feature detection over the dinosaur test sequence with the algorithm set to extract the 6 most "interesting" features at every image frame. It is interesting to note that although no attempt to extract frame-to-frame feature correspondences was made, the algorithm still extracts the same set of features at every frame. This will be useful very much in feature tracking.
    72. 72. One More.. • Office sequence • Office Tracking
    73. 73. Harris Detector: Some Properties • Rotation invariance Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation
    74. 74. Harris Detector: Some Properties • Partial invariance to affine intensity change  Only derivatives are used => invariance to intensity shift I → I + b  Intensity scale: I → a I R x (image coordinate) threshold R x (image coordinate)
    75. 75. Harris Detector: Some Properties • But: non-invariant to image scale! All points will be classified as edges Corner !
    76. 76. Harris Detector: Some Properties • Quality of Harris detector for different scale changes -- Correspondences calculated using distance (and threshold) -- Improved Harris is proposed by Schmid et al -- repeatability rate is defined as the number of points repeated between two images w.r.t the total number of detected points. ε Repeatability rate: # correspondences # possible correspondences C.Schmid et.al. “Evaluation of Interest Point Detectors”. IJCV 2000 Imp.Harris uses derivative of Gaussian instead of standard template used by Harris et al.
    77. 77. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    78. 78. We want to: detect the same interest points regardless of image changes
    79. 79. Models of Image Change • Geometry – Rotation – Similarity (rotation + uniform scale) – Affine (scale dependent on direction) valid for: orthographic camera, locally planar object • Photometry – Affine intensity change (I → a I + b)
    80. 80. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    81. 81. Rotation Invariant Detection • Harris Corner Detector C.Schmid et.al. “Evaluation of Interest Point Detectors”. IJCV 2000
    82. 82. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    83. 83. Scale Invariant Detection • Consider regions (e.g. circles) of different sizes around a point • Regions of corresponding sizes (at different scales) will look the same in both images Fine/Low Coarse/High
    84. 84. Scale Invariant Detection • The problem: how do we choose corresponding circles independently in each image?
    85. 85. Scale Invariant Detection • Solution: – Design a function on the region (circle), which is “scale invariant” (the same for corresponding regions, even if they are at different scales) Example: average intensity. For corresponding regions (even of different sizes) it will be the same. scale = 1/2 – For a point in one image, we can consider it as a function of region size (circle radius) f region size Image 1 f region size Image 2
    86. 86. Scale Invariant Detection • Common approach: scale = 1/2 f region size/scale Image 1 f region size/scal Image 2 Take a local maximum of this function Observation: region size (scale), for which the maximum is achieved, should be invariant to image scale. s1 s2 Important: this scale invariant region size is found in each image independently! Max. is called characteristic scale
    87. 87. Characteristic Scale • The ratio of the scales, at which the extrema were found for corresponding points in two rescaled images, is equal to the scale factor between the images. • Characteristic Scale: Given a point in an image, compute the function responses for several factors sn The characteristic scale is the local max. of the function (can be more than one). • Easy to look for zero-crossings of 2nd derivative than maxima. scale = 1/2 f region size/scale Image 1 f region size/scale Image 2 s1 s2 Max. is called characteristic scale
    88. 88. Scale Invariant Detection • A “good” function for scale detection: has one stable sharp peak f region size bad f region size bad f region size Good ! • For usual images: a good function would be the one with contrast (sharp local intensity change)
    89. 89. Scale Invariant Detection • Functions for determining scale 2 2 2 1 2 2 ( , , ) x y G x y e σ πσ σ + − = ( )2 ( , , ) ( , , )xx yyL G x y G x yσ σ σ= + ( , , ) ( , , )DoG G x y k G x yσ σ= − Kernel Imagef = ∗ Kernels: where Gaussian Note: both kernels are invariant to scale and rotation (Laplacian) (Difference of Gaussians)
    90. 90. Build Scale-Space Pyramid • All scales must be examined to identify scale-invariant features • An efficient function is to compute the Difference of Gaussian (DOG) pyramid (Burt & Adelson, 1983) (or Laplacian) B lur Resam ple Subtrac t B lur Resam ple Subtrac t B lu r R e s a m p l e S u b t r a c t
    91. 91. Key point localization • Detect maxima and minima of difference-of-Gaussian in scale space B lur Resam ple Subtrac t
    92. 92. Scale Invariant Detectors • Harris-Laplacian1 Find local maximum of: – Harris corner detector in space (image coordinates) – Laplacian in scale 1 K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001 2 D.Lowe. “Distinctive Image Features from Scale-Invariant Keypoints”. Accepted to IJCV 2004 scale x y ← Harris → ←Laplacian→ • SIFT (Lowe)2 Find local maximum of: – Difference of Gaussians in space and scale scale x y ← DoG → ←DoG→
    93. 93. Normal, Gaussian.. A normal distribution in a variate with mean µ and variance σ2 is a statistic distribution with probability function
    94. 94. Harris-Laplacian • Existing methods search for maxima in the 3D representation of an image (x,y,scale). A feature point represents a local maxima in the surrounding 3D cube and its value is higher than a threshold. • THIS (Harris-Laplacian) method uses Harris function first, then selects points for which Laplacian attains maximum over scales. • First, prepare scale-space representation for the Harris function. At each level, detect interest points as local maxima in the image plane (of that scale) – do this by comparing 8-neighborhood. (different from plain Harris corner detection) • Second, use Laplacian to judge if each of the candidate points found on different levels, if it forms a maximum in the scale direction. (check with n-1 and n+1)
    95. 95. Scale Invariant Detectors K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001 • Experimental evaluation of detectors w.r.t. scale change Repeatability rate: # correspondences # possible correspondences (points present)
    96. 96. Scale Invariant Detection: Summary • Given: two images of the same scene with a large scale difference between them • Goal: find the same interest points independently in each image • Solution: search for maxima of suitable functions in scale and in space (over the image) Methods: 1. Harris-Laplacian [Mikolajczyk, Schmid]: maximize Laplacian over scale, Harris’ measure of corner response over the image 2. SIFT [Lowe]: maximize Difference of Gaussians over scale and space
    97. 97. Contents • Harris Corner Detector – Description – Analysis • Detectors – Rotation invariant – Scale invariant – Affine invariant (maybe later) • Descriptors – Rotation invariant – Scale invariant – Affine invariant
    98. 98. Affine Invariant Detection • Above we considered: Similarity transform (rotation + uniform scale) • Now we go on to: Affine transform (rotation + non-uniform scale)
    99. 99. Affine Invariant Detection • Take a local intensity extremum as initial point • Go along every ray starting from this point and stop when extremum of function f is reached T.Tuytelaars, L.V.Gool. “Wide Baseline Stereo Matching Based on Local, Affinely Invariant Regions”. BMVC 2000. f points along the ray • We will obtain approximately corresponding regions Remark: we search for scale in every direction
    100. 100. Affine Invariant Detection • Algorithm summary (detection of affine invariant region): – Start from a local intensity extremum point – Go in every direction until the point of extremum of some function f – Curve connecting the points is the region boundary – Compute geometric moments of orders up to 2 for this region – Replace the region with ellipse T.Tuytelaars, L.V.Gool. “Wide Baseline Stereo Matching Based on Local, Affinely Invariant Regions”. BMVC 2000.
    101. 101. Affine Invariant Detection : Summary • Under affine transformation, we do not know in advance shapes of the corresponding regions • Ellipse given by geometric covariance matrix of a region robustly approximates this region • For corresponding regions ellipses also correspond Methods: 1. Search for extremum along rays [Tuytelaars, Van Gool]: 2. Maximally Stable Extremal Regions [Matas et.al.]
    102. 102. SIFT • Introdução • Motivação • Visão Geral do Algoritmo
    103. 103. Introdução • O que é o SIFT? – Scale Invariant Feature Transform David Lowe
    104. 104. Motivação • Como ele ajuda em Markless? – Keypoints – Detecção de Texturas by lowe
    105. 105. Visão Geral do Algoritmo • Detecção dos máximos locais no espaço de escala – Usando a função diferença de Gaussianos (DoG) • Localização dos Keypoint – Calculo do subpixel do keypoint • Calculo da Orientação – 1 ou mais por Keypoint • Keypoint descriptor – Apartir do gradiente da imagem
    106. 106. Detecção dos máximos • Construção da piramide de DoG by Brandon Green
    107. 107. Detecção dos máximos• Usa o DoG para calcular os keypoints ),(),,(),,( yxIyxGyxL ∗= σσ (def. espaço de Escala)
    108. 108. Detecção dos máximos • Procura nos 26 vizinhos o máximo local
    109. 109. Filtrando os Keypoints • Eliminação dos máximos que tem pouco contraste com sua vizinhança • Eliminação dos pontos fracos mal localizados (sobre linhas) 1. Imagem inicial 2. Maximos 3. Eliminando por contraste 4. Eliminando por localização ruim
    110. 110. Cálculo da Orientação • Cálculos dos Keypoints relativos a orientação. • Permite a invariança na rotação • Pre-calculados
    111. 111. Keypoint descriptor • Calculo referente a orientação • Histograma com 8 classes • Melhor descritor 4x4x8 = 128 classes
    112. 112. Keypoint matching • Calculo dos pares usando distancia Euclidiana – Brute force – kd – tree – Best-Bin-First • Calculo da transformação para alinhamento das imagens – RANSAC – Hough Transform Normalmente uma imagem tem ~2,000 keypoints
    113. 113. Resultados

    ×