Перейти к содержимому

MobileSAM Логотип

Мобильный сегмент Anything (MobileSAM)

Статья MobileSAM теперь доступна на arXiv.

Демонстрация работы MobileSAM на процессоре доступна по этой демонстрационной ссылке. Выполнение на процессоре Mac i5 занимает примерно 3 секунды. На демо Hugging Face интерфейс и менее производительные процессоры способствуют более медленному отклику, но он продолжает эффективно работать.

MobileSAM реализована в различных проектах, включая Grounding-SAM, AnyLabeling и Segment Anything in 3D.

MobileSAM обучается на одном GPU с набором данных 100k (1% от исходных изображений) менее чем за сутки. Код для этого обучения будет доступен в будущем.

Доступные модели, поддерживаемые задачи и режимы работы

В этой таблице представлены доступные модели с их определенными предварительно обученными весами, задачи, которые они поддерживают, и их совместимость с различными режимами работы, такими как Inference, Validation, Training и Export, обозначенные ✅ emojis для поддерживаемых режимов и ❌ emojis для неподдерживаемых режимов.

Тип модели Предварительно обученные веса Поддерживаемые задачи Заключение Валидация Тренировка Экспорт
MobileSAM mobile_sam.pt Сегментация экземпляров

Адаптация от SAM к MobileSAM

Поскольку MobileSAM сохраняет тот же конвейер, что и оригинальный SAM, мы включили в него препроцессинг, постпроцессинг и все остальные интерфейсы. Следовательно, те, кто сейчас использует оригинальный SAM , могут перейти на MobileSAM с минимальными усилиями.

MobileSAM По производительности он сопоставим с оригинальным SAM и сохраняет тот же конвейер, за исключением изменения кодировщика изображений. В частности, мы заменили оригинальный тяжеловесный кодер ViT-H (632 М) на более компактный Tiny-ViT (5 М). На одном GPU MobileSAM работает примерно 12 мс на изображение: 8 мс на кодер изображения и 4 мс на декодер маски.

В следующей таблице приведено сравнение кодировщиков изображений на базе ViT:

Кодировщик изображений Оригинал SAM MobileSAM
Параметры 611M 5M
Скорость 452 мс 8 мс

И в оригинальном SAM , и в MobileSAM используется один и тот же декодер масок, управляемый подсказками:

Декодер масок Оригинал SAM MobileSAM
Параметры 3.876M 3.876M
Скорость 4 мс 4 мс

Вот сравнение всего трубопровода:

Целый трубопровод (Enc+Dec) Оригинал SAM MobileSAM
Параметры 615M 9.66M
Скорость 456 мс 12 мс

Работа MobileSAM и оригинального SAM демонстрируется с использованием точки и коробки в качестве подсказок.

Изображение с точкой в качестве подсказки

Изображение с коробкой в качестве подсказки

Благодаря своей превосходной производительности MobileSAM примерно в 5 раз меньше и в 7 раз быстрее, чем текущий FastSAM. Больше подробностей можно узнать на странице проектаMobileSAM .

Проверка MobileSAM в Ultralytics

Как и в оригинальном SAM, в Ultralytics мы предлагаем простой метод тестирования, включающий режимы для подсказок типа Point и Box.

Скачать модель

Скачать модель можно здесь.

Побуждение к действию

Пример

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])

Box Prompt

Пример

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])

Мы реализовали MobileSAM и SAM используя тот же самый API. Для получения дополнительной информации об использовании, пожалуйста, смотри SAM Страница.

Цитаты и благодарности

Если ты находишь MobileSAM полезным в своих исследованиях или разработках, пожалуйста, подумай о том, чтобы сослаться на нашу статью:

@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}
}


Создано 2023-11-12, Обновлено 2024-01-16
Авторы: glenn-jocher (7), ChaoningZhang (1), Laughing-q (1)

Комментарии