Interactive Segmentation
Tìm hiểu cách interactive segmentation sử dụng prompt với human-in-the-loop để tách object. Khám phá cách sử dụng Ultralytics YOLO26 và Ultralytics Platform cho các tác vụ.
Phân đoạn tương tác là một phương pháp cộng tác cao trong thị giác máy tính, trong đó người dùng cung cấp đầu vào liên tục hoặc một lần—chẳng hạn như lượt nhấp, bounding box hoặc prompt văn bản—để hướng dẫn model AI cô lập các đối tượng cụ thể trong một hình ảnh. Khác với các phương pháp hoàn toàn tự động, kỹ thuật có con người trong vòng lặp này cho phép người dùng xác định chính xác nội dung cần phân đoạn, đặc biệt hữu ích khi xử lý dữ liệu hình ảnh mơ hồ, các đối tượng chồng lấn hoặc những lớp chưa từng xuất hiện. Trong vài năm qua, sự ra đời của các model nền tảng đã cải thiện đáng kể tốc độ và độ chính xác của quy trình này, biến nó thành một công cụ thiết yếu cho gán nhãn dữ liệu và chụp ảnh chính xác.
Cách thức hoạt động của phân đoạn tương tác#
Về cốt lõi, quy trình này dựa trên phân đoạn khái niệm có thể nhận prompt, trong đó model diễn giải hướng dẫn của người dùng để tạo ra mask chính xác đến từng pixel. Người dùng có thể đặt một lượt nhấp "positive" lên đối tượng tiền cảnh muốn chọn và một lượt nhấp "negative" lên các vùng nền muốn loại trừ. Các model nâng cao như Model Phân đoạn Mọi thứ (SAM) và các phiên bản kế nhiệm, Meta SAM 3, còn tiến xa hơn khi chấp nhận nhiều loại cử chỉ [1], bounding box và thậm chí cả mô tả văn bản để định vị tìm kiếm hình ảnh. Model tính toán ranh giới tối ưu dựa trên các prompt này, sau đó người dùng có thể tinh chỉnh mask lặp đi lặp lại bằng các lượt nhấp bổ sung cho đến khi đạt được độ chính xác mong muốn.
Các ứng dụng trong thực tế#
Phân đoạn tương tác đang chuyển đổi quy trình làm việc trong nhiều ngành bằng cách kết hợp chuyên môn của con người với hiệu quả của AI.
- Chẩn đoán hình ảnh y tế: Trong AI trong lĩnh vực chăm sóc sức khỏe, bác sĩ và chuyên gia chẩn đoán hình ảnh sử dụng các công cụ tương tác để cô lập khối u, tổn thương hoặc các cơ quan cụ thể trong ảnh MRI và CT. Nghiên cứu về mô hình hóa không gian cho hình ảnh y tế [2] cho thấy các lượt nhấp tương tác cho phép chuyên gia y tế nhanh chóng hiệu chỉnh dự đoán của AI, đảm bảo độ chính xác nghiêm ngặt cần thiết cho việc chẩn đoán bệnh nhân.
- Lập bản đồ địa không gian và vệ tinh: Các nhà quy hoạch đô thị và nhà khoa học môi trường sử dụng các model tương tác để đẩy nhanh quá trình trích xuất đối tượng GIS [3]. Thay vì phải thủ công vẽ theo các đường bờ biển phức tạp, ranh giới đất nông nghiệp hoặc cơ sở hạ tầng mới, các nhà phân tích có thể đặt một vài lượt nhấp có chủ đích để lập tức tạo ra các polygon địa lý chính xác.
- Phát hiện lỗi công nghiệp: Trong AI trong sản xuất, các kỹ sư kiểm soát chất lượng có thể sử dụng prompt tương tác để làm nổi bật các lỗi siêu nhỏ trên dây chuyền sản xuất, đồng thời thích ứng linh hoạt với các loại lỗi mới mà không cần huấn luyện lại toàn bộ model.
Phân đoạn tương tác và phân đoạn instance#
Mặc dù cả hai khái niệm đều liên quan đến việc tách các đối tượng ở cấp độ pixel, chúng phục vụ những mục đích vận hành khác nhau. Phân đoạn instance thường là một quy trình hoàn toàn tự động, trong đó một model như Ultralytics YOLO26 phát hiện và phác thảo các lớp được xác định trước (ví dụ: "car", "person", "dog") mà không cần sự can thiệp của người dùng. Bạn có thể tìm hiểu thêm về cách thức hoạt động này trong hướng dẫn về phân đoạn instance của chúng tôi.
Ngược lại, phân đoạn tương tác không phụ thuộc nghiêm ngặt vào các lớp được xác định trước. Đây là phương pháp không phụ thuộc lớp, nghĩa là nó phân đoạn bất cứ thứ gì người dùng chỉ đến, rất phù hợp với các pipeline học chủ động, trong đó những đối tượng mới cần được gán nhãn nhanh chóng và thêm vào các dataset tùy chỉnh bằng những công cụ như Ultralytics Platform.
Ví dụ sử dụng Ultralytics#
Bạn có thể dễ dàng triển khai phân đoạn tương tác trong các project của riêng mình bằng PyTorch và package Python ultralytics. Trong ví dụ này, chúng ta sử dụng FastSAM để phân đoạn một đối tượng cụ thể bằng cách cung cấp prompt bounding box.
from ultralytics import FastSAM
# Load a pretrained FastSAM model
model = FastSAM("FastSAM-s.pt")
# Perform interactive segmentation using a bounding box prompt [x1, y1, x2, y2]
results = model("path/to/image.jpg", bboxes=[100, 100, 300, 300])
# Display the segmented result on screen
results[0].show()Đoạn code này minh họa cách một prompt không gian đơn giản trực tiếp hướng dẫn model cô lập vùng quan tâm, đơn giản hóa các tác vụ phân đoạn hình ảnh phức tạp với lượng code tối thiểu.









