Harris corner detector

Node: Harris corner detector

Harris corner detector is the most well known, or we can call it as the most tranditional way to detect the local features.

  1. Moravec's corner detector, basically manipulate on image intensity and find the edge (BUT could only correspond to 8 directions)
    • image intensity could be representated as following:$$E(u,v)=\sum_{(x,y)\in{W}}w(x,y)[I(x+u,y+v)-I(x,y)]^2$$
    • shift is given by function E(x,y)
    • w is the Window function, it could be a Gaussian window
    • u,v means the vertical and horizontal shift of the point
    • x,y means the center point of the corner
    • E(x,y) is the sum of sq of the shifted intensity
    • the larger as E(u,v), the higher posibility that the point (x,y) as corner
  2. To correspond to omniazimuth
    • the function remain as forementioned
    • use Taylor Expansion for the small shift of (x,y):$$I(x+u,y+v)\sim I(x,y)+I_x(x,y)u+I_y(x,y)v$$
    • then, we can approximate the E(u,v) as following:$$E(u,v)\sim \sum_{(x,y)\in{W}}w(x,y)[I_x(x,y)u+I_y(x,y)v]^2$$
    • define M as the matrix:$$M = \sum_{(x,y)\in{W}}\left[\begin{array}{cc}I_xI_x & I_xI_y\I_xI_y & I_yI_y \end{array}\right]$$
    • the E(x,y) could be approximate as: $$E(x,y)\sim\left[\begin{array}{r}u & v \end{array}\right]M\left[\begin{array}{c}u\v \end{array}\right]$$
    • use Sobel to cauculate the Ix and Iy
    • define R use λ1 and λ2 which are eigen values of M:$$R=det(M)-k(tr(M))^2$$
      • where,
      • det(M)=λ1λ2
      • tr(M)=λ1+λ2
    • we could deteremine that when:
      • |R| is small, the area is Flat
      • R<0, the area is Edge
      • R is large, the area is Corner

References

Harris, C., & Stephens, M. (1988, August). A combined corner and edge detector. In Alvey vision conference (Vol. 15, No. 50, pp. 10-5244). (download)

動画:
Harris Corner and Edge Detector [E7] - YouTube

ウェブサイト: