Language Segment-Anything — как сегментировать изображения голосовыми командами

28 Aug, 2025

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

Последнее обновление было 10 месяцев назад.

2,591
🔱 299
👥 13

Представьте, что вам нужно выделить все колёса на фото автомобиля или найти конкретного человека в групповом снимке. Обычно для этого приходится вручную обводить объекты или писать сложные алгоритмы. Но что если можно просто сказать системе: "Покажи мне все колёса"? Именно это и делает Language Segment-Anything.

Что это за инструмент?

Language Segment-Anything — это open-source проект, который объединяет две передовые технологии:

  • Segment Anything Model (SAM) от Meta — революционную модель для сегментации изображений
  • GroundingDINO — модель для обнаружения объектов по текстовым описаниям

Результат? Вы описываете объект словами, а система находит и выделяет его на изображении. Причём без предварительного обучения на конкретных данных (zero-shot подход).

Кому это пригодится?

  • Разработчикам компьютерного зрения, уставшим от ручной разметки данных
  • Создателям мобильных приложений для обработки фото
  • Специалистам по машинному обучению, которые хотят быстро прототипировать идеи
  • Всем, кто работает с анализом изображений и хочет сэкономить часы ручного труда

5 причин попробовать прямо сейчас

  1. Сегментация по текстовому запросу Просто говорите, что нужно найти: "красное яблоко", "левый задний фонарь", "лицо человека в очках". Система поймёт и выделит нужные объекты.

  2. Работает из коробки Не нужно обучать модель на своих данных — базовые возможности доступны сразу после установки.

    Реклама
  3. Гибкость интеграции Можно использовать как через веб-интерфейс (Gradio), так и как Python-библиотеку в своих проектах.

  4. Пакетная обработка Поддерживается обработка нескольких изображений за один запуск — полезно для автоматизации.

  5. Готовый API Встроенная поддержка LitServe позволяет быстро развернуть HTTP-сервер для интеграции с другими системами.

Пример работы с автомобилем Всего одна команда "wheel" — и колёса выделены

Как это работает технически?

Проект объединяет два мощных компонента:

  1. GroundingDINO — преобразует ваш текстовый запрос в координаты bounding box'ов (прямоугольников вокруг объектов)
  2. SAM 2.1 — берёт эти прямоугольники и превращает их в точные маски объектов

При этом вы можете:

  • Использовать предобученные модели
  • Загружать свои веса моделей
  • Настраивать параметры обнаружения

Практические примеры использования

  1. Разметка датасетов Вместо часов ручной работы — несколько строк кода:

    from lang_sam import LangSAM
    model = LangSAM()
    results = model.predict([image], ["dog", "cat"])
    
  2. Фильтрация контента Автоматическое обнаружение и размытие определённых объектов на фото.

  3. AR-приложения Быстрое выделение реальных объектов для их дополнения виртуальными элементами.

  4. Робототехника Помощь роботам в идентификации объектов по их описанию.

Пример с фруктами Легко находим конкретные фрукты среди множества объектов

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

Установка занимает пару минут:

pip install torch==2.4.1 torchvision==0.19.1 --extra-index-url https://download.pytorch.org/whl/cu124
pip install -U git+https://github.com/luca-medeiros/lang-segment-anything.git

Или через Docker для изоляции окружения:

docker build --tag lang-segment-anything:latest .
docker run --gpus all -p 8000:8000 lang-segment-anything:latest

Ограничения и альтернативы

Проект впечатляет, но имеет свои нюансы:

  • Требует GPU для комфортной работы
  • Может ошибаться с неочевидными запросами
  • Альтернативы: CLIPSeg, OpenSeg (но они менее удобны для точной сегментации)

Вывод: стоит ли пробовать?

Language Segment-Anything — это тот редкий случай, когда сложные технологии упакованы в простой интерфейс. Если вы работаете с изображениями, попробуйте хотя бы в демо-режиме — это изменит ваше представление о том, насколько простым может быть анализ визуальных данных.

Особенно рекомендую:

  • Разработчикам, которые хотят добавить "умную" обработку фото в свои приложения
  • Исследователям, которым нужно быстро прототипировать идеи
  • Командам, занимающимся разметкой данных

Проект активно развивается, имеет открытый исходный код (Apache 2.0) и уже собрал более 2.4k звёзд на GitHub. Самое время присоединиться!

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