Phân đoạn thực thể và theo dõi sử dụng Ultralytics YOLO26#
Phân đoạn đối tượng là gì?#
Phân đoạn đối tượng là một tác vụ thị giác máy tính, bao gồm việc xác định và phác thảo từng đối tượng riêng lẻ trong ảnh ở cấp độ pixel. Không giống phân đoạn ngữ nghĩa, vốn chỉ phân loại pixel theo danh mục, phân đoạn đối tượng gán nhãn duy nhất và phân định chính xác từng thể hiện đối tượng, khiến kỹ thuật này trở nên thiết yếu cho các ứng dụng đòi hỏi khả năng hiểu không gian chi tiết như chẩn đoán hình ảnh y khoa, lái xe tự hành và tự động hóa công nghiệp.
Ultralytics YOLO26 cung cấp các tính năng phân đoạn đối tượng mạnh mẽ, cho phép phát hiện ranh giới đối tượng chính xác trong khi vẫn duy trì tốc độ và hiệu suất mà các model YOLO được biết đến.
Có hai loại theo dõi phân đoạn đối tượng trong package Ultralytics:
-
Phân đoạn đối tượng với các class object: Mỗi class object được gán một màu duy nhất để phân tách trực quan rõ ràng.
-
Phân đoạn đối tượng với các object track: Mỗi track được biểu diễn bằng một màu riêng biệt, giúp dễ dàng nhận diện và theo dõi qua các frame video.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Mẫu#
| Phân đoạn đối tượng | Phân đoạn đối tượng + Theo dõi object |
|---|---|
![]() | ![]() |
| Phân đoạn đối tượng của Ultralytics 😍 | Phân đoạn đối tượng của Ultralytics với tính năng theo dõi object 🔥 |
Phân đoạn và theo dõi với YOLO26#
Giải pháp InstanceSegmentation chạy một model phân đoạn YOLO26 trên từng frame, vẽ mask cho từng object và tô màu riêng cho mỗi instance để bạn có thể theo dõi từng object trong video. Load một model -seg, sau đó chạy model này trên nguồn dữ liệu bằng Python API hoặc CLI.
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Các argument của InstanceSegmentation#
Dưới đây là bảng các tham số của InstanceSegmentation:
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến file model Ultralytics YOLO. |
line_width | int | 2 | Độ dày đường kẻ cho các box, keypoint và số lượng mà solution vẽ. |
verbose | bool | True | Bật log theo từng frame của solution, gồm kích thước input, số lượng class và tốc độ xử lý. Riêng lệnh tracking luôn ở chế độ im lặng. |
Bạn cũng có thể tận dụng các tham số của track trong giải pháp InstanceSegmentation:
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Chỉ định thuật toán theo dõi cần sử dụng. Các tùy chọn tích hợp sẵn: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Thiết lập ngưỡng độ tin cậy cho các detection; giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm các false positive. |
iou | float | 0.7 | Thiết lập ngưỡng Intersection over Union (IoU) để lọc các detection chồng lấn. |
classes | list | None | Lọc kết quả theo chỉ số class. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các class được chỉ định. |
device | str | None | Chỉ định thiết bị dùng cho inference (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để thực thi model. |
imgsz | int or tuple | 640 | Kích thước ảnh inference mục tiêu: một số nguyên cho ảnh vuông hoặc một cặp (height, width). Các hình dạng được điều chỉnh theo stride của model. |
max_det | int | 300 | Số lượng detection tối đa được giữ lại trên mỗi frame trước khi tracking, giới hạn các đối tượng mà một solution xử lý trong các scene đông đúc. |
quantize | int or str | None | Độ chính xác inference: 16 (FP16) hoặc 32/không thiết lập (FP32) đối với các model PyTorch và TorchScript; các định dạng khác tính toán ở độ chính xác mà artifact và runtime của chúng chọn. Thay thế cờ half đã bị loại bỏ. |
Ngoài ra, các đối số trực quan hóa sau đây cũng khả dụng:
| Đối số | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu True, hiển thị image hoặc video đã được annotate trong một cửa sổ. Hữu ích để nhận phản hồi trực quan ngay lập tức trong quá trình development hoặc testing. |
show_conf | bool | True | Hiển thị score confidence cho mỗi detection bên cạnh label. Cung cấp thông tin về mức độ chắc chắn của model đối với từng detection. |
show_labels | bool | True | Hiển thị label cho mỗi detection trong output trực quan. Cung cấp nhận biết tức thì về các object được phát hiện. |
show_boxes | bool | True | Vẽ bounding box xung quanh các object được phát hiện. Đây là thành phần thiết yếu để nhận diện trực quan và xác định vị trí object trong image hoặc frame video. |
Các ứng dụng của phân đoạn đối tượng#
Phân đoạn đối tượng với YOLO26 có nhiều ứng dụng thực tế trong nhiều ngành khác nhau:
Quản lý và tái chế chất thải#
YOLO26 có thể được sử dụng tại các cơ sở quản lý chất thải để xác định và phân loại các loại vật liệu khác nhau. Model có thể phân đoạn rác thải nhựa, bìa carton, kim loại và các vật liệu có thể tái chế khác với độ chính xác cao, cho phép các hệ thống phân loại tự động xử lý chất thải hiệu quả hơn. Điều này đặc biệt có giá trị khi chỉ khoảng 10% trong 7 tỷ tấn rác thải nhựa được tạo ra trên toàn cầu được tái chế.
Phương tiện tự hành#
Trong ô tô tự lái, phân đoạn đối tượng giúp xác định và theo dõi người đi bộ, phương tiện, biển báo giao thông và các thành phần đường sá khác ở cấp độ pixel. Khả năng hiểu chính xác môi trường này rất quan trọng đối với việc điều hướng và đưa ra quyết định an toàn. Hiệu suất thời gian thực của YOLO26 khiến model trở nên lý tưởng cho các ứng dụng nhạy cảm về thời gian này.
Chẩn đoán hình ảnh y khoa#
Phân đoạn đối tượng có thể xác định và phác thảo khối u, cơ quan hoặc cấu trúc tế bào trong ảnh chụp y khoa. Khả năng phân định chính xác ranh giới đối tượng của YOLO26 khiến model có giá trị đối với chẩn đoán y khoa và lập kế hoạch điều trị.
Giám sát công trường xây dựng#
Tại các công trường xây dựng, phân đoạn đối tượng có thể theo dõi máy móc hạng nặng, công nhân và vật liệu. Điều này giúp đảm bảo an toàn bằng cách giám sát vị trí thiết bị và phát hiện khi công nhân đi vào khu vực nguy hiểm, đồng thời tối ưu hóa quy trình làm việc và phân bổ tài nguyên.
FAQ#
Để thực hiện phân đoạn đối tượng bằng Ultralytics YOLO26, hãy khởi tạo model YOLO với phiên bản YOLO26 dành cho phân đoạn và xử lý các frame video thông qua model này. Dưới đây là một ví dụ code đơn giản:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Video writer w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init InstanceSegmentation isegment = solutions.InstanceSegmentation( show=True, # display the output model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26. ) # Process video while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = isegment(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()Tìm hiểu thêm về phân đoạn đối tượng trong hướng dẫn Ultralytics YOLO26.
Phân đoạn đối tượng xác định và phác thảo từng object riêng lẻ trong ảnh, đồng thời cung cấp cho mỗi object một label và mask duy nhất. Theo dõi object mở rộng khả năng này bằng cách gán các ID nhất quán cho object qua các frame video, cho phép theo dõi liên tục cùng một object theo thời gian. Khi kết hợp, như trong triển khai của YOLO26, bạn có được các tính năng mạnh mẽ để phân tích chuyển động và hành vi của object trong video, đồng thời duy trì thông tin ranh giới chính xác.
Ultralytics YOLO26 mang lại hiệu suất thời gian thực, [độ chính xác](https://ultralytics-translation-0.invalid vượt trội và tính dễ sử dụng cao hơn so với các model khác như Mask R-CNN hoặc Faster R-CNN. YOLO26 xử lý ảnh trong một lượt duy nhất (phát hiện một giai đoạn), nhờ đó nhanh hơn đáng kể mà vẫn duy trì độ chính xác cao. Model cũng cung cấp khả năng tích hợp liền mạch với Ultralytics Platform, cho phép người dùng quản lý model, dataset và pipeline training hiệu quả. Đối với các ứng dụng yêu cầu cả tốc độ và độ chính xác, YOLO26 mang lại sự cân bằng tối ưu.
Có, Ultralytics cung cấp một số dataset phù hợp để training model YOLO26 cho phân đoạn đối tượng, bao gồm COCO-Seg, COCO8-Seg (một subset nhỏ hơn để kiểm thử nhanh), Package-Seg và Crack-Seg. Các dataset này đi kèm annotation ở cấp độ pixel cần thiết cho các tác vụ phân đoạn đối tượng. Đối với các ứng dụng chuyên biệt hơn, bạn cũng có thể tạo dataset tùy chỉnh theo format của Ultralytics. Có thể tìm thấy thông tin đầy đủ về dataset và hướng dẫn sử dụng trong tài liệu Dataset của Ultralytics.

