Inteligencia Artificial
TinySAM: ampliando los límites del modelo Segment Anything

La segmentación de objetos es un campo fundamental y de importancia crítica en la visión por computadora moderna. Desempeña un papel vital en aplicaciones que requieren componentes visuales extensos, como la localización e identificación de objetos, y exige una segmentación rápida, precisa y en tiempo real. Esta importancia ha hecho de la segmentación de objetos un tema de investigación constantemente candente, con un importante trabajo 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) se ha convertido en una herramienta excepcional, con capacidades de segmentación excepcionales y una rápida adopción en diversas aplicaciones de visión artificial. Los marcos que utilizan una arquitectura SAM preentrenada han logrado un rendimiento impresionante en tareas de visión posteriores. 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 gran potencia computacional, lo que dificulta su implementación en dispositivos con limitaciones computacionales.
Para abordar los desafíos computacionales de SAM, los investigadores han desarrollado el Modelo de Segmento de Cualquier Cosa (TinySAM), que conserva el rendimiento de cero disparos del marco original, a la vez que es más ligero. TinySAM utiliza un método de destilación de conocimiento en etapa completa con indicaciones 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 indicaciones, reduce aún más los requisitos computacionales. Además, el diseño de TinySAM busca la segmentación jerárquica, lo que prácticamente duplica la velocidad de inferencia sin comprometer el rendimiento.
Este artículo profundiza en el marco TinySAM, explorando sus principios fundamentales, su arquitectura y su rendimiento en comparación con otros marcos de segmentación de última generación. Exploremos estos aspectos con más detalle.
TinySAM: modelo eficiente para segmentar cualquier cosa
El modelo Segment Anything ha ayudado al rápido progreso de varias aplicaciones de visión por computadora debido a sus encomiables capacidades de segmentación junto 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 imágenes. Debido a su desempeño excepcional en tareas que segmentan objetos con categorías y formas arbitrarias, sirve como base para marcos que realizan tareas posteriores como pintura de imágenes, seguimiento de objetos, visión 3D y más. Además, el modelo Segment Anything también ofrece notables segmentación de tiro cero desempeño que ha beneficiado a industrias sensibles que trabajan con una cantidad limitada de datos, incluidas las industrias de investigación médica y de imágenes médicas.
Aunque no se pueden cuestionar las notables capacidades de segmentación que ofrece el modelo Segment Anything en una amplia gama de tareas de visión posteriores, tiene sus desventajas en términos de una sobrecarga arquitectónica compleja, altos requisitos computacionales y costos operativos significativos. Para un sistema que se ejecuta en una GPU moderna, el tiempo de inferencia de un modelo SAM puede llegar a 2 segundos para una imagen de 1024×1024. Como resultado, implementar aplicaciones SAM en dispositivos con capacidades computacionales limitadas es una tarea muy difícil. 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 segmento a una tarea de segmentación de instancias con una sola categoría con la YoloV8 modelo. Aunque estos métodos pudieron lograr cierto nivel de éxito en términos de reducir los requisitos computacionales, no pudieron mantener el rendimiento, especialmente en tareas posteriores de tiro cero.
TinySAM o Tiny Segment Anything Model es un intento de reducir los requisitos computacionales del modelo SAM actual sin obstaculizar el rendimiento en tareas posteriores de disparo cero. Además, el marco TinySAM propone implementar un método de destilación de conocimiento de etapa completa en su arquitectura con el objetivo de mejorar la capacidad de la red compacta de estudiantes. El marco TinySAM destila la red de estudiantes de un extremo a otro bajo la supervisión de la red de profesores de diferentes etapas. Para mejorar aún más el rendimiento, el marco permite que el proceso de destilación preste más atención a ejemplos difíciles mediante la implementación de una estrategia adicional de muestreo rápido en línea. Además, para reducir aún más los costos computacionales, el marco TinySAM expone las tareas de segmentación inmediatas a componentes de cuantificación posteriores al entrenamiento.
La mayor parte del requisito de cálculo de un modelo Segment Anything se debe a que el modelo genera máscaras masivas a partir de los puntos de solicitud de la cuadrícula para segmentar todo en la imagen. Para superar el requisito computacional de esta estrategia de segmentación, el marco TinySAM emplea una estrategia de segmentación jerárquica de todo que casi duplica la velocidad de inferencia sin degradar el rendimiento. Con estos métodos empleados en su arquitectura, el marco TinySAM ofrece una reducción significativa en los requisitos computacionales y establece nuevos límites para segmentar eficientemente cualquier tarea.
TinySAM: Arquitectura y Metodología
Antes de hablar sobre la arquitectura y metodología del marco TinySAM, es importante echar un vistazo primero a su predecesor, el marco SAM. Desde su introducción, Segment Anything Model ha demostrado capacidades de generalización, versatilidad y rendimiento notables en una variedad de tareas de segmentación de objetos y visión posterior.
En esencia, el modelo SAM consta de tres subredes: el codificador de mensajes, el codificador de imágenes y el decodificador de máscara. El objetivo principal del codificador de avisos es codificar máscaras de formas arbitrarias, puntos y cuadros de entrada, y texto de formato libre con información posicional. El codificador de imágenes es una red pesada basada en ViT o transformador de visión que extrae la imagen de entrada en incrustaciones. El modelo utiliza diferentes redes para procesar las indicaciones geométricas y de texto. Finalmente, el decodificador de máscara contiene un transformador bidireccional que recibe la salida del mensaje y el codificador de imágenes para generar la predicción de máscara final. Con el conjunto de datos, el marco SAM demuestra capacidades de segmentación de alta calidad notables para objetos independientemente de su forma y categoría. Además, el Segmentar cualquier modelo demuestra un rendimiento y una eficiencia notables en tareas de visión descendente de disparo cero, incluida la propuesta de objetos, la detección de bordes, la predicción de texto para enmascarar y la segmentación de instancias. Debido a sus capacidades de segmentación de alta calidad y ofertas flexibles, los marcos SAM forman la base para las aplicaciones de visión. Dicho esto, no se pueden ignorar los altos requisitos computacionales de la arquitectura SAM tradicional con una gran cantidad de parámetros que hacen casi imposible para los desarrolladores implementar aplicaciones basadas en SAM en dispositivos con recursos limitados.
Destilación del conocimiento
La destilación de conocimientos es un enfoque importante para impulsar el rendimiento de las redes compactas durante la fase de formación. El método de destilación de conocimientos que utiliza la salida de la red de profesores para supervisar la formación de la red ligera de estudiantes. El método de destilación del conocimiento se puede dividir en dos subcategorías: destilación para características intermedias y destilación para salidas de red, y la mayoría del trabajo de investigación en torno a la destilación del conocimiento se centra en tareas de clasificación de imágenes.
Dicho esto, la siguiente figura demuestra la arquitectura genérica del marco TinySAM junto con la descripción general del rendimiento en tareas de segmentación de instancias de disparo cero.
En la primera etapa, el marco TinySAM implementa la destilación de conocimientos diseñada específicamente para el marco SAM y, para activar aún más el proceso de destilación, el modelo utiliza un muestreo duro en línea para extraer el conocimiento concreto de la red de profesores a la red de estudiantes. En la segunda etapa, el marco TinySAM adapta el método de cuantificación posterior al entrenamiento a tareas de segmentación inmediatas y lo implementa en la red liviana de estudiantes. Finalmente, el modelo implementa el modo de inferencia de segmento jerárquico diseñado para tareas de segmentación, lo que da como resultado duplicar la velocidad de inferencia con una pérdida de precisión insignificante.
Destilación de conocimientos en etapa completa
Como se mencionó anteriormente, el modelo Segment Anything consta de tres subredes en su núcleo: el codificador de avisos, el codificador de imágenes y el decodificador de máscara, con el componente del codificador de imágenes integrado en un transformador de visión y con altos requisitos computacionales. Para abordar este problema, el marco MobileSAM reemplazó el transformador de visión con un TinyViT o Tiny Vision Transformer, aunque la sustitución no fue efectiva dada la importante caída del rendimiento. Para garantizar que no disminuya el rendimiento, el marco TinySAM implementa un método de destilación de conocimiento de etapa completa que guía el codificador de imágenes liviano desde el nivel de aprendizaje hasta el nivel de conocimiento múltiple. Además de la pérdida convencional entre las etiquetas reales y los resultados previstos, el marco TinySAM introduce numerosas pérdidas de destilación durante diferentes etapas, como se muestra en la siguiente figura.
Cuantización
La cuantización de modelos es un enfoque popular en los marcos de visión por computadora y se utiliza para comprimir el modelo cuantificando pesos o activaciones de mayor a menor ancho de banda 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 coma flotante al tensor de bit entero utilizando un factor de escala con la métrica para medir la distancia entre la multiplicación de la matriz y la matriz cuantificada desempeñando un papel vital para optimizar el factor de escala.
Segmento jerárquico cualquier cosa
El modelo Segment Anything propone utilizar un generador de máscara 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 da como resultado resultados de segmentación de grano demasiado fino y el proceso requiere requisitos computacionales masivos e incurre en altos costos operativos. Además, en un extremo, demasiados puntos de muestreo para un objeto completo pueden dar como resultado que diferentes secciones del objeto se segmenten incorrectamente como máscaras separadas, mientras que en el otro extremo, el costo de tiempo de la inferencia del modo todo se debe principalmente a la razón por la que el codificador de imágenes se ha reducido significativamente. Para reducir el costo operativo del modo todo, el marco TinySAM utiliza un enfoque de generación de máscara jerárquica, con la diferencia en la estrategia con el marco SAM original que se muestra en la siguiente imagen.
A diferencia del enfoque implementado en el marco SAM original, el modelo TinySAM utiliza solo el 25 % de puntos en cada lado, por lo que utiliza solo 1/16 de los puntos disponibles en la configuración original. Luego, el modelo infiere el decodificador de máscara y el codificador de indicaciones con estas indicaciones y obtiene el resultado. Luego, el modelo filtra algunas máscaras con una confianza que excede un cierto umbral y enmascara las ubicaciones correspondientes como áreas para posibles predicciones finales. Dado que el modelo trata estas regiones como el resultado de la segmentación de instancias con alta confianza, no es necesario generar mensajes puntuales. La estrategia no solo ayuda a prevenir una segmentación demasiado fina del objeto, sino que también ayuda a reducir significativamente los costos operativos y los requisitos computacionales. Luego, el marco fusiona y postprocesa 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 TinySAM calcula y almacena las incrustaciones de imágenes de la red de profesores de antemano, por lo que ya no es obligatorio que el modelo calcule el pesado codificador de imágenes de la red de profesores repetidamente durante la fase de entrenamiento. Para la cuantificación posterior al entrenamiento, el marco TinySAM cuantifica todas las capas de matriz múltiple, las capas de convolución, las capas de deconvolución y las capas lineales, y el modelo utiliza factores de escala por canal tanto para las capas de convolución como para las de deconvolución. Para las capas múltiples de matriz, el modelo implementa factores de escala lineales, mientras que para las capas lineales, el modelo implementa factores de escala lineales. El modelo también realiza evaluaciones de tareas posteriores de disparo cero.
Por ejemplo, tareas de segmentación en una configuración de disparo cero, el marco TinySAM sigue la configuración experimental de su predecesor, el modelo Segment Anything, y utiliza los resultados de detección de objetos del marco Vision Transformer Det-H o VitDet-H, por ejemplo, segmentación. Como se demuestra en la siguiente imagen, el marco TinySAM supera a los métodos existentes en términos de precisión de segmentación de instancias y puntuación de FLOP.
Además, el rendimiento cualitativo del modelo TinySAM se demuestra en la siguiente imagen para la segmentación de instancias de disparo cero con el cuadro verde que representa las indicaciones del cuadro.
En términos de evaluación de máscara válida de puntos de disparo cero, el modelo TinySAM supera significativamente al marco MobileSAM en diferentes conjuntos de datos y ofrece resultados sustancialmente mejores cuando el marco utiliza una menor cantidad de puntos como indicaciones.
Además, la siguiente tabla resume los resultados de la aceleración y disminución de los requisitos computacionales logrados como resultado de la estrategia del modo jerárquico de todo. El modelo aplica el mismo puntaje de estabilidad y valor umbral con diferentes estrategias para una comparación justa, y los resultados se resumen a continuación.
Conclusión
En este artículo, hemos hablado de TinySAM, un marco propuesto que traspasa los límites para segmentar cualquier tarea y obtiene una arquitectura de modelo eficiente con menos requisitos computacionales y precisión a la par del marco SAM original. TinySAM o el modelo Tiny Segment Anything que mantiene y ofrece el rendimiento cero del marco original. El marco TinySAM primero implementa un método de destilación de conocimiento de etapa completa que utiliza indicaciones concretas en línea para destilar un modelo de estudiante liviano. Luego, el marco TinySAM adapta la cuantificación posterior al entrenamiento a tareas de segmentación inmediatas que ayudan aún más a reducir los requisitos computacionales. Además, el marco también apunta a segmentar todo jerárquicamente para que casi duplique la velocidad de inferencia sin afectar el rendimiento.