Ultralytics YOLO27:

Ultralytics-Lösungen: Nutze YOLO26, um Probleme aus der Praxis zu lösen#

Ultralytics-Lösungen bieten modernste Anwendungen von YOLO-Modellen und liefern praxisnahe Lösungen wie Objektzählung, Unkenntlichmachung und Sicherheitssysteme, die Effizienz und Genauigkeit in verschiedensten Branchen steigern. Entdecke die Leistungsfähigkeit von YOLO26 für praktische und wirkungsvolle Implementierungen.

Vorschaubild der Ultralytics-Lösungen



Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀

Lösungen#

Hier findest du unsere kuratierte Liste von Ultralytics-Lösungen, mit denen du großartige Computer-Vision-Projekte erstellen kannst.

  • Analysen: Führe umfassende Datenanalysen durch, um Muster zu erkennen und fundierte Entscheidungen zu treffen, und nutze YOLO26 für deskriptive, prädiktive und präskriptive Analysen.
  • Entfernungsberechnung: Berechne Entfernungen zwischen Objekten mithilfe der Zentren ihrer Bounding Boxes in YOLO26 – unverzichtbar für räumliche Analysen.
  • Heatmaps: Nutze Erkennungs-Heatmaps, um die Datenintensität über eine Matrix hinweg zu visualisieren und klare Einblicke in Computer-Vision-Aufgaben zu erhalten.
  • Instanzsegmentierung mit Objektverfolgung: Implementiere Instanzsegmentierung und Objektverfolgung mit YOLO26, um präzise Objektgrenzen und eine kontinuierliche Überwachung zu erreichen.
  • Live-Inferenz mit Streamlit: Nutze die Leistungsfähigkeit von YOLO26 für die Echtzeit-Objekterkennung direkt in deinem Webbrowser über eine benutzerfreundliche Streamlit-Oberfläche.
  • Objektverpixelung: Wende mit YOLO26 eine Objektverpixelung an, um die Privatsphäre bei der Bild- und Videoverarbeitung zu schützen.
  • Objektzählung: Lerne, mit YOLO26 Objekte in Echtzeit zu zählen. Entwickle die Fähigkeit, Objekte in Live-Videostreams präzise zu zählen.
  • Objektzählung in Bereichen: Zähle Objekte in bestimmten Bereichen mit YOLO26, um in unterschiedlichen Regionen eine genaue Erkennung zu ermöglichen.
  • Objektausschnitt: Beherrsche das Ausschneiden von Objekten mit YOLO26, um Objekte präzise aus Bildern und Videos zu extrahieren.
  • Parkraummanagement: Organisiere und steuere den Fahrzeugfluss auf Parkflächen mit YOLO26, optimiere die Flächennutzung und verbessere die Nutzererfahrung.
  • Warteschlangenmanagement: Implementiere mit YOLO26 effiziente Systeme zur Verwaltung von Warteschlangen, um Wartezeiten zu minimieren und die Produktivität zu steigern.
  • Sicherheitsalarmsystem: Erstelle mit YOLO26 ein Sicherheitsalarmsystem, das beim Erkennen neuer Objekte Warnungen auslöst. Passe das System an deine spezifischen Anforderungen an.
  • Ähnlichkeitssuche: Ermögliche eine intelligente Bildsuche, indem du OpenAI CLIP-Embeddings mit einer Suche nach Kosinusähnlichkeit kombinierst. So sind natürlichsprachliche Abfragen wie "person holding a bag" oder "vehicles in motion" möglich.
  • Geschwindigkeitsschätzung: Schätze die Geschwindigkeit von Objekten mithilfe von YOLO26 und Objektverfolgungstechniken – entscheidend für Anwendungen wie autonome Fahrzeuge und Verkehrsüberwachung.
  • Objekte in einer Zone verfolgen: Lerne, Objekte innerhalb bestimmter Zonen von Videobildern mit YOLO26 präzise und effizient zu verfolgen.
  • Zuordnung von Objekten aus der VisionEye-Perspektive: Entwickle Systeme, die den menschlichen Blick auf bestimmte Objekte nachahmen und dadurch die Fähigkeit des Computers verbessern, Details zu erkennen und zu priorisieren.
  • Trainingseinheiten überwachen: Entdecke, wie du Trainingseinheiten mit YOLO26 überwachen kannst. Lerne, verschiedene Fitnessübungen in Echtzeit zu verfolgen und zu analysieren.

Argumente der Lösungen#

ArgumentTypStandardwertBeschreibung
modelstrNonePfad zu einer YOLO-Modell-Datei von Ultralytics.
regionlist oder dictNonePunkte zur Definition des Interessenbereichs: entweder eine Liste von (x, y)-Tupeln oder ein Wörterbuch, das Bereichsnamen Punktelisten für mehrere Bereiche zuordnet (nur RegionCounter). Wenn None, greifen Lösungen, die einen Bereich benötigen, auf einen vordefinierten Standardwert zurück.
show_inboolTrueSteuert, ob die Eingangsanzahl im Videostream angezeigt wird.
show_outboolTrueSteuert, ob die Ausgangsanzahl im Videostream angezeigt wird.
analytics_typestr'line'Art des Diagramms, also line, bar, area oder pie.
colormapintcv2.COLORMAP_DEEPGREENFür die Heatmap zu verwendende Farbkarte.
line_widthint2Linienstärke für die von der Lösung gezeichneten Boxen, Keypoints und Zählwerte.
verboseboolTrueAktiviert das Protokoll der Lösung pro Frame mit Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit. Der Tracking-Aufruf selbst bleibt immer ohne Ausgabe.
json_filestrNonePfad zur JSON-Datei mit allen Koordinatendaten der Parkplätze.
up_anglefloat145.0Winkelschwellenwert für die „Aufwärts“-Pose.
kptslist[int]'[6, 8, 10]'Liste mit drei Keypoint-Indizes zur Überwachung von Trainingseinheiten. Diese Keypoints entsprechen Körpergelenken oder -teilen wie Schultern, Ellbogen und Handgelenken für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskelübungen.
down_angleint90Winkelschwellenwert für die „Abwärts“-Pose.
blur_ratiofloat0.5Passt den Prozentsatz der Unschärfeintensität an; mögliche Werte liegen im Bereich 0.1 - 1.0.
crop_dirstr'cropped-detections'Verzeichnisname zum Speichern ausgeschnittener Erkennungen.
recordsint5Gesamtzahl der Erkennungen, ab der eine E-Mail des Sicherheitsalarmsystems ausgelöst wird.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem VisionEye Objekte verfolgt und Pfade zeichnet.
sourcestrNonePfad zur Eingabequelle (Video, RTSP usw.). Nur über die Befehlszeilenschnittstelle (CLI) der Lösungen verwendbar.
figsizetuple[float, float](12.8, 7.2)Abbildungsgröße für Analyse-Diagramme wie Heatmaps oder Graphen.
fpsfloat30.0Für Geschwindigkeitsberechnungen verwendete Bilder pro Sekunde.
max_histint5Maximale Anzahl historischer Punkte, die pro Objekt für Geschwindigkeits- und Richtungsberechnungen verfolgt werden.
meter_per_pixelfloat0.05Skalierungsfaktor zur Umrechnung der Pixeldistanz in reale Einheiten.
max_speedint120Maximale Geschwindigkeitsbegrenzung in visuellen Overlays (für Warnungen verwendet).
datastr'images'Pfad zum Bildverzeichnis für die Ähnlichkeitssuche.
imgszint640Eingabebildgröße für die Modellinferenz.
Tracking-Argumente

Solutions leiten die folgenden Inferenz- und Tracking-Argumente an model.track() weiter.

ArgumentTypStandardwertBeschreibung
trackerstr'botsort.yaml'Gibt den zu verwendenden Tracking-Algorithmus an. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen das Verfolgen weiterer Objekte, können aber Fehlalarme einschließen.
ioufloat0.7Legt den Schwellenwert für Intersection over Union (IoU) zum Filtern überlappender Erkennungen fest.
classeslistNoneFiltert Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneGibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Auswahl zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung.
imgszint or tuple640Ziel-Inferenzbildgröße: eine ganze Zahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formate werden an die Modellschrittweite angepasst.
max_detint300Maximale Anzahl pro Frame beibehaltener Detektionen vor dem Tracking, wodurch die Objekte begrenzt werden, die eine Solution in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzpräzision: 16 (FP16) oder 32/nicht gesetzt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate berechnen mit der Präzision, die ihr Artefakt und ihre Laufzeit auswählen. Ersetzt das veraltete half-Flag.
Visualisierungsargumente

Du kannst show_conf, show_labels und andere genannte Argumente verwenden, um die Visualisierung anzupassen.

ArgumentTypStandardwertBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Dies ist nützlich für unmittelbares visuelles Feedback während der Entwicklung oder des Testens.
show_confboolTrueZeigt neben dem Label den Konfidenzwert für jede Erkennung an. Dadurch erhältst du Einblick in die Sicherheit des Modells bei jeder Erkennung.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Dies ermöglicht ein unmittelbares Verständnis der erkannten Objekte.

Verwendung von SolutionAnnotator#

Alle Ultralytics-Lösungen verwenden die separate Klasse SolutionAnnotator, die die Hauptklasse Annotator erweitert, und verfügen über die folgenden Methoden:

MethodeRückgabetypBeschreibung
draw_region()NoneZeichnet anhand der angegebenen Punkte, Farben und Linienstärken einen Bereich.
queue_counts_display()NoneZeigt die Warteschlangenzahlen im angegebenen Bereich an.
display_analytics()NoneZeigt Gesamtstatistiken für die Parkraumbewirtschaftung an.
estimate_pose_angle()floatBerechnet den Winkel zwischen drei Punkten in einer Objektpose.
draw_specific_kpts()np.ndarrayZeichnet bestimmte Keypoints in das Bild.
plot_workout_information()intZeichnet ein beschriftetes Textfeld in das Bild.
plot_angle_and_count_and_stage()NoneVisualisiert Winkel, Schrittanzahl und Phase zur Überwachung von Trainingseinheiten.
plot_distance_and_line()NoneZeigt die Entfernung zwischen Zentren an und verbindet sie mit einer Linie.
display_objects_labels()NoneAnnotiert Bounding Boxes mit Objektklassen-Labels.
sweep_annotator()NoneVisualisiert eine vertikale Sweep-Linie und optional ein Label.
visioneye()NoneOrdnet Objektzentren einem visuellen „Auge“-Punkt zu und verbindet sie damit.
adaptive_label()NoneZeichnet ein kreisförmiges oder rechteckiges Hintergrundlabel in der Mitte einer Bounding Box.

Arbeiten mit SolutionResults#

Mit Ausnahme von Similarity Search gibt jeder Aufruf einer Lösung ein SolutionResults-Objekt zurück.

  • Bei der Objektzählung enthalten die Ergebnisse in_count, out_count und 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="yolo26n.pt",  # model="yolo26n-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

Das SolutionResults-Objekt verfügt über die folgenden Attribute:

AttributTypBeschreibung
plot_imnp.ndarrayBild mit visuellen Overlays wie Zählwerten, Unschärfeeffekten oder lösungsspezifischen Erweiterungen.
in_countintGesamtzahl der Objekte, die beim Eintritt in die definierte Zone im Videostream erkannt wurden.
out_countintGesamtzahl der Objekte, die beim Verlassen der definierten Zone im Videostream erkannt wurden.
classwise_countDict[str, int]Wörterbuch mit klassenbezogenen Eingangs- und Ausgangszählungen für erweiterte Analysen.
queue_countintAnzahl der Objekte, die sich derzeit innerhalb einer vordefinierten Warteschlange oder eines Wartebereichs befinden (geeignet für das Warteschlangenmanagement).
workout_countlist[int]Wiederholungszählungen pro Track aus AI Gym (ein Eintrag pro aktuell verfolgter Person).
workout_anglelist[float]Übungswinkel pro Track aus AI Gym (ein Eintrag pro aktuell verfolgter Person).
workout_stagelist[str]Aktuelle Trainingsphase pro Track aus AI Gym (ein Eintrag pro aktuell verfolgter Person).
pixels_distancefloatPixelbasierte Entfernung zwischen zwei Objekten oder Punkten, z. B. Bounding Boxes (geeignet für die Entfernungsberechnung).
available_slotsintAnzahl der freien Plätze in einem überwachten Bereich (geeignet für das Parkraummanagement).
filled_slotsintAnzahl der belegten Plä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 einen Sicherheitsalarm).
total_tracksintGesamtzahl der eindeutigen Objekt-Tracks, die während der Videoanalyse beobachtet wurden.
region_countsDict[str, int]Objektzählungen innerhalb benutzerdefinierter Bereiche oder Zonen.
speed_dictDict[str, float]Trackbezogenes Wörterbuch der berechneten Objektgeschwindigkeiten, nützlich für Geschwindigkeitsanalysen.
total_crop_objectsintGesamtzahl der vom ObjectCropper-Objekt erzeugten ausgeschnittenen Objektbilder.
speedDict[str, float]Wörterbuch mit Leistungsmetriken für Tracking und Lösungsverarbeitung.

Weitere Informationen findest du in der Dokumentation der Klasse SolutionResults.

Verwendung der Lösungen über die CLI#

Befehlsinformationen

Die meisten Lösungen können direkt über die Befehlszeilenschnittstelle verwendet werden.

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', 'region', 'security', 'parking'].
  • ARGS (optional) sind benutzerdefinierte arg=value-Paare wie show_in=True, mit denen du die Standardeinstellungen überschreiben kannst.
yolo solutions count show=True # for object counting

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

Zu unseren Lösungen beitragen#

Wir freuen uns über Beiträge aus der Community! Wenn du einen bestimmten Aspekt von Ultralytics YOLO beherrschst, der in unseren Lösungen noch nicht behandelt wird, möchten wir dich ermutigen, dein Wissen zu teilen. Einen Leitfaden zu schreiben, ist eine großartige Möglichkeit, etwas an die Community zurückzugeben und uns dabei zu helfen, unsere Dokumentation umfassender und benutzerfreundlicher zu gestalten.

Lies zunächst bitte unseren Beitragsleitfaden, um zu erfahren, wie du einen Pull Request (PR) eröffnest 🛠️. Wir freuen uns auf deine Beiträge!

Lass uns gemeinsam das Ultralytics-YOLO-Ökosystem robuster und vielseitiger machen 🙏!

FAQ#

  • Ultralytics YOLO26 kann für die Objekterkennung in Echtzeit eingesetzt werden, indem die erweiterten Funktionen zur Objekterkennung genutzt werden. In unserem ausführlichen Leitfaden zur Objektzählung erfährst du, wie du YOLO26 für die Analyse von Live-Videostreams einrichtest. Installiere einfach YOLO26, lade dein Modell und verarbeite Videoframes, um Objekte dynamisch zu zählen.

  • Ultralytics YOLO26 verbessert Sicherheitssysteme durch Objekterkennung in Echtzeit und Alarmmechanismen. Mit YOLO26 kannst du ein Sicherheitsalarmsystem erstellen, das Alarme auslöst, wenn im Überwachungsbereich neue Objekte erkannt werden. Erfahre, wie du mit YOLO26 ein Sicherheitsalarmsystem für eine zuverlässige Sicherheitsüberwachung einrichtest.

  • Ultralytics YOLO26 kann Systeme zur Warteschlangenverwaltung erheblich verbessern, indem Personen in Warteschlangen präzise gezählt und verfolgt werden. Dadurch lassen sich Wartezeiten verkürzen und die Serviceeffizienz optimieren. In unserem ausführlichen Leitfaden zur Warteschlangenverwaltung erfährst du, wie du YOLO26 für eine effektive Überwachung und Analyse von Warteschlangen einsetzt.

  • Ja, Ultralytics YOLO26 kann effektiv zur Überwachung von Workouts eingesetzt werden, indem Fitnessübungen in Echtzeit verfolgt und analysiert werden. Dadurch lassen sich die Ausführung und Leistung bei Übungen präzise bewerten. In unserem Leitfaden zur Workout-Überwachung erfährst du, wie du ein KI-gestütztes System zur Überwachung von Workouts mit YOLO26 einrichtest.

  • Ultralytics YOLO26 kann Heatmaps erstellen, um die Intensität von Daten über einen bestimmten Bereich hinweg zu visualisieren und Bereiche mit hoher Aktivität oder besonderem Interesse hervorzuheben. Diese Funktion ist besonders nützlich, um Muster und Trends in verschiedenen Computer-Vision-Aufgaben zu erkennen. Erfahre mehr über das Erstellen und Verwenden von Heatmaps mit YOLO26 für eine umfassende Datenanalyse und -visualisierung.

Kommentare