Instance Segmentation
Tìm hiểu cách phân đoạn thực thể (instance segmentation) cho phép phát hiện đối tượng ở cấp độ pixel. Khám phá cách sử dụng Ultralytics YOLO26 để tạo mặt nạ thời gian thực, tốc độ cao và hơn thế nữa.
Instance segmentation là một kỹ thuật tinh vi trong computer vision (CV) giúp xác định và phác thảo từng đối tượng riêng biệt trong ảnh ở cấp độ pixel. Trong khi phương pháp object detection tiêu chuẩn xác định vị trí đối tượng bằng các bounding box hình chữ nhật, thì instance segmentation thực hiện phân tích sâu hơn bằng cách tạo ra một mask chính xác cho mỗi thực thể được phát hiện. Khả năng này cho phép các mô hình artificial intelligence (AI) phân biệt giữa các đối tượng riêng lẻ cùng loại—ví dụ như tách biệt hai người đang chồng lấp lên nhau—mang lại sự hiểu biết chi tiết và phong phú hơn về khung cảnh trực quan so với các phương pháp phân loại đơn giản hơn.
Link to this sectionPhân biệt các loại Segmentation#
Để nắm bắt đầy đủ lợi ích của instance segmentation, việc phân biệt nó với các tác vụ xử lý hình ảnh liên quan khác là rất hữu ích. Mỗi phương pháp cung cấp một cấp độ chi tiết khác nhau tùy thuộc vào yêu cầu của ứng dụng.
- Semantic Segmentation: Phương pháp này phân loại mọi pixel trong ảnh vào một danh mục (ví dụ: "đường bộ", "bầu trời", "xe hơi"). Tuy nhiên, nó không phân biệt được các đối tượng riêng biệt thuộc cùng một danh mục. Nếu ba chiếc xe đang đỗ cạnh nhau, semantic segmentation sẽ xem chúng là một vùng "xe hơi" duy nhất.
- Instance Segmentation: Phương pháp này coi mỗi đối tượng là một thực thể độc nhất. Nó phát hiện từng instance riêng lẻ và gán một nhãn duy nhất cho các pixel của mỗi đối tượng đó. Trong ví dụ về những chiếc xe đang đỗ, instance segmentation sẽ tạo ra ba mask riêng biệt, xác định "Xe A", "Xe B" và "Xe C" một cách độc lập.
- Panoptic Segmentation: Một phương pháp lai kết hợp việc gắn nhãn nền của semantic segmentation với khả năng nhận diện các đối tượng có thể đếm được của instance segmentation.
Link to this sectionCơ chế phân tích cấp độ Pixel#
Các mô hình instance segmentation hiện đại thường dựa vào các kiến trúc deep learning (DL) tiên tiến, đặc biệt là Convolutional Neural Networks (CNNs). Các mạng này trích xuất đặc trưng từ ảnh để dự đoán cả lớp của đối tượng và đường viền không gian của nó. Trong quá khứ, các kiến trúc hai giai đoạn như Mask R-CNN là tiêu chuẩn, với bước đầu tiên là đề xuất các vùng quan tâm và sau đó tinh chỉnh chúng thành các mask.
Tuy nhiên, những tiến bộ gần đây đã dẫn đến các bộ dò đơn giai đoạn như YOLO26, thực hiện phát hiện và phân đoạn đồng thời. Cách tiếp cận "end-to-end" này cải thiện đáng kể tốc độ real-time inference, giúp việc áp dụng phân đoạn độ chính xác cao vào các luồng video trực tiếp trên phần cứng tiêu dùng trở nên khả thi.
Link to this sectionCác ứng dụng trong thực tế#
Các đường biên chính xác mà instance segmentation cung cấp rất quan trọng đối với các ngành công nghiệp mà việc hiểu rõ hình dạng và vị trí chính xác của đối tượng là cần thiết để đưa ra quyết định.
- AI in Healthcare: Trong chẩn đoán y tế, việc xác định chính xác kích thước và hình dạng của khối u hoặc tổn thương là rất quan trọng. Instance segmentation cho phép các mô hình phác thảo các bất thường trong MRI scans với độ chính xác cao, hỗ trợ bác sĩ chẩn đoán hình ảnh trong việc lập kế hoạch điều trị và theo dõi sự tiến triển của bệnh.
- Autonomous Vehicles: Xe tự lái dựa vào segmentation để điều hướng trong các môi trường phức tạp. Bằng cách sử dụng các tập dữ liệu như Cityscapes, phương tiện có thể xác định bề mặt có thể lái được, nhận diện vạch kẻ đường và tách biệt từng người đi bộ tại các lối băng qua đông đúc để đảm bảo an toàn.
- AI in Agriculture: Nông nghiệp chính xác sử dụng segmentation để theo dõi sức khỏe cây trồng. Robot được trang bị hệ thống thị giác có thể nhận diện từng loại trái cây để thu hoạch tự động hoặc phát hiện các loại cỏ dại cụ thể để phun thuốc diệt cỏ có mục tiêu, giúp giảm thiểu việc sử dụng hóa chất và tối ưu hóa năng suất.
Link to this sectionTriển khai Segmentation với Python#
Các lập trình viên có thể dễ dàng triển khai instance segmentation bằng thư viện ultralytics. Ví dụ sau đây minh họa cách tải một mô hình YOLO26 đã được huấn luyện trước và tạo các mask phân đoạn cho một hình ảnh.
from ultralytics import YOLO
# Load a pre-trained YOLO26 instance segmentation model
# The 'n' suffix denotes the nano version, optimized for speed
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
# This predicts classes, bounding boxes, and masks
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# Displays the image with overlaid segmentation masks
results[0].show()Link to this sectionThách thức và Huấn luyện mô hình#
Mặc dù mạnh mẽ, instance segmentation đòi hỏi tài nguyên tính toán lớn so với phát hiện bounding box đơn giản. Việc tạo ra các mask hoàn hảo đến từng pixel cần đáng kể GPU resources và data annotation chính xác. Việc gán nhãn dữ liệu cho các tác vụ này bao gồm việc vẽ các đa giác khít quanh mỗi đối tượng, điều này có thể rất tốn thời gian.
Để hợp lý hóa quy trình này, các nhóm thường sử dụng các công cụ như Ultralytics Platform, cung cấp các tính năng quản lý tập dữ liệu, tự động gán nhãn và huấn luyện dựa trên đám mây. Điều này cho phép lập trình viên tinh chỉnh mô hình trên dữ liệu tùy chỉnh—như các bộ phận công nghiệp cụ thể hoặc mẫu sinh học—và triển khai chúng một cách hiệu quả lên các thiết bị edge AI bằng các định dạng tối ưu hóa như ONNX hoặc TensorRT.






