Saltar al contenido

MobileSAM Logotipo

Segmento móvil Cualquier cosa (MobileSAM)

El artículo MobileSAM ya está disponible en arXiv.

Puedes acceder a una demostración de MobileSAM ejecutándose en una CPU en este enlace de demostración. El rendimiento en una CPU Mac i5 es de aproximadamente 3 segundos. En la demostración de Hugging Face , la interfaz y las CPU de menor rendimiento contribuyen a que la respuesta sea más lenta, pero sigue funcionando eficazmente.

MobileSAM se aplica en varios proyectos, como Grounding-SAM, AnyLabeling y Segment Anything en 3D.

MobileSAM se entrena en una sola GPU con un conjunto de datos de 100.000 (1% de las imágenes originales) en menos de un día. El código para este entrenamiento estará disponible en el futuro.

Modelos disponibles, tareas admitidas y modos de funcionamiento

Esta tabla presenta los modelos disponibles con sus pesos específicos preentrenados, las tareas que admiten y su compatibilidad con distintos modos de funcionamiento como Inferencia, Validación, Entrenamiento y Exportación, indicados con ✅ emojis para los modos admitidos y ❌ emojis para los modos no admitidos.

Tipo de modelo Pesos preentrenados Tareas admitidas Inferencia Validación Formación Exportar
MobileSAM mobile_sam.pt Segmentación de instancias

Adaptación de SAM a MobileSAM

Como MobileSAM conserva el mismo proceso que el original SAM, hemos incorporado el preprocesamiento, el postprocesamiento y todas las demás interfaces del original. En consecuencia, quienes utilicen actualmente el original SAM pueden pasar a MobileSAM con un esfuerzo mínimo.

MobileSAM tiene un rendimiento comparable al original SAM y conserva el mismo pipeline, salvo por un cambio en el codificador de imágenes. En concreto, sustituimos el pesado codificador ViT-H original (632M) por un Tiny-ViT más pequeño (5M). En una sola GPU, MobileSAM funciona a unos 12 ms por imagen: 8 ms en el codificador de imágenes y 4 ms en el descodificador de máscaras.

La tabla siguiente ofrece una comparación de los codificadores de imágenes basados en ViT:

Codificador de imágenes Original SAM MobileSAM
Parámetros 611M 5M
Velocidad 452ms 8ms

Tanto el original SAM como MobileSAM utilizan el mismo descodificador de máscaras guiado por instrucciones:

Descodificador de máscaras Original SAM MobileSAM
Parámetros 3.876M 3.876M
Velocidad 4ms 4ms

Aquí tienes la comparación de toda la tubería:

Tubería completa (Enc+Dec) Original SAM MobileSAM
Parámetros 615M 9.66M
Velocidad 456 ms 12ms

Se demuestra el funcionamiento de MobileSAM y del original SAM utilizando un punto y una caja como indicaciones.

Imagen con punto como indicador

Imagen con Caja como Prompt

Con su rendimiento superior, MobileSAM es aproximadamente 5 veces más pequeño y 7 veces más rápido que el actual FastSAM. Puedes encontrar más detalles en la página del proyectoMobileSAM .

Prueba MobileSAM en Ultralytics

Al igual que en el original SAM, ofrecemos un método de prueba sencillo en Ultralytics, que incluye modos para indicaciones de Punto y de Caja.

Descarga de modelos

Puedes descargar el modelo aquí.

Indicación de puntos

Ejemplo

from ultralytics import SAM

# Load the model
model = SAM('mobile_sam.pt')

# Predict a segment based on a point prompt
model.predict('ultralytics/assets/zidane.jpg', points=[900, 370], labels=[1])

Caja Prompt

Ejemplo

from ultralytics import SAM

# Load the model
model = SAM('mobile_sam.pt')

# Predict a segment based on a box prompt
model.predict('ultralytics/assets/zidane.jpg', bboxes=[439, 437, 524, 709])

Hemos puesto en marcha MobileSAM y SAM utilizando la misma API. Para más información sobre su uso, consulta el SAM página.

Citas y agradecimientos

Si encuentras útil MobileSAM en tu trabajo de investigación o desarrollo, considera la posibilidad de citar nuestro documento:

@article{mobile_sam,
  title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
  author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
  journal={arXiv preprint arXiv:2306.14289},
  year={2023}
}


Creado 2023-11-12, Actualizado 2024-04-17
Autores: glenn-jocher (8), ChaoningZhang (1), Laughing-q (1)

Comentarios