Panoptic Segmentation
Phân đoạn panoptic gán một lớp cho từng pixel và một ID riêng cho mỗi đối tượng có thể đếm được, kết hợp phân đoạn ngữ nghĩa và phân đoạn instance. Tìm hiểu model, PQ và mã nguồn.
Phân đoạn toàn cảnh là tác vụ thị giác máy tính gán cho mỗi pixel trong ảnh hai giá trị: nhãn lớp và, với các pixel thuộc về một vật thể có thể đếm được, một ID instance. Phương pháp này kết hợp phân đoạn ngữ nghĩa—gán nhãn lớp cho mọi pixel nhưng gộp các vật thể cùng lớp—với phân đoạn instance—tách riêng từng vật thể nhưng không gán nhãn hậu cảnh. Kết quả là một bản đồ duy nhất, không chồng lấn, bao quát toàn bộ cảnh; đường, bầu trời và cỏ được gán nhãn thành các vùng, còn mỗi ô tô và người là một phân đoạn riêng. Alexander Kirillov cùng các đồng nghiệp tại Facebook AI Research và Đại học Heidelberg đã định nghĩa tác vụ và metric này trong bài báo Panoptic Segmentation, công bố tại CVPR 2019, chọn thuật ngữ này theo định nghĩa: bao gồm mọi thứ có thể nhìn thấy trong một góc nhìn.
Stuff và thing#
Phân đoạn toàn cảnh chia các lớp thành hai loại:
- Thing: Các vật thể có thể đếm được và hình dạng xác định, chẳng hạn như người, ô tô, động vật và túi xách. Mỗi vật thể nhận một ID instance riêng, nên hai người đứng cạnh nhau sẽ trở thành hai phân đoạn.
- Stuff: Các vùng không có hình dạng xác định, có texture hoặc chất liệu tương tự nhau, chẳng hạn như đường, bầu trời, cỏ, nước và tường. Tất cả pixel của một lớp stuff tạo thành một phân đoạn vì việc chia bầu trời thành các instance không có ý nghĩa.
Benchmark toàn cảnh COCO dùng 133 lớp, gồm 80 thing và 53 stuff; benchmark lái xe Cityscapes chấm điểm 19 lớp, gồm 8 thing và 11 stuff. Các pixel không rõ ràng hoặc không thuộc lớp nào được đánh dấu là void và bỏ qua khi đánh giá. Định dạng toàn cảnh COCO lưu mỗi ảnh dưới dạng PNG, trong đó mỗi phân đoạn có một ID duy nhất, cùng với tệp JSON ánh xạ từng ID sang danh mục tương ứng.
Cách model phân đoạn toàn cảnh hoạt động#
Các hệ thống ban đầu chạy một nhánh ngữ nghĩa và một nhánh instance trên cùng một backbone, rồi hợp nhất đầu ra theo các quy tắc cố định. Chẳng hạn, Panoptic FPN xử lý phần chồng lấn giữa các instance theo độ tin cậy, ưu tiên instance hơn stuff, rồi loại bỏ các vùng stuff nhỏ hơn ngưỡng diện tích:
Các model bottom-up như Panoptic-DeepLab dự đoán bản đồ ngữ nghĩa cùng tâm của từng vật thể và độ lệch từ mỗi pixel đến tâm đó, sau đó nhóm các pixel thing theo tâm mà chúng hướng đến. Model phổ quát dùng một kiến trúc phân loại mask cho phân đoạn ngữ nghĩa, instance và toàn cảnh. Mask2Former dự đoán một tập query cố định, mỗi query tạo ra một mask và một lớp, áp dụng cho cả thing lẫn stuff; model đạt 57.8 PQ trên phân đoạn toàn cảnh COCO trong bài báo tại CVPR 2022. Pipeline Hugging Face Transformers dưới đây chạy một checkpoint Mask2Former được huấn luyện trên phân đoạn toàn cảnh COCO:
import numpy as np
from transformers import pipeline
# Load Mask2Former trained on COCO panoptic: 80 thing and 53 stuff classes
segmenter = pipeline("image-segmentation", model="facebook/mask2former-swin-tiny-coco-panoptic")
# Each returned segment is one non-overlapping region with a class label and a binary mask
segments = segmenter("https://ultralytics.com/images/bus.jpg", subtask="panoptic")
for segment in segments:
share = np.array(segment["mask"]).mean() / 255
print(f"{segment['label']}: {share:.1%} of pixels")Kết quả in ra liệt kê 10 phân đoạn. Bốn người, hai túi xách và chiếc xe buýt (30,7% diện tích ảnh) đều xuất hiện thành các phân đoạn thing riêng biệt; bên cạnh đó, mỗi lớp sau tạo thành một phân đoạn stuff: pavement-merged (30,9%), building-other-merged (19,5%) và tree-merged (4,8%). Hậu tố "-merged" đánh dấu các lớp stuff của COCO được tạo bằng cách gộp các nhãn chi tiết hơn. Không pixel nào thuộc hai phân đoạn, còn 0,4% pixel không thuộc phân đoạn nào được xem là void.
Chất lượng toàn cảnh (PQ)#
Dự đoán toàn cảnh được đánh giá bằng chất lượng toàn cảnh. Một phân đoạn dự đoán khớp với phân đoạn ground truth cùng lớp khi Intersection over Union (IoU) của chúng vượt quá 0.5; do các phân đoạn không chồng lấn, mỗi phân đoạn chỉ có thể khớp tối đa một phân đoạn khác. Các kết quả khớp là dương tính thật (TP), dự đoán không khớp là dương tính giả (FP), còn phân đoạn ground truth không khớp là âm tính giả (FN). PQ bằng tổng IoU của mọi cặp khớp chia cho TP + ½FP + ½FN, có thể phân tích thành hai phần:
- Chất lượng phân đoạn (SQ): IoU trung bình của các phân đoạn đã khớp, đo mức độ mask khớp chính xác.
- Chất lượng nhận diện (RQ): TP / (TP + ½FP + ½FN), tức điểm F1 của detection phân đoạn.
PQ được tính cho từng lớp rồi lấy trung bình; các benchmark cũng báo cáo riêng chỉ số này cho thing và stuff.
Phân đoạn toàn cảnh so với phân đoạn ngữ nghĩa và instance#
- Phân đoạn ngữ nghĩa: Trả lời câu hỏi "pixel này thuộc lớp nào?" cho mọi pixel. Ba chiếc ô tô liền kề trở thành một vùng ô tô.
- Phân đoạn instance: Trả lời câu hỏi "pixel này thuộc về vật thể nào?" nhưng chỉ áp dụng cho các vật thể được phát hiện. Pixel hậu cảnh không được gán nhãn, và mask của các vật thể khác nhau có thể chồng lấn.
- Phân đoạn toàn cảnh: Trả lời cả hai câu hỏi cho mọi pixel, với chính xác một phân đoạn trên mỗi pixel.
Ultralytics YOLO26 cung cấp hai phần này dưới dạng các tác vụ riêng biệt: các model -seg trả về một mask và một lớp cho mỗi vật thể, còn các model phân đoạn ngữ nghĩa -sem (semantic segmentation) trả về một lớp cho mỗi pixel, được huấn luyện trước trên 19 lớp Cityscapes hoặc 150 lớp ADE20K.
Ứng dụng thực tế#
- Xe tự hành: Một đầu ra duy nhất cung cấp đường có thể chạy xe và vỉa hè dưới dạng stuff, đồng thời biểu diễn mỗi người đi bộ và phương tiện thành một thing riêng để bộ theo dõi có thể theo dõi.
- Robotics: Robot di động cần có sàn để di chuyển và từng vật thể có thể nhặt lên hoặc cần tránh trong cùng một bản đồ nhất quán.
- Phân tích ảnh y tế: Giải phẫu bệnh kỹ thuật số phân đoạn các vùng mô thành stuff, đồng thời đếm từng nhân và tế bào riêng lẻ thành thing.
- 3D và video: Phân đoạn toàn cảnh video duy trì ID instance nhất quán qua các khung hình; phân đoạn toàn cảnh LiDAR, được đánh giá trên SemanticKITTI và nuScenes, gán nhãn lớp và ID instance cho mọi điểm 3D trong một lượt quét.










