Phân đoạn thực thể (Instance Segmentation) và Theo dõi (Tracking) sử dụng Ultralytics YOLO26 🚀#
Phân đoạn thực thể là gì?#
Instance segmentation là một tác vụ thị giác máy tính bao gồm việc nhận diện và khoanh vùng các đối tượng đơn lẻ trong một hình ảnh ở cấp độ điểm ảnh. Không giống như semantic segmentation chỉ phân loại các điểm ảnh theo danh mục, instance segmentation gán nhãn duy nhất và vạch ranh giới chính xác cho từng thể hiện đối tượng, điều này làm cho nó trở nên quan trọng đối với các ứng dụng đòi hỏi sự hiểu biết sâu sắc về không gian như hình ảnh y tế, xe tự hành và tự động hóa công nghiệp.
Ultralytics YOLO26 cung cấp các tính năng instance segmentation 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 nổi tiếng.
Có hai loại theo dõi phân đoạn thực thể có sẵn trong gói Ultralytics:
-
Phân đoạn thực thể với đối tượng lớp: Mỗi đối tượng lớp được gán một màu duy nhất để phân tách trực quan rõ ràng.
-
Phân đoạn thực thể với các theo dõi đối tượng: Mỗi theo dõi được đại diện bởi một màu sắc riêng biệt, tạo điều kiện thuận lợi cho việc nhận dạng và theo dõi dễ dàng qua các khung hình video.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Mẫu#
| Instance Segmentation | Phân đoạn thực thể + Theo dõi đối tượng |
|---|---|
![]() | ![]() |
| Ultralytics Instance Segmentation 😍 | Ultralytics Instance Segmentation với theo dõi đối tượng 🔥 |
Phân đoạn và theo dõi với YOLO26#
Giải pháp InstanceSegmentation chạy một model segmentation YOLO26 trên từng khung hình, vẽ mặt nạ cho mỗi đối tượng và tô màu từng thể hiện riêng biệt để bạn có thể theo dõi các đối tượng đơn lẻ xuyên suốt video. Tải một model -seg, sau đó chạy nó trên nguồn của bạn bằng API Python 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]"Đối số InstanceSegmentation#
Dưới đây là bảng chứa các đối số của InstanceSegmentation:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến tệp model Ultralytics YOLO. |
line_width | int | 2 | Độ dày đường viền cho các khung, keypoints và số lượng mà giải pháp vẽ ra. |
verbose | bool | True | Bật nhật ký theo từng khung hình của giải pháp về hình dạng đầu vào, số lượng lớp và tốc độ xử lý. Bản thân lệnh gọi tracking luôn ở chế độ im lặng. |
Bạn cũng có thể tận dụng các tham số track trong giải pháp InstanceSegmentation:
| Đối số | Loại | 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 phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả. |
iou | float | 0.7 | Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện trùng lặp. |
classes | list | None | Lọc kết quả theo chỉ mục lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định. |
device | str | None | Chỉ định thiết bị để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, GPU cụ thể hoặc các thiết bị tính toán khác để thực thi mô hình. |
Hơn nữa, các tham số trực quan hóa sau đây cũng có sẵn:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu là True, hiển thị các hình ảnh hoặc video đã được chú thích 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 phát triển hoặc kiểm thử. |
show_conf | bool | True | Hiển thị điểm số tin cậy (confidence score) cho mỗi phát hiện cùng với nhãn. Cung cấp thông tin chi tiết về độ chắc chắn của model đối với từng phát hiện. |
show_labels | bool | True | Hiển thị nhãn cho mỗi phát hiện trong đầu ra hình ảnh. Cung cấp khả năng nhận biết tức thì các đối tượng được phát hiện. |
show_boxes | bool | True | Vẽ các hộp bao quanh các đối tượng được phát hiện. Cần thiết cho việc nhận diện trực quan và xác định vị trí của đối tượng trong ảnh hoặc khung hình video. |
Các ứng dụng của phân đoạn thực thể#
Phân đoạn thực thể với YOLO26 có vô số ứng dụng thực tế trong nhiều ngành công nghiệp:
Quản lý và Tái chế Rác thải#
YOLO26 có thể được sử dụng trong các waste management facilities để nhận diện 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 cứng, kim loại và các vật liệu 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ý rác thải hiệu quả hơn. Điều này đặc biệt có giá trị khi xem xét rằng chỉ có khoảng 10% trong số 7 tỷ tấn rác thải nhựa được tạo ra trên toàn cầu được tái chế.
Xe tự hành#
Trong các self-driving cars, instance segmentation giúp nhận diện và theo dõi người đi bộ, phương tiện, biển báo giao thông và các yếu tố đường bộ khác ở cấp độ điểm ảnh. Sự hiểu biết chính xác về môi trường này đóng vai trò quan trọng đối với các quyết định điều hướng và an toàn. Hiệu suất thời gian thực của YOLO26 làm cho nó 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 tế#
Instance segmentation có thể nhận diện và khoanh vùng khối u, cơ quan hoặc cấu trúc tế bào trong các bản chụp y tế. Khả năng vạch ranh giới đối tượng chính xác của YOLO26 giúp nó trở nên giá trị cho medical diagnostics 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 thực thể 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 các 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ổ nguồn lực.
Câu hỏi thường gặp#
Để thực hiện phân đoạn thực thể 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 khung hình video thông qua đó. Dưới đây là 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ề instance segmentation trong Ultralytics YOLO26 guide.
Phân đoạn thực thể nhận diện và khoanh vùng các đối tượng riêng lẻ trong một hình ảnh, gán cho mỗi đối tượng một nhãn và mask duy nhất. Theo dõi đối tượng mở rộng điều này bằng cách gán các ID nhất quán cho đối tượng qua các khung hình video, tạo điều kiện thuận lợi cho việc theo dõi liên tục cùng một đối tượng theo thời gian. Khi kết hợp lại, như trong triển khai của YOLO26, bạn có được những khả năng mạnh mẽ để phân tích chuyển động và hành vi của đối tượng trong video trong khi vẫn duy trì thông tin biên chính xác.
Ultralytics YOLO26 mang lại hiệu suất thời gian thực, accuracy vượt trội và tính dễ sử dụng so với các model khác như Mask R-CNN hay Faster R-CNN. YOLO26 xử lý hình ảnh trong một lần chạy duy nhất (phát hiện một giai đoạn), giúp tăng tốc độ đáng kể trong khi vẫn duy trì độ chính xác cao. Nó 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ý các model, tập dữ liệu và đường ống huấn luyện một cách hiệu quả. Đối với các ứng dụng đòi hỏi cả tốc độ và độ chính xác, YOLO26 cung cấp một sự cân bằng tối ưu.
Có, Ultralytics cung cấp một số tập dữ liệu phù hợp để huấn luyện các model YOLO26 cho instance segmentation, bao gồm COCO-Seg, COCO8-Seg (một tập con nhỏ hơn để kiểm tra nhanh), Package-Seg, và Crack-Seg. Các tập dữ liệu này đi kèm với các chú thích cấp độ điểm ảnh cần thiết cho các tác vụ instance segmentation. Đối với các ứng dụng chuyên biệt hơn, bạn cũng có thể tạo các tập dữ liệu tùy chỉnh theo định dạng Ultralytics. Thông tin đầy đủ về tập dữ liệu và hướng dẫn sử dụng có thể được tìm thấy trong Ultralytics Datasets documentation.

