Glosario

Transformador de visión (ViT)

Descubra el poder de los transformadores de visión (ViT) en la visión por ordenador. Descubra cómo superan a las CNN capturando el contexto global de la imagen.

Un Transformador de Visión (ViT) es un tipo de arquitectura de red neuronal que aplica el exitoso modelo Transformer, diseñado originalmente para el procesamiento del lenguaje natural (PLN), a tareas de visión por ordenador (VC). Presentadas por los investigadores de Google en el artículo "An Image is Worth 16x16 Words", las ViT representan un cambio significativo con respecto a las arquitecturas de redes neuronales convolucionales (CNN ) dominantes. En lugar de procesar imágenes con filtros deslizantes, una ViT trata una imagen como una secuencia de parches, lo que le permite captar relaciones globales entre distintas partes de una imagen utilizando el mecanismo de autoatención.

Cómo funcionan los transformadores de visión

La idea central de un ViT es procesar una imagen de forma que imite la forma en que los Transformers procesan el texto. El proceso consta de unos cuantos pasos clave:

  1. Parcheado de imágenes: la imagen de entrada se divide primero en una cuadrícula de parches de tamaño fijo que no se solapan. Por ejemplo, una imagen de 224x224 píxeles puede dividirse en 196 parches de 16x16 píxeles cada uno.
  2. Incrustación de parches: Cada parche se aplana en un único vector. A continuación, estos vectores se proyectan en un espacio de dimensiones inferiores para crear "incrustaciones de parches". Se añade una "incrustación posicional" aprendible a cada incrustación de parche para conservar la información espacial.
  3. Codificador Transformer: Esta secuencia de incrustaciones se introduce en un codificador Transformer estándar. A través de sus capas de autoatención, el modelo aprende las relaciones entre todos los pares de parches, lo que le permite captar el contexto global de toda la imagen desde la primera capa.
  4. Cabezal de clasificación: Para tareas como la clasificación de imágenes, se añade a la secuencia una incrustación aprendible adicional (similar al token [CLS] en BERT). La salida correspondiente del transformador se pasa a una capa de clasificación final para producir la predicción.

ViT Vs. CNNs

Aunque tanto los ViT como las CNN son arquitecturas fundacionales de la visión por ordenador, difieren significativamente en su enfoque:

  • Sesgo inductivo: las CNN poseen fuertes sesgos inductivos (suposiciones sobre los datos) como la localidad y la equivocidad de traslación a través de sus capas de convolución y agrupación. Las ViT tienen sesgos inductivos mucho más débiles, lo que las hace más flexibles pero también más dependientes del aprendizaje de patrones directamente a partir de los datos.
  • Dependencia de los datos: Debido a sus sesgos más débiles, las ViT generalmente requieren conjuntos de datos masivos (por ejemplo, ImageNet-21k) o un amplio preentrenamiento para superar a las CNN de última generación. Con conjuntos de datos más pequeños, las CNN suelen generalizar mejor. Por eso, el aprendizaje por transferencia es fundamental para las ViT.
  • Contexto global frente a local: Las CNN construyen características jerárquicas desde patrones locales hasta globales. Por el contrario, los ViT pueden modelar interacciones globales entre parches desde las primeras capas, lo que permite captar un contexto más amplio de forma más eficaz para determinadas tareas.
  • Coste computacional: El entrenamiento de ViTs puede ser computacionalmente intensivo, requiriendo a menudo recursos significativos de GPU. Frameworks como PyTorch y TensorFlow proporcionan implementaciones para entrenar estos modelos.

Aplicaciones y modelos híbridos

Los ViT han demostrado un rendimiento excepcional en diversas aplicaciones, especialmente cuando es clave comprender el contexto global.

  • Análisis de imágenes médicas: Los ViT son muy eficaces para analizar exploraciones médicas como resonancias magnéticas o imágenes histopatológicas. Por ejemplo, en la detección de tumores, un ViT puede identificar relaciones entre tejidos distantes, ayudando a clasificar los tumores con mayor precisión que los modelos que se centran únicamente en las texturas locales.
  • Conducción autónoma: En los coches de conducción autónoma, las ViT pueden analizar escenas complejas para la detección y segmentación de objetos. Al procesar toda la escena de forma global, pueden comprender mejor las interacciones entre vehículos, peatones e infraestructuras, como detallan múltiples estudios de IA en automoción.

El éxito de los ViT también ha inspirado arquitecturas híbridas. Modelos como RT-DETR combinan una CNN troncal para la extracción eficaz de características con un codificador-decodificador basado en Transformer para modelar las relaciones entre objetos. Este enfoque pretende obtener lo mejor de ambos mundos: la eficacia de las CNN y el conocimiento global del contexto de los Transformers.

Para muchas aplicaciones en tiempo real, especialmente en dispositivos de borde con recursos limitados, los modelos basados en CNN altamente optimizados, como la familia YOLO de Ultralytics (por ejemplo, YOLOv8 y YOLO11), suelen ofrecer un mejor equilibrio entre velocidad y precisión. Puede ver una comparación detallada entre RT-DETR y YOLO11 para entender las compensaciones. La elección entre un ViT y una CNN depende en última instancia de la tarea específica, los datos disponibles y el presupuesto computacional.

Únase a la comunidad Ultralytics

Únase al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo.

Únete ahora
Enlace copiado en el portapapeles