Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Guías

¿Qué es la transformada de características invariante a la escala (SIFT)?

Descubre cómo el algoritmo SIFT detecta y describe puntos clave invariantes a la escala y la rotación, cómo funcionan sus cuatro pasos y dónde se utiliza en visión artificial.

Abirami VinaAbirami Vina16 min de lectura
El algoritmo de transformada de características invariante a la escala (SIFT) en visión artificial

Para ver una explicación visual de los conceptos tratados en este artículo, mira el vídeo que aparece a continuación.

Hoy en día, muchos de los dispositivos inteligentes que utilizamos, desde teléfonos y cámaras hasta sistemas de domótica, incluyen soluciones de IA capaces de reconocer caras, objetos e incluso escenas visuales completas. Esta capacidad se debe a la visión artificial, un campo de la inteligencia artificial que permite a las máquinas comprender e interpretar imágenes y vídeos.

Por ejemplo, si haces una foto de la Torre Eiffel desde cualquier ángulo o distancia, tu dispositivo normalmente podrá reconocerla mediante visión artificial y guardarla en la carpeta correcta de la galería. Aunque parezca sencillo, reconocer objetos no siempre lo es. Las imágenes pueden verse muy distintas según su tamaño, ángulo, escala o iluminación, lo que dificulta que las máquinas los identifiquen de forma sistemática.

Para ayudar a resolver este problema, los investigadores desarrollaron un algoritmo de visión artificial llamado transformada de características invariante a la escala, o SIFT. Este algoritmo permite detectar objetos en distintas condiciones de observación. David Lowe lo creó en 1999 para encontrar y describir puntos clave únicos en una imagen, como esquinas, bordes o patrones que siguen siendo reconocibles aunque la imagen cambie de tamaño, gire o tenga otra iluminación.

Antes de que se popularizaran los modelos de visión artificial basados en aprendizaje profundo, como Ultralytics YOLO11, SIFT era una técnica muy utilizada en visión artificial. Era un método estándar para tareas como el reconocimiento de objetos, cuyo objetivo es identificar un objeto concreto en una foto, y la correspondencia de imágenes, que consiste en alinear fotos buscando elementos visuales coincidentes.

En este artículo, exploraremos SIFT con un breve repaso de qué es, cómo funciona en líneas generales y por qué es importante en la evolución de la visión artificial.

Por qué el algoritmo SIFT es esencial para la visión artificial#

En una imagen, un objeto puede aparecer de muchas maneras distintas. Por ejemplo, una taza de café puede fotografiarse desde arriba o de lado, bajo la luz intensa del sol o bajo una lámpara cálida. La misma taza también puede parecer más grande si está cerca de la cámara y más pequeña si está lejos.

Todas estas diferencias hacen que enseñar a un ordenador a reconocer un objeto sea una tarea compleja. Esta tarea de visión artificial, conocida como detección de objetos, requiere que los modelos de IA de visión identifiquen y localicen los objetos con precisión, aunque cambien su tamaño, ángulo o condiciones de iluminación.

Para hacerlo posible, la visión artificial se basa en un proceso llamado extracción de características o detección. En lugar de intentar comprender toda la imagen de una vez, un modelo busca características distintivas de la imagen, como esquinas pronunciadas, patrones únicos o texturas que siguen siendo reconocibles desde distintos ángulos, escalas y condiciones de iluminación.

En concreto, la transformada de características invariante a la escala, o SIFT, se diseñó para hacer precisamente eso. SIFT es un algoritmo de detección y descripción de características que puede identificar de forma fiable objetos en imágenes, independientemente de cómo se hayan capturado.

Conseguir invariancia a la escala#

El algoritmo SIFT tiene varias propiedades importantes que lo hacen útil para el reconocimiento de objetos. Una de las principales se llama invariancia a la escala. Esto significa que SIFT puede reconocer distintas partes de un objeto, tanto si parece grande y está cerca de la cámara como si parece pequeño y está lejos. Aunque el objeto no se vea por completo, el algoritmo puede encontrar los mismos puntos clave.

Para ello, utiliza un concepto llamado teoría del espacio de escalas. En pocas palabras, la imagen se desenfoca en distintos grados para crear varias versiones. A continuación, SIFT busca en ellas patrones y detalles que se mantengan, independientemente de cómo cambien el tamaño o la nitidez de la imagen.

Por ejemplo, una señal de tráfico fotografiada a unos metros parecerá mucho más grande que la misma señal capturada desde lejos, pero SIFT puede detectar las mismas características distintivas. Así, es posible hacer corresponder correctamente las dos imágenes, aunque la señal aparezca a escalas muy diferentes.

Garantizar la invariancia a la rotación#

Los objetos de las imágenes también pueden aparecer girados, a veces incluso boca abajo. SIFT lo gestiona mediante una propiedad llamada invariancia a la rotación. Para cada punto clave que detecta, el algoritmo asigna una orientación constante basada en los gradientes locales de la imagen. De este modo, se puede reconocer el mismo objeto independientemente de cómo esté girado.

Puedes imaginar que se marca cada punto clave con una flecha pequeña que indica hacia dónde apunta. Al alinear las características con estas orientaciones, SIFT garantiza que los puntos clave coincidan correctamente aunque el objeto esté girado. Por ejemplo, es posible identificar correctamente un lugar emblemático capturado en una foto apaisada aunque otra foto del mismo lugar se haya tomado con la cámara inclinada.

Resistencia a otras variaciones de la imagen#

Además del tamaño y la rotación, las imágenes también pueden cambiar de otras formas, por ejemplo, en la iluminación. La luz sobre un objeto puede pasar de intensa a tenue, el ángulo de la cámara puede variar ligeramente o la imagen puede salir borrosa o con ruido.

SIFT está diseñado para gestionar este tipo de variaciones. Para ello, se centra en puntos clave distintivos y de alto contraste, ya que estas características se ven menos afectadas por los cambios de iluminación o las pequeñas variaciones del punto de vista. Como resultado, SIFT suele ser más fiable que los métodos sencillos de detección de bordes o esquinas, que a menudo fallan cuando cambian las condiciones.

Puntos clave de SIFT extraídos de una imagen lluviosa y de su imagen de entrada sin lluvia

Fig. 1. Puntos clave de SIFT extraídos de (a) una imagen lluviosa y (b) la imagen de entrada correspondiente sin lluvia. (Fuente)

Pensemos en un cuadro de una galería. Se puede reconocer aunque se fotografíe con luz natural tenue, bajo focos artificiales intensos o incluso con un ligero desenfoque por movimiento al usar una cámara en la mano. Los puntos clave se mantienen lo bastante estables como para lograr una correspondencia precisa pese a estas diferencias.

Cómo funciona el algoritmo de transformada de características invariante a la escala (SIFT)#

A continuación, veamos cómo funciona el algoritmo SIFT. El proceso se divide en cuatro pasos principales: detección de puntos clave, localización de puntos clave, asignación de orientación y descripción de puntos clave.

Paso 1: detección de extremos en el espacio de escalas#

El primer paso consiste en encontrar y detectar puntos clave, que son zonas distintivas de la imagen, como esquinas o cambios bruscos de textura, que ayudan a seguir o reconocer un objeto.

Para garantizar que estos posibles puntos clave se puedan reconocer con cualquier tamaño, SIFT crea lo que se denomina un espacio de escalas. Se trata de una colección de imágenes que se obtiene desenfocando gradualmente la imagen original con un filtro gaussiano —una técnica de suavizado— y agrupando los resultados en capas llamadas octavas. Cada octava contiene la misma imagen con niveles de desenfoque crecientes, mientras que la siguiente octava es una versión más pequeña de la imagen.

Al restar una imagen desenfocada de otra, SIFT calcula la diferencia de gaussianas (DoG), que resalta las zonas donde el brillo cambia bruscamente. Estas zonas se eligen como puntos clave candidatos porque se mantienen cuando se amplía o se reduce la imagen.

DoG resalta las estructuras clave al restar imágenes desenfocadas en distintos grados

Fig. 2. DoG resalta las estructuras clave al restar imágenes desenfocadas en distintos grados. (Fuente)

Paso 2: localización de puntos clave#

No todos los puntos clave candidatos son útiles, ya que algunos pueden ser débiles o inestables. Para perfeccionarlos, SIFT utiliza un método matemático llamado desarrollo en serie de Taylor, que ayuda a estimar con mayor precisión la posición exacta de un punto clave.

Durante este paso, se eliminan los puntos poco fiables. Se descartan los puntos clave con poco contraste, que se confunden con el entorno, así como los que se encuentran justo en los bordes, ya que pueden desplazarse con demasiada facilidad. Este filtrado deja solo los puntos clave más estables y distintivos.

Paso 3: asignación de orientación#

Una vez identificados los puntos clave estables, SIFT los hace invariantes a la rotación, lo que significa que se pueden seguir haciendo corresponder aunque la imagen se gire de lado o boca abajo. Para ello, SIFT analiza cómo cambia el brillo alrededor de cada punto clave, lo que se conoce como gradiente. Los gradientes indican tanto la dirección como la intensidad del cambio en los valores de los píxeles y, en conjunto, representan la estructura local alrededor del punto.

Para cada punto clave, SIFT tiene en cuenta los gradientes de una región circundante y los agrupa en un histograma de orientaciones. El pico más alto del histograma indica la dirección dominante del cambio de intensidad, que se asigna como orientación del punto clave. Para crear este histograma se utilizan tanto las direcciones de los gradientes, que muestran dónde cambia la intensidad, como sus magnitudes, que indican la intensidad de ese cambio.

Si hay otros picos de intensidad casi igual, SIFT asigna varias orientaciones al mismo punto clave. Así se evita perder características importantes cuando los objetos aparecen desde ángulos inusuales. Al alinear cada punto clave con su orientación, SIFT garantiza que los descriptores generados en el siguiente paso sean coherentes.

En otras palabras, aunque dos imágenes del mismo objeto estén giradas de forma distinta, sus puntos clave alineados según la orientación seguirán coincidiendo correctamente. Este paso es el que da a SIFT su gran capacidad para gestionar rotaciones y lo hace mucho más robusto que los métodos anteriores de detección de características.

Vista más detallada del paso 3 del algoritmo SIFT

Fig. 3. Vista más detallada del paso 3 del algoritmo SIFT (Fuente)

Paso 4: descriptor de puntos clave#

El último paso de SIFT consiste en crear una descripción de cada punto clave para poder reconocerlo en otras imágenes.

SIFT lo consigue examinando un pequeño recuadro alrededor de cada punto clave, de unos 16 por 16 píxeles. Primero, este recuadro se alinea con la orientación del punto clave para que la rotación no le afecte. Después, se divide en una cuadrícula de 4 por 4 cuadrados más pequeños.

En cada cuadrado pequeño, SIFT mide cómo cambia el brillo en distintas direcciones. Estos cambios se guardan en un histograma, que es como un gráfico que muestra cuáles son las direcciones más frecuentes. Cada cuadrado tiene su propio histograma y, en conjunto, los 16 cuadrados generan 16 histogramas.

Por último, estos histogramas se combinan en una sola lista de números, 128 en total. Esta lista se llama vector de características y actúa como una huella digital del punto clave. Como recoge la textura y la estructura únicas que lo rodean, esta huella permite hacer corresponder el mismo punto clave en distintas imágenes, aunque tengan otro tamaño, estén giradas o tengan una iluminación diferente.

Resumen del funcionamiento de SIFT

Fig. 4. Resumen del funcionamiento de SIFT (Fuente)

Principales aplicaciones de SIFT en visión artificial#

Ahora que entendemos mejor qué es SIFT y cómo funciona, veamos algunas de sus aplicaciones reales en visión artificial.

Reconocimiento y detección de objetos#

Uno de los principales usos de SIFT es el reconocimiento y la detección de objetos. Consiste en enseñar a un ordenador a reconocer y localizar objetos en imágenes, aunque no siempre tengan el mismo aspecto. Por ejemplo, SIFT puede detectar un libro tanto si está cerca de la cámara, más lejos o girado en un ángulo.

Esto funciona porque SIFT extrae puntos clave muy distintivos y estables. Al combinar estos puntos clave con descriptores SIFT, se obtienen características SIFT que permiten hacer corresponder de forma fiable el mismo objeto en distintas imágenes. Estas características recogen detalles únicos del objeto que se mantienen constantes, lo que permite establecer correspondencias fiables entre imágenes aunque cambien el tamaño, la posición o la orientación del objeto.

Uso de SIFT para reconocer la portada de un libro en una nueva imagen tomada desde una orientación distinta

Fig. 5. Uso de SIFT para reconocer la portada de un libro en una nueva imagen tomada desde una orientación distinta a la original. Imagen del autor.

Antes de que se popularizara el aprendizaje profundo, SIFT era uno de los métodos más fiables para crear sistemas de reconocimiento de objetos. Se utilizaba ampliamente en investigaciones y aplicaciones que requerían hacer corresponder objetos en grandes conjuntos de datos de imágenes, aunque a menudo exigía muchos recursos computacionales.

Unión de imágenes y creación de panorámicas#

SIFT también se puede utilizar para crear imágenes panorámicas, es decir, fotos anchas que se obtienen uniendo varias imágenes. Con SIFT, se encuentran puntos clave distintivos en las zonas superpuestas de distintas imágenes y, después, se hacen corresponder entre sí. Estas correspondencias actúan como puntos de referencia y guían el proceso de unión para alinear las fotos.

Una vez establecidas las correspondencias, se pueden utilizar algoritmos de unión para calcular la alineación correcta, a menudo mediante transformaciones geométricas que proyectan una imagen sobre otra. Después, las imágenes se mezclan para que las uniones desaparezcan. El resultado final es una panorámica continua que parece una sola foto ancha, aunque se haya creado a partir de varias tomas.

Reconstrucción 3D y robótica#

Otra aplicación interesante de SIFT es la reconstrucción 3D, en la que se combinan varias fotos 2D tomadas desde distintos ángulos para crear un modelo tridimensional. SIFT encuentra los mismos puntos en estas imágenes y establece correspondencias entre ellos.

Una vez establecidas las correspondencias, se pueden calcular las posiciones 3D de esos puntos mediante triangulación, un método que calcula la profundidad a partir de distintos puntos de vista. Este proceso forma parte de la estructura a partir del movimiento (SfM), una técnica que utiliza varias imágenes superpuestas para estimar la forma 3D de una escena y las posiciones de las cámaras que tomaron las fotos.

El resultado suele ser una nube de puntos 3D: un conjunto de puntos en el espacio que representa el contorno del objeto o entorno. SIFT fue una de las primeras herramientas que hicieron práctica la estructura a partir del movimiento. Aunque hoy existen técnicas más rápidas y habituales, SIFT se sigue utilizando cuando la precisión es más importante que la velocidad.

SIFT también se ha utilizado en robótica, especialmente en el SLAM visual (localización y mapeo simultáneos). El SLAM permite que un robot determine dónde está mientras construye al mismo tiempo un mapa de su entorno.

Los puntos clave de SIFT actúan como referencias fiables que un robot puede reconocer entre fotogramas, incluso cuando cambian la iluminación o los ángulos. Al seguir estas referencias, el robot puede estimar su posición y actualizar el mapa sobre la marcha. Aunque hoy en día se utilizan más los detectores de características rápidos en robótica, SIFT desempeñó un papel importante en los primeros sistemas SLAM y sigue siendo clave en los casos en los que la robustez es más importante que la velocidad.

Ventajas y aspectos que debes tener en cuenta sobre SIFT#

Aunque el algoritmo SIFT se ha utilizado ampliamente en visión artificial y es conocido por ser un método fiable, también presenta algunas contrapartidas. Por eso, es importante sopesar sus ventajas e inconvenientes antes de decidir si es adecuado para un proyecto. A continuación, repasamos sus principales puntos fuertes y limitaciones.

Principales ventajas de SIFT#

Estas son algunas de las ventajas de utilizar el algoritmo SIFT:

  • Invariancia a la escala y la rotación: SIFT proporciona puntos clave invariantes a la escala que se mantienen relativamente estables cuando los objetos aparecen con distintos tamaños u orientaciones, lo que supone un avance significativo con respecto a los detectores de características anteriores.
  • Robustez moderada ante cambios de iluminación y de punto de vista: SIFT puede gestionar cambios de brillo, contraste o pequeños cambios del punto de vista, aunque es menos fiable en condiciones más extremas.
  • Capacidad para trabajar en escenas con elementos superpuestos o parcialmente ocultos: Como SIFT detecta muchos puntos clave locales, a menudo puede identificar un objeto incluso si una parte está tapada o el fondo es complejo.

Rendimiento y alternativas#

Estos son algunos de los inconvenientes de utilizar el algoritmo SIFT:

  • Alto coste computacional: El proceso de varios pasos de SIFT y sus descriptores detallados hacen que sea más lento y consuma más recursos que los detectores de características modernos. Para mejorarlo, los investigadores desarrollaron el algoritmo SURF (características robustas aceleradas), que utiliza cálculos más rápidos para encontrar y describir características. En algunos casos, SURF es menos preciso que SIFT, pero se ejecuta mucho más rápido, por lo que resulta más práctico para tareas que requieren rapidez.
  • No es ideal para el uso en tiempo real: Debido a su coste computacional, SIFT tiene dificultades en aplicaciones en las que la velocidad es fundamental, como el seguimiento en tiempo real o la robótica móvil.
  • Versatilidad limitada: Aunque es robusto en muchos casos, SIFT es menos eficaz ante cambios extremos de iluminación, grandes cambios del punto de vista o escenas muy dinámicas, en las que los algoritmos más recientes o los métodos de aprendizaje automático ofrecen mejores resultados.

Al analizar las ventajas y los inconvenientes de SIFT, quizá observes que muchas de sus limitaciones allanaron el camino para técnicas más avanzadas. En concreto, las redes neuronales convolucionales (CNNs) surgieron como una alternativa potente.

Una CNN es un tipo de modelo de aprendizaje profundo inspirado en el funcionamiento del sistema visual humano. Procesa una imagen por capas: empieza por patrones sencillos, como bordes y texturas, y va construyendo gradualmente formas y objetos más complejos. A diferencia de las reglas de características diseñadas manualmente de SIFT, las CNN aprenden representaciones de características directamente a partir de los datos.

Este aprendizaje basado en datos permite que las CNN superen a SIFT en tareas de correspondencia de descriptores y clasificación. Además, las CNN son más expresivas y robustas, y se adaptan mejor a la variabilidad y complejidad de los datos visuales.

Por ejemplo, los modelos basados en CNN han logrado resultados revolucionarios en ImageNet, un enorme conjunto de datos de referencia que contiene millones de imágenes etiquetadas de miles de categorías. ImageNet, diseñado para evaluar la capacidad de los algoritmos para reconocer y clasificar objetos, permite poner de manifiesto la diferencia entre los métodos anteriores basados en características y el aprendizaje profundo.

Las CNN superaron rápidamente a SIFT al aprender representaciones mucho más ricas y flexibles, lo que les permite reconocer objetos con cambios de iluminación, desde distintos puntos de vista e incluso cuando están parcialmente ocultos; son situaciones en las que SIFT suele tener dificultades.

Conclusiones clave#

El algoritmo Scale Invariant Feature Transform ocupa un lugar importante en la historia de la visión artificial. Ofreció una forma fiable de detectar características incluso en entornos cambiantes e influyó en muchos de los métodos que se utilizan hoy en día.

Aunque las técnicas más recientes son más rápidas y eficientes, SIFT sentó las bases para su desarrollo. SIFT muestra dónde empezó el progreso actual de la visión artificial y pone de relieve cuánto han avanzado los sistemas modernos de IA.

Únete a nuestra comunidad global y consulta nuestro repositorio de GitHub para obtener más información sobre visión artificial. Explora nuestras páginas de soluciones para descubrir innovaciones como la IA en la agricultura y la visión artificial en el comercio minorista. Consulta nuestras opciones de licencia y empieza a crear tu propio modelo de visión artificial.

Escrito por

Abirami Vina
Abirami Vina

Creador de contenido · Ultralytics

Abirami Vina comenzó su carrera como ingeniera de visión artificial y sentó unas bases sólidas en AI visual y aprendizaje automático. Es creadora de contenido para Ultralytics y fundadora y redactora jefe de Scribe of AI, donde elabora contenido técnico de alta calidad para empresas centradas en AI. Su pasión por hacer que la AI sea comprensible y atractiva impulsa su trabajo, que conecta la tecnología de vanguardia con su impacto en el mundo real.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático