Zum Inhalt springen

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
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.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 15 Tagen

Kommentare