Zum Inhalt springen

Fortschrittliche Datenvisualisierung: Heatmaps mit Ultralytics YOLO26 🚀

Einführung in Heatmaps

Open Heatmaps In Colab

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

TransportEinzelhandel
Ultralytics YOLO26 Verkehrs-HeatmapUltralytics YOLO26 Einzelhandels-Heatmap
Ultralytics YOLO26 Verkehrs-HeatmapUltralytics 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:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO Modelldatei.
colormapintcv2.COLORMAP_JETZu verwendende Colormap für die Heatmap.
show_inboolTrueFlag zur Steuerung, ob die In-Zählungen im Videostream angezeigt werden sollen.
show_outboolTrueFlag zur Steuerung, ob die Out-Zählungen im Videostream angezeigt werden sollen.
regionlist'[(20, 400), (1260, 400)]'Liste der Punkte, die den Zählbereich definieren.

Sie können auch verschiedene track Argumente in der Heatmap Lösung.

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Gibt den zu verwendenden Tracking-Algorithmus an, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.1Legt den Konfidenzschwellenwert für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch falsch positive Ergebnisse liefern.
ioufloat0.7Legt den Intersection over Union (IoU)-Schwellenwert für das Filtern überlappender Detektionen fest.
classeslistNoneFiltert Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verboseboolTrueSteuert die Anzeige der Tracking-Ergebnisse und bietet eine visuelle Ausgabe der verfolgten Objekte.
devicestrNoneGibt 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:

ArgumentTypStandardBeschreibung
showboolFalseWenn 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_widthint or NoneNoneGibt 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_confboolTrueZeigt den Konfidenzwert für jede Erkennung zusammen mit der Beschriftung an. Gibt Einblick in die Sicherheit des Modells für jede Erkennung.
show_labelsboolTrueZeigt Beschriftungen für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte.

Heatmap-Farbschemata

Colormap-NameBeschreibung
cv::COLORMAP_AUTUMNHerbstfarben-Karte
cv::COLORMAP_BONEKnochen-Farbzuordnung
cv::COLORMAP_JETJet-Farbkarte
cv::COLORMAP_WINTERWinter-Farbkarte
cv::COLORMAP_RAINBOWRainbow-Farbkarte
cv::COLORMAP_OCEANOzean-Farbkarte
cv::COLORMAP_SUMMERSommerfarbkarte
cv::COLORMAP_SPRINGSpring-Farbtabelle
cv::COLORMAP_COOLCoole Farbkarte
cv::COLORMAP_HSVHSV-Farbkarte (Farbton, Sättigung, Wert)
cv::COLORMAP_PINKPinke Farbkarte
cv::COLORMAP_HOTHot-Farbkarte
cv::COLORMAP_PARULAParula-Farbkarte
cv::COLORMAP_MAGMAMagma-Farbkarte
cv::COLORMAP_INFERNOInferno-Farbkarte
cv::COLORMAP_PLASMAPlasma-Farbzuordnung
cv::COLORMAP_VIRIDISViridis-Farbkarte
cv::COLORMAP_CIVIDISCividis-Farbkarte
cv::COLORMAP_TWILIGHTTwilight-Farbkarte
cv::COLORMAP_TWILIGHT_SHIFTEDVerschobene Twilight-Farbpalette
cv::COLORMAP_TURBOTurbo-Farbkarte
cv::COLORMAP_DEEPGREENDeep 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:

  1. Verfolgt das Objekt über Frames hinweg mithilfe der tracking-Funktionen von YOLO26
  2. Aktualisiert die Heatmap-Intensität am Ort des Objekts
  3. Wendet eine ausgewählte Farbpalette an, um die Intensitätswerte zu visualisieren
  4. Ü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.



📅 Erstellt vor 2 Jahren ✏️ Aktualisiert vor 2 Tagen
glenn-jocherRizwanMunawarRizwanMunawarMatthewNoycepderrengerUltralyticsAssistantIvorZhu331AyushExelYOLOv5-Magic

Kommentare