Zum Inhalt springen

Ultralytics-Lösungen: Nutzen Sie YOLO11, um reale Probleme zu lösen

Ultralytics Lösungen bieten innovative Anwendungen von YOLO-Modellen und liefern reale Lösungen wie Objektzählung, Unschärfeeffekte und Sicherheitssysteme, wodurch die Effizienz und Genauigkeit in verschiedenen Branchen gesteigert werden. Entdecken Sie die Leistungsfähigkeit von YOLO11 für praktische, wirkungsvolle Implementierungen.

Ultralytics-Lösungen – Miniaturansicht



Ansehen: So führen Sie Ultralytics-Lösungen über die Befehlszeile (CLI) aus | Ultralytics YOLO11 🚀

Lösungen

Hier ist unsere kuratierte Liste von Ultralytics-Lösungen, die zur Erstellung beeindruckender Computer Vision-Projekte verwendet werden können.

  • Objektzählung: Lernen Sie, wie Sie mit YOLO11 eine Echtzeit-Objektzählung durchführen. Erwerben Sie das Fachwissen, um Objekte in Live-Video-Streams genau zu zählen.
  • Objektbeschneidung: Meistern Sie die Objektbeschneidung mit YOLO11 für die präzise Extraktion von Objekten aus Bildern und Videos.
  • Objektverschleierung: Wenden Sie die Objektverschleierung mit YOLO11 an, um die Privatsphäre bei der Bild- und Videoverarbeitung zu schützen.
  • Workouts Monitoring: Entdecken Sie, wie Sie Workouts mit YOLO11 überwachen können. Lernen Sie, verschiedene Fitnessroutinen in Echtzeit zu verfolgen und zu analysieren.
  • Objektzählung in Regionen: Zählen Sie Objekte in bestimmten Regionen mit YOLO11, um eine genaue Erkennung in verschiedenen Bereichen zu gewährleisten.
  • Sicherheitsalarmanlage: Erstellen Sie mit YOLO11 eine Sicherheitsalarmanlage, die bei Erkennung neuer Objekte Alarme auslöst. Passen Sie das System an Ihre spezifischen Bedürfnisse an.
  • Heatmaps: Nutzen Sie Erkennungs-Heatmaps, um die Datenintensität über eine Matrix zu visualisieren und so klare Einblicke in Computer-Vision-Aufgaben zu erhalten.
  • Instanzsegmentierung mit Objektverfolgung: Implementieren Sie Instanzsegmentierung und Objektverfolgung mit YOLO11, um präzise Objektgrenzen und eine kontinuierliche Überwachung zu erreichen.
  • VisionEye View Objects Mapping: Entwickeln Sie Systeme, die den Fokus des menschlichen Auges auf bestimmte Objekte nachahmen und die Fähigkeit des Computers verbessern, Details zu erkennen und zu priorisieren.
  • Geschwindigkeitsschätzung: Schätzen Sie die Objektgeschwindigkeit mithilfe von YOLO11 und Objektverfolgungstechniken, die für Anwendungen wie autonome Fahrzeuge und Verkehrsüberwachung entscheidend sind.
  • Distanzberechnung: Berechnen Sie die Distanzen zwischen Objekten mithilfe von Bounding-Box-Zentroiden in YOLO11, was für die räumliche Analyse unerlässlich ist.
  • Warteschlangenmanagement: Implementieren Sie effiziente Warteschlangenmanagementsysteme, um Wartezeiten zu minimieren und die Produktivität mit YOLO11 zu verbessern.
  • Parkraummanagement: Organisieren und lenken Sie den Fahrzeugfluss auf Parkplätzen mit YOLO11, optimieren Sie die Raumnutzung und verbessern Sie die Benutzererfahrung.
  • Analytik: Führen Sie umfassende Datenanalysen durch, um Muster zu erkennen und fundierte Entscheidungen zu treffen, indem Sie YOLO11 für deskriptive, prädiktive und präskriptive Analysen nutzen.
  • Live-Inferenz mit Streamlit: Nutzen Sie die Leistungsfähigkeit von YOLO11 für die Echtzeit-Objekterkennung direkt über Ihren Webbrowser mit einer benutzerfreundlichen Streamlit-Oberfläche.
  • Objekte in Zone verfolgen: Erfahren Sie, wie Sie Objekte innerhalb bestimmter Zonen von Videobildern mithilfe von YOLO11 verfolgen können, um eine präzise und effiziente Überwachung zu gewährleisten.
  • Ähnlichkeitssuche 🚀 NEU: Ermöglichen Sie die intelligente Bildabfrage durch die Kombination von OpenAI CLIP-Einbettungen mit Meta FAISS, die natürliche Sprachabfragen wie "Person mit einer Tasche" oder "Fahrzeuge in Bewegung" ermöglichen.

Lösungsargumente

Argument Typ Standard Beschreibung
model str None Pfad zur Ultralytics YOLO Modelldatei.
region list '[(20, 400), (1260, 400)]' Liste der Punkte, die den Zählbereich definieren.
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.
analytics_type str line Art des Graphen, d.h. line, bar, area, oder pie.
colormap int cv2.COLORMAP_JET Zu verwendende Colormap für die Heatmap.
json_file str None Pfad zur JSON-Datei, die alle Parkkoordinatendaten enthält.
up_angle float 145.0 Winkelgrenzwert für die 'Aufwärts'-Pose.
kpts list[int, int, int] '[6, 8, 10]' Liste der Schlüsselpunkte, die zur Überwachung von Trainingseinheiten verwendet werden. Diese Schlüsselpunkte entsprechen Körpergelenken oder -teilen, wie z. B. Schultern, Ellbogen und Handgelenken, für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining.
down_angle float 90.0 Winkelgrenzwert für die 'Abwärts'-Pose.
blur_ratio float 0.5 Passt den Prozentsatz der Unschärfeintensität an, mit Werten im Bereich 0.1 - 1.0.
crop_dir str 'cropped-detections' Verzeichnisname zum Speichern zugeschnittener Erkennungen.
records int 5 Gesamtzahl der Erkennungen, um eine E-Mail mit einem Sicherheitsalarmsystem auszulösen.
vision_point tuple[int, int] (20, 20) Der Punkt, an dem Vision Objekte verfolgt und Pfade mithilfe der VisionEye-Lösung zeichnet.
source str None Pfad zur Eingangsquelle (Video, RTSP usw.). Nur mit der Solutions-Befehlszeilenschnittstelle (CLI) verwendbar.
figsize tuple[int, int] (12.8, 7.2) Figurengröße für Analyse-Diagramme wie Heatmaps oder Graphen.
fps float 30.0 Frames pro Sekunde, die für Geschwindigkeitsberechnungen verwendet werden.
max_hist int 5 Maximale Anzahl historischer Punkte, die pro Objekt für Geschwindigkeits-/Richtungsberechnungen verfolgt werden sollen.
meter_per_pixel float 0.05 Skalierungsfaktor, der für die Umwandlung von Pixelabständen in reale Einheiten verwendet wird.
max_speed int 120 Maximale Geschwindigkeitsbegrenzung in visuellen Overlays (wird in Warnmeldungen verwendet).
data str 'images' Pfad zum Bildverzeichnis, das für die Ähnlichkeitssuche verwendet wird.

Track-Argumente

Lösungen unterstützen auch einige der Argumente von track, einschließlich Parametern wie conf, line_width, tracker, model, show, verbose und classes.

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.3 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.5 Legt den Intersection over Union (IoU)-Schwellenwert zum Filtern überlappender Erkennungen 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.

Visualisierungsargumente

Sie können show_conf, show_labels, sowie andere erwähnte Argumente zur Anpassung der Visualisierung.

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 None or int 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.

Nutzung von SolutionAnnotator

Alle Ultralytics Solutions verwenden die separate Klasse SolutionAnnotator, das die Hauptfunktion erweitert Annotator Klasse und haben die folgenden Methoden:

Methode Rückgabetyp Beschreibung
draw_region() None Zeichnet eine Region unter Verwendung der angegebenen Punkte, Farben und Dicke.
queue_counts_display() None Zeigt die Anzahl der Warteschlangen in der angegebenen Region an.
display_analytics() None Zeigt Gesamtstatistiken für die Parkplatzverwaltung an.
estimate_pose_angle() float Berechnet den Winkel zwischen drei Punkten in einer Objektpose.
draw_specific_points() None Zeichnet bestimmte Keypoints auf dem Bild.
plot_workout_information() None Zeichnet ein beschriftetes Textfeld auf dem Bild.
plot_angle_and_count_and_stage() None Visualisiert Winkel, Schrittzahl und Phase für die Trainingsüberwachung.
plot_distance_and_line() None Zeigt die Distanz zwischen Schwerpunkten an und verbindet sie mit einer Linie.
display_objects_labels() None Kommentiert Begrenzungsrahmen mit Objektklassenbezeichnungen.
sweep_annotator() None Visualisieren Sie eine vertikale Sweep-Linie und eine optionale Beschriftung.
visioneye() None Ordnet Objektzentroiden zu einem visuellen „Augen“-Punkt zu und verbindet diese.
adaptive_label() None Zeichnen Sie eine kreisförmige oder rechteckige Hintergrundform-Beschriftung in der Mitte eines Begrenzungsrahmens.

Arbeiten mit SolutionResults

Außer Similarity Search, jeder Solution-Aufruf gibt eine Liste von Elementen zurück SolutionResults Objekt.

  • Für die Objektzählung beinhalten die Ergebnisse in_count, out_countund classwise_count.

SolutionResults

import cv2

from ultralytics import solutions

im0 = cv2.imread("path/to/img")

region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]

counter = solutions.ObjectCounter(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo11n.pt",  # model="yolo11n-obb.pt" for object counting with OBB model.
    # classes=[0, 2],  # count specific classes i.e. person and car with COCO pretrained model.
    # tracker="botsort.yaml"  # Choose trackers i.e "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count)  # display in_counts
print(results.out_count)  # display out_counts
print(results.classwise_count)  # display classwise_count

SolutionResults Objekte haben die folgenden Attribute:

Attribut Typ Beschreibung
plot_im np.ndarray Bild mit visuellen Überlagerungen wie Zählungen, Unschärfeeffekten oder lösungsspezifischen Verbesserungen.
in_count int Gesamtanzahl der erkannten Objekte, die in den definierten Bereich im Videostream eintreten.
out_count int Gesamtanzahl der erkannten Objekte, die den definierten Bereich im Videostream verlassen.
classwise_count Dict[str, int] Wörterbuch zur Erfassung von klassenweisen In/Out-Objektzählungen für erweiterte Analysen.
queue_count int Anzahl der Objekte, die sich aktuell in einer vordefinierten Warteschlange oder einem Wartebereich befinden (geeignet für das Warteschlangenmanagement).
workout_count int Gesamtzahl der Trainingswiederholungen, die während der Trainingsverfolgung abgeschlossen wurden.
workout_angle float Berechneter Gelenk- oder Haltungswinkel während des Trainings zur Beurteilung der Form.
workout_stage str Aktuelle Trainingsphase oder Bewegungsphase (z. B. 'oben', 'unten').
pixels_distance float Pixelbasierte Distanz zwischen zwei Objekten oder Punkten, z. B. Begrenzungsrahmen. (Geeignet für Distanzberechnungen).
available_slots int Anzahl der freien Stellplätze in einem überwachten Bereich (geeignet für das Parkraummanagement).
filled_slots int Anzahl der belegten Stellplätze in einem überwachten Bereich (geeignet für das Parkraummanagement).
email_sent bool Gibt an, ob eine Benachrichtigungs- oder Alarm-E-Mail erfolgreich gesendet wurde (geeignet für Sicherheitsalarme).
total_tracks int Gesamtanzahl der eindeutigen Objektverfolgungen, die während der Videoanalyse beobachtet wurden.
region_counts Dict[str, int] Objektzählungen innerhalb benutzerdefinierter Regionen oder Zonen.
speed_dict Dict[str, float] Tracker-weises Dictionary der berechneten Objektgeschwindigkeiten, nützlich für Geschwindigkeitsanalysen.
total_crop_objects int Gesamtanzahl der von der ObjectCropper-Lösung generierten zugeschnittenen Objektbilder.
speed Dict[str, float] Wörterbuch mit Leistungskennzahlen für die Verfolgung und Lösungsverarbeitung.

Weitere Details finden Sie im SolutionResults Klassendokumentation.

Lösungsnutzung über die CLI

Befehl Info

Die meisten Lösungen können direkt über die Befehlszeilenschnittstelle verwendet werden, einschließlich:

Count, Crop, Blur, Workout, Heatmap, Isegment, Visioneye, Speed, Queue, Analytics, Inference

Syntax

yolo SOLUTIONS SOLUTION_NAME ARGS
  • SOLUTIONS ist ein erforderliches Schlüsselwort.
  • SOLUTION_NAME ist eines von: ['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye'].
  • ARGS (optional) sind benutzerdefiniert arg=value Paare, wie z.B. show_in=True, um Standardeinstellungen zu überschreiben.
yolo solutions count show=True # for object counting

yolo solutions source="path/to/video.mp4" # specify video file path

Beitrag zu unseren Lösungen

Wir freuen uns über Beiträge aus der Community! Wenn Sie einen bestimmten Aspekt von Ultralytics YOLO beherrschen, der in unseren Lösungen noch nicht behandelt wird, laden wir Sie ein, Ihr Fachwissen zu teilen. Das Verfassen eines Leitfadens ist eine großartige Möglichkeit, der Community etwas zurückzugeben und uns zu helfen, unsere Dokumentation umfassender und benutzerfreundlicher zu gestalten.

Lesen Sie zunächst unseren Leitfaden für Mitwirkende für Richtlinien zum Eröffnen eines Pull Requests (PR) 🛠️. Wir freuen uns auf Ihre Beiträge!

Lassen Sie uns zusammenarbeiten, um das Ultralytics YOLO-Ökosystem robuster und vielseitiger zu machen 🙏!

FAQ

Wie kann ich Ultralytics YOLO für die Echtzeit-Objektzählung verwenden?

Ultralytics YOLO11 kann für die Echtzeit-Objektzählung verwendet werden, indem seine fortschrittlichen Objekterkennungsfunktionen genutzt werden. Sie können unserem detaillierten Leitfaden zur Objektzählung folgen, um YOLO11 für die Live-Video-Stream-Analyse einzurichten. Installieren Sie einfach YOLO11, laden Sie Ihr Modell und verarbeiten Sie Videobilder, um Objekte dynamisch zu zählen.

Welche Vorteile bietet die Verwendung von Ultralytics YOLO für Sicherheitssysteme?

Ultralytics YOLO11 verbessert Sicherheitssysteme durch Echtzeit-Objekterkennung und Alarmmechanismen. Durch den Einsatz von YOLO11 können Sie ein Sicherheitsalarmsystem erstellen, das Alarme auslöst, wenn neue Objekte im Überwachungsbereich erkannt werden. Erfahren Sie, wie Sie ein Sicherheitsalarmsystem mit YOLO11 für eine robuste Sicherheitsüberwachung einrichten.

Wie kann Ultralytics YOLO Warteschlangenmanagementsysteme verbessern?

Ultralytics YOLO11 kann Warteschlangenmanagementsysteme erheblich verbessern, indem es Personen in Warteschlangen präzise zählt und verfolgt, wodurch Wartezeiten reduziert und die Serviceeffizienz optimiert werden kann. Folgen Sie unserem ausführlichen Leitfaden zum Warteschlangenmanagement, um zu erfahren, wie Sie YOLO11 für eine effektive Warteschlangenüberwachung und -analyse implementieren können.

Kann Ultralytics YOLO für die Trainingsüberwachung verwendet werden?

Ja, Ultralytics YOLO11 kann effektiv zur Überwachung von Workouts eingesetzt werden, indem es Fitnessroutinen in Echtzeit verfolgt und analysiert. Dies ermöglicht eine präzise Bewertung der Übungsform und -leistung. Entdecken Sie unseren Leitfaden zur Workout-Überwachung, um zu erfahren, wie Sie ein KI-gestütztes Workout-Überwachungssystem mit YOLO11 einrichten können.

Wie hilft Ultralytics YOLO bei der Erstellung von Heatmaps für die Datenvisualisierung?

Ultralytics YOLO11 kann Heatmaps generieren, um die Datenintensität in einem bestimmten Bereich zu visualisieren und Regionen mit hoher Aktivität oder von Interesse hervorzuheben. Diese Funktion ist besonders nützlich, um Muster und Trends in verschiedenen Computer-Vision-Aufgaben zu verstehen. Erfahren Sie mehr über das Erstellen und Verwenden von Heatmaps mit YOLO11 für eine umfassende Datenanalyse und -visualisierung.



📅 Vor 1 Jahr erstellt ✏️ Vor 1 Monat aktualisiert

Kommentare