SAM 3: Phân đoạn mọi thứ theo khái niệm (Segment Anything with Concepts)

Hiện đã có trong Ultralytics

SAM 3 được tích hợp hoàn toàn vào gói Ultralytics kể từ phiên bản 8.3.237 (PR #22897). Hãy cài đặt hoặc nâng cấp bằng pip install -U ultralytics để truy cập tất cả các tính năng của SAM 3, bao gồm phân đoạn khái niệm dựa trên văn bản, gợi ý mẫu hình ảnh và theo dõi video.

Tổng quan về phân đoạn khái niệm có thể gợi ý của SAM 3

SAM 3 (Segment Anything Model 3) là model nền tảng do Meta phát hành cho Phân đoạn khái niệm có thể gợi ý (PCS). Dựa trên 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à theo dõi tất cả các thực thể của một khái niệm hình ảnh được chỉ định bởi gợi ý văn bản, mẫu hình ảnh hoặc cả hai. Không giống như các phiên bản SAM trước đó chỉ phân đoạn các đối tượng đơn lẻ cho mỗi gợi ý, SAM 3 có thể tìm và phân đoạn mọi sự xuất hiện của một khái niệm ở bất kỳ đâu trong hình ảnh hoặc video, phù hợp với các mục tiêu từ vựng mở trong phân đoạn thực thể hiện đại.



Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos

SAM 3 hiện được tích hợp đầy đủ vào gói ultralytics, cung cấp hỗ trợ tự nhiên cho việc phân đoạn khái niệm bằng gợi ý văn bản, gợi ý mẫu hình ảnh và khả năng theo dõi video.

Tổng quan

SAM 3 đạt được mức tăng hiệu suất 2× so với các hệ thống hiện có trong việc Phân đoạn khái niệm có thể gợi ý, đồng thời duy trì và cải thiện các khả năng của SAM 2 cho phân đoạn hình ảnh tương tác. Model này vượt trội trong việc phân đoạn từ vựng mở, cho phép người dùng chỉ định các khái niệm bằng cách sử dụ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 bằng cách cung cấp các hình ảnh ví dụ về đối tượng mục tiêu. Những khả năng này bổ sung cho các quy trình sản xuất dựa trên các luồng công việc predict (dự đoán) và track (theo dõi) được tối ưu hóa.

Ví dụ về phân đoạn gợi ý văn bản của SAM 3

Phân đoạn khái niệm có thể gợi ý (PCS) là gì?

Tác vụ PCS nhận gợi ý khái niệm làm đầu vào và trả về các mặt nạ phân đoạn với các định danh duy nhất cho tất cả các thực thể đối tượng khớp. Các gợi ý khái niệm có thể là:

  • Văn bản: Các cụm danh từ đơn giản như "quả táo đỏ" hoặc "người đang đội mũ", tương tự như zero-shot learning
  • Mẫu hình ảnh: Các khung giới hạn (BBox) xung quanh các đối tượng ví dụ (tích cực hoặc tiêu cực) để khái quát hóa nhanh chóng
  • Kết hợp: Cả văn bản và mẫu hình ảnh cùng nhau để kiểm soát chính xác

Điều này khác với các gợi ý hình ảnh truyền thống (điểm, hộp, mặt nạ), vốn chỉ phân đoạn một thực thể đối tượng cụ thể duy nhất, như đã được phổ biến bởi họ SAM ban đầu.

Các chỉ số hiệu suất chính

Chỉ sốThành tựu của SAM 3
LVIS Zero-Shot Mask AP47.0 (so với mức tốt nhất trước đó là 38.5, cải thiện +22%)
Điểm chuẩn SA-CoTốt hơn 2× so với các hệ thống hiện có
Tốc độ suy luận (GPU H200)30 ms mỗi hình ảnh với hơn 100 đối tượng được phát hiện
Hiệu suất videoGần thời gian thực cho khoảng 5 đối tượng đồng thời
Điểm chuẩn MOSEv2 VOS60.1 J&F (+25.5% so với SAM 2.1, +17% so với SOTA trước đó)
Tinh chỉnh tương tácCải thiện +18.6 CGF1 sau 3 gợi ý mẫu
Khoảng cách hiệu suất con ngườiĐạt 88% cận dưới ước tính trên SA-Co/Gold

Để biết bối cảnh về các chỉ số model và sự cân bằng trong sản xuất, hãy xem thông tin chi tiết về đánh giá modelcác chỉ số hiệu suất YOLO.

Kiến trúc

SAM 3 bao gồm một detector (bộ phát hiện) và tracker (bộ theo dõi) chia sẻ chung một trục chính thị giác Perception Encoder (PE). Thiết kế tách biệt này tránh xung đột tác vụ trong khi vẫn cho phép cả phát hiện cấp độ hình ảnh và theo dõi cấp độ video, với giao diện tương thích với cách sử dụng Pythonsử 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 việc phát hiện khái niệm cấp độ hình ảnh

    • Bộ mã hóa văn bản cho các gợi ý cụm danh từ
    • Bộ mã hóa mẫu cho các gợi ý dựa trên hình ảnh
    • Bộ mã hóa hợp nhất để điều kiện hóa các đặc trưng hình ảnh dựa trên các gợi ý
    • Novel presence head (đầu nhận diện sự hiện diện) giúp tách biệt việc nhận dạng ("cái gì") khỏi việc định vị ("ở đâu")
    • Đầu mặt nạ (Mask head) để tạo các mặt nạ phân đoạn thực thể
  • Tracker: Phân đoạn video dựa trên bộ nhớ kế thừa từ SAM 2

    • Bộ mã hóa gợi ý, bộ giải mã mặt nạ, bộ mã hóa bộ nhớ
    • Ngân hàng bộ nhớ để lưu trữ diện mạo đối tượng qua các khung hình
    • Phân biệt tạm thời được hỗ trợ bởi các kỹ thuật như bộ lọc Kalman trong các thiết lập đa đối tượng
  • Presence Token: Một token toàn cục đã học giúp dự đoán liệu khái niệm mục tiêu có hiện diện trong hình ảnh/khung hình hay không, cải thiện khả năng phát hiện bằng cách tách biệt nhận dạng khỏi định vị.

Sơ đồ kiến trúc model SAM 3

Các đổi mới chính

  1. Nhận dạng và Định vị tách biệt: Đầu sự hiện diện dự đoán sự hiện diện của khái niệm trên phạm vi toàn cục, trong khi các truy vấn đề xuất chỉ tập trung vào việc định vị, tránh các mục tiêu xung đột.
  2. Gợi ý hình ảnh và khái niệm hợp nhất: Hỗ trợ cả PCS (gợi ý khái niệm) và PVS (gợi ý hình ảnh như nhấp chuột/hộp của SAM 2) trong một model duy nhất.
  3. Tinh chỉnh mẫu tương tác: Người dùng có thể thêm các mẫu hình ảnh tích cực hoặc tiêu cực để tinh chỉnh kết quả một cách lặp đi lặp lại, với việc model khái quát hóa cho các đối tượng tương tự thay vì chỉ sửa từng thực thể riêng lẻ.
  4. Phân biệt tạm thời: Sử dụng điểm phát hiện masklet và nhắc lại định kỳ để xử lý các tình huống bị che khuất, cảnh đông đúc và lỗi theo dõi trong video, phù hợp với các phương pháp thực hành tốt nhất về phân đoạn và theo dõi thực thể.

Bộ dữ liệu SA-Co

SAM 3 được huấn luyện trên Segment Anything with Concepts (SA-Co), bộ dữ liệu phân đoạn lớn nhất và đa dạng nhất của Meta cho đến nay, mở rộng ra ngoài các điểm chuẩn phổ biến như COCOLVIS.

Dữ liệu huấn luyện

Thành phần bộ dữ liệuMô tảQuy mô
SA-Co/HQDữ liệu hình ảnh chất lượng cao được con người chú thích từ engine dữ liệu 4 pha5.2 triệu hình ảnh, 4 triệu cụm danh từ duy nhất
SA-Co/SYNBộ dữ liệu tổng hợp được AI gắn nhãn mà không cần sự can thiệp của con người38 triệu cụm danh từ, 1.4 tỷ mặt nạ
SA-Co/EXT15 bộ dữ liệu bên ngoài được làm giàu với các ví dụ tiêu cực khóThay đổi theo nguồn
SA-Co/VIDEOChú thích video với theo dõi tạm thời52.5 nghìn video, 24.8 nghìn cụm danh từ duy nhất

Dữ liệu điểm chuẩn

Điểm chuẩn đánh giá SA-Co chứa 214 nghìn cụm từ duy nhất trên 126 nghìn hình ảnh và video, cung cấp nhiều hơn 50× các khái niệm so với các điểm chuẩn hiện có. Nó bao gồm:

  • SA-Co/Gold: 7 miền, được chú thích gấp ba lần để đo lường giới hạn hiệu suất của con người
  • SA-Co/Silver: 10 miền, một chú thích của con người
  • SA-Co/BronzeSA-Co/Bio: 9 bộ dữ liệu hiện có được điều chỉnh cho phân đoạn khái niệm
  • SA-Co/VEval: Điểm chuẩn video với 3 miền (SA-V, YT-Temporal-1B, SmartGlasses)

Các đổi mới của Engine dữ liệu

Engine dữ liệu có sự tham gia của con người và model có thể mở rộng của SAM 3 đạt được thông lượng chú thích 2× thông qua:

  1. Người chú thích AI: Các model dựa trên Llama đề xuất các cụm danh từ đa dạng bao gồm các ví dụ tiêu cực khó
  2. Người xác minh AI: Các LLM đa phương thức được tinh chỉnh xác minh chất lượng mặt nạ và tính đầy đủ ở hiệu suất gần bằng con người
  3. Active Mining (Khai thác chủ động): Tập trung nỗ lực của con người vào các trường hợp thất bại khó khăn nơi AI gặp khó khăn
  4. Dựa trên Ontology: Tận dụng một hệ thống ontology lớn dựa trên Wikidata để bao phủ khái niệm

Cài đặt

SAM 3 có sẵn trong Ultralytics phiên bản 8.3.237 trở lên. Cài đặt hoặc nâng cấp bằng:

pip install -U ultralytics
Yêu cầu trọng số model SAM 3

Không giống như các model Ultralytics khác, trọng số SAM 3 (sam3.pt) không được tự động tải xuống. Bạn phải yêu cầu quyền truy cập cho trọng số model trên trang model SAM 3 trên Hugging Face trước, sau đó khi được phê duyệt, hãy tải xuống sam3.pt từ trang đó. Đặt tệp sam3.pt đã tải xuống vào thư mục làm việc của bạn hoặc chỉ định đường dẫn đầy đủ khi tải model.

`TypeError: 'SimpleTokenizer' object is not callable`

Nếu bạn gặp lỗi trên trong quá trình dự đoán, điều đó có nghĩa là bạn đã cài đặt gói clip không chính xác. Hãy cài đặt gói clip đúng bằng cách chạy lệnh sau:

pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.git

Cách sử dụng SAM 3: Tính linh hoạt trong phân đoạn khái niệm

SAM 3 hỗ trợ cả các tác vụ Phân đoạn khái niệm có thể gợi ý (PCS) và Phân đoạn hình ảnh có thể gợi ý (PVS) thông qua các giao diện bộ dự đoán khác nhau:

Các tác vụ và model được hỗ trợ

Loại tác vụCác loại gợi ýĐầu ra
Phân đoạn khái niệm (PCS)Văn bản (cụm danh từ), mẫu hình ảnhTất cả các thực thể khớp với khái niệm
Phân đoạn hình ảnh (PVS)Điểm, hộp, mặt nạThực thể đối tượng đơn lẻ (kiểu SAM 2)
Tinh chỉnh tương tácThêm/xóa mẫu hoặc nhấp chuột lặp đi lặp lạiPhân đoạn đã tinh chỉnh với độ chính xác được cải thiện

Các ví dụ về phân đoạn khái niệm

Phân đoạn với gợi ý văn bản

Phân đoạn khái niệm dựa trên văn bản

Tìm và phân đoạn tất cả các thực thể của một khái niệm bằng cách sử dụng mô tả văn bản. Các gợi ý văn bản yêu cầu giao diện 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"])

Phân đoạn với các mẫu hình ảnh

Phân đoạn dựa trên mẫu hình ảnh

Sử dụng hộp giới hạn làm gợi ý trực quan để tìm tất cả các thực thể tương tự. Quá trình này cũng yêu cầu SAM3SemanticPredictor để khớp dựa trên khái niệm.

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]])

Suy luận dựa trên đặc trưng để tối ưu hiệu suất

Tái sử dụng các đặc trưng hình ảnh cho nhiều truy vấn

Trích xuất các đặc trưng 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 để cải thiện hiệu suất.

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)

Phân đoạn khái niệm trong video

Theo dõi các khái niệm xuyên suốt video bằng hộp giới hạn

Theo dõi video với các gợi ý trực quan

Phát hiện và theo dõi các thực thể đối tượng qua các khung hình video bằng cách sử dụng các gợi ý hộp giới hạn.

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

Theo dõi khái niệm bằng gợi ý văn bản

Theo dõi video với truy vấn ngữ nghĩa

Theo dõi tất cả các thực thể của các khái niệm được chỉ định bằng văn bản xuyên suốt các khung hình video.

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,
)

Gợi ý trực quan (Tương thích với SAM 2)

SAM 3 duy trì khả năng tương thích ngược hoàn toàn với các gợi ý trực quan của SAM 2 để phân đoạn một đối tượng đơn lẻ:

Gợi ý trực quan kiểu SAM 2

Giao diện cơ bản SAM hoạt động chính xác giống như SAM 2, chỉ phân đoạn khu vực cụ thể được chỉ định bởi các gợi ý trực quan (điểm, hộp hoặc mặt nạ).

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()
Gợi ý trực quan so với phân đoạn khái niệm

Sử dụng SAM("sam3.pt") với các gợi ý trực quan (điểm/hộp/mặt nạ) sẽ chỉ phân đoạn đối tượng cụ thể tại vị trí đó, giống như SAM 2. Để phân đoạn tất cả các thực thể của một khái niệm, hãy sử dụng SAM3SemanticPredictor với các gợi ý văn bản hoặc mẫu hình ảnh như đã trình bày ở trên.

Điểm chuẩn hiệu suất

Phân đoạn hình ảnh

SAM 3 đạt được kết quả tiên tiến trên nhiều điểm chuẩn, bao gồm các bộ dữ liệu thực tế như LVISCOCO for segmentation:

BenchmarkChỉ sốSAM 3Tốt nhất trước đóCải thiện
LVIS (zero-shot)Mask AP47.038.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (zero-shot)Box AP53.552.2 (T-Rex2)+2.5%
ADE-847 (semantic seg)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (semantic seg)mIoU65.144.2 (APE-D)+47.3%

Khám phá các tùy chọn bộ dữ liệu để thử nghiệm nhanh trong Ultralytics datasets.

Hiệu suất phân đoạn video

SAM 3 cho thấy những cải thiện đáng kể so với SAM 2 và các tiêu chuẩn tiên tiến trước đó trên các điểm chuẩn video như DAVIS 2017YouTube-VOS:

BenchmarkChỉ sốSAM 3SAM 2.1 LCải thiện
MOSEv2J&F60.147.9+25.5%
DAVIS 2017J&F92.090.7+1.4%
LVOSv2J&F88.279.6+10.8%
SA-VJ&F84.678.4+7.9%
YTVOS19J&F89.689.3+0.3%

Thích nghi Few-Shot

SAM 3 vượt trội trong việc thích nghi với các miền mới chỉ với vài ví dụ, phù hợp cho các quy trình làm việc data-centric AI:

Benchmark0-shot AP10-shot APTốt nhất trước đó (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

Hiệu quả tinh chỉnh tương tác

Gợi ý dựa trên khái niệm với các mẫu hình ảnh của SAM 3 hội tụ nhanh hơn nhiều so với gợi ý trực quan:

Số gợi ý đã thêmĐiểm CGF1Mức tăng so với chỉ dùng văn bảnMức tăng so với đường cơ sở PVS
Chỉ dùng văn bản46.4cơ sởcơ sở
+1 mẫu57.6+11.2+6.7
+2 mẫu62.2+15.8+9.7
+3 mẫu65.0+18.6+11.2
+4 mẫu65.7+19.3+11.5 (bão hòa)

Độ 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 thực thể, một yêu cầu phổ biến trong đếm đối tượng:

BenchmarkĐộ chính xácMAEso với MLLM tốt nhất
CountBench95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

So sánh SAM 3 vs SAM 2 vs YOLO

Dưới đây là so sánh các khả năng của SAM 3 với các model SAM 2YOLO26:

Khả năngSAM 3SAM 2YOLO26n-seg
Phân đoạn khái niệm✅ Tất cả các thực thể từ văn bản/mẫu❌ Không hỗ trợ❌ Không hỗ trợ
Phân đoạn hình ảnh✅ Một thực thể (tương thích SAM 2)✅ Một thực thể✅ Tất cả các thực thể
Khả năng Zero-shot✅ Từ vựng mở✅ Gợi ý hình học❌ Tập đóng
Tinh chỉnh tương tác✅ Mẫu + nhấp chuột✅ Chỉ nhấp chuột❌ Không hỗ trợ
Theo dõi video✅ Đa đối tượng với danh tính✅ Đa đối tượng✅ Đa đối tượng
LVIS Mask AP (zero-shot)47.0N/AN/A
MOSEv2 J&F60.147.9N/A
Tốc độ (GPU, ms/im)29218578.4
Kích thước Model3.45 GB162 MB (cơ sở)6.4 MB

Tốc độ được đo trên NVIDIA RTX PRO 6000 với torch==2.9.1ultralytics==8.4.19.

Điểm mấu chốt:

  • SAM 3: Tốt nhất cho phân đoạn khái niệm từ vựng mở, tìm kiếm tất cả các thực thể của một khái niệm với gợi ý bằng văn bản hoặc mẫu
  • SAM 2: Tốt nhất cho phân đoạn tương tác một đối tượng trong hình ảnh và video với gợi ý hình học
  • YOLO26: Tốt nhất cho phân đoạn tốc độ cao thời gian thực với suy luận end-to-end không cần NMS, 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, tham số và tốc độ suy luận GPU:

ModelKích thước
(MB)
Tham số
(M)
Tốc độ (GPU)
(ms/im)
Meta SAM-b37593.71306
Meta SAM2-b16280.8857
Meta SAM2-t78.138.9668
Meta SAM33450473.62921
MobileSAM40.710.1605
FastSAM-s với backbone YOLOv823.711.855.9
Ultralytics YOLOv8n-seg6.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-seg5.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-seg6.4 (nhỏ hơn 539 lần)2.7 (ít hơn 175.2 lần)8.4 (nhanh hơn 347 lần)

Sự so sánh này chứng minh 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. Trong khi SAM cung cấp các 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ả về tính toán hơn đáng kể.

Các thử nghiệm được thực hiện trên NVIDIA RTX PRO 6000 với 96GB VRAM sử dụng torch==2.9.1ultralytics==8.4.19. Để tái lập thử nghiệm này:

Ví dụ
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)

Các chỉ số đánh giá

SAM 3 giới thiệu các chỉ số mới được thiết kế cho tác vụ PCS, bổ sung cho các phép đo quen thuộc như F1 score, precisionrecall.

Classification-Gated F1 (CGF1)

Chỉ số chính kết hợp định vị và phân loại:

CGF1 = 100 × pmF1 × IL_MCC

Trong đó:

  • pmF1 (Positive Macro F1): Đo lường chất lượng định vị trên các ví dụ dương tính
  • IL_MCC (Image-Level Matthews Correlation Coefficient): Đo lường độ chính xác phân loại nhị phân ("khái niệm có hiện diện không?")

Tại sao lại cần các chỉ số này?

Các chỉ số AP truyền thống không tính đến hiệu chuẩn, khiến các model khó sử dụng trong thực tế. Bằng cách chỉ đánh giá các dự đoán trên mức độ tin cậy 0.5, các chỉ số của SAM 3 đảm bảo hiệu chuẩn tốt và mô phỏng các kiểu sử dụng thực tế trong các vòng lặp predicttrack tương tác.

Các thử nghiệm cắt bỏ (Ablations) và hiểu biết chính

Tác động của Presence Head

Presence head tách biệt việc nhận diện khỏi định vị, mang lại những cải tiến đáng kể:

Cấu hìnhCGF1IL_MCCpmF1
Không có presence57.60.7774.7
Với presence63.30.8277.1

Presence head cung cấp mức tăng 5.7 CGF1 (+9.9%), chủ yếu cải thiện khả năng nhận diện (IL_MCC +6.5%).

Ảnh hưởng của Hard Negatives

Hard Negatives/ẢnhCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

Hard negatives rất quan trọng đối với việc nhận diện theo từ vựng mở (open-vocabulary), cải thiện IL_MCC thêm 54.5% (0.44 → 0.68).

Mở rộng dữ liệu huấn luyện

Nguồn dữ liệuCGF1IL_MCCpmF1
Chỉ dữ liệu bên ngoài30.90.4666.3
Bên ngoài + Tổng hợp39.70.5770.6
Bên ngoài + HQ51.80.7173.2
Cả ba54.30.7473.5

Các chú thích chất lượng cao của con người mang lại hiệu quả lớn hơn so với chỉ sử dụng dữ liệu tổng hợp hoặc dữ liệu bên ngoài. Để biết cơ sở về các thực hành chất lượng dữ liệu, hãy xem thu thập và chú thích dữ liệu.

Ứng dụng

Khả năng phân đoạn khái niệm của SAM 3 cho phép tạo ra các trường hợp sử dụng mới:

  • Kiểm duyệt nội dung: Tìm tất cả các thực thể của các loại nội dung cụ thể trong các thư viện phương tiện
  • Thương mại điện tử: Phân đoạn tất cả các sản phẩm thuộc một loại nhất định trong hình ảnh danh mục, hỗ trợ tự động chú thích
  • Hình ảnh y tế: Xác định tất cả các lần 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ả các thực thể biển báo giao thông, người đi bộ hoặc phương tiện theo danh mục
  • Phân tích video: Đếm và theo dõi tất cả những người đang mặc trang phục cụ thể hoặc thực hiện các hành động
  • Chú thích tập dữ liệu: Chú thích nhanh tất cả các thực thể của các danh mục đối tượng hiếm
  • Nghiên cứu khoa học: Định lượng và phân tích tất cả các mẫu khớp với các tiêu chí cụ thể

SAM 3 Agent: Lập luận ngôn ngữ mở rộng

SAM 3 có thể được kết hợp với các mô hình ngôn ngữ lớn đa phương thức (MLLM) để xử lý các truy vấn phức tạp yêu cầu lập luận, tương tự về tinh thần với các hệ thống từ vựng mở như OWLv2T-Rex.

Hiệu suất trên các tác vụ lập luận

BenchmarkChỉ sốSAM 3 Agent (Gemini 2.5 Pro)Tốt nhất trước đó
ReasonSeg (validation)gIoU76.065.0 (SoTA)
ReasonSeg (test)gIoU73.861.3 (SoTA)
OmniLabel (validation)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

Ví dụ về truy vấn phức tạp

SAM 3 Agent có thể xử lý các truy vấn yêu cầu lập 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 máy ảnh nhất mà 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 đại diện cho một bước tiến lớn, nó 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; các biểu thức tham chiếu dài hoặc lập luận phức tạp có thể yêu cầu tích hợp MLLM
  • Xử lý sự mơ hồ: Một số khái niệm vẫn 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 so với các mô hình phát hiện chuyên dụng 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 lập luận thành phần bị hạn chế nếu không có hỗ trợ từ MLLM
  • Khái niệm hiếm: Hiệu suất có thể giảm trên các khái niệm cực kỳ hiếm hoặc chi tiết mà dữ liệu huấn luyện không đại diện tốt

Trích dẫn

Trích dẫn
@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}
}

Câu hỏi thường gặp (FAQ)

SAM 3 được phát hành khi nào?

SAM 3 được Meta phát hành vào ngày 20 tháng 11 năm 2025 và được tích hợp đầy đủ vào Ultralytics kể từ phiên bản 8.3.237 (PR #22897). Hỗ trợ đầy đủ có sẵn cho chế độ predictchế độ track.

SAM 3 có được tích hợp vào Ultralytics không?

Có! SAM 3 được tích hợp đầy đủ vào gói Python Ultralytics, bao gồm phân đoạn khái niệm, gợi ý hình ảnh kiểu SAM 2 và theo dõi video đa đối tượng. SAM 3 cũng cung cấp tính năng chú thích thông minh trên Ultralytics Platform, nơi bạn có thể chú thích hình ảnh chỉ với vài cú nhấp chuột.

Phân đoạn khái niệm có thể nhắc (PCS) là gì?

PCS là một tác vụ mới được giới thiệu trong SAM 3 nhằm phân đoạn tất cả các thực thể của một khái niệm hình ảnh trong ảnh hoặc video. Không giống như phân đoạn truyền thống nhắm mục tiêu vào một thực thể đối tượng cụ thể, PCS tìm thấy mọi lần xuất hiện của một danh mục. Ví dụ:

  • Nhắc bằng văn bản: "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
  • Ví dụ hình ảnh: Hộp xung quanh một con chó → phân đoạn tất cả chó trong ảnh
  • Kết hợp: "mèo vằn" + hộp ví dụ → phân đoạn tất cả mèo vằn khớp với ví dụ

Xem thông tin cơ bản liên quan về phát hiện đối tượngphân đoạn thực thể.

SAM 3 khác SAM 2 như thế nào?

Tính năngSAM 2SAM 3
Tác vụMột đối tượng mỗi lời nhắcTất cả các thực thể của một khái niệm
Các loại lời nhắcĐiểm, hộp, mặt nạCụm từ văn bản, ví dụ hình ảnh
Khả năng phát hiệnYêu cầu detector bên ngoàiDetector open-vocabulary tích hợp
Nhận dạngChỉ dựa trên hình họcNhận dạng văn bản và hình ảnh
Kiến trúcChỉ có trackerDetector + Tracker với presence head
Hiệu suất Zero-ShotN/A (yêu cầu các prompt hình ảnh)47.0 AP trên LVIS, tốt hơn gấp 2 lần trên SA-Co
Tinh chỉnh tương tácChỉ nhấp chuộtNhấp chuột + tổng quát hóa từ ví dụ

SAM 3 duy trì khả năng tương thích ngược với prompt hình ảnh SAM 2 đồng thời bổ sung các khả năng dựa trên khái niệm.

SAM 3 sử dụng tập dữ liệu nào để huấn luyện?

SAM 3 được huấn luyện trên tập dữ liệu 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ừ độc nhất (SA-Co/HQ) - các chú thích chất lượng cao từ con người
  • 52.5K video với 24.8K cụm danh từ độc nhất (SA-Co/VIDEO)
  • 1.4B mặt nạ tổng hợp trên 38M cụm danh từ (SA-Co/SYN)
  • 15 tập dữ liệu bên ngoài được làm giàu bằng các mẫu phủ định khó (hard negatives) (SA-Co/EXT)

Dữ liệu benchmark:

  • 214K khái niệm độc nhất trên 126K hình ảnh/video
  • Số lượng khái niệm nhiều gấp 50 lần so với các benchmark hiện có (ví dụ: LVIS có ~4K khái niệm)
  • Chú thích gấp ba trên SA-Co/Gold để đo lường giới hạn hiệu suất của con người

Quy mô và sự đa dạng khổng lồ này cho phép SAM 3 có khả năng tổng quát hóa zero-shot vượt trội trên các khái niệm open-vocabulary.

SAM 3 so với YOLO26 trong phân đoạn (segmentation) như thế nào?

SAM 3 và YOLO26 phục vụ các trường hợp sử dụng 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 prompt văn bản mà không cần huấn luyện
  • Zero-shot: Hoạt động ngay lập tức trên các danh mục mới
  • Tương tác: Tinh chỉnh dựa trên ví dụ giúp tổng quát hóa cho các đối tượng tương tự
  • Dựa trên khái niệm: Tự động tìm tất cả các trường hợp của một danh mục
  • Độ chính xác: 47.0 AP trên phân đoạn instance zero-shot LVIS

Ưu điểm của YOLO26:

  • Tốc độ: Suy luận nhanh hơn nhiều bậc độ lớn với thiết kế end-to-end không cần NMS
  • Hiệu quả: Model nhỏ hơn 539 lần (6.4MB so với 3.45GB)
  • Thân thiện với tài nguyên: Chạy trên các thiết bị edge và di động
  • Thời gian thực: Được tối ưu hóa cho triển khai thực tế

Khuyến nghị:

  • Sử dụng SAM 3 cho phân đoạn linh hoạt, open-vocabulary khi bạn cần tìm tất cả cá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 triển khai thực tế, tốc độ cao khi các danh mục đã được biết trước
  • Sử dụng SAM 2 cho phân đoạn tương tác một đối tượng với các prompt hình học

SAM 3 có thể xử lý các truy vấn ngôn ngữ phức tạp không?

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ũ"). Đối với các truy vấn phức tạp yêu cầu 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 vằn"
  • "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 máy ảnh nhất mà không có 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 xác thực ReasonSeg (so với 65.0 là mức tốt nhất trước đây, cải thiện +16.9%) bằng cách kết hợp khả năng phân đoạn của SAM 3 với khả năng suy luận của MLLM.

SAM 3 chính xác như thế nào so với hiệu suất của con người?

Trên benchmark SA-Co/Gold với ba chú thích từ con người:

  • Giới hạn dưới của con người: 74.2 CGF1 (người chú thích thận trọng nhất)
  • Hiệu suất của SAM 3: 65.0 CGF1
  • Thành tựu: 88% giới hạn dưới ước tính của con người
  • Giới hạn trên của con người: 81.4 CGF1 (người chú thích phóng khoáng nhất)

SAM 3 đạt hiệu suất mạnh mẽ tiệm cận độ chính xác cấp độ con người trong việc phân đoạn khái niệm open-vocabulary, với khoảng cách chủ yếu nằm ở các khái niệm mơ hồ hoặc chủ quan (ví dụ: "cửa sổ nhỏ", "căn phòng ấm cúng").

Bình luận