Modelos y plataformas de IA
TinySAM: Empujando los límites para el modelo de segmentación de cualquier cosa
La segmentación de objetos es un campo fundamental y crítico en la visión por computadora moderna. Desempeña un papel vital en aplicaciones que requieren componentes visuales extensos, como la localización y la identificación de objetos, y exige una segmentación rápida, precisa y en tiempo real. Esta importancia ha convertido a la segmentación de objetos en un tema de investigación constante, con un trabajo significativo realizado en áreas como la segmentación de instancias, la segmentación semántica y la segmentación panóptica.
Con la evolución de la segmentación de objetos, el Modelo de Segmentación de Cualquier Cosa (SAM) ha surgido como una herramienta notable, demostrando capacidades de segmentación destacadas y siendo rápidamente adoptado en diversas aplicaciones de visión por computadora. Los marcos que utilizan una arquitectura SAM preentrenada han logrado un rendimiento impresionante en tareas de visión downstream. Sin embargo, a pesar de sus capacidades y alta precisión en tareas de segmentación, la arquitectura compleja y pesada de SAM requiere una cantidad sustancial de poder computacional, lo que obstaculiza su implementación en dispositivos con recursos computacionales limitados.
Para abordar los desafíos computacionales de SAM, los investigadores han desarrollado el Modelo de Segmentación de Cualquier Cosa Pequeño (TinySAM), que conserva el rendimiento de cero disparos del marco original y es más ligero. TinySAM utiliza un método de destilación de conocimientos de etapa completa con muestras de prompts difíciles en línea para crear un modelo de estudiante más eficiente. La cuantificación posterior al entrenamiento adaptada a tareas de segmentación con prompts adicionales reduce aún más las necesidades computacionales. Además, el diseño de TinySAM apunta a la segmentación jerárquica, lo que casi duplica la velocidad de inferencia sin comprometer el rendimiento.
Este artículo se adentra en el marco de TinySAM, explorando sus principios fundamentales, arquitectura y rendimiento en comparación con otros marcos de segmentación de estado del arte. Analicemos estos aspectos con más detalle.
TinySAM: Modelo de Segmentación Eficiente de Cualquier Cosa
El Modelo de Segmentación de Cualquier Cosa ha contribuido al progreso rápido de varias aplicaciones de visión por computadora debido a sus notables capacidades de segmentación, combinadas con un conjunto de datos de segmentación masivo que alberga más de 11 millones de imágenes y más de mil millones de máscaras de imagen. Debido a su rendimiento excepcional en tareas de segmentación de objetos con categorías y formas arbitrarias, sirve como base para marcos que realizan tareas downstream como la inpainting de imágenes, el seguimiento de objetos, la visión 3D y más. Además, el Modelo de Segmentación de Cualquier Cosa también ofrece un rendimiento de segmentación de cero disparos notable que ha beneficiado a industrias sensibles que trabajan con una cantidad limitada de datos, incluidas las industrias de investigación y imagen médica.
Aunque no se puede cuestionar las notables capacidades de segmentación ofrecidas por el Modelo de Segmentación de Cualquier Cosa en una amplia gama de tareas de visión downstream, tiene su parte negativa en términos de sobrecarga arquitectónica compleja, altos requisitos computacionales y costos operativos significativos. Para un sistema que ejecuta una GPU moderna, el tiempo de inferencia de un modelo SAM puede ser tan alto como 2 segundos para una imagen de 1024×1024. Como resultado, es una tarea muy difícil implementar aplicaciones SAM en dispositivos con recursos computacionales limitados. Para superar este obstáculo, trabajos recientes como MobileSAM y FastSAM han intentado desarrollar un modelo SAM con mayor eficiencia computacional. El marco MobileSAM intenta reemplazar el componente pesado en el codificador de imágenes con la arquitectura del marco TinyViT, mientras que el modelo FastSAM transfiere la tarea de segmentación a una tarea de segmentación de instancias con solo una categoría con el modelo YoloV8. Aunque estos métodos lograron algún nivel de éxito en términos de reducir los requisitos computacionales, no pudieron mantener el rendimiento, especialmente en tareas de cero disparos downstream.
TinySAM o el Modelo de Segmentación de Cualquier Cosa Pequeño es un intento de reducir los requisitos computacionales del modelo SAM actual sin obstaculizar el rendimiento en tareas de cero disparos downstream. Además, el marco de TinySAM propone implementar un método de destilación de conocimientos de etapa completa en su arquitectura con el objetivo de mejorar la capacidad de la red de estudiante compacta. El marco de TinySAM destila la red de estudiante de manera end-to-end bajo la supervisión de la red de maestros desde diferentes etapas. Para mejorar aún más el rendimiento, el marco permite que el proceso de destilación se centre más en ejemplos difíciles al implementar una estrategia de muestreo de prompts difíciles en línea. Además, para reducir aún más los costos computacionales, el marco de TinySAM expone las tareas de segmentación con prompts a componentes de cuantificación posterior al entrenamiento.
La mayor parte de los requisitos computacionales de un Modelo de Segmentación de Cualquier Cosa se debe a que el modelo genera máscaras masivas desde los puntos de la cuadrícula para segmentar todo en la imagen. Para superar los requisitos computacionales de esta estrategia de segmentación, el marco de TinySAM emplea una estrategia de segmentación jerárquica que casi duplica la velocidad de inferencia sin comprometer el rendimiento. Con estos métodos empleados en su arquitectura, el marco de TinySAM ofrece una reducción significativa en los requisitos computacionales y establece nuevos límites para tareas de segmentación eficientes.
TinySAM: Arquitectura y Metodología
Antes de hablar sobre la arquitectura y la metodología del marco de TinySAM, es importante tener una visión general de su predecesor, el marco SAM. Desde su introducción, el Modelo de Segmentación de Cualquier Cosa ha demostrado un rendimiento notable, versatilidad y capacidades de generalización en una amplia gama de tareas de visión y segmentación de objetos.
En su núcleo, el modelo SAM consiste en tres subredes: el codificador de prompts, el codificador de imágenes y el decodificador de máscaras. El objetivo principal del codificador de prompts es codificar máscaras de forma arbitraria, puntos de entrada y cajas, y texto libre con información de posición. El codificador de imágenes es una red pesada basada en el transformador de visión que extrae la imagen de entrada en incrustaciones. El modelo utiliza redes diferentes para procesar los prompts geométricos y de texto. Finalmente, el decodificador de máscaras contiene un transformador de dos vías que recibe la salida del codificador de prompts y el codificador de imágenes para generar la predicción final de la máscara. Con el conjunto de datos, el marco SAM demuestra capacidades de segmentación de alta calidad para objetos independientemente de su forma y categoría. Además, el Modelo de Segmentación de Cualquier Cosa demuestra un rendimiento notable y eficiencia en tareas de visión downstream de cero disparos, incluyendo la propuesta de objetos, la detección de bordes, la predicción de máscaras de texto y la segmentación de instancias. Debido a sus capacidades de segmentación de alta calidad y ofertas de prompts flexibles, los marcos SAM forman la base para aplicaciones de visión. Con eso dicho, no se puede ignorar el alto requisito computacional de la arquitectura SAM tradicional con un gran número de parámetros que lo hace casi imposible para los desarrolladores implementar aplicaciones basadas en SAM en dispositivos con recursos limitados.
Destilación de Conocimientos
La destilación de conocimientos es un enfoque importante para mejorar el rendimiento de las redes compactas durante la fase de entrenamiento. El método de destilación de conocimientos que utiliza la salida de la red de maestros para supervisar el entrenamiento de la red de estudiante ligera. El método de destilación de conocimientos se puede dividir en dos subcategorías: destilación para características intermedias y destilación para salidas de red, con la mayoría de los trabajos de investigación sobre destilación de conocimientos centrados en tareas de clasificación de imágenes.
Con eso dicho, la siguiente figura demuestra la arquitectura genérica del marco de TinySAM junto con la visión general del rendimiento en tareas de segmentación de instancias de cero disparos.

En la primera etapa, el marco de TinySAM implementa la destilación de conocimientos diseñada específicamente para el marco SAM, y para activar el proceso de destilación aún más, el modelo utiliza un muestreo de prompts difíciles en línea para extraer el conocimiento difícil a la red de estudiante desde la red de maestros. En la segunda etapa, el marco de TinySAM adapta el método de cuantificación posterior al entrenamiento a tareas de segmentación con prompts y lo implementa en la red de estudiante ligera. Finalmente, el modelo implementa el modo de inferencia de segmentación jerárquica diseñado para tareas de segmentación, lo que resulta en una duplicación de la velocidad de inferencia con una pérdida de precisión negligible.
Destilación de Conocimientos de Etapa Completa
Como se mencionó anteriormente, el Modelo de Segmentación de Cualquier Cosa consiste en tres subredes en su núcleo: el codificador de prompts, el codificador de imágenes y el decodificador de máscaras, con el componente del codificador de imágenes construido sobre un transformador de visión y teniendo altos requisitos computacionales. Para abordar este problema, el marco MobileSAM reemplazó el transformador de visión con un TinyViT o un transformador de visión pequeño, aunque el reemplazo no fue efectivo dado el significativo decayo del rendimiento. Para asegurar que no haya decayo del rendimiento, el marco de TinySAM implementa un método de destilación de conocimientos de etapa completa que guía al codificador de imágenes ligero desde el nivel de aprendizaje hasta el nivel de conocimiento múltiple. Además de la pérdida convencional entre las etiquetas de verdad y los resultados predichos, el marco de TinySAM introduce numerosas pérdidas de destilación durante diferentes etapas, como se muestra en la siguiente figura.

Cuantización
La cuantificación del modelo es un enfoque popular en los marcos de visión por computadora y se utiliza para comprimir el modelo cuantizando pesos o activaciones desde una banda más alta hasta una banda más baja en un intento de reducir la complejidad computacional y los requisitos de almacenamiento sin degradar significativamente la calidad de salida.
El objetivo principal de la cuantificación en TinySAM es proyectar el tensor de punto flotante al tensor de enteros con un factor de escala, con la métrica para medir la distancia entre la multiplicación de matrices y la matriz cuantificada jugando un papel vital para optimizar el factor de escala.
Segmentación Jerárquica de Cualquier Cosa
El Modelo de Segmentación de Cualquier Cosa propone utilizar un generador de máscaras automático que muestrea puntos como una cuadrícula para segmentar todo en la imagen. Sin embargo, se ha indicado que el uso de una cuadrícula de puntos densa resulta en salidas de segmentación muy detalladas y el proceso requiere requisitos computacionales masivos y genera altos costos operativos. Además, por un lado, demasiados puntos de muestreo para un objeto completo pueden resultar en secciones diferentes del objeto segmentadas incorrectamente como máscaras separadas, mientras que por otro lado, el costo de tiempo de la inferencia del modo de cualquier cosa es principalmente debido a que el codificador de imágenes se ha reducido significativamente. Para reducir el costo operativo del modo de cualquier cosa, el marco de TinySAM utiliza un enfoque de generación de máscaras jerárquica, con la diferencia en la estrategia con el marco SAM original demostrada en la siguiente imagen.

Diferente del enfoque implementado en el marco SAM original, el modelo TinySAM utiliza solo 25% de los puntos en cada lado, lo que utiliza solo 1/16 de los puntos disponibles en la configuración original. El modelo entonces infiere el decodificador de máscaras y el codificador de prompts con estos prompts y obtiene la salida. El modelo luego filtra algunas máscaras con confianza que excede un umbral determinado y mascara las ubicaciones correspondientes como áreas para posibles predicciones finales. Dado que el modelo trata estas regiones como el resultado de segmentación de instancias con alta confianza, no tiene necesidad de generar prompts de puntos. La estrategia no solo ayuda a prevenir la segmentación muy detallada del objeto, sino que también ayuda a reducir significativamente los costos operativos y los requisitos computacionales. El marco luego combina y procesa los resultados de estas dos rondas para obtener las máscaras finales.
TinySAM: Experimentos y Resultados
Para acelerar el proceso de destilación, el marco de TinySAM calcula y almacena las incrustaciones de imágenes desde la red de maestros con anticipación, debido a lo cual ya no es obligatorio para el modelo calcular el codificador de imágenes pesado de la red de maestros repetidamente durante la fase de entrenamiento. Para la cuantificación posterior al entrenamiento, el marco de TinySAM cuantifica todas las capas de multiplicación de matrices, las capas de convolución, las capas de desconvolución y las capas lineales, con el modelo utilizando factores de escala de canal para las capas de convolución y desconvolución. Para las capas de multiplicación de matrices, el modelo implementa factores de escala de cabeza, mientras que para las capas lineales, el modelo implementa factores de escala lineales. El modelo también realiza una evaluación en tareas downstream de cero disparos.
Para tareas de segmentación de instancias en un entorno de cero disparos, el marco de TinySAM sigue la configuración experimental de su predecesor, el Modelo de Segmentación de Cualquier Cosa, y utiliza los resultados de detección de objetos del marco VitDet-H para la segmentación de instancias. Como se demuestra en la siguiente imagen, el marco de TinySAM supera a los métodos existentes en términos de precisión de segmentación de instancias y puntuación de FLOPs.

Además, el rendimiento cualitativo del modelo TinySAM se demuestra en la siguiente imagen para la segmentación de instancias de cero disparos, con el cuadro verde que representa los prompts de caja.

En términos de evaluación de máscaras válidas de cero disparos, el modelo TinySAM supera significativamente al marco MobileSAM en diferentes conjuntos de datos y entrega resultados sustancialmente mejores cuando se utilizan menos puntos como prompts por el marco.

Además, la siguiente tabla resume los resultados de la aceleración y la disminución de los requisitos computacionales logrados como resultado de la estrategia de modo de cualquier cosa jerárquica. El modelo aplica la misma puntuación de estabilidad y valor de umbral con diferentes estrategias para una comparación justa, y los resultados se resumen a continuación.

Pensamientos Finales
En este artículo, hemos hablado sobre TinySAM, un marco propuesto que empuja los límites para la segmentación de cualquier tarea y obtiene una arquitectura de modelo eficiente con menos requisitos computacionales y precisión al mismo nivel que el marco SAM original. TinySAM o el Modelo de Segmentación de Cualquier Cosa Pequeño que mantiene y entrega el rendimiento de cero disparos del marco original. El marco de TinySAM primero implementa un método de destilación de conocimientos de etapa completa que utiliza prompts difíciles en línea para destilar un modelo de estudiante ligero. El marco de TinySAM luego adapta la cuantificación posterior al entrenamiento a tareas de segmentación con prompts, lo que ayuda a reducir aún más los requisitos computacionales. Además, el marco también apunta a segmentar todo de manera jerárquica, lo que casi duplica la velocidad de inferencia sin afectar el rendimiento.












