Gán nhãn phân đoạn nhanh với SAM (Segment Anything)
Dùng SAM trong công cụ gán nhãn hoặc tự viết script, quy trình bán tự động và lưu ý khi áp dụng cho ảnh công nghiệp.
Nội dung bài viết
Vẽ đa giác quanh từng vết lỗi để làm dữ liệu phân đoạn có thể mất vài phút mỗi đối tượng. SAM (Segment Anything Model) của Meta biến việc đó thành một cú bấm chuột: bạn chỉ cần chấm một điểm hoặc kéo một khung, mô hình trả về mặt nạ chính xác. Bài này hướng dẫn dùng SAM để tăng tốc gán nhãn.
SAM làm được gì?
- SAM, SAM 2: phân đoạn theo gợi ý (prompt) là điểm hoặc khung; SAM 2 theo dõi được đối tượng qua các khung hình video.
- SAM 3 (cuối 2025) và SAM 3.1 (2026): thêm khả năng tìm và phân đoạn mọi đối tượng thuộc một khái niệm mô tả bằng văn bản hoặc ảnh mẫu, theo dõi nhiều đối tượng trong video hiệu quả hơn.
SAM là mô hình lớn, chạy chậm hơn nhiều so với một mô hình nhỏ chuyên biệt. Vai trò phù hợp nhất của nó trong dự án công nghiệp là công cụ tạo nhãn, không phải mô hình chạy trên dây chuyền.
Cách 1: công cụ gán nhãn có tích hợp SAM
- X-AnyLabeling: ứng dụng desktop, chọn mô hình SAM, bấm điểm trên vật để ra đa giác.
- CVAT: có công cụ phân đoạn tương tác dùng mô hình AI (tự cài hoặc bản cloud).
- Label Studio: kết nối backend mô hình để gợi ý nhãn.
Xem so sánh chi tiết trong bài công cụ gán nhãn miễn phí.
Cách 2: tự viết script với Ultralytics
Thư viện Ultralytics hỗ trợ chạy các mô hình SAM với gợi ý điểm hoặc khung:
from ultralytics import SAM
model = SAM("sam2.1_b.pt") # tên trọng số theo tài liệu Ultralytics
res = model("be-mat.png", points=[[420, 310]], labels=[1]) # 1 = điểm thuộc vật
res[0].save("sam-mask.png")
polys = res[0].masks.xy # đa giác, dùng để xuất nhãn
Kiểm tra tên trọng số và các phiên bản SAM được hỗ trợ trong tài liệu Ultralytics đúng phiên bản bạn cài.
Quy trình "bán tự động" hiệu quả
- Gợi ý: người gán nhãn bấm điểm hoặc kéo khung quanh vết lỗi.
- SAM tạo mặt nạ, người gán nhãn chỉnh sửa nếu cần (thêm điểm âm để loại vùng thừa).
- Gán lớp cho mặt nạ (vết xước, vết bám...).
- Xuất sang định dạng YOLO-seg hoặc COCO.
- Sau khi có vài trăm ảnh, huấn luyện mô hình chuyên biệt (ví dụ YOLO26-seg) và dùng nó gợi ý nhãn cho phần còn lại.
Lưu ý
- SAM được huấn luyện trên ảnh tự nhiên; với lỗi rất mờ, tương phản thấp (vết xước nhẹ trên kim loại), mặt nạ có thể chưa chuẩn, cần người kiểm tra.
- Biên mặt nạ của SAM có thể khác cách người kiểm định chất lượng định nghĩa biên lỗi. Thống nhất quy tắc trước.
- Kiểm tra giấy phép của trọng số SAM bạn dùng khi làm dự án thương mại.


