Ultralytics YOLO27:
Get Started

Ultralytics Solutions: Mit YOLO26 reale Probleme lösen#

Ultralytics Solutions bieten modernste Anwendungen von YOLO-Modellen und ermöglichen praxisnahe Lösungen wie Objektzählung, Unkenntlichmachung und Sicherheitssysteme. Sie steigern die Effizienz und Genauigkeit in verschiedenen Branchen. Entdecke die Möglichkeiten von YOLO26 für praktische Lösungen mit großer Wirkung.

Vorschaubild von Ultralytics Solutions



Ansehen: So führst du Ultralytics-Lösungen über die Befehlszeile aus (CLI) | Ultralytics YOLO26 🚀

Lösungen#

Hier findest du unsere Auswahl an Ultralytics-Lösungen für beeindruckende Projekte im Bereich Computer Vision.

  • Analysen: Führe umfassende Datenanalysen durch, um Muster zu erkennen und fundierte Entscheidungen zu treffen. Nutze YOLO26 für deskriptive, prädiktive und präskriptive Analysen.
  • Entfernungsmessung: Berechne mithilfe der Mittelpunkte von Begrenzungsrahmen in YOLO26 die Abstände zwischen Objekten – eine wichtige Grundlage für räumliche Analysen.
  • Heatmaps: Visualisiere mithilfe von Erkennungs-Heatmaps die Datenintensität in einer Matrix und gewinne klare Einblicke in Computer-Vision-Aufgaben.
  • Instanzsegmentierung mit Objektverfolgung: Nutze YOLO26 für Instanzsegmentierung und Objektverfolgung, um präzise Objektkonturen zu erhalten und Objekte kontinuierlich zu überwachen.
  • Live-Inferenz mit Streamlit: Nutze YOLO26 direkt in deinem Webbrowser für die Objekterkennung in Echtzeit – mit einer benutzerfreundlichen Streamlit-Oberfläche.
  • Objekte unkenntlich machen: Schütze die Privatsphäre, indem du Objekte bei der Bild- und Videoverarbeitung mit YOLO26 unkenntlich machst.
  • Objektzählung: Erfahre, wie du mit YOLO26 Objekte in Echtzeit zählst. Lerne, Objekte in Live-Videostreams präzise zu zählen.
  • Objekte in Bereichen zählen: Zähle Objekte in bestimmten Bereichen mit YOLO26, um sie in verschiedenen Zonen präzise zu erkennen.
  • Objekte ausschneiden: Lerne, mit YOLO26 Objekte präzise aus Bildern und Videos auszuschneiden.
  • Parkraummanagement: Organisiere und lenke den Fahrzeugverkehr auf Parkflächen mit YOLO26, um die Flächennutzung und das Nutzererlebnis zu optimieren.
  • Warteschlangenmanagement: Richte mit YOLO26 effiziente Warteschlangensysteme ein, um Wartezeiten zu verkürzen und die Produktivität zu steigern.
  • Sicherheitsalarmsystem: Erstelle mit YOLO26 ein Sicherheitsalarmsystem, das bei der Erkennung neuer Objekte Warnmeldungen auslöst. Passe das System an deine Anforderungen an.
  • Ähnlichkeitssuche: Ermögliche eine intelligente Bildsuche, indem du Embeddings von OpenAI CLIP mit einer Kosinus-Ähnlichkeitssuche kombinierst. So sind Abfragen in natürlicher Sprache wie „Person mit einer Tasche“ oder „fahrende Fahrzeuge“ möglich.
  • Geschwindigkeitsschätzung: Schätze mithilfe von YOLO26 und Objektverfolgung die Geschwindigkeit von Objekten – wichtig für Anwendungen wie autonome Fahrzeuge und Verkehrsüberwachung.
  • Objekte in einer Zone verfolgen: Erfahre, wie du Objekte mit YOLO26 präzise und effizient in bestimmten Zonen von Videobildern verfolgst.
  • VisionEye: Objekte im Blickfeld abbilden: Entwickle Systeme, die den menschlichen Blick auf bestimmte Objekte nachahmen und so die Fähigkeit des Computers verbessern, Details zu erkennen und zu priorisieren.
  • Training überwachen: Erfahre, wie du mit YOLO26 Trainingseinheiten überwachst. Lerne, verschiedene Fitnessübungen in Echtzeit zu verfolgen und zu analysieren.

Argumente für Solutions#

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics-YOLO-Modelldatei.
regionlist oder dictNonePunkte, die den Interessenbereich festlegen: entweder eine Liste von (x, y)-Tupeln oder ein Wörterbuch, das bei mehreren Bereichen deren Namen den jeweiligen Punktelisten zuordnet (nur RegionCounter). Bei None verwenden Lösungen, die einen Bereich benötigen, einen vordefinierten Standardbereich.
show_inboolTrueSteuert, ob die Eingangsanzahl im Videostream angezeigt wird.
show_outboolTrueSteuert, ob die Ausgangsanzahl im Videostream angezeigt wird.
analytics_typestr'line'Diagrammtyp, z. B. line, bar, area oder pie.
colormapintcv2.COLORMAP_DEEPGREENFür die Heatmap zu verwendende Farbpalette.
line_widthint2Linienstärke für die Boxen, Keypoints und Zählwerte, die von der Lösung eingezeichnet werden.
verboseboolTrueAktiviert das Protokoll der Lösung für jedes Bild, das Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit enthält. Der Tracking-Aufruf selbst gibt grundsätzlich keine Meldungen aus.
json_filestrNonePfad zur JSON-Datei mit allen Koordinatendaten für Parkplätze.
up_anglefloat145.0Winkelschwellenwert für die „obere“ 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 und werden für Übungen wie Liegestütze, Klimmzüge, Kniebeugen und Bauchmuskeltraining verwendet.
down_anglefloat90.0Winkelschwellenwert für die „untere“ Pose.
blur_ratiofloat0.5Passt den prozentualen Unschärfegrad an; Werte liegen im Bereich 0.1 - 1.0.
crop_dirstr'cropped-detections'Verzeichnisname zum Speichern zugeschnittener Erkennungen.
recordsint5Gesamtzahl der Erkennungen, ab der eine E-Mail mit einem Sicherheitsalarm ausgelöst wird.
vision_pointtuple[int, int](20, 20)Der Punkt, an dem VisionEye Objekte verfolgt und mithilfe der VisionEye-Lösung Pfade zeichnet.
sourcestrNonePfad zur Eingabequelle (Video, RTSP usw.). Nur mit der Befehlszeilenschnittstelle (CLI) für Solutions verwendbar.
figsizetuple[float, float](12.8, 7.2)Abbildungsgröße in Zoll für Analytics-Diagramme; (12.8, 7.2) rendert ein Bild mit 1280×720 Pixeln.
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 von Pixelabständen in reale Maßeinheiten.
max_speedint120Maximale Geschwindigkeit in km/h; höhere geschätzte Geschwindigkeiten werden auf diesen Wert begrenzt.
datastr'images'Pfad zum Bildverzeichnis für die Ähnlichkeitssuche.
imgszint640Eingabebildgröße für die Modellinferenz.
Argumente für die Verfolgung

Solutions übergeben die folgenden Inferenz- und Verfolgungsargumente an model.track().

ArgumentTypStandardBeschreibung
trackerstr'tracktrack.yaml'Legt den zu verwendenden Verfolgungsalgorithmus fest. 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 die Verfolgung weiterer Objekte, können aber auch falsch positive Ergebnisse einschließen.
ioufloat0.7Legt den Schwellenwert für die Schnittmenge über Vereinigung (IoU) fest, um überlappende Erkennungen herauszufiltern.
classeslistNoneFiltert die Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneLegt das Gerät für die Inferenz fest (z. B. cpu, cuda:0 oder 0). So kannst du für die Modellausführung zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten wählen.
imgszint or tuple640Zielbildgröße für die Inferenz: eine Ganzzahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formen werden an den Modellschritt angepasst.
max_detint300Maximale Anzahl der Erkennungen, die pro Bild vor der Verfolgung beibehalten werden. Dadurch wird die Anzahl der Objekte begrenzt, die eine Lösung in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzpräzision: 16 (FP16) oder 32/unset (FP32) für PyTorch- und TorchScript-Modelle außerhalb der CPU; andere Formate verwenden die Präzision, die ihr Artefakt und ihre Laufzeitumgebung vorgeben. Ersetzt das veraltete Argument half.
Argumente für die Visualisierung

Du kannst show_conf, show_labels und die weiteren genannten Argumente verwenden, um die Visualisierung anzupassen.

ArgumentTypStandardBeschreibung
showboolFalseWenn True aktiviert ist, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für unmittelbares visuelles Feedback während der Entwicklung oder beim Testen.
show_confboolTrueZeigt neben der Bezeichnung den Konfidenzwert jeder Erkennung an. Gibt Aufschluss darüber, wie sicher sich das Modell bei der jeweiligen Erkennung ist.
show_labelsboolTrueZeigt für jede Erkennung eine Bezeichnung in der visuellen Ausgabe an. So lassen sich erkannte Objekte sofort erkennen.

SolutionAnnotator verwenden#

Alle Ultralytics Solutions verwenden die separate Klasse SolutionAnnotator, die von der Hauptklasse Annotator abgeleitet ist und die folgenden Methoden bereitstellt:

MethodeRückgabetypBeschreibung
draw_region()NoneZeichnet mit den angegebenen Punkten, Farben und der angegebenen Linienstärke einen Bereich.
queue_counts_display()NoneZeigt die Anzahl der Wartenden im angegebenen Bereich an.
display_analytics()NoneZeigt die Gesamtstatistik für die Parkraumverwaltung an.
estimate_pose_angle()floatBerechnet den Winkel zwischen drei Punkten in einer Objektpose.
draw_specific_kpts()np.ndarrayZeichnet bestimmte Schlüsselpunkte in das Bild ein.
plot_workout_information()intZeichnet ein beschriftetes Textfeld in das Bild ein.
plot_angle_and_count_and_stage()NoneVisualisiert Winkel, Wiederholungszahl und Trainingsphase zur Überwachung von Trainingseinheiten.
plot_distance_and_line()NoneZeigt den Abstand zwischen den Mittelpunkten an und verbindet sie mit einer Linie.
display_objects_labels()NoneBeschriftet Begrenzungsrahmen mit den Klassenbezeichnungen der Objekte.
sweep_annotator()NoneVisualisiert eine vertikale Scanlinie und optional eine Beschriftung.
visioneye()NoneOrdnet die Objektmittelpunkte einem visuellen „Blickpunkt“ zu und verbindet sie damit.
adaptive_label()NoneZeichnet mittig in einem Begrenzungsrahmen eine runde oder rechteckige Hintergrundbeschriftung.

Mit SolutionResults arbeiten#

Mit Ausnahme von Similarity Search gibt jeder Aufruf einer Solution 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,  # # Ausgabe anzeigen
    region=region_points,  # # Punkte des Bereichs übergeben
    model="yolo26n.pt",  # model="yolo26n-obb.pt" zur Objektzählung mit einem OBB-Modell.
    # classes=[0, 2],  # Bestimmte Klassen zählen, z. B. Personen und Autos mit einem auf COCO vortrainierten Modell.
    # tracker="botsort.yaml"  # Tracker auswählen, z. B. "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ählwerten, Unschärfeeffekten oder lösungsspezifischen Erweiterungen.
in_countintGesamtzahl der Objekte, die beim Eintritt in die festgelegte Zone im Videostream erkannt wurden.
out_countintGesamtzahl der Objekte, die beim Verlassen der festgelegten Zone im Videostream erkannt wurden.
classwise_countdict[str, dict[str, int] | int]Zählungen nach Klassen: {"IN": int, "OUT": int} für ObjectCounter und Heatmap oder ein int für Analytics.
queue_countintAnzahl der Objekte, die sich derzeit in einer festgelegten Warteschlange oder einem Wartebereich befinden (geeignet für das Warteschlangenmanagement).
workout_countlist[int]Wiederholungszahlen 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_distancefloatAbstand in Pixeln zwischen zwei Objekten oder Punkten, z. B. Begrenzungsrahmen. (Geeignet zur Entfernungsmessung).
available_slotsintAnzahl der freien Plätze in einem überwachten Bereich (geeignet für die Parkraumverwaltung).
filled_slotsintAnzahl der belegten Plätze in einem überwachten Bereich. (Geeignet für die Parkraumverwaltung.)
email_sentboolGibt an, ob eine Benachrichtigung oder Alarm-E-Mail erfolgreich gesendet wurde (geeignet für Sicherheitsalarme).
total_tracksintGesamtzahl der einzelnen Objekt-Tracks, die während der Videoanalyse erfasst wurden.
region_countsDict[str, int]Objektanzahlen innerhalb benutzerdefinierter Bereiche oder Zonen.
speed_dictDict[int, int]Wörterbuch mit geschätzten Objektgeschwindigkeiten in km/h für jede Spur aus SpeedEstimator, nützlich für die Geschwindigkeitsanalyse.
total_crop_objectsintGesamtzahl der zugeschnittenen Objektbilder, die von der ObjectCropper-Lösung erzeugt wurden.
speedDict[str, float]Wörterbuch mit Leistungskennzahlen für Tracking und Lösungsverarbeitung.

Weitere Informationen findest du in der Dokumentation zur Klasse SolutionResults.

Lösungen über die CLI verwenden#

Befehlsinfo

Die meisten Lösungen lassen sich direkt über die Befehlszeile verwenden.

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

Trage zu unseren Lösungen bei#

Beiträge aus der Community sind willkommen! Wenn du einen bestimmten Aspekt von Ultralytics YOLO gemeistert hast, der in unseren Lösungen noch nicht behandelt wird, freuen wir uns, wenn du dein Wissen mit uns teilst. Einen Leitfaden zu schreiben ist eine gute Möglichkeit, der Community etwas zurückzugeben und uns dabei zu helfen, unsere Dokumentation umfassender und benutzerfreundlicher zu gestalten.

Lies zunächst unseren Leitfaden für Beiträge. Dort erfährst du, 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 🙏!

Häufig gestellte Fragen#

  • Ultralytics YOLO26 lässt sich dank seiner fortschrittlichen Objekterkennung für die Objektzählung in Echtzeit verwenden. 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 Videobilder, um Objekte dynamisch zu zählen.

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

  • Ultralytics YOLO26 kann Warteschlangenmanagementsysteme erheblich verbessern, indem es Personen in Warteschlangen präzise zählt und verfolgt. So lassen sich Wartezeiten verkürzen und die Effizienz des Service optimieren. In unserem ausführlichen Leitfaden zum Warteschlangenmanagement erfährst du, wie du YOLO26 für eine wirksame Überwachung und Analyse von Warteschlangen einsetzt.

  • Ja, Ultralytics YOLO26 eignet sich zur Überwachung von Workouts, indem es Trainingsabläufe in Echtzeit verfolgt und analysiert. So lassen sich die Ausführung der Übungen und die Leistung präzise bewerten. In unserem Leitfaden zur Workout-Überwachung erfährst du, wie du mit YOLO26 ein KI-gestütztes System zur Überwachung von Workouts einrichtest.

  • Ultralytics YOLO26 kann Heatmaps erzeugen, die die Intensität von Daten in einem bestimmten Bereich darstellen und Zonen mit hoher Aktivität oder besonderem Interesse hervorheben. Diese Funktion ist besonders nützlich, um Muster und Trends bei verschiedenen Aufgaben der Computer Vision zu erkennen. Erfahre mehr darüber, wie du mit YOLO26 Heatmaps für umfassende Datenanalysen und -visualisierungen erstellst und verwendest.

Kommentare