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 YOLO
# 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)]"
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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 = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)] # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points
# Initialize heatmap object
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, # object counting with heatmaps, you can pass region_points
# classes=[0, 2], # generate heatmap for specific classes i.e person and car.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = heatmap(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Heatmap()
Argumente
Hier ist eine Tabelle mit den Heatmap
Argumente:
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
model |
str |
None |
Pfad zur Ultralytics YOLO . |
colormap |
int |
cv2.COLORMAP_JET |
Farbkarte, die für die Heatmap verwendet werden soll. |
show_in |
bool |
True |
Kennzeichen, mit dem gesteuert wird, ob die Zählungen im Videostrom angezeigt werden sollen. |
show_out |
bool |
True |
Kennzeichen, mit dem gesteuert wird, ob die Anzahl der Ausgänge im Video-Stream angezeigt werden soll. |
region |
list |
[(20, 400), (1260, 400)] |
Liste der Punkte, die den Zählbereich definieren. |
Sie können auch verschiedene track
Argumente im Heatmap
Lösung.
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
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. |
device |
str |
None |
Gibt das Gerät für die Inferenz an (z.B., cpu , cuda:0 oder 0 ). Ermöglicht dem Benutzer die Auswahl zwischen CPU, einem bestimmten GPU oder anderen Rechengeräten für die Modellausführung. |
Außerdem sind die unterstützten Visualisierungsargumente unten aufgeführt:
Argument | Typ | Standard | Beschreibung |
---|---|---|---|
show |
bool |
False |
Wenn True zeigt die kommentierten Bilder oder Videos in einem Fenster an. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
line_width |
None or int |
None |
Gibt die Linienbreite von Begrenzungsrahmen an. Wenn None wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet visuelle Anpassung für Klarheit. |
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.
Wie Heatmaps in Ultralytics funktionierenYOLO11
Die Heatmap-Lösung in Ultralytics YOLO11 erweitert die ObjectCounter-Klasse zur Erzeugung und Visualisierung von Bewegungsmustern in Videoströmen. Bei der Initialisierung erstellt die Lösung eine leere Heatmap-Ebene, die aktualisiert wird, wenn sich Objekte durch das Bild bewegen.
Für jedes erkannte Objekt die Lösung:
- Verfolgt das Objekt über Frames hinweg mit den Tracking-Fähigkeiten von YOLO11
- Aktualisiert die Intensität der Heatmap an der Position des Objekts
- Wendet eine ausgewählte Farbkarte an, um die Intensitätswerte zu visualisieren
- Überlagert die farbige Heatmap auf dem Originalrahmen
Das Ergebnis ist eine dynamische Visualisierung, die sich im Laufe der Zeit aufbaut und Verkehrsmuster, Menschenansammlungen oder andere räumliche Verhaltensweisen in Ihren Videodaten erkennen lässt.
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.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo11n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
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.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo11n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
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.