Articulo de referencia

Detector de esquinas Harris

El detector de esquinas de Harris es un operador de detección de esquinas que se usa comúnmente en algoritmos de visión artificial para extraer esquinas e inferir característica...

El detector de esquinas de Harris es un operador de detección de esquinas que se usa comúnmente en algoritmos de visión artificial para extraer esquinas e inferir características de una imagen. Fue introducido por primera vez por Chris Harris y Mike Stephens en 1988 tras la mejora del detector de esquinas de Moravec . [ 1 ] En comparación con su predecesor, el detector de esquinas de Harris tiene en cuenta la diferencia de la puntuación de la esquina con respecto a la dirección directamente, en lugar de usar parches desplazables para cada ángulo de 45 grados, y ha demostrado ser más preciso para distinguir entre bordes y esquinas. [ 2 ] Desde entonces, se ha mejorado y adoptado en muchos algoritmos para preprocesar imágenes para aplicaciones posteriores.

Introducción

Una esquina es un punto cuyo entorno local se encuentra en dos direcciones de borde dominantes y diferentes. En otras palabras, una esquina puede interpretarse como la unión de dos bordes, donde un borde es un cambio repentino en el brillo de la imagen. [ 3 ] Las esquinas son características importantes en la imagen y generalmente se denominan puntos de interés que son invariantes a la traslación, la rotación y la iluminación. Aunque las esquinas representan solo un pequeño porcentaje de la imagen, contienen las características más importantes para restaurar la información de la imagen y pueden usarse para minimizar la cantidad de datos procesados ​​para el seguimiento de movimiento, la composición de imágenes , la creación de mosaicos 2D, la visión estéreo , la representación de imágenes y otras áreas relacionadas de la visión por computadora.

Para capturar las esquinas de una imagen, los investigadores han propuesto diversos detectores de esquinas, entre ellos el operador Kanade-Lucas-Tomasi (KLT) y el operador Harris, que son los más sencillos, eficientes y fiables para la detección de esquinas. Estas dos metodologías populares están estrechamente relacionadas con la matriz de estructura local y se basan en ella. En comparación con el detector de esquinas Kanade-Lucas-Tomasi, el detector de esquinas Harris ofrece una buena repetibilidad ante cambios de iluminación y rotación, por lo que se utiliza con mayor frecuencia en la correspondencia estéreo y la recuperación de bases de datos de imágenes. Si bien aún presenta inconvenientes y limitaciones, el detector de esquinas Harris sigue siendo una técnica importante y fundamental para muchas aplicaciones de visión artificial.

Desarrollo del algoritmo de detección de esquinas de Harris

Fuente: [ 1 ]

Sin pérdida de generalidad , asumiremos que se utiliza una imagen bidimensional en escala de grises . Sea esta imagen dada porI{\displaystyle I}Considere tomar un parche de imagen(incógnita,y)W{\displaystyle (x,y)\in W}(ventana) y desplazándola por(Δincógnita,Δy){\displaystyle (\Delta x,\Delta y)}. La suma de las diferencias al cuadrado (SSD) entre estos dos parches, denotadaF{\displaystyle f}, viene dado por:

F(Δincógnita,Δy)=(incógnitak,yk)W(I(incógnitak,yk)I(incógnitak+Δincógnita,yk+Δy))2{\displaystyle f(\Delta x,\Delta y)={\underset {(x_{k},y_{k})\in W}{\sum }}\left(I(x_{k},y_{k})-I(x_{k}+\Delta x,y_{k}+\Delta y)\right)^{2}}

I(incógnita+Δincógnita,y+Δy){\displaystyle I(x+\Delta x,y+\Delta y)}puede aproximarse mediante una expansión de Taylor . SeaIincógnita{\displaystyle I_{x}}yIy{\displaystyle I_{y}}sean las derivadas parciales deI{\displaystyle I}, de tal manera que

I(incógnita+Δincógnita,y+Δy)I(incógnita,y)+Iincógnita(incógnita,y)Δincógnita+Iy(incógnita,y)Δy{\displaystyle I(x+\Delta x,y+\Delta y)\aproximadamente I(x,y)+I_{x}(x,y)\Delta x+I_{y}(x,y)\Delta y}

Esto produce la aproximación

F(Δincógnita,Δy)(incógnita,y)W(Iincógnita(incógnita,y)Δincógnita+Iy(incógnita,y)Δy)2,{\displaystyle f(\Delta x,\Delta y)\approx {\underset {(x,y)\in W}{\sum }}\left(I_{x}(x,y)\Delta x+I_{y}(x,y)\Delta y\right)^{2},}

que se puede escribir en forma matricial:

F(Δincógnita,Δy)(ΔincógnitaΔy)METRO(ΔincógnitaΔy),{\displaystyle f(\Delta x,\Delta y)\approx {\begin{pmatrix}\Delta x&\Delta y\end{pmatrix}}M{\begin{pmatrix}\Delta x\\\Delta y\end{pmatrix}},}

donde M es el tensor de estructura ,

METRO=(incógnita,y)W[Iincógnita2IincógnitaIyIincógnitaIyIy2]=[(incógnita,y)WIincógnita2(incógnita,y)WIincógnitaIy(incógnita,y)WIincógnitaIy(incógnita,y)WIy2]{\displaystyle M={\underset {(x,y)\in W}{\sum }}{\begin{bmatrix}I_{x}^{2}&I_{x}I_{y}\\I_{x}I_{y}&I_{y}^{2}\end{bmatrix}}={\begin{bmatrix}{\underset {(x,y)\in W}{\sum }}I_{x}^{2}&{\underset {(x,y)\in W}{\sum }}I_{x}I_{y}\\{\underset {(x,y)\in W}{\sum }}I_{x}I_{y}&{\underset {(x,y)\in W}{\sum }}I_{y}^{2}\end{bmatrix}}}

Proceso del algoritmo de detección de esquinas de Harris

Comúnmente, el algoritmo detector de esquinas de Harris se puede dividir en cinco pasos. [ 4 ] [ 5 ] [ 6 ]

  1. Color a escala de grises
  2. Cálculo de la derivada espacial
  3. Configuración del tensor de estructura
  4. Cálculo de respuesta de Harris
  5. Supresión no máxima

Color a escala de grises

Si utilizamos el detector de esquinas de Harris en una imagen en color, el primer paso es convertirla a una imagen en escala de grises, lo que mejorará la velocidad de procesamiento.

El valor del píxel en escala de grises se puede calcular como una suma ponderada de los valores R, B y G de la imagen en color,

do{R,GRAMO,B}wdodo{\displaystyle \sum _{C\,\in \,\{R,G,B\}}w_{C}\cdot C},

donde, por ejemplo,

wR=0,299, wGRAMO=0,587, wB=1(wR+wGRAMO)=0,114.{\displaystyle w_{R}=0.299,\ w_{G}=0.587,\ w_{B}=1-(w_{R}+w_{G})=0.114.}

Cálculo de la derivada espacial

A continuación, vamos a hallar la derivada con respecto a x y la derivada con respecto a y,Iincógnita(incógnita,y){\displaystyle I_{x}(x,y)}yIy(incógnita,y){\displaystyle I_{y}(x,y)}Esto se puede aproximar aplicando operadores de Sobel .

Configuración del tensor de estructura

ConIincógnita(incógnita,y){\displaystyle I_{x}(x,y)},Iy(incógnita,y){\displaystyle I_{y}(x,y)}, podemos construir el tensor de estructuraMETRO{\displaystyle M}.

Cálculo de respuesta de Harris

Paraincógnitay{\displaystyle x\ll y}, uno tiene incógnitayincógnita+y=incógnita11+incógnita/yincógnita.{\displaystyle {\tfrac {x\cdot y}{x+y}}=x{\tfrac {1}{1+x/y}}\approx x.} En este paso, calculamos el valor propio más pequeño del tensor de estructura utilizando esa aproximación:

λminλ1λ2(λ1+λ2)=det(METRO)tr(METRO){\displaystyle \lambda _{\min }\approx {\frac {\lambda _{1}\lambda _{2}}{(\lambda _{1}+\lambda _{2})}}={\frac {\det(M)}{\operatorname {tr} (M)}}}

con el rastrotr(METRO)=metro11+metro22{\displaystyle \mathrm {tr} (M)=m_{11}+m_{22}}.

Otro cálculo de respuesta de Harris de uso común se muestra a continuación,

R=λ1λ2k(λ1+λ2)2=det(METRO)ktr(METRO)2{\displaystyle R=\lambda _{1}\lambda _{2}-k(\lambda _{1}+\lambda _{2})^{2}=\det(M)-k\operatorname {tr} (M)^{2}}

dóndek{\displaystyle k}es una constante determinada empíricamente;k[0,04,0,06]{\displaystyle k\in [0.04,0.06]}.

Supresión no máxima

Para seleccionar los valores óptimos que indiquen las esquinas, encontramos los máximos locales como esquinas dentro de la ventana, que es un filtro de 3 por 3.

Mejora

Fuentes: [ 7 ] [ 8 ]

  1. Detector de esquinas de Harris-Laplace [ 9 ]
  2. Detector de esquinas basado en descomposición morfológica diferencial [ 10 ]
  3. Detector de esquinas basado en tensor de estructura bilateral multiescala [ 11 ]

Aplicaciones

  1. Alineación, unión y registro de imágenes [ 12 ]
  2. Creación de mosaicos 2D [ 13 ]
  3. Modelado y reconstrucción de escenas 3D [ 14 ]
  4. Detección de movimiento [ 15 ]
  5. Reconocimiento de objetos [ 16 ]
  6. Indexación de imágenes y recuperación basada en contenido [ 17 ]
  7. Seguimiento de vídeo [ 18 ]

Véase también

Referencias

  1. 1 2 Chris Harris y Mike Stephens (1988). "Un detector combinado de esquinas y bordes". Conferencia Alvey Vision . Vol.  15.
  2. Dey, Nilanjan; et al. (2012). "Un estudio comparativo entre la detección de esquinas de Moravec y Harris en imágenes ruidosas mediante la técnica de umbralización de ondículas adaptativa". arXiv : 1209.1558 [ cs.CV ]. 
  3. Konstantinos G. Derpanis (2004). El detector de esquinas de Harris . Universidad de York.
  4. "Detección de esquinas del operador de Harris mediante el método de ventana deslizante - Google Académico" . scholar.google.com . Consultado el 29 de noviembre de 2015 .
  5. "Comparación y aplicación de algoritmos de detección de esquinas - Google Académico" . scholar.google.com . Consultado el 29 de noviembre de 2015 .
  6. Javier Sánchez, Nelson Monzón y Agustín Salgado (2018). "Un análisis e implementación del detector de esquinas de Harris" . Procesamiento de Imágenes en Línea . 8 : 305– 328. doi : 10.5201/ipol.2018.229 . hdl : 10553/43499 .
  7. ^ Bellavia, F.; Tegolo, D.; Valenti, C. (1 de marzo de 2011). "Mejora de la estrategia de selección de esquinas de Harris". Visión por computadora IET . 5 (2): 87. doi : 10.1049/iet-cvi.2009.0127 .
  8. Rosten, Edward; Drummond, Tom (2006-05-07). Leonardis, Aleš; Bischof, Horst; Pinz, Axel (eds.). Machine Learning for High-Speed ​​Corner Detection . Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 430–443 . CiteSeerX 10.1.1.64.8513 . doi : 10.1007/11744023_34 . ISBN   978-3-540-33832-1. S2CID 1388140 . 
  9. "Una comparación de detectores de regiones afines - Google Académico" . scholar.google.com . Consultado el 29 de noviembre de 2015 .
  10. Gueguen, L.; Pesaresi, M. (2011). "Detector de esquinas de Harris multiescala basado en descomposición morfológica diferencial" . Pattern Recognition Letters . 32 (14): 1714– 1719. Bibcode : 2011PaReL..32.1714G . doi : 10.1016/j.patrec.2011.07.021 .
  11. "Un detector de esquinas basado en tensor de estructura bilateral multiescala - Google Académico" . scholar.google.com . Consultado el 29 de noviembre de 2015 .
  12. Kang, Juan; Xiao, Chuangbai; Deng, M.; Yu, Jing; Liu, Haifeng (1 de agosto de 2011). "Registro de imágenes basado en esquinas de Harris e información mutua". Actas de la Conferencia Internacional de Ingeniería Electrónica y Mecánica y Tecnología de la Información de 2011. Vol. 7. págs. 3434–3437 . doi : 10.1109/EMEIT.2011.6023066 . ISBN   978-1-61284-087-1. S2CID 17367248 . 
  13. "Creación de mosaicos submarinos mediante secuencias de vídeo desde diferentes altitudes - Google Académico" . scholar.google.com . Consultado el 2 de diciembre de 2015 .
  14. "Reconstrucción automatizada de escenas 3D a partir de secuencias de imágenes - Google Académico" . scholar.google.com . Consultado el 2 de diciembre de 2015 .
  15. Liu, Meng; Wu, Chengdong; Zhang, Yunzhou (1 de julio de 2008). "Algoritmo de seguimiento de flujo óptico multirresolución basado en características de puntos de esquina de Harris multiescala". Conferencia China de Control y Decisión de 2008. págs. 5287–5291 . doi : 10.1109/CCDC.2008.4598340 . ISBN  978-1-4244-1733-9. S2CID 8085227 . 
  16. "Reconocimiento de objetos a partir de características locales invariantes a la escala - Google Académico" . scholar.google.com . Consultado el 29 de noviembre de 2015 .
  17. "Puntos clave para la recuperación basada en contenido - Google Académico" . scholar.google.com . Consultado el 2 de diciembre de 2015 .
  18. "Seguimiento y reconocimiento de objetos mediante el descriptor SURF y la detección de esquinas de Harris - Google Académico" . scholar.google.com . Consultado el 2 de diciembre de 2015 .
  • "Aprende OpenCV con ejemplos  : Detección de esquinas de Harris"
  • "Detección de esquinas de Harris - Documentación de OpenCV"
  • "Detección de esquinas de Harris - Tutoriales de OpenCV-Python" . Archivado del original el 7 de mayo de 2021.
  • Implementación en línea del detector de esquinas de Harris - IPOL