Ultralytics YOLO27:

Phân tích bằng Ultralytics YOLO26#

Analytics với Ultralytics YOLO26 chuyển đổi kết quả phát hiện đối tượng và tracking thành các biểu đồ theo thời gian thực, giúp bạn theo dõi cách số lượng đối tượng thay đổi qua từng frame video. Hướng dẫn này trình bày bốn loại trực quan hóa dữ liệu — biểu đồ đường, biểu đồ cột, biểu đồ tròn và biểu đồ vùng — đồng thời hướng dẫn cách chuyển đổi giữa chúng bằng các ví dụ Python và CLI dùng chung.



Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts

Mẫu trực quan#

Biểu đồ đườngBiểu đồ cộtBiểu đồ tròn
Biểu đồ đường analytics của YOLO cho tracking đối tượngBiểu đồ cột analytics của YOLO cho số lượng đối tượng phát hiệnBiểu đồ tròn analytics của YOLO cho phân bố class

Tại sao nên trực quan hóa dữ liệu phát hiện?#

  • Biểu đồ đường phù hợp để theo dõi các thay đổi trong khoảng thời gian ngắn và dài, cũng như so sánh thay đổi của nhiều nhóm trong cùng một khoảng thời gian.
  • Biểu đồ cột phù hợp để so sánh các đại lượng giữa những category khác nhau và thể hiện mối quan hệ giữa một category với giá trị số của nó.
  • Biểu đồ tròn hiệu quả trong việc minh họa tỷ lệ giữa các category và thể hiện các phần của một tổng thể.
  • Biểu đồ vùng tô đầy biểu đồ đường, giúp dễ dàng đọc nhanh số lượng đối tượng theo từng class qua thời gian.

Tạo biểu đồ analytics#

Truyền video của bạn vào solution Analytics và chọn biểu đồ bằng analytics_type. Solution này thực hiện detection và tracking trên mọi frame, đồng thời render biểu đồ 1280×720 (theo mặc định) mà bạn có thể ghi trực tiếp vào video đầu ra. Chuyển đổi giữa "line", "bar", "pie""area" bằng một argument duy nhất.

Analytics bằng Ultralytics YOLO
yolo solutions analytics show=True

# Pass the source
yolo solutions analytics source="path/to/video.mp4"

# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True

# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True

# Generate the area plots
yolo solutions analytics analytics_type="area" show=True

Các argument của Analytics#

Dưới đây là bảng mô tả các argument của Analytics:

Đối sốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến file model Ultralytics YOLO.
analytics_typestr'line'Loại biểu đồ, tức là line, bar, area hoặc pie.
line_widthint2Độ dày đường kẻ cho các box, keypoint và số lượng mà solution vẽ.
verboseboolTrueBậ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ể sử dụng các argument track khác trong solution Analytics.

Đối sốKiểuMặc địnhMô tả
trackerstr'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.
conffloat0.25Thiế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.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các detection chồng lấn.
classeslistNoneLọc kết quả theo chỉ số class. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ đị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.
imgszint or tuple640Kí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_detint300Số 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.
quantizeint or strNoneĐộ 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 argument trực quan hóa sau đây cũng được hỗ trợ:

Đối sốKiểuMặc địnhMô tả
showboolFalseNế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.

Kết luận#

Hiểu rõ thời điểm và cách sử dụng các loại trực quan hóa khác nhau là yếu tố quan trọng để phân tích dữ liệu hiệu quả. Biểu đồ đường, biểu đồ cột và biểu đồ tròn là những công cụ nền tảng giúp bạn truyền tải câu chuyện từ dữ liệu rõ ràng và hiệu quả hơn. Solution Analytics của Ultralytics YOLO26 cung cấp một cách đơn giản hóa để tạo các hình ảnh trực quan này từ kết quả phát hiện đối tượng và tracking, giúp bạn dễ dàng rút ra các insight có ý nghĩa từ dữ liệu hình ảnh.

FAQ#

  • Để tạo biểu đồ đường bằng Analytics của Ultralytics YOLO26, hãy thực hiện các bước sau:

    1. Load một model YOLO26 và mở file video của bạn.
    2. Khởi tạo class Analytics với analytics_type="line".
    3. Lặp qua các frame video, gọi solution ở mỗi frame để cập nhật biểu đồ đường bằng dữ liệu như số lượng đối tượng.
    4. Ghi results.plot_im vào video đầu ra để lưu biểu đồ.

    Sử dụng ví dụ Python ở trên làm điểm bắt đầu — ví dụ này đã chạy toàn bộ vòng lặp frame và biểu đồ đường là analytics_type mặc định.

  • Sử dụng Ultralytics YOLO26 để tạo biểu đồ cột mang lại nhiều lợi ích:

    1. Trực quan hóa dữ liệu theo thời gian thực: Tích hợp liền mạch kết quả phát hiện đối tượng vào biểu đồ cột để cập nhật động.
    2. Dễ sử dụng: API và các function đơn giản giúp việc triển khai và trực quan hóa dữ liệu trở nên dễ dàng.
    3. Tùy chỉnh: Tùy chỉnh tiêu đề, nhãn, màu sắc và nhiều yếu tố khác để phù hợp với yêu cầu cụ thể của bạn.
    4. Hiệu quả: Xử lý hiệu quả lượng dữ liệu lớn và cập nhật biểu đồ theo thời gian thực trong quá trình xử lý video.

    Để tạo biểu đồ cột, hãy đặt analytics_type="bar" trong ví dụ Python ở trên — phần còn lại của vòng lặp frame vẫn giữ nguyên. Xem phần Mẫu trực quan để xem trước.

  • Ultralytics YOLO26 là lựa chọn tuyệt vời để tạo biểu đồ tròn vì:

    1. Tích hợp với phát hiện đối tượng: Tích hợp trực tiếp kết quả phát hiện đối tượng vào biểu đồ tròn để có insight tức thì.
    2. API thân thiện với người dùng: Dễ thiết lập và sử dụng với lượng code tối thiểu.
    3. Có thể tùy chỉnh: Cung cấp nhiều tùy chọn tùy chỉnh về màu sắc, nhãn và các yếu tố khác.
    4. Cập nhật theo thời gian thực: Xử lý và trực quan hóa dữ liệu theo thời gian thực, rất phù hợp cho các project analytics video.

    Để tạo biểu đồ tròn, hãy đặt analytics_type="pie" trong ví dụ Python ở trên. Để biết thêm thông tin, hãy tham khảo phần Mẫu trực quan trong hướng dẫn.

  • Có. Tracking được tích hợp trong solution Analytics: solution này tracking nhiều đối tượng theo thời gian thực và cập nhật biểu đồ từ dữ liệu của các đối tượng được tracking ở mỗi frame, vì vậy biểu đồ đường, biểu đồ cột, biểu đồ tròn và biểu đồ vùng đều phản ánh số lượng trực tiếp. Đây chính xác là những gì vòng lặp frame trong ví dụ Python ở trên thực hiện. Để tìm hiểu về chức năng tracking nền tảng, hãy xem phần Tracking.

  • Ultralytics YOLO26 nổi bật hơn các solution phát hiện đối tượng khác như OpenCV và TensorFlow vì nhiều lý do:

    1. Độ chính xác hiện đại nhất: YOLO26 cung cấp độ chính xác vượt trội trong các tác vụ phát hiện đối tượng, phân đoạn instance, phân đoạn semanticclassification.
    2. Dễ sử dụng: API thân thiện với người dùng cho phép triển khai và tích hợp nhanh mà không cần viết nhiều code.
    3. Hiệu năng theo thời gian thực: Được tối ưu cho inference tốc độ cao, phù hợp với các ứng dụng theo thời gian thực.
    4. Ứng dụng đa dạng: Hỗ trợ tracking nhiều đối tượng, training model tùy chỉnh và export sang các format khác nhau như ONNX, TensorRT và CoreML.
    5. Tài liệu toàn diện: Tài liệu phong phú và các tài nguyên blog hướng dẫn người dùng qua mọi bước.

    Để xem các so sánh và trường hợp sử dụng chi tiết hơn, hãy khám phá Ultralytics Blog.

Bình luận