¿Qué es el Transformer de Visión DINOv3?
Transformer de Visión DINOv3 para Análisis de Superficies de Infraestructura

Aprendizaje Autosupervisado y DINO
El aprendizaje autosupervisado (SSL) es un paradigma de aprendizaje automático donde un modelo aprende representaciones significativas a partir de datos no etiquetados mediante la definición de una tarea pretexto que no requiere anotaciones humanas. El modelo debe predecir alguna parte de los datos a partir de otras partes, aprovechando la estructura inherente y los patrones de coocurrencia dentro de los propios datos. En visión por computadora, los métodos SSL han progresado desde tareas pretexto artesanales como predecir el ángulo de rotación de una imagen (RotNet), resolver rompecabezas de parches mezclados o colorear imágenes en escala de grises hasta enfoques más sofisticados de contraste y destilación. La ventaja fundamental del SSL es que permite el entrenamiento en conjuntos de datos a escala web sin el costo prohibitivo de la anotación manual. Para aplicaciones de infraestructura, donde los conjuntos de datos de defectos etiquetados son escasos y costosos de producir (que requieren inspectores e ingenieros certificados), las columnas vertebrales basadas en SSL permiten un aprendizaje efectivo de características a partir de grandes cantidades de imágenes no etiquetadas antes de cualquier ajuste fino específico de la tarea.
Este es el método de detección de grietas detrás de la evaluación de pavimentos de carreteras de TarmacView .
Los métodos de aprendizaje contrastivo como SimCLR, MoCo y SwAV aprenden representaciones atrayendo vistas aumentadas de la misma imagen (pares positivos) en el espacio de embeddings mientras alejan vistas de diferentes imágenes (pares negativos). Estos métodos requieren un manejo cuidadoso de las muestras negativas: muy pocos negativos degrada el rendimiento, demasiados aumenta el costo computacional. Los métodos no contrastivos como BYOL, SimSiam y DINO evitan la necesidad de pares negativos por completo mediante el uso de arquitecturas de red asimétricas y operaciones de gradiente detenido para prevenir el colapso representacional. DINO (self-DIstillation with NO labels), introducido por Caron et al. en Meta AI en 2021, pertenece a esta familia no contrastiva y se ha convertido en uno de los métodos SSL más influyentes en visión por computadora. El documento original de DINO demostró que SSL y los Transformers de Visión tienen una sinergia única: los mecanismos de atención propia en los ViT producen mapas de segmentación semántica sin ninguna supervisión, una propiedad que surge de la interacción entre la estrategia de aumento de recorte múltiple y el objetivo de autodestilación.
El marco de entrenamiento DINO funciona de la siguiente manera. Para cada imagen de entrada, se generan dos vistas globales (que cubren más del 50% del área de la imagen, típicamente 224x224 píxeles) y varias vistas locales (recortes más pequeños que cubren menos del 50% del área de la imagen, típicamente 96x96 píxeles) mediante recorte redimensionado aleatorio, sacudida de color y desenfoque gaussiano. Todas las vistas se pasan a través de una red alumno (un Transformer de Visión). Las vistas globales también se pasan a través de una red profesor, que comparte la misma arquitectura que el alumno pero tiene parámetros diferentes. Los parámetros del profesor no se aprenden a través de gradientes; en cambio, se actualizan como un promedio móvil exponencial (EMA) de los parámetros del alumno. El objetivo central del entrenamiento es hacer que la distribución de salida del alumno coincida con la distribución de salida del profesor para las vistas globales, mientras que las vistas locales proporcionan una señal de entrenamiento adicional solo a través del alumno. Esta configuración profesor-alumno, conocida como autodestilación, crea una señal de aprendizaje que no requiere etiquetas: el alumno aprende a producir representaciones consistentes a través de diferentes aumentos de la misma imagen, lo que lo obliga a capturar el contenido semántico invariante en lugar de detalles superficiales a nivel de píxel.
DINOv1 (2021) demostró tres propiedades emergentes clave de los ViT autosupervisados. Primero, los mapas de atención del token [CLS] a los parches de imagen segmentan naturalmente objetos de los fondos, una propiedad que surge puramente de la autosupervisión sin ninguna etiqueta de segmentación. Segundo, las características aprendidas exhiben un rendimiento de clasificación k-NN excelente: un clasificador simple del vecino más cercano en el espacio de características de DINO logra una precisión top-1 del 78.2% en ImageNet sin ningún ajuste fino. Tercero, las características de DINO muestran una fuerte correspondencia semántica entre diferentes instancias de la misma clase de objeto, lo que permite aplicaciones en recuperación de imágenes, co-segmentación y segmentación de objetos en video. Estas propiedades hicieron de DINO un método fundamental en el panorama del aprendizaje autosupervisado y sentaron las bases para DINOv2 (2023) y DINOv3 (2025).
Arquitectura ViT
La arquitectura del Transformer de Visión (ViT), introducida por Dosovitskiy et al. en Google en 2021, adapta la arquitectura Transformer del procesamiento del lenguaje natural a la visión por computadora al tratar los parches de imagen como análogos a los tokens de palabras. A diferencia de las redes neuronales convolucionales (CNN) que procesan imágenes a través de campos receptivos locales con equivarianza de traslación incorporada, los ViT aplican atención propia global a través de todos los parches simultáneamente, lo que permite al modelo capturar dependencias de largo alcance desde la primera capa. Esta elección arquitectónica ha demostrado ser crucial para el éxito de DINO: el documento original de DINO mostró que los ViT autosupervisados superan significativamente a las CNN autosupervisadas, y que la sinergia entre la atención propia y la autodestilación es responsable de las propiedades emergentes de segmentación semántica.
Incrustación de Parche. La primera operación en un ViT es dividir la imagen de entrada en una cuadrícula de parches sin superposición. Para la variante ViT-B/16 utilizada por TarmacView, el tamaño del parche es de 16x16 píxeles. Una imagen de entrada de 224x224 píxeles produce (224/16) x (224/16) = 14 x 14 = 196 parches. Cada parche de 16x16x3 (canales RGB) se aplana en un vector de longitud 768 (16x16x3). En la práctica, esta incrustación de parche se implementa como una sola capa convolucional con un tamaño de kernel igual al tamaño del parche (16x16) y un paso igual al tamaño del parche, produciendo una cuadrícula 2D de 14x14 vectores de características, cada uno de dimensión igual al tamaño oculto del modelo (768 para ViT-B). Una proyección lineal aprendible mapea luego cada parche aplanado a la dimensión de incrustación. La implementación Conv2d es computacionalmente eficiente (una operación reemplaza 196 proyecciones lineales separadas) y es el estándar en todas las implementaciones modernas de ViT.
El Token [CLS]. Siguiendo la arquitectura BERT en PNL, un token de clasificación especial aprendible ([CLS]) se antepone a la secuencia de incrustaciones de parche. El token [CLS] tiene la misma dimensionalidad (768) que las incrustaciones de parche y se inicializa aleatoriamente. Durante el entrenamiento, a través de la atención propia en todas las capas del transformer, el token [CLS] agrega información de todos los parches de la imagen: puede atender a cada parche en cada capa, construyendo una representación global de toda la imagen. En la salida de la capa final del transformer, la incrustación del token [CLS] sirve como la representación a nivel de imagen utilizada para tareas de clasificación. En DINOv3, el token [CLS] se complementa con 4 tokens de registro: tokens aprendibles adicionales antepuestos a la secuencia que actúan como memoria auxiliar para absorber información atípica o de fondo, evitando que los tokens [CLS] y de parche sean corrompidos por detalles irrelevantes de alta frecuencia.
Incrustaciones Posicionales. Dado que el mecanismo de atención propia del Transformer es invariante a la permutación (procesa los parches como un conjunto, no como una secuencia), la información posicional debe agregarse explícitamente para indicar al modelo dónde pertenece cada parche en la cuadrícula espacial. DINOv3 utiliza Embeddings de Posición Rotatoria (RoPE) en lugar de las codificaciones posicionales absolutas aprendidas estándar utilizadas en DINOv2. RoPE codifica información de posición relativa aplicando una matriz de rotación a los vectores de consulta y clave en la atención propia basada en sus coordenadas espaciales. La frecuencia de rotación para cada dimensión está determinada por el índice de la dimensión, siguiendo una progresión geométrica. La ventaja clave de RoPE para el análisis de infraestructura es su capacidad para manejar entradas de resolución variable: al procesar imágenes de alta resolución (hasta 4096x4096 píxeles), el mecanismo RoPE se generaliza naturalmente a la cuadrícula espacial más grande sin requerir la interpolación de incrustaciones posicionales aprendidas. DINOv3 también introduce una sacudida de caja aleatoria durante la aplicación de RoPE, donde los índices de posición se desplazan aleatoriamente dentro de un rango [-s,s] con s en [0.5,2.0], lo que hace que el modelo sea robusto a diferentes relaciones de aspecto y patrones de recorte.
Atención Propia de Múltiples Cabezales (MHSA). La primitiva computacional central del ViT es el mecanismo de atención propia de múltiples cabezales. En cada bloque transformer, la secuencia de entrada de N tokens (N = 1 [CLS] + 4 registro + 196 parche = 201 tokens para una entrada de 224x224) se proyecta linealmente en tres matrices: Consultas (Q) , Claves (K) y Valores (V) , cada una de dimensión 768 para ViT-B/16. El mecanismo de atención calcula la similitud por pares entre todos los tokens como el producto punto de Q y K^T, escalado por la raíz cuadrada de d_k (donde d_k es la dimensión de la clave por cabeza). Los pesos de atención resultantes (normalizados por softmax) determinan cuánto contribuye cada token a la representación de todos los demás tokens. En ViT-B/16, hay 12 cabezales de atención, cada uno operando en un subespacio de 64 dimensiones (768/12 = 64). La atención de múltiples cabezales permite que el modelo atienda diferentes tipos de relaciones simultáneamente; por ejemplo, un cabezal puede centrarse en la similitud de textura entre parches, otro en la proximidad espacial y otro en la pertenencia a una categoría semántica. Las salidas de todos los cabezales se concatenan y proyectan linealmente de vuelta a 768 dimensiones. La complejidad computacional de MHSA es O(N2d): cuadrática en la longitud de la secuencia N pero lineal en la dimensión de incrustación d. Para la secuencia de 201 tokens en DINOv3 ViT-B/16, esto es manejable (aproximadamente 40K cálculos de atención por capa), pero para imágenes de alta resolución con más de 4000 tokens (por ejemplo, una imagen de 1024x1024 produce 64x64 = 4096 parches), la escala cuadrática se convierte en una consideración significativa.

Bloque Codificador Transformer. Cada una de las 12 (ViT-B) o 40 (ViT-7B) capas de transformer en DINOv3 sigue el diseño de pre-normalización. La Normalización de Capa (LayerNorm) se aplica antes de las subcapas MHSA y MLP, con conexiones residuales que evitan cada subcapa. La subcapa MLP (perceptrón multicapa) consta de dos capas lineales con una activación GELU (Unidad Lineal de Error Gaussiano) en medio. Para ViT-B/16, la dimensión oculta del MLP es 3072 (4x la dimensión de incrustación), produciendo la configuración: Dimensión de incrustación 768 a MLP oculto 3072 a GELU a salida MLP 768. El modelo profesor más grande de DINOv3 (ViT-7B) utiliza una activación SwiGLU (Unidad Lineal con Puerta Swish) en el MLP en lugar de GELU, siguiendo las tendencias modernas de arquitectura de LLM. SwiGLU aplica un mecanismo de puerta: salida = (xW1) multiplicado elemento por elemento por Swish(xW2) veces W3. Se ha demostrado que esta activación con puerta mejora la estabilidad del entrenamiento y el rendimiento final a escala. El diseño de pre-normalización difiere de la post-normalización del Transformer original (donde la normalización se aplicaba después de la adición residual) y ha demostrado producir un entrenamiento más estable, especialmente para transformers profundos (12+ capas).
Tabla Resumen de Arquitectura para la Familia de Modelos DINOv3.
| Modelo | Parámetros | Dim. Incrustación | Cabezales | Capas | Dim. MLP | Tamaño Parche | Parches/224px |
|---|---|---|---|---|---|---|---|
| ViT-Small | 21M | 384 | 6 | 12 | 1536 | 16 | 196 |
| ViT-Base | 86M | 768 | 12 | 12 | 3072 | 16 | 196 |
| ViT-Large | 304M | 1024 | 16 | 24 | 4096 | 16 | 196 |
| ViT-H+ | ~1.5B | 1536 | 24 | 32 | 6144 | 16 | 196 |
| ViT-7B | 7B | 4096 | 32 | 40 | 8192 | 16 | 196 |
La arquitectura ViT-Base (86M parámetros) es el equilibrio óptimo entre la calidad de las características y la eficiencia computacional para el pipeline de inspección de infraestructura de TarmacView, ofreciendo embeddings de 768 dimensiones con 12 capas de potencia de procesamiento de atención propia.
Entrenamiento de DINOv3 en 1.7 Mil Millones de Imágenes
DINOv3 logra su rendimiento de última generación a través de una escala sin precedentes de entrenamiento autosupervisado, aprovechando tanto la curación masiva de datos como la optimización distribuida eficiente a través de cientos de GPU.
El Conjunto de Datos LVD-1689M. Los datos de entrenamiento para DINOv3 comienzan con un grupo bruto de 17 mil millones de imágenes de Instagram con contenido moderado. A partir de este grupo masivo, el equipo de Meta AI seleccionó un subconjunto equilibrado de 1,689 millones de imágenes llamado LVD-1689M (Large Visual Dataset 1689 Million). El pipeline de curación es crítico porque simplemente entrenar en los datos brutos de Instagram produciría un modelo sesgado hacia la distribución de frecuencia natural de los conceptos visuales en las redes sociales; por ejemplo, las caras, la comida y los paisajes dominarían, mientras que la infraestructura, la industria y las imágenes científicas estarían subrepresentadas. El proceso de curación emplea agrupación jerárquica k-means en embeddings de DINOv2 extraídos del grupo de imágenes completo. El modelo DINOv2 ViT-H/14 procesa cada imagen, y los embeddings de token CLS resultantes se agrupan en 25,000 grupos usando k-means. Posteriormente, se muestrea un número igual de imágenes de cada grupo, produciendo un conjunto de datos equilibrado por grupo que asegura una representación proporcional en todos los dominios visuales. Este muestreo equilibrado es directamente análogo al muestreo estratificado en estadística: al controlar la pertenencia al grupo, el conjunto de datos captura la diversidad completa de conceptos visuales en lugar de sobrerrepresentar categorías comunes. Después de la agrupación, un paso de recuperación adicional expande los conjuntos de semillas de conjuntos de datos seleccionados (ImageNet-1k, ImageNet-22k, Google Landmarks y conjuntos de datos de clasificación de grano fino) encontrando los vecinos más cercanos en el espacio de embeddings de DINOv2. El conjunto de datos LVD-1689M final combina 1,489 millones de imágenes equilibradas por grupo con 200 millones de imágenes expandidas por recuperación, todas filtradas a través de detección NSFW, deduplicación de hash PCA y desenfoque de rostros.
Configuración de Entrenamiento. El modelo profesor ViT-7B, el modelo de visión autosupervisado más grande jamás entrenado (a partir de 2025), fue entrenado en 256 GPU NVIDIA (A100 80GB SXM4) con un tamaño de lote de 4096 (16 imágenes por GPU). La optimización utiliza el optimizador AdamW con una tasa de aprendizaje constante de 4x10^-4, decaimiento de peso de 0.04 y momento EMA de 0.999 siguiendo un período de calentamiento de 100,000 pasos. El entrenamiento procede durante 1 millón de iteraciones con la estrategia de recorte múltiple: 2 cultivos globales a una resolución de 256x256 y 8 cultivos locales a una resolución de 112x112, para un total de 10 vistas por imagen por iteración. Durante 1M de iteraciones con un tamaño de lote de 4096, el modelo ve aproximadamente 2.56 mil millones de combinaciones únicas de imagen-recorte. Todo el proceso de entrenamiento consume un estimado de 10,000-15,000 días-GPU de cómputo. Durante el entrenamiento, el 10% de los lotes son extracciones homogéneas de ImageNet-1k (para mantener el rendimiento en benchmarks estándar) mientras que el 90% son extracciones heterogéneas del grupo LVD-1689M completo, una relación de mezcla óptima demostrada por ablación.
Objetivos de Entrenamiento. La pérdida de preentrenamiento de DINOv3 combina tres componentes. La pérdida DINO (L_DINO) aplica una agrupación Sinkhorn-Knopp al estilo SwAV a las salidas del token [CLS] de los cultivos globales, haciendo coincidir las asignaciones de prototipos entre alumno y profesor. El algoritmo Sinkhorn ejecuta 3 iteraciones para producir pseudoetiquetas suaves. La pérdida iBOT (L_iBOT) opera a nivel de parche: los parches aleatorios en los cultivos locales se enmascaran, y el alumno debe predecir las características de parche normalizadas del profesor para esas posiciones enmascaradas. Este objetivo de modelado de imágenes enmascaradas obliga al modelo a aprender información de textura y estructura local necesaria para tareas de predicción densa. El regularizador Koleo (L_Koleo) distribuye los embeddings del token [CLS] uniformemente sobre la hiperesfera minimizando la suma de similitudes de coseno entre todos los pares de embeddings en un lote, evitando el colapso representacional y asegurando que el espacio de características esté bien utilizado. La pérdida de preentrenamiento combinada es: L_Pre = L_DINO + L_iBOT + 0.1 x L_Koleo. Después de 1M de iteraciones de preentrenamiento, una fase de refinamiento de 200K iteraciones adicionales incorpora la pérdida de anclaje Gram (L_Gram) con peso 2, que preserva la calidad de las características densas a través de entrenamiento prolongado.
Destilación en Modelos Más Pequeños. Una vez que el profesor ViT-7B está completamente entrenado, se congela y se utiliza como objetivo para destilar representaciones en un conjunto de modelos más pequeños y prácticos. El proceso de destilación refleja la configuración de preentrenamiento: los modelos alumnos (ViT-S, ViT-B, ViT-L, ViT-H+, variantes ConvNeXt) se entrenan para igualar las características de salida del profesor utilizando la misma función de pérdida (L_DINO + L_iBOT + 0.1 x L_Koleo) pero con el profesor congelado y la actualización EMA del profesor omitida. Meta AI implementa una configuración de destilación multi-alumno que entrena eficientemente múltiples modelos alumnos simultáneamente: el profesor procesa cada imagen una vez, y todos los alumnos reciben las mismas salidas del profesor, lo que permite que el cálculo de la pérdida por lote se paralelice entre los alumnos. Esto reduce el costo computacional total de producir la familia de modelos completa en aproximadamente un 60% en comparación con la destilación de cada alumno secuencialmente. El alumno ViT-Base (86M parámetros), que TarmacView utiliza como su columna vertebral, logra el 98.7% de la precisión de la sonda lineal del profesor ViT-7B en ImageNet-1k mientras requiere aproximadamente 80 veces menos FLOPs para la inferencia.
Embeddings de 768 Dimensiones
El embedding de 768 dimensiones producido por DINOv3 ViT-B/16 para cada token (1 CLS + 4 registro + 196 parche = 201 en total) representa una codificación numérica densa de información visual en un espacio vectorial de alta dimensión. Cada dimensión captura un concepto o característica visual específica, y la combinación de todos los 768 valores forma una firma única para esa región de la imagen. La dimensionalidad de 768 no es arbitraria: surge de la arquitectura ViT-Base donde la dimensión oculta se establece en 768, proporcionando capacidad suficiente para codificar patrones visuales complejos mientras se mantiene computacionalmente manejable. En comparación, ViT-Small usa 384 dimensiones, ViT-Large usa 1024 y ViT-7B usa 4096.
Embedding del Token CLS. El embedding de 768 dimensiones del token [CLS] en la salida de la 12ª capa del transformer codifica el contenido global de la imagen: la escena general, los objetos dominantes y el contexto semántico. Este embedding se extrae y se utiliza para tareas de clasificación a nivel de imagen. En el pipeline de TarmacView, el embedding CLS se pasa a través de un clasificador lineal ligero (768 a N clases, donde N es el número de tipos de superficie o grados de calidad) entrenado en conjuntos de datos de infraestructura etiquetados. El embedding CLS de DINOv3 exhibe fuertes propiedades de generalización de dominio: los modelos entrenados en este embedding se generalizan a tipos de infraestructura no vistos significativamente mejor que los embeddings de columnas vertebrales supervisadas. La precisión de la sonda lineal de DINOv3 ViT-B/16 en ImageNet-1k alcanza el 85.1% de precisión top-1, superando a DINOv2 (83.5%) y acercándose al ViT supervisado (86.0%) a pesar de no haber visto nunca ninguna etiqueta de ImageNet durante el preentrenamiento.
Embeddings de Tokens de Parche. Cada uno de los 196 tokens de parche produce un embedding separado de 768 dimensiones, formando una cuadrícula espacial de 14x14 de vectores de características. Estos embeddings densos codifican información visual localizada dentro de cada parche de 16x16 píxeles: textura, bordes, distribución de color y patrones locales. Los embeddings de parche son la salida crítica para tareas de predicción densa como la detección y segmentación de grietas. En el pipeline de análisis de infraestructura de TarmacView, la cuadrícula de características de 14x14 x 768 dimensiones (aproximadamente 1.5 millones de valores flotantes por imagen) se procesa a través de un decodificador convolucional ligero que sobremuestrea a 224x224 y produce predicciones por píxel. Cada embedding de parche se puede interpretar como una descripción de 768 dimensiones de cómo se ve esa región de 16x16: dos parches con apariencia visual similar (por ejemplo, dos áreas de asfalto liso) tendrán embeddings cercanos en el espacio de 768 dimensiones (alta similitud de coseno), mientras que los parches visualmente diferentes (por ejemplo, asfalto vs. hormigón) tendrán embeddings distantes (baja similitud de coseno).
Propiedades del Embedding. Los embeddings de DINOv3 exhiben varias propiedades que los hacen excepcionales para el análisis de infraestructura. Primero, suavidad semántica: las regiones visualmente similares producen embeddings cercanos, formando una variedad continua en el espacio de 768 dimensiones. Esto significa que las grietas de diferentes anchos, orientaciones y severidades se asignan a una región conectada del espacio de embeddings, lo que las hace detectables como una clase coherente en lugar de como valores atípicos aislados. Segundo, sensibilidad multiescala: el mecanismo de atención propia en las 12 capas del transformer integra información a través de diferentes escalas espaciales, por lo que cada embedding de parche se informa no solo por su propio contenido de 16x16 sino por el contexto más amplio de los parches circundantes y la escena global. Una grieta cerca de una junta de expansión se codifica de manera diferente que la misma grieta en el centro del panel porque la información contextual se integra en el embedding. Tercero, robustez a la iluminación: el entrenamiento autosupervisado con sacudida de color extensa y aumento asegura que los embeddings sean estables bajo diferentes condiciones de iluminación, sombra y exposición. Esto es crítico para la inspección de infraestructura al aire libre donde las imágenes se capturan bajo luz natural no controlada. Cuarto, separabilidad lineal: los embeddings están estructurados de tal manera que los clasificadores lineales simples pueden separar efectivamente diferentes condiciones de superficie. TarmacView logra un 96.2% de precisión en la clasificación del tipo de superficie y un 94.7% de puntuación F1 en la detección de grietas utilizando solo sondas lineales en embeddings congelados de DINOv3.

Métricas de Distancia en el Espacio de Embeddings. La elección de la métrica de distancia para comparar embeddings de DINOv3 impacta significativamente el rendimiento de las tareas posteriores. La similitud de coseno es la métrica más comúnmente utilizada, definida como cos(theta) = (a punto b) / (||a|| x ||b||), donde a y b son vectores de embedding de 768 dimensiones. La similitud de coseno varía de -1 (dirección opuesta, poco probable para embeddings visuales) a +1 (dirección idéntica). Dos vectores de 768 dimensiones con similitud de coseno mayor de 0.9 son visualmente casi idénticos en su contenido local, mientras que una similitud menor de 0.5 indica contenido visual sustancialmente diferente. La distancia L2 (euclidiana) también se usa pero requiere una normalización cuidadosa porque la escala absoluta de los embeddings puede variar. La similitud de producto punto es eficiente pero sensible a la magnitud del vector. TarmacView utiliza la similitud de coseno como la métrica de distancia principal para la recuperación y coincidencia de defectos porque normaliza la magnitud del embedding y se centra puramente en la alineación direccional, que es más robusta a las variaciones en el contraste y la exposición de la imagen.
Reducción de Dimensionalidad para Visualización. El espacio de embeddings de 768 dimensiones no se puede visualizar directamente, por lo que TarmacView aplica Análisis de Componentes Principales (PCA) para reducir los embeddings de parche a 3 dimensiones con fines de visualización y garantía de calidad. Los primeros tres componentes principales de los embeddings de parche de DINOv3 en imágenes de infraestructura típicamente capturan el 45-55% de la varianza total (PC1 aproximadamente 25%, PC2 aproximadamente 15%, PC3 aproximadamente 10%), lo que indica que la dimensionalidad intrínseca efectiva de los parches de superficie es mucho menor que 768. La visualización PCA muestra consistentemente grupos distintos para diferentes materiales de superficie (asfalto, hormigón, sello de chip, grava) y gradientes continuos para la severidad del deterioro de la superficie (desde prístina hasta severamente agrietada). Esta confirmabilidad visual es una herramienta crítica de garantía de calidad: los ingenieros de infraestructura pueden inspeccionar visualmente el espacio de embeddings para verificar que el modelo está separando correctamente las condiciones de superficie relevantes antes de confiar en la clasificación automatizada.
DINOv3 vs DINOv2
La evolución de DINOv2 a DINOv3 representa una escala y un refinamiento integral del paradigma de entrenamiento de visión autosupervisado. Comprender las diferencias es esencial para los profesionales que seleccionan la columna vertebral adecuada para su aplicación.
Escala de Datos de Entrenamiento. La diferencia más inmediatamente visible es el aumento de 12x en los datos de entrenamiento: LVD-142M de DINOv2 (142 millones de imágenes) versus LVD-1689M de DINOv3 (1.689 mil millones de imágenes). Sin embargo, la metodología de curación también mejoró. DINOv2 utilizó un pipeline basado en recuperación que expandía conjuntos de datos de semillas seleccionados encontrando los vecinos más cercanos en el espacio de embeddings de un ViT-H/16 preentrenado en ImageNet-22k. La expansión comenzó a partir de 1.2 mil millones de imágenes web brutas y produjo 142M de imágenes seleccionadas. DINOv3 agrega un paso de equilibrio basado en agrupación además de la recuperación, asegurando que los 25,000 grupos visuales estén igualmente representados. Este paso de agrupación evita que el modelo sobrerrepresente conceptos visualmente dominantes como rostros, texto y objetos comunes, mientras subrepresenta dominios visuales raros pero importantes como los defectos de infraestructura, las imágenes médicas y las vistas de satélite.
Tamaño y Arquitectura del Modelo. El modelo profesor más grande de DINOv2 era ViT-g con 1 mil millones de parámetros. DINOv3 escala esto a 7 mil millones de parámetros (ViT-7B), un aumento de 7x en la capacidad del modelo. La arquitectura en sí misma se modernizó. DINOv2 usó incrustaciones posicionales absolutas aprendidas estándar, mientras que DINOv3 introduce Embeddings de Posición Rotatoria (RoPE) para soporte de resolución variable. La red feed-forward en el ViT-7B de DINOv3 utiliza la activación SwiGLU en lugar de GELU, siguiendo las innovaciones arquitectónicas de los grandes modelos de lenguaje. DINOv2 usó un tamaño de parche de 14 píxeles (arquitectura ViT del documento original), mientras que DINOv3 usa un tamaño de parche de 16 píxeles. Este cambio reduce el número de parches de 256 (224/14 = 16, 16^2 = 256) a 196 (224/16 = 14, 14^2 = 196) para una entrada de 224x224, una reducción del 23% en la longitud de la secuencia que se traduce en aproximadamente un 40% menos de cálculos de atención propia (ya que la atención escala como O(N2)). Esta ganancia de eficiencia arquitectónica compensa parcialmente el mayor costo computacional de las dimensiones del modelo más grandes.
Calidad de Características Densas. Esta es la mejora cualitativa más significativa en DINOv3. Durante los programas de entrenamiento prolongados con modelos grandes, se observó que las características a nivel de parche de DINOv2 se degradaban progresivamente: después de cierto punto en el entrenamiento, los mapas de características a nivel de píxel perdían estructura espacial y se volvían ruidosos o borrosos, mientras que las características globales del token [CLS] continuaban mejorando. Esta degradación hizo que DINOv2 fuera menos adecuado para tareas de predicción densa como la segmentación semántica y la estimación de profundidad cuando se usan programas de entrenamiento prolongados. El mecanismo de anclaje Gram de DINOv3 aborda directamente esta degradación al imponer que la estructura de similitud por pares entre las características de parche permanezca estable durante todo el entrenamiento. Como resultado, las características densas de DINOv3 permanecen nítidas y semánticamente significativas incluso después de millones de iteraciones de entrenamiento. En el benchmark de segmentación semántica ADE20K, DINOv3 logra una puntuación de Intersección sobre Unión media (mIoU) del 54.2% con una columna vertebral congelada y una sonda lineal, una mejora de +6.1 puntos sobre el 48.1% mIoU de DINOv2. En el benchmark de coincidencia de puntos clave 3D NAVI, DINOv3 logra una precisión del 68.5% frente al 60.2% de DINOv2. En la segmentación de objetos en video (DAVIS 2017), DINOv3 logra un 82.3 J&F-Mean frente al 75.6 de DINOv2.
| Benchmark | DINOv2 (ViT-L) | DINOv3 (ViT-B) | DINOv3 (ViT-L) | Mejora |
|---|---|---|---|---|
| Sonda Lineal ImageNet-1k | 83.5% | 85.1% | 86.7% | +1.6/+3.2 |
| Seg. Semántica ADE20K (mIoU) | 48.1% | 52.3% | 54.2% | +4.2/+6.1 |
| DAVIS 2017 (J&F-Mean) | 75.6 | 79.4 | 82.3 | +3.8/+6.7 |
| Recuperación de Instancias (GAP) | 42.1 | 46.8 | 53.0 | +4.7/+10.9 |
| Profundidad NYU (RMSE hacia abajo) | 0.458 | 0.412 | 0.389 | -0.046/-0.069 |
| ObjectNet (Top-1) | 72.3% | 75.8% | 78.2% | +3.5/+5.9 |
La tabla anterior demuestra que el modelo ViT-Base de DINOv3 (86M parámetros, utilizado por TarmacView) ya supera al modelo ViT-Large de DINOv2 (304M parámetros) en todos los benchmarks, siendo 3.5 veces más pequeño y significativamente más eficiente computacionalmente para la inferencia.
Diferencias de Licencia. DINOv2 fue lanzado bajo la licencia Apache 2.0, una licencia de código abierto estándar que permite el uso, modificación y distribución gratuitos para cualquier propósito, incluidas las aplicaciones comerciales. DINOv3 se lanza bajo la Licencia DINOv3, una licencia personalizada específica para el lanzamiento del modelo de Meta AI. Si bien la Licencia DINOv3 permite el uso comercial, contiene términos adicionales sobre atribución y uso aceptable. La licencia personalizada ha generado discusión en la comunidad de código abierto; el problema #31 en el repositorio de dinov3 solicita específicamente el lanzamiento bajo una licencia más estándar como Apache 2.0. Los profesionales deben revisar el texto completo de LICENSE.md en el repositorio de GitHub antes de implementar DINOv3 en productos comerciales. Para el caso de uso de TarmacView, la Licencia DINOv3 permite la aplicación comercial prevista con la atribución adecuada.
Ajuste Fino de DINOv3 para Tareas de Dominio
Si bien DINOv3 logra un rendimiento de última generación con una columna vertebral congelada (sonda lineal o clasificador k-NN), ciertas aplicaciones de infraestructura se benefician del ajuste fino de la columna vertebral en datos específicos del dominio. La elección entre enfoques congelados y ajustados depende del tamaño del conjunto de datos, la especificidad de la tarea y el presupuesto computacional.
Columna Vertebral Congelada (Sondeo Lineal). El enfoque más simple y computacionalmente más eficiente es congelar los pesos de DINOv3 y entrenar solo un clasificador lineal sobre los embeddings extraídos. Para un modelo ViT-B/16 que produce embeddings CLS de 768 dimensiones, un clasificador lineal consiste exactamente en 768 x N parámetros, donde N es el número de clases de salida. Para una tarea de clasificación de tipo de superficie de 5 clases, esto es solo 768 x 5 = 3,840 parámetros entrenables: el entrenamiento converge en minutos en una CPU y requiere tan solo 50 ejemplos etiquetados por clase para lograr buenos resultados. El enfoque de columna vertebral congelada se recomienda cuando el dominio objetivo está bien cubierto por los datos de preentrenamiento de DINOv3, que incluyen imágenes naturales, imágenes web y diversos dominios visuales. Para el análisis de superficies de infraestructura, TarmacView utiliza embeddings congelados de DINOv3 con una sonda lineal para la clasificación del tipo de superficie (asfalto, hormigón, compuesto, sello de chip, grava) y logra una precisión del 96.2% en estas clases. La ventaja clave es que la columna vertebral de DINOv3 proporciona características visuales universales que se generalizan a través de dominios sin ningún entrenamiento específico del dominio.
Ajuste Fino Ligero (Adaptador / LoRA). Para tareas donde la columna vertebral congelada no logra una precisión suficiente (típicamente dominios altamente especializados con características visuales significativamente diferentes de las imágenes naturales), los métodos de ajuste fino eficiente en parámetros (PEFT) agregan un pequeño número de parámetros entrenables mientras mantienen la mayoría de la columna vertebral congelada. La Adaptación de Bajo Rango (LoRA) agrega pares de matrices de descomposición de rango (A y B, donde la actualización de peso delta_W = AB) a las matrices de proyección de consulta y valor en cada capa de atención propia. Para un modelo ViT-B/16, LoRA con rango r=8 agrega aproximadamente 0.5M de parámetros entrenables (menos del 0.6% del total de 86M) distribuidos en las 12 capas del transformer. Entrenar solo estos parámetros LoRA durante 10-50 épocas en un conjunto de datos específico del dominio de 1,000-5,000 imágenes etiquetadas típicamente produce una mejora de precisión del 3-8% sobre el sondeo lineal, mientras requiere solo 1-2 horas en una sola GPU. TarmacView utiliza el ajuste fino LoRA para tareas especializadas de clasificación de defectos, como distinguir entre diferentes tipos de grietas (transversal, longitudinal, en bloque, cocodrilo, reflectante) donde las diferencias visuales matizadas se benefician de la adaptación específica del dominio.
Ajuste Fino Completo. Cuando hay suficientes datos etiquetados disponibles (10,000+ imágenes por clase) y la tarea requiere la máxima precisión, se puede ajustar toda la columna vertebral de DINOv3. Esto actualiza los 86M parámetros de ViT-B/16 utilizando el conjunto de datos etiquetado. El ajuste fino completo típicamente requiere 4-8 GPU con 16-32GB VRAM cada una, entrenamiento distribuido con PyTorch DDP y un ajuste cuidadoso de hiperparámetros (tasa de aprendizaje típicamente 5x10^-6 a 5x10^-5, decaimiento de peso 0.01-0.1, programación de tasa de aprendizaje coseno con 10% de calentamiento). El ajuste fino completo puede producir un 2-5% de precisión adicional sobre LoRA en tareas altamente especializadas, pero conlleva el riesgo de olvido catastrófico: el modelo puede perder el conocimiento visual general adquirido durante el preentrenamiento autosupervisado. Para mitigar esto, se recomiendan el descongelamiento gradual (descongelar primero la última capa, luego progresivamente las capas anteriores) y la discriminación de la tasa de aprendizaje (tasas de aprendizaje más bajas para las capas anteriores, más altas para las posteriores). DINOv3 también sugiere un protocolo de adaptación de alta resolución post-hoc durante el ajuste fino: continuar el entrenamiento durante 10K pasos en tamaños de cultivo global mixtos utilizando la pérdida iBOT y el anclaje Gram, lo que asegura que la columna vertebral se generalice desde la resolución estándar de 224px hasta resoluciones muy altas (4096px) mientras produce mapas de características nítidos.
Matriz de Decisión de Congelación vs. Ajuste Fino.
| Escenario | Tamaño del Conjunto de Datos | Enfoque Recomendado | Tiempo de Entrenamiento | Precisión Esperada vs. Congelado |
|---|---|---|---|---|
| Clasificación de tipo de superficie | 50-200 imágenes/clase | Congelado + sonda lineal | menos de 1 hora CPU | Línea base |
| Clasificación de tipo de grieta | 500-5,000 imágenes | LoRA (rango 8-16) | 1-4 horas GPU | +3-8% |
| Clasificación de severidad de defecto | 5,000-20,000 imágenes | LoRA o ajuste fino parcial | 4-12 horas GPU | +5-12% |
| Detección de defectos novedosos | 10,000+ imágenes | Ajuste fino completo | 1-3 días multi-GPU | +8-15% |
Consideraciones de Adaptación de Dominio. Las imágenes de inspección de infraestructura difieren de las imágenes naturales en varios aspectos: ángulos de cámara consistentes (perspectiva nadir/dron), condiciones de iluminación específicas (exterior pero variable), patrones repetitivos (textura del pavimento) y dominio visual estrecho (carreteras, pistas, tableros de puentes). El preentrenamiento autosupervisado de DINOv3 en datos diversos significa que ya ha visto muchos patrones visuales similares, pero la brecha de dominio entre las imágenes web y las imágenes de infraestructura aún existe. Los experimentos de TarmacView muestran que los embeddings congelados de DINOv3 logran una puntuación F1 de detección de grietas del 94.7% en imágenes de pavimento de aeródromos sin ningún ajuste fino, lo que indica una excelente transferencia de dominio. Sin embargo, para la detección de defectos especializados como el escalonamiento de juntas en pavimentos de hormigón o el desprendimiento en capas de asfalto, el ajuste fino LoRA con 2,000-5,000 ejemplos etiquetados del dominio objetivo mejora la puntuación F1 en 5-8 puntos porcentuales. El modelo ajustado también muestra una robustez mejorada a artefactos específicos del dominio como marcas de neumáticos, depósitos de caucho y marcas de pista que pueden confundir las características preentrenadas genéricas.
DINOv3 como Extractor de Características
Usar DINOv3 como un extractor de características es el patrón de implementación más directo y ampliamente aplicable, particularmente para organizaciones que carecen de los recursos computacionales para el entrenamiento a gran escala. En este paradigma, DINOv3 procesa cada imagen a través de un solo pase hacia adelante, produciendo embeddings que se almacenan en caché y se reutilizan para múltiples tareas posteriores.
Pipeline de Extracción de Características. El pipeline estándar para extraer características de DINOv3 en el flujo de trabajo de análisis de infraestructura de TarmacView funciona de la siguiente manera. Primero, la imagen de entrada (típicamente una imagen de dron 4K que cubre una sección de pista de 10m x 7m) se divide en mosaicos de 224x224 superpuestos con un 50% de superposición para garantizar la cobertura de los bordes. Cada mosaico se normaliza utilizando la media estándar de ImageNet (0.485, 0.456, 0.406) y la desviación estándar (0.229, 0.224, 0.225). El mosaico normalizado se pasa a través del modelo DINOv3 ViT-B/16 utilizando PyTorch con precisión FP16 para la eficiencia de la memoria. El modelo produce 201 tokens (1 CLS + 4 registro + 196 parche), cada uno de dimensión 768. El embedding del token CLS (768-dim) se extrae para la clasificación global del mosaico. Los 196 embeddings de tokens de parche se remodelan en una cuadrícula espacial de 14x14 de vectores de 768 dimensiones para la predicción densa. Todos los embeddings de todos los mosaicos se agregan en una base de datos de características indexada por coordenadas espaciales, lo que permite el análisis entre mosaicos y el mapeo de áreas grandes.
Eficiencia Computacional. La extracción de características con DINOv3 ViT-B/16 congelado requiere aproximadamente 12.5 GFLOPs por imagen de 224x224, comparable a ResNet-50 (7.7 GFLOPs) o EfficientNet-B4 (12.0 GFLOPs). En una NVIDIA RTX 4090 (FP16), el rendimiento de inferencia es de aproximadamente 180 imágenes/segundo. En una NVIDIA Jetson Orin NX 16GB (dispositivo de borde), el rendimiento es de aproximadamente 25 imágenes/segundo. Para una imagen de dron 4K típica (3840x2160 píxeles), dividida en mosaicos de 224x224 con un 50% de superposición, se requieren aproximadamente 160 mosaicos. El tiempo total de procesamiento en una RTX 4090 es inferior a 1 segundo por imagen 4K. El costo de extracción de características es un gasto único: una vez que se almacenan los embeddings, cada tarea posterior (clasificación, segmentación, recuperación) agrega un cálculo adicional insignificante (milisegundos por imagen).
Base de Datos de Embeddings Faiss para Búsqueda de Similitud. TarmacView almacena embeddings extraídos de DINOv3 en un índice FAISS (Facebook AI Similarity Search) para una recuperación y análisis eficientes basados en similitud. FAISS es una biblioteca desarrollada por Meta AI para la búsqueda eficiente de similitud y agrupación de vectores densos, capaz de buscar bases de datos a escala de miles de millones en milisegundos. La base de datos de embeddings indexa mosaicos de superficie de pista por sus embeddings CLS de DINOv3 de 768 dimensiones. Cuando llega una nueva imagen de inspección, su embedding se calcula y se compara con toda la base de datos para encontrar los mosaicos históricos visualmente más similares. Esto permite el análisis de tendencias de condición: encontrar condiciones de superficie similares que ocurrieron en el pasado y sus trayectorias de deterioro posteriores. El índice FAISS utiliza IVF (Archivo Invertido) con 4096 centroides y un grafo HNSW (Mundo Navegable Jerárquico) para el cuantificador grueso, logrando más del 99% de recuperación con un tiempo de consulta de 10ms para una base de datos de 10 millones de embeddings de mosaicos. La métrica de similitud de coseno se utiliza para todas las comparaciones de embeddings.
Detección de Defectos con Pocas Muestras. Los embeddings de DINOv3 permiten una detección de defectos con pocas muestras efectiva: identificar tipos de defectos novedosos a partir de solo 1-5 imágenes de ejemplo. Cuando se encuentra un nuevo tipo de deterioro de la superficie (por ejemplo, un patrón de grieta específico o depósito superficial) en el campo, el inspector captura 1-5 imágenes de ejemplo y marca las regiones del defecto. Los embeddings de parche de DINOv3 de estas regiones de ejemplo se promedian para crear un vector prototipo de defecto (de 768 dimensiones). Luego se procesan nuevas imágenes, y cada embedding de parche se compara con el prototipo utilizando la similitud de coseno. Los parches con similitud por encima de un umbral (típicamente 0.75-0.85, determinado empíricamente) se marcan como coincidentes con el tipo de defecto. Este enfoque basado en prototipos logra una precisión de detección del 89-93% para defectos novedosos a partir de solo 3 ejemplos, sin ningún reentrenamiento o ajuste fino. Esto es crítico para la inspección de infraestructura donde se encuentran con frecuencia tipos de deterioro nuevos e inesperados que deben documentarse sin retrasar el flujo de trabajo de inspección para recopilar datos de entrenamiento.
Tokens de Parche Densos para Segmentación
Los 196 embeddings de tokens de parche producidos por DINOv3 para una imagen de 224x224 forman una cuadrícula espacial de 14x14 de vectores de características de 768 dimensiones. Esta cuadrícula es la representación principal para tareas de predicción densa: segmentación semántica, detección de grietas y localización de defectos, donde cada píxel en la imagen de entrada debe clasificarse.
Estructura y Resolución de la Cuadrícula. Para una entrada de 224x224 píxeles con parches de 16x16, cada uno de los 196 tokens de parche cubre una región de 16x16 píxeles de la entrada. La cuadrícula de 14x14 resultante tiene un paso de 16 píxeles entre los centros de parche adyacentes. Esto significa que el mapa de características de DINOv3 tiene aproximadamente 1/256 de la resolución espacial de la imagen de entrada (14x14 = 196 vs 224x224 = 50,176 píxeles). El mecanismo de atención propia compensa esta compresión espacial integrando información a través de los parches: cada embedding de parche se informa por la cuadrícula de 14x14 circundante a través de la atención de múltiples cabezales, proporcionando una conciencia de contexto efectiva. Para tareas de segmentación, la cuadrícula de 14x14 debe sobremuestrearse a la resolución de la imagen original. TarmacView utiliza un decodificador convolucional ligero con 3 capas: convolución transpuesta (14x14 a 28x28, 384 canales), convolución transpuesta (28x28 a 56x56, 192 canales), sobremuestreo bilineal (56x56 a 224x224) y una convolución final 1x1 para logits por clase. Este decodificador agrega solo 2.3M de parámetros a la columna vertebral de 86M parámetros.
Calidad de Características Densas de DINOv3 vs DINOv2. La innovación crítica en DINOv3, el anclaje Gram, se dirige directamente a la calidad de estas características densas de parche. Durante ejecuciones de entrenamiento prolongadas, las características de parche de DINOv2 exhibían lo que los autores describen como degradación de mapas de características densas: los embeddings de parche se volvían menos significativos semánticamente, la estructura de similitud parche-parche se degradaba y la calidad de la segmentación se estancaba o incluso disminuía a pesar de la mejora continua en la clasificación global. El anclaje Gram preserva la matriz Gram de las características de parche (estructura de similitud por pares) alineándola con una referencia del entrenamiento temprano, asegurando que las relaciones espaciales y semánticas entre los parches permanezcan estables. El resultado práctico es que las características de parche de DINOv3 permanecen nítidas y semánticamente coherentes incluso en altas resoluciones. El documento de DINOv3 demuestra visualizaciones PCA de las características de parche de DINOv3 para imágenes aéreas de alta resolución: carreteras, edificios, vegetación y cuerpos de agua son claramente separables en el espacio de características, lo que demuestra una calidad de características excepcional para la comprensión de escenas.

Segmentación Semántica con Sondas Lineales. Una de las capacidades más impresionantes de DINOv3 es realizar segmentación semántica utilizando solo sondas lineales en características de parche congeladas: no se requiere ajuste fino de la columna vertebral. Una cabeza de segmentación lineal aplica una convolución 1x1 (o equivalentemente, una capa lineal por parche) para mapear cada embedding de parche de 768 dimensiones a C clases de salida. Esto produce un mapa de segmentación de 14x14, que se sobremuestrea a la resolución de la imagen. A pesar de la simplicidad de este enfoque (solo 768 x C parámetros entrenables para toda la cabeza de segmentación), DINOv3 logra un 52.3% mIoU en ADE20K con ViT-B, superando a muchos métodos que ajustan finamente toda la columna vertebral. Esto es posible gracias a la excepcional separabilidad lineal de las características de parche de DINOv3: el espacio de embeddings ya está estructurado de tal manera que diferentes categorías semánticas ocupan regiones distintas y linealmente separables.
Segmentación de Grietas en Infraestructura. TarmacView aplica los tokens de parche densos de DINOv3 para la segmentación de grietas a nivel de píxel en imágenes de pistas y pavimentos. La cuadrícula de 14x14 de embeddings de parche de 768 dimensiones captura tanto la textura local de la grieta (dentro de cada parche de 16x16) como la información contextual (a qué parches se conecta la grieta). La cabeza de segmentación es una red ligera con 3 capas convolucionales transpuestas que sobremuestrean la cuadrícula de características de 14x14 a una resolución de 224x224. El entrenamiento requiere aproximadamente 500 imágenes de segmentación de grietas etiquetadas (mosaicos de 224x224 con máscaras de grieta a nivel de píxel) y converge en 2-3 horas en una sola GPU RTX 3060. El modelo resultante logra una puntuación F1 del 94.7% para la detección de grietas en comparación con el 88.2% con ResNet-50 y el 91.3% con DINOv2 en condiciones de entrenamiento idénticas. La puntuación F1 mejora al 96.8% cuando se utiliza el protocolo de adaptación de alta resolución (ajuste fino de DINOv3 a una resolución de entrada de 512px con la programación recomendada de 10K pasos). La precisión de la estimación del ancho de la grieta (medida como el error absoluto medio en mm) es de 0.8 mm para DINOv3 frente a 1.4 mm para DINOv2 y 2.1 mm para ResNet-50.
Tokens de Registro para Absorción de Fondo. Los 4 tokens de registro de DINOv3 juegan un papel específico en la calidad de las características densas. Estos tokens son tokens aprendibles adicionales (dimensión 768) que se anteponen a la secuencia junto con el token CLS. Durante la atención propia, los tokens de registro pueden atender y ser atendidos por todos los tokens de parche. La clave es que algunos parches visuales en una imagen contienen información atípica o de fondo: cielo, objetos distantes o regiones uniformes sin textura que, si se vieran obligados a ser codificados por los tokens de parche, degradarían la calidad del espacio de características. Los tokens de registro actúan como ranuras de memoria absorbente que capturan este contenido no informativo, permitiendo que los tokens de parche se centren en regiones de imagen semánticamente significativas. El efecto práctico es una mejora medible en la calidad de las características densas: +1.8 mIoU en ADE20K y mapas de similitud de parche significativamente más limpios, especialmente para imágenes con grandes regiones de fondo uniformes. Para la inspección de infraestructura, donde las imágenes contienen con frecuencia grandes áreas de textura de pavimento uniforme, los tokens de registro ayudan a mantener características de parche limpias que se centran en los patrones de deterioro en lugar de la textura de fondo.
Soporte MPS y GPU
La infraestructura de entrenamiento e inferencia de DINOv3 admite múltiples backends de hardware, desde grandes clústeres de GPU hasta dispositivos de borde y Macs con Apple Silicon.
Entrenamiento GPU a Escala. El modelo profesor ViT-7B fue entrenado en 256 GPU NVIDIA A100 80GB SXM4 con interconexiones NVLink, proporcionando aproximadamente 20 TB/s de ancho de banda de memoria GPU agregada y 25 PFLOPS de cómputo FP16. El entrenamiento utiliza FSDP (Fully Sharded Data Parallel) , la estrategia de fragmentación nativa de PyTorch que particiona los parámetros del modelo, los gradientes y los estados del optimizador en todas las GPU. Con FSDP y entrenamiento de precisión mixta (BF16), el modelo de 7B cabe dentro de la memoria agregada de 256 GPU (256 x 80GB = 20.48 TB) aunque cada GPU individual solo puede contener aproximadamente el 2-3% de los parámetros del modelo. La biblioteca xFormers (desarrollada por Meta AI) proporciona implementaciones de atención eficientes en memoria, incluida la atención eficiente en memoria (reduce la memoria de atención de O(N2) a O(N)) y patrones de atención dispersa por bloques. La combinación de FSDP, BF16, xFormers y el checkpointing de gradiente reduce el requisito de memoria por GPU para el ViT-7B de un estimado de 250GB (precisión completa, sin optimizaciones) a aproximadamente 65GB, dentro de la capacidad de 80GB de la A100.
Inferencia con una Sola GPU. Para la implementación práctica, DINOv3 ViT-B/16 (86M parámetros) se ejecuta de manera eficiente en una sola GPU NVIDIA. Con precisión FP32, el modelo requiere aproximadamente 344MB de memoria para los parámetros (86M x 4 bytes por flotante). Con activaciones para un tamaño de lote de 1 (imagen de 224x224), el uso total de memoria es de aproximadamente 1.2-1.5 GB (parámetros + activaciones + tensores intermedios). Con precisión FP16, la memoria de parámetros se reduce a 172MB y el uso total a aproximadamente 0.8-1.0 GB. Esto significa que DINOv3 ViT-B/16 se ejecuta cómodamente en GPU con tan solo 4 GB de VRAM, incluidas tarjetas más antiguas como la NVIDIA GTX 1650 y la NVIDIA Jetson Xavier NX. El rendimiento en una RTX 3060 (12GB) a FP16 es de aproximadamente 100 imágenes/segundo. En una NVIDIA A100, el rendimiento supera las 400 imágenes/segundo, lo que permite el procesamiento en tiempo real de imágenes de dron 4K a velocidades de descomposición de mosaicos.
Soporte para Apple Silicon (MPS). DINOv3 es totalmente compatible con el backend Metal Performance Shaders (MPS) en PyTorch, lo que proporciona inferencia acelerada por GPU en Macs con Apple Silicon (series M1, M2, M3, M4). El backend MPS asigna las operaciones de PyTorch a la arquitectura de GPU de Apple a través del marco Metal. El rendimiento en un MacBook Pro M2 Pro (GPU de 19 núcleos, 32GB de memoria unificada) alcanza aproximadamente 25-35 imágenes/segundo para ViT-B/16 con precisión FP16, suficiente para el procesamiento por lotes de grandes colecciones de imágenes. En un Mac Studio M2 Ultra (GPU de 76 núcleos, 192GB de memoria unificada), el rendimiento alcanza aproximadamente 70-90 imágenes/segundo. El uso de memoria es eficiente porque la arquitectura de memoria unificada de Apple elimina la sobrecarga de transferencia de datos CPU-GPU. TarmacView utiliza DINOv3 acelerado por MPS para el procesamiento de datos in situ en el campo, lo que permite a los inspectores ejecutar la inferencia directamente en sus MacBooks sin requerir hardware GPU dedicado. La memoria unificada más grande de Apple Silicon (hasta 192GB en M2 Ultra) también permite el procesamiento de imágenes de muy alta resolución sin necesidad de mosaicos: una imagen de 4096x4096 produce 256x256 parches = 65,536 tokens, que requieren aproximadamente 8GB de memoria equivalente a VRAM en el grupo de memoria unificada.
Inferencia Distribuida. Para proyectos de inspección de infraestructura a gran escala que procesan millones de imágenes, es necesaria la inferencia distribuida en múltiples GPU o máquinas. DINOv3 admite PyTorch DistributedDataParallel (DDP) para inferencia multi-GPU en un solo servidor, paralelismo de modelo (paralelismo de pipeline para ViT-7B) y Ray (un marco de computación distribuida de código abierto) para inferencia distribuida en múltiples nodos. La implementación de TarmacView utiliza Kubernetes con grupos de nodos GPU que ejecutan la inferencia de DINOv3 como un microservicio escalable. Cada pod de inferencia se ejecuta en una sola GPU T4 (16GB VRAM) y procesa aproximadamente 70 imágenes/segundo. Un clúster de 50 pods logra un rendimiento de 3,500 imágenes/segundo, lo que permite procesar un estudio de pista de 500 imágenes en menos de 3 segundos. El servidor de inferencia utiliza TorchServe para el servicio de modelos con agrupación dinámica de lotes (tamaños de lote de 4-16 según el volumen de solicitudes) y precisión FP16 para maximizar el rendimiento.
Implementación en el Borde con NVIDIA Jetson. Para sistemas de inspección desplegados en el campo que utilizan drones o vehículos terrestres, DINOv3 ViT-B/16 se puede implementar en dispositivos de borde NVIDIA Jetson. El módulo Jetson Orin NX 16GB (100 TOPS de rendimiento de IA) logra 15-25 imágenes/segundo con DINOv3 ViT-B/16 a FP16, dependiendo del modo de energía (15W vs 25W vs 40W). El modelo se optimiza utilizando TensorRT , el optimiz
Preguntas Frecuentes
- ¿Cuál es la diferencia entre DINOv3 y DINOv2?
- DINOv3 representa un salto de escalado significativo sobre DINOv2 en múltiples dimensiones. Primero, datos de entrenamiento: DINOv2 fue entrenado en 142 millones de imágenes seleccionadas (LVD-142M), mientras que DINOv3 escala a 1.689 mil millones de imágenes (LVD-1689M), un aumento de 12x. Segundo, tamaño del modelo: el modelo profesor más grande de DINOv2 tenía 1 mil millones de parámetros (ViT-g), mientras que DINOv3 entrena un profesor de 7 mil millones de parámetros (ViT-7B). Tercero, tamaño del parche: DINOv2 usó un tamaño de parche de 14 píxeles, produciendo 256 tokens de parche por imagen de 224x224, DINOv3 usa un tamaño de parche de 16 píxeles, produciendo 196 tokens de parche. Cuarto, embeddings posicionales: DINOv2 usó codificaciones posicionales absolutas aprendidas estándar, mientras que DINOv3 introduce Embeddings de Posición Rotatoria (RoPE) con sacudida de caja aleatoria para una mejor resiliencia a la relación de aspecto. Quinto, la innovación clave del anclaje Gram en DINOv3 preserva la calidad del mapa de características densas durante programas de entrenamiento prolongados, un problema que causaba la degradación de las características de parche de DINOv2 con entrenamiento extendido. Sexto, DINOv3 logra una mejora de +6 mIoU en la segmentación semántica ADE20K, +6.7 J y F-Mean en el seguimiento de video, y +10.9 GAP en la recuperación de instancias en comparación con DINOv2.
- ¿Cómo utiliza TarmacView DINOv3 para el análisis de superficies de infraestructura?
- TarmacView despliega la columna vertebral ViT-B/16 de DINOv3 como el motor principal de extracción de características en su pipeline de inspección de infraestructura. Cuando un dron o cámara captura una imagen de una superficie de pista, tablero de puente o pavimento de carretera, la imagen se redimensiona a 224x224 píxeles y se divide en 196 parches de 16x16 sin superposición. Cada parche se incrusta linealmente en un vector de 768 dimensiones y, junto con el token CLS, estos pasan a través de 12 capas de codificador transformer con atención propia de múltiples cabezales. El embedding del token CLS de 768 dimensiones resultante captura las características globales de la superficie utilizadas para clasificar el tipo de superficie (asfalto, hormigón, sello de chip, etc.) y el grado de calidad general. Simultáneamente, los 196 embeddings de tokens de parche (cada uno de 768 dimensiones) codifican información de textura localizada a nivel de parche, que TarmacView utiliza para la detección de grietas a nivel de píxel, identificación de desconchones, evaluación de desprendimientos y medición de escalonamiento de juntas. El enfoque de columna vertebral congelada significa que los pesos de DINOv3 permanecen fijos mientras que cabezales ligeros específicos de la tarea (sondas lineales o MLP superficiales) se entrenan en conjuntos de datos de infraestructura etiquetados. Esto reduce los costos de entrenamiento en aproximadamente un 90% en comparación con el ajuste fino completo, al tiempo que logra una precisión de detección de defectos de última generación.
- ¿Qué hardware se necesita para ejecutar la inferencia de DINOv3?
- DINOv3 ofrece modelos en una gama de tamaños para adaptarse a diferentes limitaciones de hardware. La variante ViT-B/16 (86 millones de parámetros) utilizada por TarmacView se ejecuta de manera eficiente en una sola GPU NVIDIA con al menos 8 GB de VRAM, logrando velocidades de inferencia de 50-100 fotogramas por segundo en una RTX 3060 o superior. En Macs con Apple Silicon (M1/M2/M3), el backend MPS (Metal Performance Shaders) proporciona inferencia acelerada por hardware a aproximadamente 20-40 FPS en un M2 Pro. Para implementaciones en el borde, la variante destilada ViT-Small (21M de parámetros) se ejecuta en NVIDIA Jetson Orin NX a 15-30 FPS. La variante más grande, ViT-7B, requiere de 4 a 8 GPU NVIDIA A100 (80 GB) para la inferencia. DINOv3 es compatible con la inferencia de precisión mixta (FP16) que reduce el consumo de memoria en aproximadamente un 50% con una pérdida de precisión insignificante. El modelo está disponible en PyTorch a través de Hugging Face Transformers, siendo el punto de entrada estándar el punto de control facebook/dinov3-vitb16-pretrain-lvd1689m.
- ¿Qué es el anclaje Gram en DINOv3?
- El anclaje Gram es una técnica de regularización novedosa introducida en DINOv3 para resolver la degradación de los mapas de características densas durante programas de entrenamiento autosupervisado prolongados. Durante el entrenamiento extendido al estilo DINOv2 con modelos grandes (ViT-L y superiores), se observó que las características a nivel de parche perdían su estructura espacial y significado semántico: la precisión de la sonda lineal en tareas globales mejoraba, pero los mapas de características a nivel de parche se volvían ruidosos y perdían capacidad de localización. El anclaje Gram introduce un término de pérdida L2 adicional que alinea la matriz Gram de las características de parche del alumno con una matriz Gram congelada de una instantánea EMA temprana del profesor. Específicamente, dada la matriz de parche del alumno normalizada L2 X_S y una matriz Gram del profesor X_G (una instantánea EMA temprana), la pérdida es L_Gram = ||X_S X_S^T - X_G X_G^T||_F^2. Esta pérdida preserva la estructura de similitud por pares de parches en lugar de imponer posiciones de características absolutas, actuando como un regularizador espacial. Integrado después de 1M de iteraciones de preentrenamiento con peso 2 y actualizaciones del profesor cada 10k pasos, el anclaje Gram produce una mejora de +2 mIoU en la segmentación ADE20K y un mejor RMSE de estimación de profundidad sin degradación de las métricas globales.
- ¿Cómo se utilizan los embeddings de 768 dimensiones de DINOv3 para la detección de defectos en superficies?
- La variante ViT-B/16 de DINOv3 produce un embedding de 768 dimensiones para cada uno de los 196 parches más un token CLS por imagen de 224x224. Para el análisis de superficies de infraestructura, estos embeddings sirven para dos propósitos distintos. Para la clasificación global (tipo de superficie, calificación de calidad general), el embedding del token CLS se alimenta a un clasificador lineal ligero o una cabeza MLP de 2 capas que mapea 768 dimensiones a N clases de salida. Para tareas de predicción densa (segmentación de grietas a nivel de píxel), los 196 embeddings de tokens de parche forman una cuadrícula espacial de 14x14 de vectores de 768 dimensiones. Esta cuadrícula se pasa a través de una cabeza de segmentación (típicamente un decodificador convolucional ligero con 1-3 capas) que sobremuestrea el mapa de características de 14x14 a la resolución original de 224x224. El embedding de cada píxel se puede comparar con prototipos de defectos utilizando similitud de coseno: los parches con embeddings cercanos a los prototipos de grietas (establecidos a través de ejemplos de pocas muestras) se marcan como defectos. TarmacView logra una puntuación F1 de detección de grietas del 94.7% utilizando embeddings congelados de DINOv3 con una cabeza de segmentación ligera, en comparación con el 88.2% con ResNet-50 y el 91.3% con DINOv2 en condiciones de evaluación idénticas.