SAM 3: Сегментация всего с помощью концептов
SAM 3 полностью интегрирована в пакет Ultralytics начиная с версии 8.3.237 (PR #22897). Установи или обнови пакет с помощью pip install -U ultralytics, чтобы получить доступ ко всем функциям SAM 3, включая текстовую сегментацию концептов, подсказки на основе примеров изображений и отслеживание видео.

SAM 3 (Segment Anything Model 3) — это выпущенная Meta базовая модель для сегментации концептов с подсказками (PCS). Основываясь на SAM 2, SAM 3 внедряет принципиально новую возможность: обнаружение, сегментация и отслеживание всех экземпляров визуального концепта, заданного текстовыми подсказками, примерами изображений или и тем, и другим одновременно. В отличие от предыдущих версий SAM, которые сегментировали отдельные объекты по одной подсказке, SAM 3 может находить и сегментировать каждое вхождение концепта, появляющегося где угодно на изображениях или в видео, что соответствует целям работы с открытым словарем в современной сегментации экземпляров.
Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos
SAM 3 теперь полностью интегрирована в пакет ultralytics, обеспечивая нативную поддержку сегментации концептов с помощью текстовых подсказок, примеров изображений и функций отслеживания видео.
Обзор
SAM 3 достигает 2-кратного прироста производительности по сравнению с существующими системами в области сегментации концептов с подсказками, сохраняя и улучшая возможности SAM 2 для интерактивной визуальной сегментации. Модель отлично справляется с сегментацией с открытым словарем, позволяя тебе указывать концепты с помощью простых именных фраз (например, «желтый школьный автобус», «полосатый кот») или предоставляя примеры изображений целевого объекта. Эти возможности дополняют готовые к эксплуатации пайплайны, основанные на оптимизированных рабочих процессах predict и track.

Что такое сегментация концептов с подсказками (PCS)?
Задача PCS принимает концептуальную подсказку на вход и возвращает маски сегментации с уникальными идентификаторами для всех соответствующих экземпляров объектов. Концептуальные подсказки могут быть следующими:
- Текст: Простые именные фразы, такие как «красное яблоко» или «человек в шляпе», аналогично обучению с нулевым примером (zero-shot learning)
- Примеры изображений: Ограничивающие рамки (bbox) вокруг объектов-примеров (положительные или отрицательные) для быстрой генерализации
- Комбинированные: Как текст, так и примеры изображений вместе для точного контроля
Это отличается от традиционных визуальных подсказок (точки, рамки, маски), которые сегментируют только один конкретный экземпляр объекта, как это было популяризировано оригинальным семейством SAM.
Ключевые показатели производительности
| Метрика | Достижение SAM 3 |
|---|---|
| LVIS Zero-Shot Mask AP | 47.0 (против предыдущего лучшего показателя 38.5, улучшение на +22%) |
| Бенчмарк SA-Co | в 2 раза лучше, чем существующие системы |
| Скорость вывода (GPU H200) | 30 мс на изображение с более чем 100 обнаруженными объектами |
| Производительность на видео | Почти в реальном времени для ~5 одновременных объектов |
| Бенчмарк MOSEv2 VOS | 60.1 J&F (+25.5% по сравнению с SAM 2.1, +17% по сравнению с предыдущим SOTA) |
| Интерактивное уточнение | Улучшение +18.6 CGF1 после 3 подсказок-примеров |
| Разрыв в производительности с человеком | Достигает 88% от расчетного нижнего предела на SA-Co/Gold |
Для получения контекста о метриках модели и компромиссах в продакшене см. аналитические данные по оценке моделей и метрики производительности YOLO.
Архитектура
SAM 3 состоит из детектора и трекера, которые разделяют общую основу зрения Perception Encoder (PE). Такая разделенная конструкция позволяет избежать конфликтов задач, обеспечивая при этом как обнаружение на уровне изображения, так и отслеживание на уровне видео, с интерфейсом, совместимым с использованием Python и использованием CLI от Ultralytics.
Основные компоненты
-
Детектор: Архитектура на базе DETR для обнаружения концептов на уровне изображения
- Текстовый энкодер для подсказок в виде именных фраз
- Энкодер примеров для подсказок на основе изображений
- Энкодер слияния (Fusion encoder) для обусловливания признаков изображения подсказками
- Новаторская голова присутствия (presence head), которая отделяет распознавание («что») от локализации («где»)
- Голова маски для создания масок сегментации экземпляров
-
Трекер: Видеосегментация на основе памяти, унаследованная от SAM 2
- Энкодер подсказок, декодер маски, энкодер памяти
- Банк памяти для хранения внешнего вида объекта между кадрами
- Временная дезамбигуация, дополненная такими методами, как фильтр Калмана в сценариях с несколькими объектами
-
Токен присутствия (Presence Token): Обучаемый глобальный токен, который предсказывает, присутствует ли целевой концепт на изображении/кадре, улучшая обнаружение за счет отделения распознавания от локализации.

Ключевые инновации
- Разделение распознавания и локализации: Голова присутствия предсказывает наличие концепта глобально, в то время как запросы предложений фокусируются только на локализации, избегая конфликтующих целей.
- Унифицированные концептуальные и визуальные подсказки: Поддерживает как PCS (концептуальные подсказки), так и PVS (визуальные подсказки, такие как клики/рамки в SAM 2) в рамках одной модели.
- Интерактивное уточнение примерами: Ты можешь добавлять положительные или отрицательные примеры изображений для итеративного уточнения результатов, причем модель обобщает их до похожих объектов, а не просто исправляет отдельные экземпляры.
- Временная дезамбигуация: Использует оценки обнаружения masklet и периодические повторные подсказки для обработки перекрытий, многолюдных сцен и сбоев отслеживания в видео, что соответствует лучшим практикам сегментации экземпляров и отслеживания.
Набор данных SA-Co
SAM 3 обучена на Segment Anything with Concepts (SA-Co), крупнейшем и самом разнообразном наборе данных для сегментации от Meta на сегодняшний день, расширяющем возможности за пределы общепринятых бенчмарков, таких как COCO и LVIS.
Обучающие данные
| Компонент набора данных | Описание | Масштаб |
|---|---|---|
| SA-Co/HQ | Высококачественные данные изображений, аннотированные людьми с помощью 4-фазного движка данных | 5.2 млн изображений, 4 млн уникальных именных фраз |
| SA-Co/SYN | Синтетический набор данных, размеченный ИИ без участия человека | 38 млн именных фраз, 1.4 млрд масок |
| SA-Co/EXT | 15 внешних наборов данных, обогащенных сложными негативными примерами | Зависит от источника |
| SA-Co/VIDEO | Аннотации видео с временным отслеживанием | 52.5 тыс. видео, 24.8 тыс. уникальных именных фраз |
Данные бенчмарка
Бенчмарк SA-Co evaluation содержит 214 тыс. уникальных фраз на 126 тыс. изображений и видео, предоставляя более чем в 50 раз больше концептов, чем существующие бенчмарки. Он включает:
- SA-Co/Gold: 7 доменов, тройная аннотация для измерения границ человеческой производительности
- SA-Co/Silver: 10 доменов, одиночная человеческая аннотация
- SA-Co/Bronze и SA-Co/Bio: 9 существующих наборов данных, адаптированных для сегментации концептов
- SA-Co/VEval: Видео-бенчмарк с 3 доменами (SA-V, YT-Temporal-1B, SmartGlasses)
Инновации движка данных
Масштабируемый движок данных SAM 3 с участием человека и модели обеспечивает двукратную пропускную способность аннотирования за счет:
- ИИ-аннотаторы: Модели на базе Llama предлагают разнообразные именные фразы, включая сложные негативные примеры
- ИИ-верификаторы: Настроенные мультимодальные LLM проверяют качество маски и полноту почти с человеческой эффективностью
- Активная добыча данных (Active Mining): Фокусирует усилия человека на сложных случаях сбоев, где ИИ испытывает трудности
- На основе онтологии: Использует обширную онтологию, основанную на Wikidata для покрытия концептов
Установка
SAM 3 доступна в Ultralytics версии 8.3.237 и выше. Установи или обнови с помощью:
pip install -U ultralyticsВ отличие от других моделей Ultralytics, веса SAM 3 (sam3.pt) не загружаются автоматически. Тебе необходимо сначала запросить доступ к весам модели на странице модели SAM 3 на Hugging Face, а затем, после одобрения, загрузить sam3.pt с этой страницы. Помести скачанный файл sam3.pt в рабочую директорию или укажи полный путь при загрузке модели.
Если ты получаешь эту ошибку во время предсказания, это означает, что у тебя установлен неверный пакет clip. Установи правильный пакет clip, выполнив следующее:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.gitКак использовать SAM 3: Универсальность в сегментации концептов
SAM 3 поддерживает как задачи сегментации концептов с подсказками (PCS), так и задачи сегментации с визуальными подсказками (PVS) через различные интерфейсы предиктора:
Поддерживаемые задачи и модели
| Тип задачи | Типы подсказок | Результат |
|---|---|---|
| Сегментация концептов (PCS) | Текст (именные фразы), примеры изображений | Все экземпляры, соответствующие концепту |
| Визуальная сегментация (PVS) | Точки, рамки, маски | Одиночный экземпляр объекта (в стиле SAM 2) |
| Интерактивное уточнение | Итеративное добавление/удаление примеров или кликов | Уточненная сегментация с повышенной точностью |
Примеры сегментации концептов
Сегментация с текстовыми подсказками
Найди и сегментируй все экземпляры концепта с помощью текстового описания. Текстовые подсказки требуют интерфейса SAM3SemanticPredictor.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor with configuration
overrides = dict(
conf=0.25,
task="segment",
mode="predict",
model="sam3.pt",
half=True, # Use FP16 for faster inference
save=True,
)
predictor = SAM3SemanticPredictor(overrides=overrides)
# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")
# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"])
# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"])
# Query with a single concept
results = predictor(text=["a person"])Сегментация с примерами изображений
Используй ограничивающие рамки (bounding boxes) как визуальные подсказки для поиска всех похожих экземпляров. Это также требует SAM3SemanticPredictor для сопоставления на основе концептов.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True, save=True)
predictor = SAM3SemanticPredictor(overrides=overrides)
# Set image
predictor.set_image("path/to/image.jpg")
# Provide bounding box examples to segment similar objects
results = predictor(bboxes=[[480.0, 290.0, 590.0, 650.0]])
# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])Вывод на основе признаков для эффективности
Извлеки признаки изображения один раз и используй их повторно для нескольких запросов сегментации, чтобы повысить эффективность.
import cv2
from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors
# Initialize predictors
overrides = dict(conf=0.50, task="segment", mode="predict", model="sam3.pt", verbose=False)
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor2 = SAM3SemanticPredictor(overrides=overrides)
# Extract features from the first predictor
source = "path/to/image.jpg"
predictor.set_image(source)
src_shape = cv2.imread(source).shape[:2]
# Setup second predictor and reuse features
predictor2.setup_model()
# Perform inference using shared features with text prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, text=["person"])
# Perform inference using shared features with bounding box prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, bboxes=[[439, 437, 524, 709]])
# Visualize results
if masks is not None:
masks, boxes = masks.cpu().numpy(), boxes.cpu().numpy()
im = cv2.imread(source)
annotator = Annotator(im, pil=False)
annotator.masks(masks, [colors(x, True) for x in range(len(masks))])
cv2.imshow("result", annotator.result())
cv2.waitKey(0)Сегментация концептов в видео
Отслеживание концептов в видео с помощью ограничивающих рамок
Обнаруживай и отслеживай экземпляры объектов в кадрах видео с помощью подсказок в виде ограничивающих рамок.
from ultralytics.models.sam import SAM3VideoPredictor
# Create video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3VideoPredictor(overrides=overrides)
# Track objects using bounding box prompts
results = predictor(source="path/to/video.mp4", bboxes=[[706.5, 442.5, 905.25, 555], [598, 635, 725, 750]], stream=True)
# Process and display results
for r in results:
r.show() # Display frame with segmentation masksОтслеживание концептов с помощью текстовых подсказок
Отслеживай все экземпляры концептов, заданных текстом, в кадрах видео.
from ultralytics.models.sam import SAM3VideoSemanticPredictor
# Initialize semantic video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=640, model="sam3.pt", half=True, save=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides)
# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True)
# Process results
for r in results:
r.show() # Display frame with tracked objects
# Alternative: Track with bounding box prompts
results = predictor(
source="path/to/video.mp4",
bboxes=[[864, 383, 975, 620], [705, 229, 782, 402]],
labels=[1, 1], # Positive labels
stream=True,
)Визуальные подсказки (совместимость с SAM 2)
SAM 3 сохраняет полную обратную совместимость с визуальными подсказками SAM 2 для сегментации одного объекта:
Базовый интерфейс SAM работает точно так же, как SAM 2, сегментируя только конкретную область, указанную визуальными подсказками (точками, рамками или масками).
from ultralytics import SAM
model = SAM("sam3.pt")
# Single point prompt - segments object at specific location
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()
# Multiple points - segments single object with multiple point hints
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])
# Box prompt - segments object within bounding box
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()Использование SAM("sam3.pt") с визуальными подсказками (точками/рамками/масками) сегментирует только конкретный объект в этом месте, точно так же, как SAM 2. Чтобы сегментировать все экземпляры концепта, используй SAM3SemanticPredictor с текстовыми подсказками или подсказками на основе примеров, как показано выше.
Показатели производительности
Сегментация изображений
SAM 3 достигает лучших результатов в отрасли по нескольким бенчмаркам, включая реальные наборы данных, такие как LVIS и COCO for segmentation:
| Бенчмарк | Метрика | SAM 3 | Предыдущий лучший результат | Улучшение |
|---|---|---|---|---|
| LVIS (zero-shot) | Mask AP | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO (zero-shot) | Box AP | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (семантическая сег.) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (семантическая сег.) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Изучи варианты наборов данных для быстрой экспериментации в Ultralytics datasets.
Производительность сегментации видео
SAM 3 демонстрирует значительные улучшения по сравнению с SAM 2 и предыдущими лучшими результатами в видео-бенчмарках, таких как DAVIS 2017 и YouTube-VOS:
| Бенчмарк | Метрика | SAM 3 | SAM 2.1 L | Улучшение |
|---|---|---|---|---|
| MOSEv2 | J&F | 60.1 | 47.9 | +25.5% |
| DAVIS 2017 | J&F | 92.0 | 90.7 | +1.4% |
| LVOSv2 | J&F | 88.2 | 79.6 | +10.8% |
| SA-V | J&F | 84.6 | 78.4 | +7.9% |
| YTVOS19 | J&F | 89.6 | 89.3 | +0.3% |
Адаптация few-shot
SAM 3 отлично адаптируется к новым доменам с минимальным количеством примеров, что актуально для рабочих процессов data-centric AI:
| Бенчмарк | 0-shot AP | 10-shot AP | Предыдущий лучший результат (10-shot) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
Эффективность интерактивного уточнения
Подсказки SAM 3 на основе концептов с использованием примеров сходятся намного быстрее, чем визуальные подсказки:
| Добавлено подсказок | Оценка CGF1 | Прирост по сравнению с только текстом | Прирост по сравнению с PVS Baseline |
|---|---|---|---|
| Только текст | 46.4 | базовый | базовый |
| +1 пример | 57.6 | +11.2 | +6.7 |
| +2 примера | 62.2 | +15.8 | +9.7 |
| +3 примера | 65.0 | +18.6 | +11.2 |
| +4 примера | 65.7 | +19.3 | +11.5 (плато) |
Точность подсчета объектов
SAM 3 обеспечивает точный подсчет, сегментируя все экземпляры, что часто требуется при подсчете объектов:
| Бенчмарк | Точность | MAE | против лучшей MLLM |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88.8% (Molmo-72B) |
Сравнение SAM 3, SAM 2 и YOLO
Здесь мы сравниваем возможности SAM 3 с моделями SAM 2 и YOLO26:
| Возможность | SAM 3 | SAM 2 | YOLO26n-seg |
|---|---|---|---|
| Сегментация по концептам | ✅ Все экземпляры по тексту/примерам | ❌ Не поддерживается | ❌ Не поддерживается |
| Визуальная сегментация | ✅ Один экземпляр (совместимо с SAM 2) | ✅ Один экземпляр | ✅ Все экземпляры |
| Возможность Zero-shot | ✅ Открытый словарь | ✅ Геометрические подсказки | ❌ Закрытый набор |
| Интерактивное уточнение | ✅ Примеры + клики | ✅ Только клики | ❌ Не поддерживается |
| Отслеживание видео | ✅ Несколько объектов с идентификацией | ✅ Несколько объектов | ✅ Несколько объектов |
| LVIS Mask AP (zero-shot) | 47.0 | Н/Д | Н/Д |
| MOSEv2 J&F | 60.1 | 47.9 | Н/Д |
| Скорость (GPU, мс/изобр.) | 2921 | 857 | 8.4 |
| Размер модели | 3.45 ГБ | 162 МБ (базовая) | 6.4 МБ |
Скорость протестирована на NVIDIA RTX PRO 6000 с использованием torch==2.9.1 и ultralytics==8.4.19.
Основные выводы:
- SAM 3: Лучший выбор для сегментации по концептам с открытым словарем, позволяющий найти все экземпляры концепта с помощью текста или примеров
- SAM 2: Лучший выбор для интерактивной сегментации отдельных объектов на изображениях и видео с помощью геометрических подсказок
- YOLO26: Лучший выбор для высокоскоростной сегментации в реальном времени с выводом end-to-end без NMS, экспортируемый во множество форматов для развертывания на GPU, CPU и edge-устройствах
Сравнение SAM с YOLO
Сравнение SAM 3, SAM 2, SAM, MobileSAM и FastSAM с моделями сегментации Ultralytics YOLO (YOLOv8, YOLO11, YOLO26) по размеру, параметрам и скорости вывода на GPU:
| Модель | Размер (МБ) | Параметры (М) | Скорость (GPU) (мс/изобр.) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 1306 |
| Meta SAM2-b | 162 | 80.8 | 857 |
| Meta SAM2-t | 78.1 | 38.9 | 668 |
| Meta SAM3 | 3450 | 473.6 | 2921 |
| MobileSAM | 40.7 | 10.1 | 605 |
| FastSAM-s с бэкбоном YOLOv8 | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6.7 (в 515 раз меньше) | 3.4 (в 139.1 раз меньше) | 17.4 (в 167 раз быстрее) |
| Ultralytics YOLO11n-seg | 5.9 (в 585 раз меньше) | 2.9 (в 163.1 раз меньше) | 12.6 (в 231 раз быстрее) |
| Ultralytics YOLO26n-seg | 6.4 (в 539 раз меньше) | 2.7 (в 175.2 раз меньше) | 8.4 (в 347 раз быстрее) |
Это сравнение демонстрирует существенные различия в размерах моделей и скорости между вариантами SAM и моделями сегментации YOLO. В то время как SAM предоставляет уникальные возможности автоматической сегментации, модели YOLO, особенно YOLOv8n-seg, YOLO11n-seg и YOLO26n-seg, значительно меньше, быстрее и вычислительно эффективнее.
Тесты проведены на NVIDIA RTX PRO 6000 с 96 ГБ VRAM с использованием torch==2.9.1 и ultralytics==8.4.19. Чтобы воспроизвести этот тест:
from ultralytics import ASSETS, SAM, YOLO, FastSAM
# Profile SAM3, SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt", "sam3.pt"]:
model = SAM(file)
model.info()
model(ASSETS)
# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)
# Profile YOLO models
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
model = YOLO(file_name)
model.info()
model(ASSETS)Метрики оценки
SAM 3 представляет новые метрики, разработанные для задачи PCS, дополняющие привычные меры, такие как F1 score, precision и recall.
Classification-Gated F1 (CGF1)
Основная метрика, объединяющая локализацию и классификацию:
CGF1 = 100 × pmF1 × IL_MCC
Где:
- pmF1 (Положительный макро F1): Измеряет качество локализации на положительных примерах
- IL_MCC (Изображенческий коэффициент корреляции Мэтьюса): Измеряет точность бинарной классификации ("присутствует ли концепт?")
Почему именно эти метрики?
Традиционные метрики AP не учитывают калибровку, что затрудняет использование моделей на практике. Оценивая только предсказания с уверенностью выше 0.5, метрики SAM 3 обеспечивают хорошую калибровку и имитируют реальные сценарии использования в интерактивных циклах predict и track.
Ключевые абляции и инсайты
Влияние компонента Presence Head
Голова присутствия (presence head) отделяет распознавание от локализации, обеспечивая значительные улучшения:
| Конфигурация | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Без присутствия | 57.6 | 0.77 | 74.7 |
| С присутствием | 63.3 | 0.82 | 77.1 |
Голова присутствия дает прирост CGF1 на +5.7 (+9.9%), в основном улучшая способность распознавания (IL_MCC +6.5%).
Влияние трудных негативных примеров (Hard Negatives)
| Трудные негативные примеры/Изображение | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| 0 | 31.8 | 0.44 | 70.2 |
| 5 | 44.8 | 0.62 | 71.9 |
| 30 | 49.2 | 0.68 | 72.3 |
Трудные негативные примеры критически важны для распознавания с открытым словарем, улучшая IL_MCC на 54.5% (0.44 → 0.68).
Масштабирование обучающих данных
| Источники данных | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Только внешние | 30.9 | 0.46 | 66.3 |
| Внешние + Синтетические | 39.7 | 0.57 | 70.6 |
| Внешние + HQ | 51.8 | 0.71 | 73.2 |
| Все три | 54.3 | 0.74 | 73.5 |
Высококачественная человеческая разметка дает значительные преимущества по сравнению с одними лишь синтетическими или внешними данными. Базовую информацию о методах обеспечения качества данных см. в разделе сбор и разметка данных.
Приложения
Возможность сегментации концептов в SAM 3 открывает новые сценарии использования:
- Модерация контента: находи все экземпляры определенных типов контента в медиабиблиотеках
- Электронная коммерция: сегментируй все товары определенного типа на изображениях каталога, поддерживая авторазметку
- Медицинская визуализация: выявляй все случаи определенных типов тканей или патологий
- Автономные системы: отслеживай все экземпляры дорожных знаков, пешеходов или транспортных средств по категориям
- Видеоаналитика: подсчитывай и отслеживай всех людей, одетых в определенную одежду или выполняющих действия
- Разметка набора данных: быстро размечай все экземпляры редких категорий объектов
- Научные исследования: количественно оценивай и анализируй все образцы, соответствующие определенным критериям
SAM 3 Agent: расширенное языковое рассуждение
SAM 3 можно объединять с мультимодальными большими языковыми моделями (MLLM) для обработки сложных запросов, требующих рассуждения, что по духу близко к системам с открытым словарем, таким как OWLv2 и T-Rex.
Производительность в задачах на рассуждение
| Бенчмарк | Метрика | SAM 3 Agent (Gemini 2.5 Pro) | Предыдущий лучший результат |
|---|---|---|---|
| ReasonSeg (валидация) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (тест) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (валидация) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | Acc | 91.2 | 89.3 (LISA) |
Примеры сложных запросов
SAM 3 Agent может обрабатывать запросы, требующие рассуждения:
- "Люди, которые сидят, но не держат в руках подарочную коробку"
- "Собака, которая находится ближе всех к камере и на которой нет ошейника"
- "Красные объекты, которые больше кисти руки человека"
MLLM предлагает SAM 3 простые запросы в виде именных групп, анализирует возвращенные маски и итерирует до тех пор, пока результат не станет удовлетворительным.
Ограничения
Хотя SAM 3 представляет собой значительный шаг вперед, у него есть определенные ограничения:
- Сложность фраз: лучше всего подходит для простых именных групп; длинные ссылочные выражения или сложные рассуждения могут потребовать интеграции с MLLM
- Обработка двусмысленности: некоторые концепты остаются внутренне двусмысленными (например, "маленькое окно", "уютная комната")
- Вычислительные требования: модель крупнее и медленнее, чем специализированные модели обнаружения, такие как YOLO
- Область словаря: внимание сосредоточено на атомарных визуальных концептах; композиционное рассуждение ограничено без помощи MLLM
- Редкие концепты: производительность может снижаться на крайне редких или узкоспециализированных концептах, недостаточно представленных в обучающих данных
Цитирование
@inproceedings{sam3_2025,
title = {SAM 3: Segment Anything with Concepts},
author = {Anonymous authors},
booktitle = {Submitted to ICLR 2026},
year = {2025},
url = {https://openreview.net/forum?id=r35clVtGzw},
note = {Paper ID: 4183, under double-blind review}
}Часто задаваемые вопросы (FAQ)
Когда был выпущен SAM 3?
SAM 3 был выпущен компанией Meta 20 ноября 2025 года и полностью интегрирован в Ultralytics начиная с версии 8.3.237 (PR #22897). Полная поддержка доступна для режима предсказания и режима трекинга.
Интегрирован ли SAM 3 в Ultralytics?
Да! SAM 3 полностью интегрирован в пакет Ultralytics для Python, включая сегментацию концептов, визуальные подсказки в стиле SAM 2 и трекинг нескольких объектов на видео. SAM 3 также обеспечивает работу функции умной разметки на Ultralytics Platform, где ты можешь размечать изображения всего в несколько кликов.
Что такое сегментация концептов с подсказками (PCS)?
PCS — это новая задача, представленная в SAM 3, которая сегментирует все экземпляры визуального концепта на изображении или видео. В отличие от традиционной сегментации, нацеленной на конкретный экземпляр объекта, PCS находит каждое вхождение категории. Например:
- Текстовая подсказка: "желтый школьный автобус" → сегментирует все желтые школьные автобусы на сцене
- Пример изображения: рамка вокруг одной собаки → сегментирует всех собак на изображении
- Комбинированный: "полосатая кошка" + рамка-пример → сегментирует всех полосатых кошек, соответствующих примеру
См. сопутствующую информацию об обнаружении объектов и сегментации экземпляров.
Чем SAM 3 отличается от SAM 2?
| Характеристика | SAM 2 | SAM 3 |
|---|---|---|
| Задача | Один объект на подсказку | Все экземпляры концепта |
| Типы подсказок | Точки, рамки, маски | Текстовые фразы, примеры изображений |
| Возможности обнаружения | Требуется внешний детектор | Встроенный детектор с открытым словарем |
| Распознавание | Только на основе геометрии | Текстовое и визуальное распознавание |
| Архитектура | Только трекер | Детектор + трекер с головкой наличия объекта |
| Производительность Zero-Shot | Н/Д (требуются визуальные подсказки) | 47.0 AP на LVIS, в 2 раза лучше на SA-Co |
| Интерактивное уточнение | Только клики | Клики + обобщение по примерам |
SAM 3 сохраняет обратную совместимость с визуальными подсказками SAM 2, добавляя при этом возможности на основе концептов.
Какие наборы данных используются для обучения SAM 3?
SAM 3 обучен на наборе данных Segment Anything with Concepts (SA-Co):
Данные для обучения:
- 5.2 млн изображений с 4 млн уникальных именных фраз (SA-Co/HQ) — высококачественные аннотации, выполненные людьми
- 52.5 тыс. видео с 24.8 тыс. уникальных именных фраз (SA-Co/VIDEO)
- 1.4 млрд синтетических масок для 38 млн именных фраз (SA-Co/SYN)
- 15 внешних наборов данных, дополненных сложными негативными примерами (SA-Co/EXT)
Бенчмарк-данные:
- 214 тыс. уникальных концептов для 126 тыс. изображений/видео
- В 50 раз больше концептов, чем в существующих бенчмарках (например, в LVIS ~4 тыс. концептов)
- Тройная аннотация в SA-Co/Gold для измерения границ производительности человека
Этот огромный масштаб и разнообразие обеспечивают превосходную zero-shot обобщающую способность SAM 3 по всем концептам с открытым словарем.
Как SAM 3 соотносится с YOLO26 в сегментации?
SAM 3 и YOLO26 предназначены для разных задач:
Преимущества SAM 3:
- Открытый словарь: сегментирует любой концепт с помощью текстовых подсказок без необходимости дообучения
- Zero-shot: сразу работает с новыми категориями
- Интерактивность: уточнение на основе примеров обобщается на похожие объекты
- На основе концептов: автоматически находит все экземпляры категории
- Точность: 47.0 AP при zero-shot сегментации экземпляров на LVIS
Преимущества YOLO26:
- Скорость: на порядки более быстрое выполнение вывода благодаря сквозному дизайну без NMS
- Эффективность: модели в 539 раз меньше (6.4 МБ против 3.45 ГБ)
- Легковесность: работает на периферийных устройствах и мобильных телефонах
- Работа в реальном времени: оптимизировано для продакшн-развертывания
Рекомендация:
- Используй SAM 3 для гибкой сегментации с открытым словарем, когда тебе нужно найти все экземпляры концептов, описанных текстом или примерами
- Используй YOLO26 для высокоскоростного продакшн-развертывания, где категории известны заранее
- Используй SAM 2 для интерактивной сегментации одного объекта с помощью геометрических подсказок
Может ли SAM 3 обрабатывать сложные языковые запросы?
SAM 3 разработан для простых именных фраз (например, «красное яблоко», «человек в шляпе»). Для сложных запросов, требующих рассуждения, используй SAM 3 вместе с MLLM как SAM 3 Agent:
Простые запросы (нативный SAM 3):
- «желтый школьный автобус»
- «полосатый кот»
- «человек в красной шляпе»
Сложные запросы (SAM 3 Agent с MLLM):
- «Люди, которые сидят, но не держат подарочную коробку»
- «Собака, которая ближе всего к камере, без ошейника»
- "Красные объекты, которые больше кисти руки человека"
SAM 3 Agent достигает 76.0 gIoU на валидации ReasonSeg (против 65.0 в предыдущем лучшем результате, улучшение на +16.9%), объединяя сегментацию SAM 3 с возможностями рассуждения MLLM.
Насколько точен SAM 3 по сравнению с результатами человека?
На бенчмарке SA-Co/Gold с тройной человеческой аннотацией:
- Нижняя граница человека: 74.2 CGF1 (самый консервативный аннотатор)
- Производительность SAM 3: 65.0 CGF1
- Достижение: 88% от расчетной нижней границы производительности человека
- Верхняя граница человека: 81.4 CGF1 (самый либеральный аннотатор)
SAM 3 демонстрирует высокую производительность, приближающуюся к человеческой точности в сегментации концептов с открытым словарем, причем разрыв в основном наблюдается на неоднозначных или субъективных концептах (например, «маленькое окно», «уютная комната»).