Grounded SAM 2: Когда компьютерное зрение видит и понимает всё, что движется

11 Nov, 2025

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

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

3,622
🔱 421
👥 15

Представьте ситуацию: вы смотрите видео, и вам нужно не просто понять, что происходит на экране, а точно определить каждый движущийся объект, отследить его перемещение и даже выделить его контур. Звучит как задача для команды высококвалифицированных специалистов по компьютерному зрению, не так ли? Что ж, благодаря проекту Grounded SAM 2 от IDEA-Research, эта задача становится удивительно доступной даже для одного разработчика.

Что это за проект и кому он нужен?

Grounded SAM 2 — это не просто очередная нейросеть, а целый пайплайн или, если хотите, мощный конструктор для работы с визуальными данными. Он объединяет в себе несколько передовых моделей-фундаментов, таких как SAM 2 (Segment Anything Model 2), Grounding DINO (и его улучшенные версии 1.5, 1.6), DINO-X и Florence-2. Главная идея — дать вам возможность «заземлять» (grounding) текстовые описания на реальные объекты в изображениях и видео, а затем точно их сегментировать и отслеживать.

Кому это будет интересно? В первую очередь, разработчикам и исследователям в области компьютерного зрения, которые сталкиваются с задачами:

  • Обнаружения и сегментации объектов в открытом мире (то есть, не только тех, на которых модель обучалась).
  • Отслеживания движущихся объектов на видео.
  • Автоматического аннотирования больших объемов изображений и видео.
  • Создания интеллектуальных систем для анализа контента, безопасности или робототехники.

Проект выделяется тем, что, в отличие от своего предшественника Grounded SAM, он фокусируется на максимальном упрощении кода и удобстве использования, делая сложные технологии доступными.

Ключевые возможности: Что умеет Grounded SAM 2?

Давайте разберем, какие конкретные задачи Grounded SAM 2 помогает решать.

Реклама

«Вижу всё, что скажешь»: Сегментация и детекция по тексту

Представьте, что вы можете просто написать «красный автомобиль» или «человек в шляпе», и система не только найдет эти объекты на изображении, но и точно выделит их контуры. Именно это и делает Grounded SAM 2, используя связку Grounding DINO (или DINO-X) для понимания текстового запроса и SAM 2 для точной сегментации. Это открывает двери для создания гибких систем, которые не требуют переобучения для каждого нового типа объекта.

python grounded_sam2_hf_model_demo.py
# Или с локальной моделью
python grounded_sam2_local_demo.py

«Слежу за каждым движением»: Отслеживание объектов на видео

Это, пожалуй, одна из самых впечатляющих возможностей. Grounded SAM 2 позволяет отслеживать заданные объекты на протяжении всего видео. Вы указываете, что искать (например, «бегемот»), и система будет следить за ним, кадр за кадром, выделяя его маской.

Кстати, проект поддерживает несколько типов подсказок для отслеживания:

  • По точкам (Point Prompt): Для стабильной сегментации система может брать равномерно распределенные точки из предсказанной маски.
  • По рамкам (Box Prompt): Просто используйте ограничивающие рамки от Grounding DINO.
  • По маскам (Mask Prompt): Используйте результаты сегментации SAM 2 как маску для предсказателя видео.

Grounded SAM 2 Tracking Pipeline

И, что особенно удобно, вы можете подавать на вход собственные видеофайлы:

python grounded_sam2_tracking_demo_custom_video_input_gd1.5.py

Отслеживание бегемота

«Вижу детали, даже в 4K»: Работа с изображениями высокого разрешения

Сталкивались с тем, что на больших изображениях (например, 4K) с множеством мелких объектов обычные модели «теряются»? Grounded SAM 2 решает эту проблему благодаря интеграции с SAHI (Slicing Aided Hyper Inference). Эта технология разбивает изображение на мелкие перекрывающиеся участки, обрабатывает их по отдельности, а затем объединяет результаты. В итоге — высокая точность даже для самых плотных и детализированных сцен.

| Текстовый запрос | Исходное изображение | Grounded SAM 2 | Grounded SAM 2 с SAHI | |:----:|:----:|:----:|:----:| | Person | | | |

«Понимаю контекст»: Интеграция с Florence-2 для комплексных задач

Проект не ограничивается только детекцией и сегментацией. Благодаря интеграции с Florence-2 от Microsoft, Grounded SAM 2 может выполнять более сложные задачи понимания изображений, используя текстовые подсказки:

  • Обнаружение объектов: Классическая детекция.
  • Плотное описание регионов (Dense Region Caption): Описание каждого значимого региона на изображении.
  • Привязка фраз (Phrase Grounding): Поиск объектов, упомянутых в развернутом описании.
  • Сегментация по выражению (Referring Expression Segmentation): Выделение объекта, наиболее точно соответствующего текстовому запросу.
  • Автоматическое аннотирование (Auto-Labeling): Florence-2 может сначала сгенерировать описание изображения, а затем использовать его для автоматической разметки объектов, что невероятно полезно для подготовки датасетов.
# Пример: Обнаружение и сегментация объектов
python grounded_sam2_florence2_image_demo.py \
    --pipeline object_detection_segmentation \
    --image_path ./notebooks/images/cars.jpg

# Пример: Автоматическое аннотирование
python grounded_sam2_florence2_autolabel_pipeline.py \
    --image_path ./notebooks/images/groceries.jpg \
    --pipeline caption_to_phrase_grounding \
    --caption_type detailed_caption

«Всегда в курсе»: Отслеживание новых объектов и непрерывные ID

Разработчики активно работают над функцией непрерывного отслеживания объектов, которая позволяет системе не только следить за уже найденными объектами, но и обнаруживать новые по ходу видео, присваивая им уникальные ID. Это критически важно для систем видеонаблюдения или анализа поведения. Более того, уже реализована возможность отслеживания в реальном времени с камеры или видеопотока!

Отслеживание машин

python grounded_sam2_tracking_camera_with_continuous_id.py

Технические детали: Как это работает под капотом?

Grounded SAM 2 — это, по сути, оркестратор, который умело связывает воедино мощь нескольких «фундаментальных» моделей. В основе лежит идея «заземления» (grounding), где текстовые запросы (например, «кошка») преобразуются в координаты объектов на изображении с помощью Grounding DINO или DINO-X. Затем эти координаты передаются в SAM 2, который специализируется на высокоточной сегментации любых объектов, даже тех, которые он никогда не видел.

Для видео SAM 2 обладает встроенными возможностями отслеживания, которые Grounded SAM 2 эффективно использует, инициализируя отслеживание на первом кадре с помощью Grounding DINO, а затем поддерживая его на протяжении всего ролика. А интеграция с Florence-2 добавляет еще один уровень понимания, позволяя модели не просто находить объекты, но и описывать их, понимать отношения и выполнять более сложные, контекстно-зависимые задачи.

Разработчики уделили особое внимание упрощению установки и использования, предлагая как локальную установку, так и готовый Docker-образ, что значительно снижает порог входа.

Практическое применение: Где это можно использовать?

Возможности Grounded SAM 2 открывают широкий спектр применений:

  • Автоматическая разметка данных: Значительно ускоряет создание обучающих выборок для других моделей компьютерного зрения, что особенно ценно для редких или специфических объектов.
  • Системы безопасности и видеонаблюдения: Обнаружение и отслеживание подозрительных объектов или людей в реальном времени, анализ поведения.
  • Анализ спортивных событий: Автоматическое отслеживание игроков, мячей, подсчет статистики.
  • Робототехника и автономные системы: Помогает роботам «видеть» и взаимодействовать с окружающим миром, распознавая объекты по текстовым командам.
  • Медицинская диагностика: Выделение аномалий на медицинских изображениях (хотя здесь требуется осторожность и валидация).
  • Контент-анализ и медиа: Автоматическое тегирование видеоконтента, поиск определенных сцен или объектов в больших архивах.

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

Безусловно! Grounded SAM 2 — это впечатляющий шаг вперед в области компьютерного зрения. Он демонстрирует, как комбинация мощных моделей-фундаментов может значительно упростить решение сложных задач детекции, сегментации и отслеживания объектов.

Если вы разработчик, который:

  • Работает с видеоаналитикой и нуждается в надежном отслеживании.
  • Ищет гибкий инструмент для сегментации объектов по текстовым запросам.
  • Занимается автоматической разметкой данных.
  • Хочет экспериментировать с передовыми моделями компьютерного зрения без глубокого погружения в их внутреннее устройство.

Тогда Grounded SAM 2 определенно заслуживает вашего внимания. Проект активно развивается, постоянно добавляются новые возможности (например, непрерывное отслеживание ID), что делает его еще более привлекательным для изучения и внедрения в собственные проекты. Загляните в репозиторий, попробуйте демо и убедитесь сами в его возможностях!

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