Visual Prompting
Prompting thị giác cho model thị giác biết cần tìm gì bằng các điểm nhấp, bounding box, mask hoặc hình ảnh mẫu thay vì từ ngữ. Bài viết giải thích cách SAM và các detector open-set sử dụng phương pháp này.
Prompt trực quan là cách hướng dẫn model thị giác máy tính phân đoạn hoặc phát hiện bằng cách đánh dấu trực tiếp lên ảnh — bằng một cú nhấp, hộp, nét vẽ, mask hoặc ví dụ — thay vì mô tả đối tượng cần tìm bằng lời. Foundation model có thể nhận prompt như Segment Anything Model (SAM) của Meta biến từng dấu đánh dấu thành embedding và dự đoán mask cho đối tượng được chỉ định mà không cần huấn luyện lại. Prompt trực quan chỉ vào một đối tượng cụ thể hoặc đưa ra ví dụ về thứ cần tìm, rất hữu ích khi khó mô tả mục tiêu bằng prompt văn bản, chẳng hạn như một lỗi cụ thể hoặc bộ phận chưa từng gặp. Tinh chỉnh prompt trực quan có tên gọi tương tự nhưng là phương pháp tinh chỉnh prompt, trong đó các token đầu vào bổ sung được học trong quá trình fine-tuning mà không cần ai đánh dấu lên ảnh.
Cách hoạt động của prompt trực quan#
SAM, được Meta phát hành năm 2023 cùng dataset SA-1B gồm 1,1 tỷ mask trên 11 triệu ảnh, chia quy trình thành ba phần. Bộ mã hóa ảnh lớn, một vision transformer, chạy một lần cho mỗi ảnh; bộ mã hóa prompt gọn nhẹ chuyển các điểm và hộp thành embedding vị trí; bộ giải mã mask kết hợp hai thành phần để dự đoán mask trong khoảng 50 mili giây trên trình duyệt web, nhờ đó mỗi lần nhấp mới đều cập nhật kết quả theo cách tương tác. Một lần nhấp có thể gây nhập nhằng vì mục tiêu có thể là chiếc áo hoặc người đang mặc áo, nên SAM có thể trả về ba mask ứng viên, mỗi mask kèm một điểm chất lượng. SAM 2 của Meta (2024) mở rộng prompt sang video, theo dõi đối tượng được nhấp qua các khung hình tiếp theo bằng bộ nhớ lưu lại các khung hình trước đó. SAM 2.1 chạy trong package Ultralytics, trong đó một cú nhấp là một điểm có nhãn 1 cho tiền cảnh hoặc 0 cho hậu cảnh:
from ultralytics import SAM
# # Tải model SAM 2.1 base của Meta
model = SAM("sam2.1_b.pt")
# # Một lần nhấp tiền cảnh (nhãn 1) vào người đàn ông mặc áo khoác tối màu
results = model("https://ultralytics.com/images/bus.jpg", points=[280, 600], labels=[1])
result = results[0]
# # Lưu ảnh cùng mask được dự đoán cho đối tượng được nhấp
result.save(filename="sam_point_prompt.jpg")Ảnh đã lưu cho thấy mask mà SAM 2.1 dự đoán từ một lần nhấp đó. Phân đoạn tương tác lặp lại bước này cho đến khi mask chính xác; chế độ chú thích thông minh của Ultralytics Platform hoạt động theo cách này: mỗi lần nhấp trở thành prompt điểm cho SAM; nhấp bên ngoài mask hiện tại sẽ thêm vùng đó, còn nhấp bên trong sẽ loại bỏ vùng đó; kết quả được lưu dưới dạng đa giác, hộp hoặc hộp xoay tùy theo tác vụ của dataset.
Các loại prompt trực quan#
- Điểm và hộp: Các lần nhấp tiền cảnh và hậu cảnh chọn hoặc loại trừ vùng; hộp bao quanh đối tượng sơ bộ ít gây nhập nhằng hơn một điểm, đồng thời cho phép dùng hộp của detector làm prompt tự động cho bộ phân đoạn.
- Mask và nét vẽ: Mask thô từ bước trước hoặc nét vẽ trên đối tượng giúp tinh chỉnh dự đoán mà chỉ dùng các lần nhấp không thể thực hiện chính xác.
- Box làm mẫu: Một box quanh một ví dụ yêu cầu model tìm mọi đối tượng giống ví dụ đó, vì vậy chỉ cần một box mẫu để đếm tất cả ốc vít cùng loại. Các detector open-set như T-Rex2 và YOLOE, cùng SAM 3 của Meta (2025), đều chấp nhận prompt làm mẫu.
- Ví dụ trong ngữ cảnh: Ảnh ví dụ đi kèm đầu ra mong muốn, chẳng hạn như mask hoặc bản đồ cạnh, xác định chính tác vụ; model tạo đầu ra cho ảnh mới bằng cách tương tự.
- Dấu đánh dấu cho model thị giác-ngôn ngữ: Prompt Set-of-Mark vẽ các dấu đánh số lên vùng ảnh để model có thể nhắc đến “vùng 3” trong câu trả lời, giúp cải thiện khả năng neo câu trả lời vào hình ảnh.
Ứng dụng thực tế#
- Chú thích dữ liệu: Một vài lần nhấp trên mỗi đối tượng thay thế thao tác vẽ đa giác từng điểm, giúp giảm chi phí xây dựng dataset phân đoạn instance.
- Chẩn đoán hình ảnh y tế: MedSAM điều chỉnh SAM trên 1.570.263 cặp ảnh-mask y tế thuộc 10 phương thức chụp ảnh, nhờ đó hộp do bác sĩ vẽ quanh cơ quan hoặc tổn thương sẽ trả về đường viền tương ứng.
- Robot học: Người vận hành nhấp vào một đối tượng trong hình ảnh camera của robot; mask tạo ra cung cấp cho robot chính xác các pixel của đối tượng để lập kế hoạch gắp.










