Fortschrittliche Datenvisualisierung: Heatmaps mit Ultralytics YOLO26 🚀
Einführung in Heatmaps
Eine mit Ultralytics YOLO26 generierte Heatmap wandelt komplexe Daten in eine lebendige, farbcodierte Matrix um. Dieses visuelle Werkzeug verwendet ein Farbspektrum, um unterschiedliche Datenwerte darzustellen, wobei wärmere Farbtöne höhere Intensitäten 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.
Ansehen: Heatmaps mit Ultralytics YOLO26
Warum Heatmaps für die Datenanalyse wählen?
- Intuitive Visualisierung der Datenverteilung: Heatmaps vereinfachen das Verständnis von Datenkonzentration und -verteilung und wandeln komplexe Datensätze in leicht verständliche visuelle Formate um.
- Effiziente Mustererkennung: 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 sind maßgeblich an der Veranschaulichung räumlicher Beziehungen beteiligt und unterstützen Entscheidungsprozesse in Sektoren wie Business Intelligence, Umweltstudien und Stadtplanung.
Anwendungen in der realen Welt
| Transport | Einzelhandel |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26 Verkehrs-Heatmap | Ultralytics YOLO26 Einzelhandels-Heatmap |
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="yolo26n.pt", # path to the YOLO26 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, e.g., 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 zu einer Ultralytics YOLO Modelldatei. |
colormap | int | cv2.COLORMAP_JET | Zu verwendende Colormap für die Heatmap. |
show_in | bool | True | Flag zur Steuerung, ob die In-Zählungen im Videostream angezeigt werden sollen. |
show_out | bool | True | Flag zur Steuerung, ob die Out-Zählungen im Videostream angezeigt werden sollen. |
region | list | '[(20, 400), (1260, 400)]' | Liste der Punkte, die den Zählbereich definieren. |
Sie können auch verschiedene track Argumente in der Heatmap Lösung.
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Gibt den zu verwendenden Tracking-Algorithmus an, z. B. bytetrack.yaml oder botsort.yaml. |
conf | float | 0.1 | Legt den Konfidenzschwellenwert für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch falsch positive Ergebnisse liefern. |
iou | float | 0.7 | Legt den Intersection over Union (IoU)-Schwellenwert für das Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und bietet 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 es Benutzern, zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung zu wählen. |
Zusätzlich sind die unterstützten Visualisierungsargumente unten aufgeführt:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn Trueaktiviert, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
line_width | int or None | None | Gibt die Linienbreite der Begrenzungsrahmen an. Wenn None, wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet eine visuelle Anpassung für mehr Klarheit. |
show_conf | bool | True | Zeigt den Konfidenzwert für jede Erkennung zusammen mit der Beschriftung an. Gibt Einblick in die Sicherheit des Modells für jede Erkennung. |
show_labels | bool | True | Zeigt Beschriftungen für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte. |
Heatmap-Farbschemata
| Colormap-Name | Beschreibung |
|---|---|
cv::COLORMAP_AUTUMN | Herbstfarben-Karte |
cv::COLORMAP_BONE | Knochen-Farbzuordnung |
cv::COLORMAP_JET | Jet-Farbkarte |
cv::COLORMAP_WINTER | Winter-Farbkarte |
cv::COLORMAP_RAINBOW | Rainbow-Farbkarte |
cv::COLORMAP_OCEAN | Ozean-Farbkarte |
cv::COLORMAP_SUMMER | Sommerfarbkarte |
cv::COLORMAP_SPRING | Spring-Farbtabelle |
cv::COLORMAP_COOL | Coole Farbkarte |
cv::COLORMAP_HSV | HSV-Farbkarte (Farbton, Sättigung, Wert) |
cv::COLORMAP_PINK | Pinke Farbkarte |
cv::COLORMAP_HOT | Hot-Farbkarte |
cv::COLORMAP_PARULA | Parula-Farbkarte |
cv::COLORMAP_MAGMA | Magma-Farbkarte |
cv::COLORMAP_INFERNO | Inferno-Farbkarte |
cv::COLORMAP_PLASMA | Plasma-Farbzuordnung |
cv::COLORMAP_VIRIDIS | Viridis-Farbkarte |
cv::COLORMAP_CIVIDIS | Cividis-Farbkarte |
cv::COLORMAP_TWILIGHT | Twilight-Farbkarte |
cv::COLORMAP_TWILIGHT_SHIFTED | Verschobene Twilight-Farbpalette |
cv::COLORMAP_TURBO | Turbo-Farbkarte |
cv::COLORMAP_DEEPGREEN | Deep Green Farbschema |
Diese Farbschemata werden häufig zur Visualisierung von Daten mit unterschiedlichen Farbdarstellungen verwendet.
Wie Heatmaps in Ultralytics YOLO26 funktionieren
Die Heatmap-Lösung in Ultralytics YOLO26 erweitert die ObjectCounter-Klasse, um Bewegungsmuster in Videostreams zu generieren und zu visualisieren. Bei der Initialisierung erstellt die Lösung eine leere Heatmap-Ebene, die aktualisiert wird, wenn sich Objekte durch den Frame bewegen.
Für jedes erkannte Objekt bietet die Lösung:
- Verfolgt das Objekt über Frames hinweg mithilfe der tracking-Funktionen von YOLO26
- Aktualisiert die Heatmap-Intensität am Ort des Objekts
- Wendet eine ausgewählte Farbpalette an, um die Intensitätswerte zu visualisieren
- Überlagert die farbige Heatmap auf dem Originalbild
Das Ergebnis ist eine dynamische Visualisierung, die sich im Laufe der Zeit aufbaut und Verkehrsmuster, Menschenmengenbewegungen oder andere räumliche Verhaltensweisen in Ihren Videodaten aufzeigt.
FAQ
Wie generiert Ultralytics YOLO26 Heatmaps und welche Vorteile bieten sie?
Ultralytics YOLO26 generiert Heatmaps, indem es komplexe Daten in eine farbcodierte Matrix umwandelt, in der verschiedene Farbtöne Datenintensitäten 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 repräsentieren. Die Hauptvorteile umfassen eine intuitive Visualisierung der Datenverteilung, eine effiziente Mustererkennung und eine verbesserte räumliche Analyse für die Entscheidungsfindung. Weitere Details und Konfigurationsoptionen finden Sie im Abschnitt Heatmap-Konfiguration.
Kann ich Ultralytics YOLO26 verwenden, um Objekt-Tracking durchzuführen und gleichzeitig eine Heatmap zu generieren?
Ja, Ultralytics YOLO26 unterstützt gleichzeitig Objekt-tracking und Heatmap-Generierung. Dies kann durch seine Heatmap Lösung, die in Objekt-tracking-Modelle integriert ist. Dazu müssen Sie das Heatmap-Objekt initialisieren und die tracking-Funktionen von YOLO26 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="yolo26n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
Weitere Anleitungen finden Sie auf der Seite Tracking-Modus.
Was unterscheidet Ultralytics YOLO26 Heatmaps von anderen Datenvisualisierungstools wie denen von OpenCV oder Matplotlib?
Ultralytics YOLO26 Heatmaps sind speziell für die Integration mit seinen object detection- und tracking-Modellen konzipiert und bieten eine End-to-End-Lösung für die Echtzeit-Datenanalyse. Im Gegensatz zu generischen Visualisierungstools wie OpenCV oder Matplotlib sind YOLO26 Heatmaps auf Leistung und automatisierte Verarbeitung optimiert und unterstützen Funktionen wie persistentes tracking, Anpassung des Zerfallsfaktors und Echtzeit-Video-Overlay. Weitere Informationen zu den einzigartigen Funktionen von YOLO26 finden Sie in der Ultralytics YOLO26 Einführung.
Wie kann ich mithilfe von Ultralytics YOLO26 nur bestimmte Objektklassen in Heatmaps visualisieren?
Sie können bestimmte Objektklassen visualisieren, indem Sie die gewünschten Klassen in der folgenden Methode angeben: track() Methode des YOLO-Modells. Wenn Sie beispielsweise nur Autos und Personen visualisieren möchten (unter der Annahme, dass ihre Klassenindizes 0 und 2 sind), können Sie die classes Parameter entsprechend an.
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()
Warum sollten Unternehmen Ultralytics YOLO26 für die Heatmap-Generierung in der Datenanalyse wählen?
Ultralytics YOLO26 bietet eine nahtlose Integration von fortschrittlicher object detection und Echtzeit-Heatmap-Generierung, was es zu einer idealen Wahl für Unternehmen macht, die Daten effektiver visualisieren möchten. Die Hauptvorteile umfassen eine intuitive Visualisierung der Datenverteilung, eine effiziente Mustererkennung und eine verbesserte räumliche Analyse für eine bessere Entscheidungsfindung. Darüber hinaus machen YOLO26s innovative Funktionen wie persistentes tracking, anpassbare Farbkarten und die Unterstützung verschiedener Exportformate es anderen Tools wie TensorFlow und OpenCV für eine umfassende Datenanalyse überlegen. Erfahren Sie mehr über Geschäftsanwendungen unter Ultralytics Pläne.

