HeadlinesBriefing HeadlinesBriefing.com

Algoritmo SIFT: Transformación de Características Invariantes a Escala

Towards Data Science •
×

SIFT es uno de los algoritmos más conocidos en visión artificial. Su objetivo principal consiste en detectar puntos clave de objetos, generar descriptores para ellos y emparejar los mismos objetos a través de imágenes. Como su nombre indica, SIFT es un algoritmo invariante a escala, lo que significa que el mismo objeto puede aparecer a diferentes escalas en un par de imágenes, y SIFT aún podrá detectar sus puntos clave con éxito. Además, SIFT es invariante a rotación, lo que permite el emparejamiento de objetos rotados también.

En su flujo de trabajo, SIFT construye varias versiones de la imagen original aplicando transformaciones de redimensionamiento y desenfoque gaussiano. Con valores elegidos de k y σ1, SIFT construye varias versiones de la imagen original aplicando suavizado gaussiano con diferentes desviaciones estándar. Esto resulta en una secuencia de imágenes llamada octava. Luego SIFT calcula las diferencias por pares entre las imágenes resultantes, conocidas como diferencia de gaussianos (DoG).

Después de eso, el algoritmo apila las Di e intenta encontrar extremos locales en ellas. Para cada punto en Di(x, y), SIFT examina sus 26 vecinos. Si Di(x, y) es mayor o menor que todos sus 26 puntos vecinos, SIFT lo marca como máximo o mínimo. Para tener en cuenta diferentes variaciones de escala, el mismo proceso se repite para una imagen inicial reducida en ancho y alto por un factor de dos, construyendo una nueva octava con valores σ como σ2 = 2σ1.

Fuente: Towards Data Science · Resumido por HeadlinesBriefing