Ultralytics YOLO27:
Get Started

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

Analytics với Ultralytics YOLO26 chuyển kết quả phát hiện đối tượng và tracking thành biểu đồ theo thời gian thực, giúp bạn theo dõi 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 đồ miền — đồng thời hướng dẫn cách chuyển đổi giữa các loại bằng những ví dụ dùng chung cho Python và CLI.



Xem: Cách tạo biểu đồ phân tích bằng Ultralytics | Biểu đồ đường, biểu đồ cột, biểu đồ vùng và biểu đồ tròn

Ví dụ trực quan#

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

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

  • Biểu đồ đường rất 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 số lượng giữa các danh mục khác nhau và thể hiện mối quan hệ giữa một danh mục với giá trị số tương ứng.
  • Biểu đồ tròn giúp minh họa hiệu quả tỷ trọng giữa các danh mục và thể hiện các phần cấu thành một tổng thể.
  • Biểu đồ miền tô màu vùng bên dưới đường biểu đồ, giúp dễ dàng đọc lướt số lượng đối tượng theo từng class qua thời gian.

Tạo biểu đồ phân tích#

Truyền video của bạn vào solution Analytics và chọn biểu đồ bằng analytics_type. Solution chạy phát hiện và tracking trên từng frame, sau đó vẽ biểu đồ kích thước 1280×720 (theo mặc định) để bạn có thể ghi trực tiếp vào video đầu ra. Chuyển đổi giữa "line", "bar", "pie" và "area" chỉ với một đối số.

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 đối số của Analytics#

Dưới đây là bảng liệt kê các đối số của Analytics:

Đối sốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
analytics_typestr'line'Loại biểu đồ, tức là line, bar, area hoặc pie.
figsizetuple[float, float](12.8, 7.2)Kích thước hình tính bằng inch cho biểu đồ Analytics; (12.8, 7.2) hiển thị khung hình 1280×720.
line_widthint2Độ dày đường viền của box, keypoint và số đếm mà giải pháp vẽ.
verboseboolTrueBật nhật ký theo từng frame của giải pháp, gồm shape đầu vào, số lượng class và tốc độ xử lý. Bản thân lệnh gọi tracking luôn không ghi nhật ký.

Bạn cũng có thể tận dụng các đối số track khác nhau trong solution Analytics.

Đối sốKiểuMặc địnhMô tả
trackerstr'tracktrack.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.25Đặt ngưỡng confidence cho các đối tượng được phát hiện; 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ả kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các đối tượng phát hiện bị chồng lấn.
classeslistNoneLọc kết quả theo chỉ mục class. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ định thiết bị dùng để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn CPU, một GPU cụ thể hoặc thiết bị tính toán khác để chạy model.
imgszint or tuple640Kích thước ảnh suy luận mục tiêu: số nguyên cho ảnh vuông hoặc cặp (height, width). Kích thước sẽ được điều chỉnh theo stride của model.
max_detint300Số lượng đối tượng phát hiện tối đa được giữ lại trong mỗi khung hình trước khi theo dõi, giới hạn số đối tượng mà một giải pháp xử lý trong các cảnh dày đặc.
quantizeint or strNoneĐộ chính xác suy luận: 16 (FP16) hoặc 32/không đặt (FP32) cho model PyTorch và TorchScript; các định dạng khác tính toán ở độ chính xác do artifact và runtime lựa chọn. Thay thế cờ half đã lỗi thời.

Ngoài ra, các đối số 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ị ả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ử.

Kết luận#

Hiểu khi nào và cách sử dụng các loại hình trực quan hóa khác nhau là yếu tố then chốt để 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 cách thức đơn giản hóa để tạo các hì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 thông tin chuyên sâu có ý nghĩa từ dữ liệu hình ảnh.

Câu hỏi thường gặp#

  • Để tạo biểu đồ đường bằng Ultralytics YOLO26 Analytics, hãy làm theo các bước sau:

    1. Tải model YOLO26 và mở tệp video.
    2. Khởi tạo class Analytics với analytics_type="line".
    3. Lặp qua các frame video, gọi solution trên từng 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 đồ.

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

  • Sử dụng Ultralytics YOLO26 để tạo biểu đồ cột mang lại một số 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 linh hoạt.
    2. Dễ sử dụng: API và các hàm đơ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.v. để đáp ứng yêu cầu cụ thể.
    4. Hiệu quả: Xử lý lượng dữ liệu lớn hiệu quả và cập nhật biểu đồ theo thời gian thực trong khi xử lý video.

    Để tạo biểu đồ cột, đặt analytics_type="bar" trong ví dụ Python ở trên — phần còn lại của vòng lặp frame không thay đổi. Xem mục Ví dụ 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ó thông tin chuyên sâu ngay lập tức.
    2. API thân thiện với người dùng: Dễ thiết lập và sử dụng với rất ít mã.
    3. Có thể tùy chỉnh: Nhiều tùy chọn tùy chỉnh màu sắc, nhãn, v.v.
    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 với các dự án phân tích video.

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

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

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

    1. Độ chính xác tiên tiến nhất: YOLO26 mang lại độ 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 ngữ nghĩa và phân loại.
    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 chóng mà không cần viết quá nhiều mã.
    3. Hiệu năng thời gian thực: Được tối ưu hóa để suy luận tốc độ cao, phù hợp với các ứng dụng thời gian thực.
    4. Ứng dụng đa dạng: Hỗ trợ tracking nhiều đối tượng, huấn luyện model tùy chỉnh và xuất sang các định dạng khác nhau như ONNX, TensorRT và CoreML.
    5. Tài liệu toàn diện: Tài liệu và tài nguyên blog phong phú hướng dẫn người dùng qua từng bước.

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

Bình luận