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.
- 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 True aktiviert, 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_count
undclasswise_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.