SAM 3: Phân đoạn mọi thứ bằng concept#

SAM 3 (Mô hình phân đoạn mọi thứ 3) là foundation model do Meta phát hành cho Promptable Concept Segmentation (PCS). Phát triển trên nền tảng SAM 2, SAM 3 giới thiệu một khả năng hoàn toàn mới: phát hiện, phân đoạn và tracking tất cả các instance của một concept thị giác được chỉ định bằng text prompt, exemplar hình ảnh hoặc cả hai. Khác với các phiên bản SAM trước đây chỉ phân đoạn một object cho mỗi prompt, SAM 3 có thể tìm và phân đoạn mọi lần xuất hiện của một concept ở bất kỳ vị trí nào trong hình ảnh hoặc video, phù hợp với các mục tiêu open-vocabulary trong instance segmentation hiện đại.
Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos
SAM 3 được tích hợp hoàn toàn vào gói ultralytics, cung cấp khả năng hỗ trợ nguyên bản cho phân đoạn khái niệm bằng các prompt dạng văn bản, prompt mẫu hình ảnh và theo dõi video. Điểm kiểm tra SAM 3.1 mới hơn được hỗ trợ cho việc dự đoán hình ảnh.
Tổng quan#
SAM 3 đạt hiệu năng cao hơn 2× so với các hệ thống hiện có trong Promptable Concept Segmentation, đồng thời duy trì và cải thiện các khả năng của SAM 2 cho visual segmentation tương tác. Model này nổi bật trong phân đoạn open-vocabulary, cho phép người dùng chỉ định concept bằng các cụm danh từ đơn giản (ví dụ: "xe buýt trường học màu vàng", "mèo vằn") hoặc cung cấp hình ảnh mẫu của object mục tiêu. Các khả năng này bổ trợ cho những pipeline sẵn sàng cho production, dựa trên các workflow predict và track được tinh gọn.

Promptable Concept Segmentation (PCS) là gì?#
Task PCS nhận đầu vào là một concept prompt và trả về các segmentation mask với identity duy nhất cho tất cả instance object khớp. Concept prompt có thể là:
- Text: Các cụm danh từ đơn giản như "quả táo đỏ" hoặc "người đội mũ", tương tự zero-shot learning
- Exemplar hình ảnh: Các bounding box xung quanh object mẫu (positive hoặc negative) để tổng quát hóa nhanh
- Kết hợp: Đồng thời sử dụng text và exemplar hình ảnh để kiểm soát chính xác
Điều này khác với các visual prompt truyền thống (point, box, mask), vốn chỉ phân đoạn một instance object cụ thể duy nhất, như được phổ biến bởi họ SAM ban đầu.
Các chỉ số hiệu năng chính#
| Chỉ số | Kết quả của SAM 3 |
|---|---|
| LVIS Zero-Shot Mask AP | 47.0 (so với mức tốt nhất trước đây là 38.5, cải thiện +22%) |
| Benchmark SA-Co | Tốt hơn 2× so với các hệ thống hiện có |
| Tốc độ inference (GPU H200) | 30 ms cho mỗi hình ảnh với hơn 100 object được phát hiện |
| Hiệu năng video | Gần thời gian thực với ~5 object đồng thời |
| Benchmark MOSEv2 VOS | 60.1 J&F (cao hơn +25.5% so với SAM 2.1, +17% so với SOTA trước đây) |
| Tinh chỉnh tương tác | Cải thiện +18.6 CGF1 sau 3 exemplar prompt |
| Khoảng cách so với hiệu năng con người | Đạt 88% cận dưới ước tính trên SA-Co/Gold |
Để tìm hiểu về các metric của model và sự đánh đổi trong production, hãy xem insight về đánh giá model và metric hiệu năng YOLO.
SAM 3.1#
SAM 3.1, được Meta phát hành vào ngày 27 tháng 3 năm 2026, là một điểm kiểm tra SAM 3 mới bổ sung Object Multiplex, một cách tiếp cận bộ nhớ chia sẻ để theo dõi video đa đối tượng. Thay vì xử lý độc lập từng đối tượng được theo dõi, SAM 3.1 nhóm các đối tượng vào các thùng có dung lượng cố định và xử lý chúng cùng nhau, điều mà Meta báo cáo là tốc độ tăng khoảng ~7× ở 128 đối tượng trên một GPU H100 duy nhất. Trình phát hiện hình ảnh và phần đầu prompt điểm tương tác giữ nguyên kiến trúc SAM 3.
| Benchmark | Chỉ số | SAM 3 | SAM 3.1 |
|---|---|---|---|
| SA-Co/VEval SA-V (kiểm tra) | cgF1 | 30.3 | 30.5 |
| SA-Co/VEval YT-Temporal-1B (kiểm tra) | cgF1 | 50.8 | 52.9 |
| SA-Co/VEval SmartGlasses (kiểm tra) | cgF1 | 36.4 | 36.3 |
| MOSEv1 (xác thực) | J&F | 78.4 | 79.6 |
| DAVIS17 (xác thực) | J&F | 92.2 | 92.7 |
| SA-V (kiểm tra) | J&F | 84.4 | 85.1 |
| YTVOS19 (xác thực) | G | 89.7 | 89.3 |
| MOSEv2 (xác thực) | J&Ḟ | 60.3 | 62.3 |
Ultralytics tải điểm kiểm tra SAM 3.1 (sam3.1_multiplex.pt) vào các trình dự đoán hình ảnh SAM 3: SAM("sam3.1_multiplex.pt") cho các prompt điểm và hộp, và SAM3SemanticPredictor cho các prompt văn bản và mẫu. Theo dõi video Object Multiplex chưa được hỗ trợ, vì vậy hãy tiếp tục sử dụng sam3.pt với SAM3VideoPredictor và SAM3VideoSemanticPredictor.
Kiến trúc#
SAM 3 gồm một detector và tracker, cùng chia sẻ backbone thị giác Perception Encoder (PE). Thiết kế tách rời này tránh xung đột giữa các task, đồng thời hỗ trợ cả detection cấp độ hình ảnh và tracking cấp độ video, với interface tương thích với cách sử dụng Python và cách sử dụng CLI của Ultralytics.
Các thành phần cốt lõi#
-
Detector: Kiến trúc dựa trên DETR cho detection concept ở cấp độ hình ảnh
- Text encoder cho các prompt dạng cụm danh từ
- Exemplar encoder cho các prompt dựa trên hình ảnh
- Fusion encoder để điều kiện hóa các đặc trưng hình ảnh theo prompt
- Presence head mới, tách recognition ("what") khỏi localization ("where")
- Mask head để tạo segmentation mask cho instance
-
Tracker: Video segmentation dựa trên memory, kế thừa từ SAM 2
- Prompt encoder, mask decoder, memory encoder
- Memory bank để lưu trữ diện mạo của object qua các frame
- Disambiguation theo thời gian được hỗ trợ bởi các kỹ thuật như bộ lọc Kalman trong các bối cảnh multi-object
-
Presence Token: Global token được học để dự đoán concept mục tiêu có hiện diện trong hình ảnh/frame hay không, cải thiện detection bằng cách tách recognition khỏi localization.

Các cải tiến chính#
- Tách biệt Recognition và Localization: Presence head dự đoán sự hiện diện của concept trên toàn cục, trong khi các proposal query chỉ tập trung vào localization, tránh các mục tiêu xung đột.
- Prompt Concept và Visual thống nhất: Hỗ trợ cả PCS (concept prompt) và PVS (visual prompt như click/box của SAM 2) trong một model duy nhất.
- Tinh chỉnh Exemplar tương tác: Người dùng có thể thêm exemplar hình ảnh positive hoặc negative để tinh chỉnh kết quả lặp lại, trong đó model tổng quát hóa sang các object tương tự thay vì chỉ sửa từng instance riêng lẻ.
- Disambiguation theo thời gian: Sử dụng điểm detection của masklet và re-prompt định kỳ để xử lý hiện tượng che khuất, cảnh đông đúc và lỗi tracking trong video, phù hợp với các best practice về instance segmentation và tracking.
Dataset SA-Co#
SAM 3 được huấn luyện trên Segment Anything with Concepts (SA-Co), dataset segmentation lớn nhất và đa dạng nhất của Meta cho đến nay, mở rộng vượt ra ngoài các benchmark phổ biến như COCO và LVIS.
Dữ liệu huấn luyện#
| Thành phần dataset | Mô tả | Quy mô |
|---|---|---|
| SA-Co/HQ | Dữ liệu hình ảnh chất lượng cao do con người gán nhãn từ data engine 4 giai đoạn | 5.2M hình ảnh, 4M cụm danh từ duy nhất |
| SA-Co/SYN | Dataset tổng hợp được AI gán nhãn mà không có sự tham gia của con người | 38M cụm danh từ, 1.4B mask |
| SA-Co/EXT | 15 dataset bên ngoài được làm phong phú bằng hard negative | Thay đổi tùy theo nguồn |
| SA-Co/VIDEO | Annotation video với tracking theo thời gian | 52.5K video, 24.8K cụm danh từ duy nhất |
Dữ liệu benchmark#
Benchmark đánh giá SA-Co chứa 214K phrase duy nhất trên 126K hình ảnh và video, cung cấp số lượng concept nhiều hơn 50× so với các benchmark hiện có. Benchmark bao gồm:
- SA-Co/Gold: 7 lĩnh vực, được gán nhãn ba lần để đo cận hiệu năng của con người
- SA-Co/Silver: 10 lĩnh vực, một lần gán nhãn bởi con người
- SA-Co/Bronze và SA-Co/Bio: 9 dataset hiện có được điều chỉnh cho phân đoạn concept
- SA-Co/VEval: Benchmark video với 3 lĩnh vực (SA-V, YT-Temporal-1B, SmartGlasses)
Các cải tiến của Data Engine#
Data engine có human-in-the-loop và model-in-the-loop với khả năng mở rộng của SAM 3 đạt throughput annotation cao hơn 2× thông qua:
- AI Annotators: Các model dựa trên Llama đề xuất nhiều cụm danh từ đa dạng, bao gồm cả hard negative
- AI Verifiers: Multimodal LLM được fine-tune xác minh chất lượng và tính đầy đủ của mask với hiệu năng gần bằng con người
- Active Mining: Tập trung nỗ lực của con người vào các case lỗi khó, nơi AI gặp khó khăn
- Dựa trên Ontology: Tận dụng ontology lớn được xây dựng trên nền tảng Wikidata để bao phủ concept
Cài đặt#
Cài đặt hoặc nâng cấp gói ultralytics:
pip install -U ultralyticsKhông giống các model Ultralytics khác, trọng số SAM 3 (sam3.pt) không được tự động tải xuống. Trước tiên, bạn phải yêu cầu quyền truy cập trọng số model trên trang model SAM 3 trên Hugging Face, sau đó, khi được phê duyệt, tải xuống sam3.pt từ trang đó. Đặt file sam3.pt đã tải xuống vào working directory hoặc chỉ định đường dẫn đầy đủ khi load model.
Trọng số SAM 3.1 (sam3.1_multiplex.pt) được kiểm soát theo cùng một cách trên trang mô hình SAM 3.1. Truyền sam3.1_multiplex.pt vào bất kỳ đâu các ví dụ hình ảnh bên dưới sử dụng sam3.pt.
Nếu gặp lỗi trên trong quá trình prediction, điều đó có nghĩa là bạn đã cài sai package clip. Cài đặt package clip chính xác bằng lệnh sau:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.gitCách sử dụng SAM 3: Tính linh hoạt trong phân đoạn concept#
SAM 3 hỗ trợ cả task Promptable Concept Segmentation (PCS) và Promptable Visual Segmentation (PVS) thông qua các interface predictor khác nhau:
Các task và model được hỗ trợ#
| Loại task | Loại prompt | Đầu ra |
|---|---|---|
| Phân đoạn concept (PCS) | Text (cụm danh từ), exemplar hình ảnh | Tất cả instance khớp với concept |
| Phân đoạn thị giác (PVS) | Point, box, mask | Một instance object duy nhất (kiểu SAM 2) |
| Tinh chỉnh tương tác | Lặp lại việc thêm/xóa exemplar hoặc click | Phân đoạn được tinh chỉnh với độ chính xác cải thiện |
Ví dụ về phân đoạn khái niệm#
Phân đoạn bằng prompt văn bản#
Tìm và phân đoạn tất cả các instance của một khái niệm bằng mô tả văn bản. Prompt văn bản yêu cầu interface SAM3SemanticPredictor.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor with configuration
overrides = {
"conf": 0.25,
"task": "segment",
"mode": "predict",
"model": "sam3.pt",
"quantize": 16, # 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"])Phân đoạn bằng exemplar hình ảnh#
Sử dụng các bounding box làm prompt trực quan để tìm tất cả các instance tương tự. Tính năng này cũng yêu cầu SAM3SemanticPredictor để matching dựa trên khái niệm.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16, "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 as exemplars of the same visual concept
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])Inference dựa trên feature để tăng hiệu quả#
Trích xuất feature hình ảnh một lần và tái sử dụng chúng cho nhiều truy vấn phân đoạn để tăng hiệu quả.
import cv2
from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors
# Initialize predictors
overrides = {"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)Phân đoạn khái niệm trong video#
Theo dõi khái niệm trong video bằng bounding box#
Phát hiện và theo dõi các instance của đối tượng qua các frame video bằng prompt bounding box.
from ultralytics.models.sam import SAM3VideoPredictor
# Create video predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16}
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 masksTheo dõi khái niệm bằng prompt văn bản#
Theo dõi tất cả các instance của những khái niệm được chỉ định bằng văn bản qua các frame video.
from ultralytics.models.sam import SAM3VideoSemanticPredictor
# Initialize semantic video predictor
overrides = {
"conf": 0.25,
"task": "segment",
"mode": "predict",
"imgsz": 640,
"model": "sam3.pt",
"quantize": 16,
"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,
)Prompt trực quan (tương thích với SAM 2)#
SAM 3 duy trì khả năng tương thích ngược đầy đủ với tính năng prompting trực quan của SAM 2 để phân đoạn một đối tượng:
Interface cơ bản SAM hoạt động chính xác như SAM 2, chỉ phân đoạn khu vực cụ thể được chỉ báo bằng prompt trực quan (point, box hoặc mask).
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()Sử dụng SAM("sam3.pt") với prompt trực quan (point/box/mask) sẽ phân đoạn chỉ đối tượng cụ thể tại vị trí đó, giống như SAM 2. Để phân đoạn tất cả các instance của một khái niệm, hãy sử dụng SAM3SemanticPredictor với prompt văn bản hoặc exemplar như minh họa ở trên.
Benchmark hiệu năng#
Phân đoạn hình ảnh#
SAM 3 đạt kết quả tiên tiến nhất trên nhiều benchmark, bao gồm các dataset thực tế như LVIS và COCO cho phân đoạn:
| Benchmark | Chỉ số | SAM 3 | Kết quả tốt nhất trước đây | Mức cải thiện |
|---|---|---|---|---|
| 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 (phân đoạn ngữ nghĩa) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (phân đoạn ngữ nghĩa) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Khám phá các tùy chọn dataset để nhanh chóng thử nghiệm trong các dataset của Ultralytics.
Hiệu năng phân đoạn video#
SAM 3 cho thấy mức cải thiện đáng kể so với SAM 2 và các mô hình tiên tiến nhất trước đây trên các benchmark video như DAVIS 2017 và YouTube-VOS:
| Benchmark | Chỉ số | SAM 3 | SAM 2.1 L | Mức cải thiện |
|---|---|---|---|---|
| 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% |
Thích ứng few-shot#
SAM 3 nổi bật trong việc thích ứng với các domain mới chỉ bằng một số lượng tối thiểu ví dụ, phù hợp với các workflow AI lấy dữ liệu làm trung tâm:
| Benchmark | AP 0-shot | AP 10-shot | Kết quả tốt nhất trước đây (10-shot) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
Hiệu quả tinh chỉnh tương tác#
Prompt dựa trên khái niệm của SAM 3 với exemplar hội tụ nhanh hơn nhiều so với prompting trực quan:
| Số prompt đã thêm | Điểm CGF1 | Mức tăng so với chỉ văn bản | Mức tăng so với baseline PVS |
|---|---|---|---|
| Chỉ văn bản | 46.4 | baseline | baseline |
| +1 exemplar | 57.6 | +11.2 | +6.7 |
| +2 exemplar | 62.2 | +15.8 | +9.7 |
| +3 exemplar | 65.0 | +18.6 | +11.2 |
| +4 exemplar | 65.7 | +19.3 | +11.5 (cao điểm) |
Độ chính xác đếm đối tượng#
SAM 3 cung cấp khả năng đếm chính xác bằng cách phân đoạn tất cả các instance, một yêu cầu phổ biến trong bài toán đếm đối tượng:
| Benchmark | Độ chính xác | MAE | so với MLLM tốt nhất |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88.8% (Molmo-72B) |
So sánh SAM 3 với SAM 2 và YOLO#
Tại đây, chúng ta so sánh các khả năng của SAM 3 với các model SAM 2 và YOLO26. Để phát hiện và phân đoạn open-vocabulary theo thời gian thực từ cùng các dạng prompt, hãy xem YOLOE:
| Khả năng | SAM 3 | SAM 2 | YOLO26n-seg |
|---|---|---|---|
| Phân đoạn khái niệm | ✅ Tất cả instance từ văn bản/exemplar | ❌ Không được hỗ trợ | ❌ Không được hỗ trợ |
| Phân đoạn trực quan | ✅ Một instance (tương thích với SAM 2) | ✅ Một instance | ✅ Tất cả instance |
| Khả năng zero-shot | ✅ Từ vựng mở | ✅ Prompt hình học | ❌ Tập đóng |
| Tinh chỉnh tương tác | ✅ Exemplars + lượt click | ✅ Chỉ lượt click | ❌ Không được hỗ trợ |
| Theo dõi video | ✅ Nhiều đối tượng kèm danh tính | ✅ Nhiều đối tượng | ✅ Nhiều đối tượng |
| Mask AP trên LVIS (zero-shot) | 47.0 | Không áp dụng | Không áp dụng |
| MOSEv2 J&F | 60.1 | 47.9 | Không áp dụng |
| Tốc độ (GPU, ms/im) | 2921 | 857 | 8.4 |
| Kích thước model | 3.45 GB | 162 MB (bản base) | 6.4 MB |
Tốc độ được benchmark trên NVIDIA RTX PRO 6000 với torch==2.9.1 và ultralytics==8.4.19.
Điểm chính:
- SAM 3: Phù hợp nhất cho phân đoạn concept với vocabulary mở, tìm tất cả instance của một concept bằng prompt dạng text hoặc exemplar
- SAM 2: Phù hợp nhất cho phân đoạn tương tác một đối tượng trong ảnh và video bằng prompt hình học
- YOLO26: Tốt nhất cho việc phân đoạn thời gian thực, tốc độ cao với suy luận đầu-cuối không cần NMS tùy chọn, có thể xuất sang nhiều định dạng để triển khai trên GPU, CPU và thiết bị biên
So sánh SAM với YOLO#
So sánh SAM 3, SAM 2, SAM, MobileSAM và FastSAM với các model phân đoạn Ultralytics YOLO (YOLOv8, YOLO11, YOLO26) về kích thước, số lượng tham số và tốc độ inference trên GPU:
| Model | Kích thước (MB) | Số tham số (M) | Tốc độ (GPU) (ms/im) |
|---|---|---|---|
| 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 với backbone YOLOv8 | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6.7 (nhỏ hơn 515 lần) | 3.4 (ít hơn 139.1 lần) | 17.4 (nhanh hơn 167 lần) |
| Ultralytics YOLO11n-seg | 5.9 (nhỏ hơn 585 lần) | 2.9 (ít hơn 163.1 lần) | 12.6 (nhanh hơn 231 lần) |
| Ultralytics YOLO26n-seg | 6.4 (nhỏ hơn 539 lần) | 2.7 (ít hơn 175.2 lần) | 8.4 (nhanh hơn 347 lần) |
So sánh này cho thấy sự khác biệt đáng kể về kích thước và tốc độ model giữa các biến thể SAM và các model phân đoạn YOLO. Mặc dù SAM cung cấp khả năng phân đoạn tự động độc đáo, các model YOLO, đặc biệt là YOLOv8n-seg, YOLO11n-seg và YOLO26n-seg, nhỏ hơn, nhanh hơn và hiệu quả tính toán cao hơn đáng kể.
Các phép thử được chạy trên NVIDIA RTX PRO 6000 với 96GB VRAM bằng torch==2.9.1 và ultralytics==8.4.19. Để tái tạo phép thử này:
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, nms=False) # YOLO26 NMS-free head; no-op for YOLOv8/YOLO11Các metric đánh giá#
SAM 3 giới thiệu các metric mới được thiết kế cho tác vụ PCS, bổ sung cho những thước đo quen thuộc như F1 score, precision và recall.
F1 có điều kiện theo phân loại (CGF1)#
Metric chính kết hợp localization và classification:
CGF1 = 100 × pmF1 × IL_MCC
Trong đó:
- pmF1 (F1 macro dương): Đo chất lượng localization trên các ví dụ dương
- IL_MCC (Hệ số tương quan Matthews cấp ảnh): Đo độ chính xác phân loại nhị phân ("concept có hiện diện không?")
Tại sao cần các metric này?#
Các metric AP truyền thống không tính đến calibration, khiến model khó sử dụng trong thực tế. Bằng cách chỉ đánh giá các prediction có confidence trên 0.5, các metric của SAM 3 đảm bảo calibration tốt và mô phỏng các pattern sử dụng trong thực tế ở các vòng lặp predict và track tương tác.
Các ablation và insight chính#
Ảnh hưởng của presence head#
Presence head tách recognition khỏi localization, mang lại những cải thiện đáng kể:
| Cấu hình | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Không có presence | 57.6 | 0.77 | 74.7 |
| Có presence | 63.3 | 0.82 | 77.1 |
Presence head mang lại mức tăng 5.7 CGF1 (+9.9%), chủ yếu cải thiện khả năng recognition (IL_MCC +6.5%).
Ảnh hưởng của hard negative#
| Hard Negative/Ảnh | 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 |
Hard negative rất quan trọng đối với recognition với vocabulary mở, cải thiện IL_MCC 54.5% (0.44 → 0.68).
Scaling dữ liệu huấn luyện#
| Nguồn dữ liệu | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Chỉ external | 30.9 | 0.46 | 66.3 |
| External + synthetic | 39.7 | 0.57 | 70.6 |
| External + HQ | 51.8 | 0.71 | 73.2 |
| Cả ba | 54.3 | 0.74 | 73.5 |
Các annotation chất lượng cao do con người thực hiện mang lại mức cải thiện lớn so với chỉ sử dụng dữ liệu synthetic hoặc external. Để tìm hiểu cơ sở về các phương pháp đảm bảo chất lượng dữ liệu, hãy xem thu thập và annotation dữ liệu.
Ứng dụng#
Khả năng phân đoạn concept của SAM 3 mở ra các use case mới:
- Kiểm duyệt nội dung: Tìm tất cả instance của các loại nội dung cụ thể trong các thư viện media
- E-commerce: Phân đoạn tất cả sản phẩm thuộc một loại nhất định trong ảnh catalog, hỗ trợ auto-annotation
- Chẩn đoán hình ảnh y tế: Xác định mọi trường hợp xuất hiện của các loại mô hoặc bất thường cụ thể
- Hệ thống tự hành: Theo dõi tất cả instance của biển báo giao thông, người đi bộ hoặc phương tiện theo category
- Phân tích video: Đếm và theo dõi tất cả người mặc loại quần áo cụ thể hoặc thực hiện các hành động cụ thể
- Annotation dataset: Nhanh chóng annotate tất cả instance của các category đối tượng hiếm
- Nghiên cứu khoa học: Định lượng và phân tích tất cả mẫu vật phù hợp với các tiêu chí cụ thể
SAM 3 Agent: Suy luận ngôn ngữ mở rộng#
SAM 3 có thể kết hợp với các mô hình ngôn ngữ lớn đa phương thức (MLLMs) để xử lý các truy vấn phức tạp cần suy luận, tương tự về cách tiếp cận với các hệ thống vocabulary mở như OWLv2 và T-Rex.
Hiệu năng trên các tác vụ suy luận#
| Benchmark | Chỉ số | SAM 3 Agent (Gemini 2.5 Pro) | Kết quả tốt nhất trước đây |
|---|---|---|---|
| ReasonSeg (validation) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (test) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (validation) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | Acc | 91.2 | 89.3 (LISA) |
Các truy vấn phức tạp mẫu#
SAM 3 Agent có thể xử lý các truy vấn cần suy luận:
- "Những người đang ngồi nhưng không cầm hộp quà trên tay"
- "Con chó gần camera nhất nhưng không đeo vòng cổ"
- "Các vật thể màu đỏ lớn hơn bàn tay của người đó"
MLLM đề xuất các truy vấn cụm danh từ đơn giản cho SAM 3, phân tích các mask được trả về và lặp lại cho đến khi đạt yêu cầu.
Hạn chế#
Mặc dù SAM 3 là một bước tiến lớn, model này vẫn có một số hạn chế nhất định:
- Độ phức tạp của cụm từ: Phù hợp nhất với các cụm danh từ đơn giản; những biểu thức quy chiếu dài hoặc yêu cầu suy luận phức tạp có thể cần tích hợp MLLM
- Xử lý tính mơ hồ: Một số khái niệm vốn dĩ vẫn mơ hồ (ví dụ: "cửa sổ nhỏ", "căn phòng ấm cúng")
- Yêu cầu tính toán: Lớn hơn và chậm hơn các model detection chuyên biệt như YOLO
- Phạm vi từ vựng: Tập trung vào các khái niệm hình ảnh nguyên tử; khả năng suy luận tổ hợp bị hạn chế nếu không có hỗ trợ của MLLM
- Khái niệm hiếm: Hiệu năng có thể giảm đối với các khái niệm cực kỳ hiếm hoặc có mức độ chi tiết cao nhưng không được biểu diễn đầy đủ trong dữ liệu huấn luyện
Trích dẫn#
@misc{carion2025sam3,
title = {SAM 3: Segment Anything with Concepts},
author = {Nicolas Carion and Laura Gustafson and Yuan-Ting Hu and Shoubhik Debnath and Ronghang Hu and Didac Suris and Chaitanya Ryali and Kalyan Vasudev Alwala and Haitham Khedr and Andrew Huang and Jie Lei and Tengyu Ma and Baishan Guo and Arpit Kalla and Markus Marks and Joseph Greer and Meng Wang and Peize Sun and Roman R{\"a}dle and Triantafyllos Afouras and Effrosyni Mavroudi and Katherine Xu and Tsung-Han Wu and Yu Zhou and Liliane Momeni and Rishi Hazra and Shuangrui Ding and Sagar Vaze and Francois Porcher and Feng Li and Siyuan Li and Aishwarya Kamath and Ho Kei Cheng and Piotr Doll{\'a}r and Nikhila Ravi and Kate Saenko and Pengchuan Zhang and Christoph Feichtenhofer},
year = {2025},
eprint = {2511.16719},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2511.16719}
}FAQ#
SAM 3 được phát hành bởi Meta vào Ngày 19 tháng 11 năm 2025 và được tích hợp hoàn toàn vào gói
ultralytics, với hỗ trợ cho predict mode và track mode.Có chứ! SAM 3 được tích hợp hoàn toàn vào gói Python của Ultralytics, bao gồm phân đoạn khái niệm, các lời nhắc trực quan theo phong cách SAM 2 và theo dõi video nhiều đối tượng. SAM 3 và SAM 3.1 cũng cung cấp năng lượng cho tính năng smart annotation trên Ultralytics Platform, nơi SAM 3.1 là model mặc định và bạn có thể chú thích hình ảnh chỉ với vài cú nhấp chuột.
Có, đối với việc dự đoán hình ảnh. Tải
sam3.1_multiplex.ptbất cứ nơi nào các ví dụ về hình ảnh trên trang này sử dụngsam3.pt:SAM("sam3.1_multiplex.pt")cho lời nhắc điểm và hộp, vàSAM3SemanticPredictorcho lời nhắc văn bản và mẫu. Việc theo dõi video Object Multiplex chưa được hỗ trợ, vì vậy hãy tiếp tục sử dụngsam3.ptvới các bộ dự đoán video. Xem SAM 3.1 để biết các điểm chuẩn của Meta.PCS là một task mới được giới thiệu trong SAM 3, có khả năng phân đoạn tất cả các instance của một khái niệm hình ảnh trong ảnh hoặc video. Khác với segmentation truyền thống nhắm đến một instance cụ thể của object, PCS tìm mọi lần xuất hiện của một category. Ví dụ:
- Text prompt: "xe buýt trường học màu vàng" → phân đoạn tất cả xe buýt trường học màu vàng trong cảnh
- Image exemplar: Vẽ box quanh một con chó → phân đoạn tất cả chó trong ảnh
- Kết hợp: "mèo có sọc" + box exemplar → phân đoạn tất cả mèo có sọc khớp với ví dụ
Xem thêm thông tin nền tảng liên quan đến object detection và instance segmentation.
Tính năng SAM 2 SAM 3 Task Một object cho mỗi prompt Tất cả instance của một khái niệm Loại prompt Point, box, mask + Cụm từ văn bản, image exemplar Khả năng detection Cần detector bên ngoài Detector open-vocabulary tích hợp sẵn Nhận diện Chỉ dựa trên hình học Nhận diện bằng văn bản và hình ảnh Kiến trúc Chỉ có tracker Detector + tracker với presence head Hiệu năng zero-shot N/A (cần visual prompt) 47.0 AP trên LVIS, tốt hơn 2× trên SA-Co Tinh chỉnh tương tác Chỉ nhấp chuột Nhấp chuột + khả năng khái quát hóa từ exemplar SAM 3 duy trì khả năng tương thích ngược với visual prompt của SAM 2, đồng thời bổ sung các capability dựa trên khái niệm.
SAM 3 được huấn luyện trên dataset Segment Anything with Concepts (SA-Co):
Dữ liệu huấn luyện:
- 5.2M hình ảnh với 4M cụm danh từ duy nhất (SA-Co/HQ) - chú thích chất lượng cao do con người thực hiện
- 52.5K video với 24.8K cụm danh từ duy nhất (SA-Co/VIDEO)
- 1.4B mask tổng hợp trên 38M cụm danh từ (SA-Co/SYN)
- 15 dataset bên ngoài được bổ sung hard negative (SA-Co/EXT)
Dữ liệu benchmark:
- 214K khái niệm duy nhất trên 126K hình ảnh/video
- Nhiều hơn 50× khái niệm so với các benchmark hiện có (ví dụ, LVIS có khoảng ~4K khái niệm)
- Chú thích ba lần trên SA-Co/Gold để đo giới hạn hiệu năng của con người
Quy mô và tính đa dạng lớn này giúp SAM 3 khái quát hóa zero-shot vượt trội trên các khái niệm open-vocabulary.
SAM 3 và YOLO26 phục vụ các use case khác nhau:
Ưu điểm của SAM 3:
- Open-vocabulary: Phân đoạn bất kỳ khái niệm nào thông qua text prompt mà không cần huấn luyện
- Zero-shot: Hoạt động ngay trên các category mới
- Tương tác: Việc tinh chỉnh dựa trên exemplar có thể khái quát hóa sang các object tương tự
- Dựa trên khái niệm: Tự động tìm tất cả instance của một category
- Độ chính xác: 47.0 AP trên instance segmentation zero-shot của LVIS
Ưu điểm của YOLO26:
- Tốc độ: Tốc độ suy luận nhanh hơn nhiều bậc, với phần đầu đầu-cuối không cần NMS tùy chọn
- Hiệu quả: Model nhỏ hơn 539× (6.4MB so với 3.45GB)
- Thân thiện với tài nguyên: Chạy trên edge device và thiết bị di động
- Thời gian thực: Được tối ưu cho việc triển khai production
Khuyến nghị:
- Sử dụng SAM 3 cho segmentation open-vocabulary linh hoạt khi bạn cần tìm tất cả instance của các khái niệm được mô tả bằng văn bản hoặc ví dụ
- Sử dụng YOLO26 cho các triển khai production tốc độ cao khi category đã được xác định trước
- Sử dụng SAM 2 cho segmentation tương tác trên một object với các geometric prompt
SAM 3 được thiết kế cho các cụm danh từ đơn giản (ví dụ: "quả táo đỏ", "người đội mũ"). Với các truy vấn phức tạp cần suy luận, hãy kết hợp SAM 3 với một MLLM dưới dạng SAM 3 Agent:
Truy vấn đơn giản (SAM 3 gốc):
- "xe buýt trường học màu vàng"
- "mèo có sọc"
- "người đội mũ đỏ"
Truy vấn phức tạp (SAM 3 Agent với MLLM):
- "Những người đang ngồi nhưng không cầm hộp quà"
- "Con chó gần camera nhất nhưng không đeo vòng cổ"
- "Các vật thể màu đỏ lớn hơn bàn tay của người đó"
SAM 3 Agent đạt 76.0 gIoU trên tập validation ReasonSeg (so với mức tốt nhất trước đây là 65.0, cải thiện +16.9%) bằng cách kết hợp segmentation của SAM 3 với capability suy luận của MLLM.
Trên benchmark SA-Co/Gold với chú thích ba lần do con người thực hiện:
- Cận dưới của con người: 74.2 CGF1 (annotator bảo thủ nhất)
- Hiệu năng của SAM 3: 65.0 CGF1
- Mức đạt được: 88% cận dưới ước tính của con người
- Cận trên của con người: 81.4 CGF1 (annotator cởi mở nhất)
SAM 3 đạt hiệu năng mạnh, tiệm cận độ chính xác ở cấp độ con người trên task concept segmentation open-vocabulary, với khoảng cách chủ yếu nằm ở các khái niệm mơ hồ hoặc mang tính chủ quan (ví dụ: "cửa sổ nhỏ", "căn phòng ấm cúng").