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.
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
Caja Prompt
Ejemplo
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:
Creado 2023-11-12, Actualizado 2024-04-17
Autores: glenn-jocher (8), ChaoningZhang (1), Laughing-q (1)