FastSAM — Сегментация изображений на скорости света

30 Jul, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

8,371
🔱 763
👥 54

FastSAM logo

Помните революцию, которую произвела модель Segment Anything (SAM) от Meta в 2023 году? Она открыла новую эру в сегментации изображений, но у неё был один существенный недостаток — высокая вычислительная стоимость. Команда из CASIA-IVA-Lab решила эту проблему, создав FastSAM — в 50 раз более быструю альтернативу с минимальными потерями в качестве.

Что такое FastSAM?

FastSAM — это облегчённая версия Segment Anything Model, которая:

  • Обучалась всего на 2% данных от оригинального датасета SA-1B
  • Основана на YOLOv8, а не на тяжёлых трансформерах
  • Потребляет значительно меньше ресурсов (68M параметров против 636M у SAM-H)

Сравнение скорости FastSAM и SAM

Ключевые возможности

1. Невероятная скорость

FastSAM обрабатывает изображения за 40 мс на RTX 3090 — в 50 раз быстрее оригинального SAM. Это открывает возможности для:

Реклама
  • Реалтайм-обработки видео
  • Мобильных приложений
  • Массовой обработки изображений

2. Разные режимы работы

Проект поддерживает несколько удобных способов взаимодействия:

# Сегментация всего на изображении
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg

# Сегментация по текстовому описанию
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --text_prompt "the yellow dog"

# Сегментация по bbox
python Inference.py --model_path ./weights/FastSAM.pt --img_path ./images/dogs.jpg --box_prompt "[[570,200,230,400]]"

3. Готовые демо

Не хотите разбираться с кодом? Попробуйте веб-демо:

Демо на HuggingFace

Технические детали

FastSAM использует двухэтапный подход:

  1. Всевозможные сегменты детектируются YOLOv8-подобной сетью
  2. Затем применяется фильтрация по различным промптам (текст, точки, bbox)

Архитектура FastSAM

Практическое применение

FastSAM уже используют в различных областях:

  • Анализ медицинских изображений — быстрая сегментация органов и аномалий
  • Автономные транспортные средства — реалтайм-сегментация окружения
  • Робототехника — выделение объектов для манипуляции
  • ГИС-системы — автоматическое выделение зданий на спутниковых снимках

Примеры сегментации

Почему стоит попробовать FastSAM?

Если вам нужно:

  • Встроить сегментацию в реальном времени
  • Обрабатывать большие объёмы изображений
  • Работать на устройствах с ограниченными ресурсами

FastSAM — отличный выбор. При этом модель показывает сопоставимое с SAM качество в большинстве задач, что подтверждают бенчмарки.

Как начать использовать

Установка занимает всего несколько минут:

git clone https://github.com/CASIA-IVA-Lab/FastSAM.git
cd FastSAM
conda create -n FastSAM python=3.9
conda activate FastSAM
pip install -r requirements.txt

А дальше — выбирайте нужный режим работы и интегрируйте FastSAM в свои проекты!

Проект активно развивается, имеет открытый исходный код (лицензия Apache 2.0) и уже собрал более 8 тысяч звёзд на GitHub. Отличный пример того, как можно оптимизировать тяжёлые модели без существенной потери качества.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.