Trực quan hóa dữ liệu nâng cao: Heatmap sử dụng Ultralytics YOLO26 🚀
Giới thiệu về Heatmap
Một heatmap được tạo bằng Ultralytics YOLO26 chuyển đổi dữ liệu phức tạp thành một ma trận mã hóa màu sắc sống động. Công cụ trực quan này sử dụng phổ màu để biểu thị các giá trị dữ liệu khác nhau, trong đó tông màu nóng biểu thị cường độ cao hơn và tông màu lạnh biểu thị các giá trị thấp hơn. Heatmap rất hiệu quả trong việc trực quan hóa các mô hình, mối tương quan và điểm bất thường của dữ liệu phức tạp, mang đến phương pháp tiếp cận dễ hiểu và thú vị để diễn giải dữ liệu trên nhiều lĩnh vực khác nhau.
Watch: Heatmaps using Ultralytics YOLO26
Tại sao nên chọn Heatmap để phân tích dữ liệu?
- Trực quan hóa phân phối dữ liệu trực quan: Heatmap đơn giản hóa việc hiểu mật độ và phân phối dữ liệu, chuyển đổi các tập dữ liệu phức tạp thành các định dạng trực quan dễ hiểu.
- Phát hiện mẫu hiệu quả: Bằng cách trực quan hóa dữ liệu dưới dạng heatmap, việc phát hiện các xu hướng, cụm và giá trị ngoại lai trở nên dễ dàng hơn, từ đó hỗ trợ phân tích và đưa ra thông tin chuyên sâu nhanh chóng hơn.
- Nâng cao khả năng phân tích không gian và ra quyết định: Heatmap là công cụ hỗ trợ đắc lực trong việc minh họa các mối quan hệ không gian, hỗ trợ các quy trình ra quyết định trong các lĩnh vực như kinh doanh thông minh, nghiên cứu môi trường và quy hoạch đô thị.
Ứng dụng trong thế giới thực
| Giao thông | Bán lẻ |
|---|---|
![]() | ![]() |
| Heatmap giao thông Ultralytics YOLO26 | Heatmap bán lẻ Ultralytics YOLO26 |
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"
# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO
# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"Các đối số Heatmap()
Dưới đây là bảng các đối số của Heatmap:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
model | str | None | Đường dẫn đến một file model Ultralytics YOLO. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Colormap được sử dụng cho bản đồ nhiệt (heatmap). |
show_in | bool | True | Cờ để kiểm soát việc có hiển thị số lượng đối tượng đi vào trên luồng video hay không. |
show_out | bool | True | Cờ để kiểm soát việc có hiển thị số lượng đối tượng đi ra trên luồng video hay không. |
region | list | '[(20, 400), (1260, 400)]' | Danh sách các điểm xác định vùng đếm. |
Bạn cũng có thể áp dụng các đối số track khác nhau trong giải pháp Heatmap.
| Đố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, ví dụ: bytetrack.yaml hoặc botsort.yaml. |
conf | float | 0.1 | Đặt ngưỡng tin cậy cho các phát hiện; các 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á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 chồng lấp. |
classes | list | None | Lọc kết quả theo chỉ số lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định. |
verbose | bool | True | Kiểm soát việc hiển thị các kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi. |
device | str | None | Chỉ định thiết bị thực hiện suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để chạy model. |
Ngoài ra, các đối số trực quan hóa được hỗ trợ được liệt kê dưới đây:
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
show | bool | False | Nếu True, hiển thị các ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để có phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc thử nghiệm. |
line_width | int or None | None | Chỉ định độ dày đường kẻ của khung bao. Nếu là None, độ dày đường kẻ sẽ tự động được điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để đảm bảo độ rõ nét. |
show_conf | bool | True | Hiển thị điểm tin cậy cho mỗi kết quả phát hiện bên cạnh nhãn. Cung cấp cái nhìn sâu sắc về độ chắc chắn của model cho mỗi kết quả phát hiện. |
show_labels | bool | True | Hiển thị nhãn cho mỗi kết quả phát hiện trong đầu ra trực quan. Cung cấp hiểu biết ngay lập tức về các đối tượng được phát hiện. |
Các COLORMAP của Heatmap
| Tên Colormap | Mô tả |
|---|---|
cv::COLORMAP_AUTUMN | Bản đồ màu Autumn |
cv::COLORMAP_BONE | Bản đồ màu Bone |
cv::COLORMAP_JET | Bản đồ màu Jet |
cv::COLORMAP_WINTER | Bản đồ màu Winter |
cv::COLORMAP_RAINBOW | Bản đồ màu Rainbow |
cv::COLORMAP_OCEAN | Bản đồ màu Ocean |
cv::COLORMAP_SUMMER | Bản đồ màu Summer |
cv::COLORMAP_SPRING | Bản đồ màu Spring |
cv::COLORMAP_COOL | Bản đồ màu Cool |
cv::COLORMAP_HSV | Bản đồ màu HSV (Hue, Saturation, Value) |
cv::COLORMAP_PINK | Bản đồ màu Pink |
cv::COLORMAP_HOT | Bản đồ màu Hot |
cv::COLORMAP_PARULA | Bản đồ màu Parula |
cv::COLORMAP_MAGMA | Bản đồ màu Magma |
cv::COLORMAP_INFERNO | Bản đồ màu Inferno |
cv::COLORMAP_PLASMA | Bản đồ màu Plasma |
cv::COLORMAP_VIRIDIS | Bản đồ màu Viridis |
cv::COLORMAP_CIVIDIS | Bản đồ màu Cividis |
cv::COLORMAP_TWILIGHT | Bản đồ màu Twilight |
cv::COLORMAP_TWILIGHT_SHIFTED | Bản đồ màu Twilight đã dịch chuyển |
cv::COLORMAP_TURBO | Bản đồ màu Turbo |
cv::COLORMAP_DEEPGREEN | Bản đồ màu Deep Green |
Những colormap này thường được sử dụng để trực quan hóa dữ liệu với các biểu diễn màu sắc khác nhau.
Cách Heatmap hoạt động trong Ultralytics YOLO26
Giải pháp Heatmap trong Ultralytics YOLO26 mở rộng lớp ObjectCounter để tạo và trực quan hóa các mô hình chuyển động trong luồng video. Khi khởi tạo, giải pháp tạo ra một lớp heatmap trống và sẽ được cập nhật khi các đối tượng di chuyển qua khung hình.
Đối với mỗi đối tượng được phát hiện, giải pháp sẽ:
- Theo dõi đối tượng qua các khung hình bằng khả năng tracking của YOLO26
- Cập nhật cường độ heatmap tại vị trí của đối tượng
- Áp dụng colormap đã chọn để trực quan hóa các giá trị cường độ
- Phủ lớp heatmap màu lên khung hình gốc
Kết quả là một bản trực quan hóa động được tích lũy theo thời gian, tiết lộ các kiểu giao thông, chuyển động của đám đông hoặc các hành vi không gian khác trong dữ liệu video của bạn.
Câu hỏi thường gặp (FAQ)
Ultralytics YOLO26 tạo heatmap như thế nào và lợi ích của chúng là gì?
Ultralytics YOLO26 tạo heatmap bằng cách chuyển đổi dữ liệu phức tạp thành ma trận mã hóa màu sắc, nơi các sắc thái khác nhau đại diện cho cường độ dữ liệu. Heatmap giúp dễ dàng trực quan hóa các mô hình, mối tương quan và điểm bất thường trong dữ liệu. Tông màu nóng biểu thị giá trị cao hơn, trong khi tông màu lạnh biểu thị các giá trị thấp hơn. Những lợi ích chính bao gồm trực quan hóa phân phối dữ liệu trực quan, phát hiện mẫu hiệu quả và phân tích không gian nâng cao để đưa ra quyết định. Để biết thêm chi tiết và các tùy chọn cấu hình, hãy tham khảo phần Cấu hình Heatmap.
Tôi có thể sử dụng Ultralytics YOLO26 để thực hiện tracking đối tượng và tạo heatmap đồng thời không?
Có, Ultralytics YOLO26 hỗ trợ tracking đối tượng và tạo heatmap đồng thời. Điều này có thể đạt được thông qua giải pháp Heatmap được tích hợp với các model tracking đối tượng. Để thực hiện, bạn cần khởi tạo đối tượng heatmap và sử dụng khả năng tracking của YOLO26. Dưới đây là ví dụ đơn giản:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo26n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()Để được hướng dẫn thêm, hãy xem trang Chế độ Tracking.
Điều gì làm cho heatmap của Ultralytics YOLO26 khác biệt so với các công cụ trực quan hóa dữ liệu khác như của OpenCV hoặc Matplotlib?
Heatmap của Ultralytics YOLO26 được thiết kế đặc biệt để tích hợp với các model phát hiện đối tượng và tracking của nó, cung cấp giải pháp toàn diện cho phân tích dữ liệu thời gian thực. Không giống như các công cụ trực quan hóa chung như OpenCV hoặc Matplotlib, heatmap của YOLO26 được tối ưu hóa cho hiệu suất và xử lý tự động, hỗ trợ các tính năng như tracking liên tục, điều chỉnh hệ số phân rã và phủ lớp video thời gian thực. Để biết thêm thông tin về các tính năng độc đáo của YOLO26, hãy truy cập Giới thiệu về Ultralytics YOLO26.
Làm thế nào tôi có thể chỉ trực quan hóa các lớp đối tượng cụ thể trong heatmap bằng Ultralytics YOLO26?
Bạn có thể trực quan hóa các lớp đối tượng cụ thể bằng cách chỉ định các lớp mong muốn trong phương thức track() của model YOLO. Ví dụ: nếu bạn chỉ muốn trực quan hóa ô tô và người (giả sử chỉ số lớp của chúng là 0 và 2), bạn có thể đặt tham số classes cho phù hợp.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()Tại sao doanh nghiệp nên chọn Ultralytics YOLO26 để tạo heatmap trong phân tích dữ liệu?
Ultralytics YOLO26 cung cấp khả năng tích hợp liền mạch giữa phát hiện đối tượng nâng cao và tạo heatmap thời gian thực, trở thành lựa chọn lý tưởng cho các doanh nghiệp muốn trực quan hóa dữ liệu hiệu quả hơn. Những ưu điểm chính bao gồm trực quan hóa phân phối dữ liệu trực quan, phát hiện mẫu hiệu quả và phân tích không gian nâng cao để đưa ra quyết định tốt hơn. Ngoài ra, các tính năng tiên tiến của YOLO26 như tracking liên tục, colormap tùy chỉnh và hỗ trợ nhiều định dạng xuất khác nhau làm cho nó vượt trội so với các công cụ như TensorFlow và OpenCV để phân tích dữ liệu toàn diện. Tìm hiểu thêm về các ứng dụng doanh nghiệp tại Các gói dịch vụ Ultralytics.

