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.
  • Zählen von Objekten in Regionen: Zählen Sie Objekte in bestimmten Regionen mit YOLO11 für eine genaue Erkennung in verschiedenen Bereichen.
  • 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

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO .
regionlist'[(20, 400), (1260, 400)]'Liste der Punkte, die den Zählbereich definieren.
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.
analytics_typestrlineArt des Graphen, d.h. line, bar, area, oder pie.
colormapintcv2.COLORMAP_JETZu verwendende Colormap für die Heatmap.
json_filestrNonePfad zur JSON-Datei, die alle Parkkoordinatendaten enthält.
up_anglefloat145.0Winkelgrenzwert für die 'Aufwärts'-Pose.
kptslist[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_anglefloat90.0Winkelgrenzwert für die 'Abwärts'-Pose.
blur_ratiofloat0.5Passt den Prozentsatz der Unschärfeintensität an, mit Werten im Bereich 0.1 - 1.0.
crop_dirstr'cropped-detections'Verzeichnisname zum Speichern zugeschnittener Erkennungen.
recordsint5Gesamtzahl der Erkennungen, um eine E-Mail mit einem Sicherheitsalarmsystem auszulösen.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem Vision Objekte verfolgt und Pfade mithilfe der VisionEye-Lösung zeichnet.
sourcestrNonePfad zur Eingangsquelle (Video, RTSP usw.). Nur mit der Solutions-Befehlszeilenschnittstelle (CLI) verwendbar.
figsizetuple[int, int](12.8, 7.2)Figurengröße für Analyse-Diagramme wie Heatmaps oder Graphen.
fpsfloat30.0Frames pro Sekunde, die für Geschwindigkeitsberechnungen verwendet werden.
max_histint5Maximale Anzahl historischer Punkte, die pro Objekt für Geschwindigkeits-/Richtungsberechnungen verfolgt werden sollen.
meter_per_pixelfloat0.05Skalierungsfaktor, der für die Umwandlung von Pixelabständen in reale Einheiten verwendet wird.
max_speedint120Maximale Geschwindigkeitsbegrenzung in visuellen Overlays (wird in Warnmeldungen verwendet).
datastr'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.

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Gibt den zu verwendenden Tracking-Algorithmus an, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.3Legt den Konfidenzschwellenwert für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch falsch positive Ergebnisse liefern.
ioufloat0.5Legt den Intersection over Union (IoU)-Schwellenwert zum Filtern überlappender Erkennungen 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.

Visualisierungsargumente

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

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_widthNone or intNoneGibt 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.

Nutzung von SolutionAnnotator

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

MethodeRückgabetypBeschreibung
draw_region()NoneZeichnet eine Region unter Verwendung der angegebenen Punkte, Farben und Dicke.
queue_counts_display()NoneZeigt die Anzahl der Warteschlangen in der angegebenen Region an.
display_analytics()NoneZeigt Gesamtstatistiken für die Parkplatzverwaltung an.
estimate_pose_angle()floatBerechnet den Winkel zwischen drei Punkten in einer Objektpose.
draw_specific_points()NoneZeichnet bestimmte Keypoints auf dem Bild.
plot_workout_information()NoneZeichnet ein beschriftetes Textfeld auf dem Bild.
plot_angle_and_count_and_stage()NoneVisualisiert Winkel, Schrittzahl und Phase für die Trainingsüberwachung.
plot_distance_and_line()NoneZeigt die Distanz zwischen Schwerpunkten an und verbindet sie mit einer Linie.
display_objects_labels()NoneKommentiert Begrenzungsrahmen mit Objektklassenbezeichnungen.
sweep_annotator()NoneVisualisieren Sie eine vertikale Sweep-Linie und eine optionale Beschriftung.
visioneye()NoneOrdnet Objektzentroiden zu einem visuellen „Augen“-Punkt zu und verbindet diese.
adaptive_label()NoneZeichnen 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:

AttributTypBeschreibung
plot_imnp.ndarrayBild mit visuellen Überlagerungen wie Zählungen, Unschärfeeffekten oder lösungsspezifischen Verbesserungen.
in_countintGesamtanzahl der erkannten Objekte, die in den definierten Bereich im Videostream eintreten.
out_countintGesamtanzahl der erkannten Objekte, die den definierten Bereich im Videostream verlassen.
classwise_countDict[str, int]Wörterbuch zur Erfassung von klassenweisen In/Out-Objektzählungen für erweiterte Analysen.
queue_countintAnzahl der Objekte, die sich aktuell in einer vordefinierten Warteschlange oder einem Wartebereich befinden (geeignet für das Warteschlangenmanagement).
workout_countintGesamtzahl der Trainingswiederholungen, die während der Trainingsverfolgung abgeschlossen wurden.
workout_anglefloatBerechneter Gelenk- oder Haltungswinkel während des Trainings zur Beurteilung der Form.
workout_stagestrAktuelle Trainingsphase oder Bewegungsphase (z. B. 'oben', 'unten').
pixels_distancefloatPixelbasierte Distanz zwischen zwei Objekten oder Punkten, z. B. Begrenzungsrahmen. (Geeignet für Distanzberechnungen).
available_slotsintAnzahl der freien Stellplätze in einem überwachten Bereich (geeignet für das Parkraummanagement).
filled_slotsintAnzahl der belegten Stellplätze in einem überwachten Bereich (geeignet für das Parkraummanagement).
email_sentboolGibt an, ob eine Benachrichtigungs- oder Alarm-E-Mail erfolgreich gesendet wurde (geeignet für Sicherheitsalarme).
total_tracksintGesamtanzahl der eindeutigen Objektverfolgungen, die während der Videoanalyse beobachtet wurden.
region_countsDict[str, int]Objektzählungen innerhalb benutzerdefinierter Regionen oder Zonen.
speed_dictDict[str, float]Tracker-weises Dictionary der berechneten Objektgeschwindigkeiten, nützlich für Geschwindigkeitsanalysen.
total_crop_objectsintGesamtanzahl der von der ObjectCropper-Lösung generierten zugeschnittenen Objektbilder.
speedDict[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 count 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.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 3 Tagen
RizwanMunawarglenn-jocherLaughing-qUltralyticsAssistant

Kommentare