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.
![]()
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.
- 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.
- Distanzberechnung: Berechnen Sie die Distanzen zwischen Objekten mithilfe von Bounding-Box-Zentroiden in YOLO11, was für die räumliche Analyse unerlässlich ist.
- 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.
- 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.
- Objektverschleierung: Wenden Sie die Objektverschleierung mit YOLO11 an, um die Privatsphäre bei der Bild- und Videoverarbeitung zu schützen.
- 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.
- Object Counting in Regions: Zählen Sie Objekte in bestimmten Regionen mit YOLO11 für eine genaue Erkennung in verschiedenen Bereichen.
- Objektbeschneidung: Meistern Sie die Objektbeschneidung mit YOLO11 für die präzise Extraktion von Objekten aus Bildern und Videos.
- Parkraummanagement: Organisieren und lenken Sie den Fahrzeugfluss auf Parkplätzen mit YOLO11, optimieren Sie die Raumnutzung und verbessern Sie die Benutzererfahrung.
- Warteschlangenmanagement: Implementieren Sie effiziente Warteschlangenmanagementsysteme, um Wartezeiten zu minimieren und die Produktivität mit YOLO11 zu verbessern.
- 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.
- Ähnlichkeitssuche: Ermöglichen Sie eine intelligente Bildsuche, indem Sie OpenAI CLIP -Einbettungen mit Meta FAISS kombinieren, wodurch Suchanfragen in natürlicher Sprache wie „Person mit einer Tasche“ oder „Fahrzeuge in Bewegung“ möglich werden.
- Geschwindigkeitsschätzung: Schätzen Sie die Objektgeschwindigkeit mithilfe von YOLO11 und Objektverfolgungstechniken, die für Anwendungen wie autonome Fahrzeuge und Verkehrsüberwachung entscheidend sind.
- Track Objects in Zone: Erfahren Sie, wie Sie Objekte in bestimmten Zonen von Videobildern mit YOLO11 verfolgen können, um eine präzise und effiziente Überwachung zu gewährleisten.
- 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.
- Workouts Monitoring: Entdecken Sie, wie Sie Workouts mit YOLO11 überwachen können. Lernen Sie, verschiedene Fitnessroutinen in Echtzeit zu verfolgen und zu analysieren.
Lösungsargumente
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics YOLO . |
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 die VisionEye-Lösung Objekte track und Pfade 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 | Maximal zu track historische Punkte pro Objekt für Geschwindigkeits-/Richtungsberechnungen. |
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 Schwellenwert für die Überschneidung über die VereinigungIoU) fest, um überlappende Erkennungen zu filtern. |
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_countundclasswise_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=valuePaare, 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.