Hình ảnh hóa dữ liệu nâng cao: Bản đồ nhiệt sử dụng Ultralytics YOLO11 🚀
Giới thiệu về Heatmap
Bản đồ nhiệt được tạo bằng Ultralytics YOLO11 chuyển đổi dữ liệu phức tạp thành ma trận mã màu rực rỡ. Công cụ trực quan này sử dụng phổ màu để biểu diễn các giá trị dữ liệu khác nhau, trong đó tông màu ấm hơn biểu thị cường độ cao hơn và tông màu lạnh hơn biểu thị giá trị thấp hơn. Bản đồ nhiệt xuất sắc trong việc trực quan hóa các mẫu dữ liệu phức tạp, mối tương quan và bất thường, cung cấp phương pháp tiếp cận dễ tiếp cận và hấp dẫn để diễn giải dữ liệu trên nhiều miền khác nhau.
Đồng hồ: Bản đồ nhiệt sử dụng Ultralytics YOLO11
Tại sao nên chọn bản đồ nhiệt để phân tích dữ liệu?
- Hình ảnh phân phối dữ liệu trực quan: Bản đồ nhiệt giúp đơn giản hóa việc hiểu về nồng độ 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 ở định dạng bản đồ nhiệt, việc phát hiện xu hướng, cụm và giá trị ngoại lệ trở nên dễ dàng hơn, giúp phân tích và đưa ra thông tin chi tiết nhanh hơn.
- Phân tích không gian và ra quyết định nâng cao: Bản đồ nhiệt đóng vai trò quan trọng trong việc minh họa các mối quan hệ không gian, hỗ trợ quá trình ra quyết định trong các lĩnh vực như trí tuệ kinh doanh, nghiên cứu môi trường và quy hoạch đô thị.
Ứng dụng trong thế giới thực
Vận tải | Bán lẻ |
---|---|
Ultralytics YOLO11 Bản đồ nhiệt giao thông | Ultralytics YOLO11 Bản đồ nhiệt bán lẻ |
Bản đồ nhiệt sử dụng Ultralytics YOLO11 Ví dụ
# Run a heatmap example
yolo solutions heatmap show=True
# Pass a source video
yolo solutions heatmap source="path/to/video/file.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)]
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # Define region points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # Define polygon points
# Init heatmap
heatmap = solutions.Heatmap(
show=True, # Display the output
model="yolo11n.pt", # Path to the YOLO11 model file
colormap=cv2.COLORMAP_PARULA, # Colormap of heatmap
# region=region_points, # If you want to do object counting with heatmaps, you can pass region_points
# classes=[0, 2], # If you want to generate heatmap for specific classes i.e person and car.
# show_in=True, # Display in counts
# show_out=True, # Display out counts
# line_width=2, # Adjust the line width for bounding boxes and text display
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or video processing has been successfully completed.")
break
im0 = heatmap.generate_heatmap(im0)
video_writer.write(im0)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
Lập luận Heatmap()
Tên | Kiểu | Mặc định | Sự miêu tả |
---|---|---|---|
model |
str |
None |
Đường dẫn đến Ultralytics YOLO Tệp mẫu |
colormap |
int |
cv2.COLORMAP_JET |
Bản đồ màu sử dụng cho bản đồ nhiệt. |
show |
bool |
False |
Có hiển thị hình ảnh có phủ bản đồ nhiệt hay không. |
show_in |
bool |
True |
Có hiển thị số lượng vật thể đi vào khu vực hay không. |
show_out |
bool |
True |
Có hiển thị số lượng đối tượng thoát khỏi vùng hay không. |
region |
list |
None |
Các điểm xác định vùng đếm (có thể là một đường thẳng hoặc một đa giác). |
line_width |
int |
2 |
Độ dày của các đường nét được sử dụng trong bản vẽ. |
Lập luận model.track
Lý lẽ | Kiểu | Mặc định | Sự miêu tả |
---|---|---|---|
source |
str |
None |
Chỉ định thư mục nguồn cho hình ảnh hoặc video. Hỗ trợ đường dẫn tệp và URL. |
persist |
bool |
False |
Cho phép theo dõi liên tục các đối tượng giữa các khung hình, duy trì ID trên các chuỗi video. |
tracker |
str |
botsort.yaml |
Chỉ định thuật toán theo dõi để sử dụng, ví dụ: bytetrack.yaml hoặc botsort.yaml . |
conf |
float |
0.3 |
Đặt ngưỡng tin cậy cho việ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ác kết quả dương tính giả. |
iou |
float |
0.5 |
Đặt ngưỡng Giao điểm trên Liên hợp (IoU) để lọc các phát hiện chồng chéo. |
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ị kết quả theo dõi, cung cấp hình ảnh trực quan về các đối tượng được theo dõi. |
Bản đồ nhiệt COLORMAP
Tên bản đồ màu | Sự miêu tả |
---|---|
cv::COLORMAP_AUTUMN |
Bản đồ màu sắc mùa thu |
cv::COLORMAP_BONE |
Bản đồ màu xương |
cv::COLORMAP_JET |
Bản đồ màu máy bay phản lực |
cv::COLORMAP_WINTER |
Bản đồ màu mùa đông |
cv::COLORMAP_RAINBOW |
Bản đồ màu cầu vồng |
cv::COLORMAP_OCEAN |
Bản đồ màu đại dương |
cv::COLORMAP_SUMMER |
Bản đồ màu mùa hè |
cv::COLORMAP_SPRING |
Bản đồ màu mùa xuân |
cv::COLORMAP_COOL |
Bản đồ màu mát mẻ |
cv::COLORMAP_HSV |
Bản đồ màu HSV (Sắc thái, Độ bão hòa, Giá trị) |
cv::COLORMAP_PINK |
Bản đồ màu hồng |
cv::COLORMAP_HOT |
Bản đồ màu nóng |
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 hoàng hôn |
cv::COLORMAP_TWILIGHT_SHIFTED |
Bản đồ màu hoàng hôn chuyển đổi |
cv::COLORMAP_TURBO |
Bản đồ màu Turbo |
cv::COLORMAP_DEEPGREEN |
Bản đồ màu xanh lá cây đậm |
Các bản đồ màu này thường được sử dụng để trực quan hóa dữ liệu với nhiều cách biểu diễn màu sắc khác nhau.
CÂU HỎI THƯỜNG GẶP
Làm thế nào Ultralytics YOLO11 tạo bản đồ nhiệt và lợi ích của chúng là gì?
Ultralytics YOLO11 tạo bản đồ nhiệt bằng cách chuyển đổi dữ liệu phức tạp thành ma trận mã màu, trong đó các sắc thái khác nhau biểu diễn cường độ dữ liệu. Bản đồ nhiệt giúp dễ dàng hình dung các mẫu, mối tương quan và bất thường trong dữ liệu. Sắc thái ấm hơn biểu thị các giá trị cao hơn, trong khi tông màu lạnh hơn biểu thị các giá trị thấp hơn. Các lợi ích chính bao gồm hình dung trực quan về phân phối dữ liệu, phát hiện mẫu hiệu quả và phân tích không gian nâng cao để ra quyết định. Để biết thêm chi tiết và tùy chọn cấu hình, hãy tham khảo phần Cấu hình bản đồ nhiệt .
Tôi có thể sử dụng Ultralytics YOLO11 để thực hiện theo dõi đối tượng và tạo bản đồ nhiệt cùng lúc?
Đúng, Ultralytics YOLO11 hỗ trợ theo dõi đối tượng và tạo bản đồ nhiệt đồng thời. Điều này có thể đạt được thông qua Heatmap
giải pháp tích hợp với các mô hình theo dõi đối tượng. Để làm như vậy, bạn cần khởi tạo đối tượng bản đồ nhiệt và sử dụng YOLO11 khả năng theo dõi của. Đây là một ví dụ đơn giản:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
Để biết thêm hướng dẫn, hãy kiểm tra trang Chế độ theo dõi .
Điều gì làm cho Ultralytics YOLO11 bản đồ nhiệt có khác gì so với các công cụ trực quan hóa dữ liệu khác như OpenCV hoặc Matplotlib không?
Ultralytics YOLO11 heatmap được thiết kế đặc biệt để tích hợp với các mô hình phát hiện và theo dõi đối tượng , 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, YOLO11 bản đồ nhiệt đượ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ư theo dõi liên tục, điều chỉnh hệ số suy giảm và lớp phủ video thời gian thực. Để biết thêm thông tin về YOLO11 Các tính năng độc đáo của Ultralytics YOLO11 , hãy truy cập phần Giới thiệu .
Làm thế nào tôi có thể trực quan hóa chỉ các lớp đối tượng cụ thể trong bản đồ nhiệt bằng cách sử dụng Ultralytics YOLO11 ?
Bạn có thể hình dung các lớp đối tượng cụ thể bằng cách chỉ định các lớp mong muốn trong track()
phương pháp của YOLO mô hình. 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 classes
tham số tương ứng.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video/file.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
im0 = heatmap.generate_heatmap(im0)
cv2.imshow("Heatmap", im0)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
Tại sao doanh nghiệp nên lựa chọn Ultralytics YOLO11 để tạo bản đồ nhiệt trong phân tích dữ liệu?
Ultralytics YOLO11 cung cấp sự tích hợp liền mạch giữa phát hiện đối tượng nâng cao và tạo bản đồ nhiệt thời gian thực, khiến nó 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. Các lợi thế 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, YOLO11 Các tính năng tiên tiến của như theo dõi liên tục, bản đồ màu có thể tùy chỉnh và hỗ trợ nhiều định dạng xuất khác nhau khiến nó vượt trội hơn các công cụ khá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 kinh doanh tại Ultralytics Plans .