Fortgeschrittene Datenvisualisierung: Heatmaps mit Ultralytics YOLO11 🚀
Einführung in Heatmaps
Eine Heatmap, die mit Ultralytics YOLO11 erstellt wird, verwandelt komplexe Daten in eine lebendige, farbkodierte Matrix. Dieses visuelle Tool verwendet ein Farbspektrum, um unterschiedliche Datenwerte darzustellen, wobei wärmere Farbtöne eine höhere Intensität und kühlere Töne niedrigere Werte anzeigen. Heatmaps eignen sich hervorragend zur Visualisierung komplexer Datenmuster, Korrelationen und Anomalien und bieten einen zugänglichen und ansprechenden Ansatz zur Dateninterpretation in verschiedenen Bereichen.
Beobachten: Heatmaps mit Ultralytics YOLO11
Warum sollten Sie Heatmaps für die Datenanalyse wählen?
- Intuitive Visualisierung der Datenverteilung: Heatmaps vereinfachen das Verständnis der Datenkonzentration und -verteilung und wandeln komplexe Datensätze in leicht verständliche visuelle Formate um.
- Effiziente Erkennung von Mustern: Durch die Visualisierung von Daten im Heatmap-Format lassen sich Trends, Cluster und Ausreißer leichter erkennen, was eine schnellere Analyse und Erkenntnisse ermöglicht.
- Verbesserte räumliche Analyse und Entscheidungsfindung: Heatmaps eignen sich hervorragend zur Veranschaulichung räumlicher Beziehungen und helfen bei Entscheidungsprozessen in Bereichen wie Business Intelligence, Umweltstudien und Stadtplanung.
Anwendungen in der realen Welt
Transport | Einzelhandel |
---|---|
Ultralytics YOLO11 Heatmap Transport | Ultralytics YOLO11 Heatmap Einzelhandel |
Heatmaps mit Ultralytics YOLO11 Beispiel
# 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()
Argumente Heatmap()
Name | Typ | Standard | Beschreibung |
---|---|---|---|
model |
str |
None |
Pfad zu Ultralytics YOLO Modelldatei |
colormap |
int |
cv2.COLORMAP_JET |
Farbkarte, die für die Heatmap verwendet werden soll. |
show |
bool |
False |
Gibt an, ob das Bild mit dem Wärmebild-Overlay angezeigt werden soll. |
show_in |
bool |
True |
Angabe, ob die Anzahl der in die Region eintretenden Objekte angezeigt werden soll. |
show_out |
bool |
True |
Angabe, ob die Anzahl der Objekte, die die Region verlassen, angezeigt werden soll. |
region |
list |
None |
Punkte, die den Zählbereich definieren (entweder eine Linie oder ein Polygon). |
line_width |
int |
2 |
Dicke der beim Zeichnen verwendeten Linien. |
Argumente model.track
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
source |
str |
None |
Gibt das Quellverzeichnis für Bilder oder Videos an. Unterstützt Dateipfade und URLs. |
persist |
bool |
False |
Ermöglicht die dauerhafte Verfolgung von Objekten zwischen Einzelbildern, wobei IDs über Videosequenzen hinweg beibehalten werden. |
tracker |
str |
botsort.yaml |
Gibt den zu verwendenden Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml . |
conf |
float |
0.3 |
Legt die Konfidenzschwelle für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen führen. |
iou |
float |
0.5 |
Legt den Schwellenwert für die Überschneidung über die Vereinigung (IoU) zum Filtern von überlappenden Erkennungen fest. |
classes |
list |
None |
Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose |
bool |
True |
Steuert die Anzeige der Verfolgungsergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte. |
Heatmap COLORMAPs
Farbkarte Name | Beschreibung |
---|---|
cv::COLORMAP_AUTUMN |
Farbkarte Herbst |
cv::COLORMAP_BONE |
Knochenfarbkarte |
cv::COLORMAP_JET |
Jet-Farbkarte |
cv::COLORMAP_WINTER |
Farbkarte Winter |
cv::COLORMAP_RAINBOW |
Regenbogen-Farbkarte |
cv::COLORMAP_OCEAN |
Farbkarte der Ozeane |
cv::COLORMAP_SUMMER |
Farbkarte Sommer |
cv::COLORMAP_SPRING |
Farbkarte Frühling |
cv::COLORMAP_COOL |
Coole Farbkarte |
cv::COLORMAP_HSV |
HSV-Farbkarte (Farbton, Sättigung, Wert) |
cv::COLORMAP_PINK |
Rosa Farbkarte |
cv::COLORMAP_HOT |
Heiße Farbkarte |
cv::COLORMAP_PARULA |
Parula Farbkarte |
cv::COLORMAP_MAGMA |
Magma-Farbkarte |
cv::COLORMAP_INFERNO |
Inferno Farbkarte |
cv::COLORMAP_PLASMA |
Plasma-Farbkarte |
cv::COLORMAP_VIRIDIS |
Viridis-Farbkarte |
cv::COLORMAP_CIVIDIS |
Cividis Farbkarte |
cv::COLORMAP_TWILIGHT |
Farbkarte der Dämmerung |
cv::COLORMAP_TWILIGHT_SHIFTED |
Verschobene Farbkarte der Dämmerung |
cv::COLORMAP_TURBO |
Turbo-Farbkarte |
cv::COLORMAP_DEEPGREEN |
Deep Green Farbkarte |
Diese Farbkarten werden in der Regel zur Visualisierung von Daten mit verschiedenen Farbdarstellungen verwendet.
FAQ
Wie erstellt Ultralytics YOLO11 Heatmaps und was sind ihre Vorteile?
Ultralytics YOLO11 erzeugt Heatmaps, indem es komplexe Daten in eine farbcodierte Matrix umwandelt, in der verschiedene Farbtöne die Datenintensität darstellen. Heatmaps erleichtern die Visualisierung von Mustern, Korrelationen und Anomalien in den Daten. Wärmere Farbtöne zeigen höhere Werte an, während kühlere Töne niedrigere Werte darstellen. Zu den wichtigsten Vorteilen gehören die intuitive Visualisierung der Datenverteilung, die effiziente Erkennung von Mustern und die verbesserte räumliche Analyse für die Entscheidungsfindung. Weitere Einzelheiten und Konfigurationsoptionen finden Sie im Abschnitt Heatmap-Konfiguration.
Kann ich mit Ultralytics YOLO11 gleichzeitig eine Objektverfolgung durchführen und eine Heatmap erstellen?
Ja, Ultralytics YOLO11 unterstützt die gleichzeitige Verfolgung von Objekten und die Erstellung von Heatmaps. Dies kann erreicht werden durch seine Heatmap
Lösung mit Objektverfolgungsmodellen integriert. Dazu müssen Sie das Heatmap-Objekt initialisieren und die Tracking-Funktionen von YOLO11 nutzen. Hier ist ein einfaches Beispiel:
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()
Weitere Hinweise finden Sie auf der Seite Tracking-Modus.
Was unterscheidet Ultralytics YOLO11 Heatmaps von anderen Datenvisualisierungstools wie denen von OpenCV oder Matplotlib?
Ultralytics YOLO11 Heatmaps sind speziell für die Integration mit den Objekterkennungs- und -verfolgungsmodellen von konzipiert und bieten eine End-to-End-Lösung für die Echtzeit-Datenanalyse. Im Gegensatz zu generischen Visualisierungstools wie OpenCV oder Matplotlib sind YOLO11 Heatmaps für Leistung und automatisierte Verarbeitung optimiert und unterstützen Funktionen wie persistentes Tracking, Anpassung des Abklingfaktors und Video-Overlay in Echtzeit. Weitere Informationen zu den einzigartigen Funktionen von YOLO11 finden Sie in der Ultralytics YOLO11 Einführung.
Wie kann ich mit Ultralytics YOLO11 nur bestimmte Objektklassen in Heatmaps visualisieren?
Sie können bestimmte Objektklassen visualisieren, indem Sie die gewünschten Klassen im Feld track()
Methode des Modells YOLO . Wenn Sie zum Beispiel nur Autos und Personen visualisieren wollen (unter der Annahme, dass ihre Klassenindizes 0 und 2 sind), können Sie die classes
Parameter entsprechend.
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()
Warum sollten Unternehmen Ultralytics YOLO11 für die Erstellung von Heatmaps in der Datenanalyse wählen?
Ultralytics YOLO11 bietet eine nahtlose Integration von fortschrittlicher Objekterkennung und Echtzeit-Heatmap-Generierung und ist damit die ideale Wahl für Unternehmen, die ihre Daten effektiver visualisieren möchten. Zu den wichtigsten Vorteilen gehören die intuitive Visualisierung der Datenverteilung, die effiziente Erkennung von Mustern und die verbesserte räumliche Analyse für eine bessere Entscheidungsfindung. Darüber hinaus ist YOLO11 mit seinen hochmodernen Funktionen wie persistentem Tracking, anpassbaren Farbkarten und der Unterstützung verschiedener Exportformate anderen Tools wie TensorFlow und OpenCV für umfassende Datenanalysen. Erfahren Sie mehr über Geschäftsanwendungen unter Ultralytics Plans.