Link to this sectionObjektzählung mit Ultralytics YOLO26#
Link to this sectionWas ist Objektzählung?#
Die Objektzählung mit Ultralytics YOLO26 umfasst die präzise Identifizierung und Zählung spezifischer Objekte in Videos und Kamerastreams. Dank seiner hochmodernen Algorithmen und Deep Learning-Fähigkeiten zeichnet sich YOLO26 in Echtzeitanwendungen aus und liefert effiziente sowie genaue Ergebnisse für Szenarien wie Crowd-Analyse und Überwachung.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Link to this sectionVorteile der Objektzählung#
- Ressourcenoptimierung: Objektzählung ermöglicht effizientes Ressourcenmanagement, indem sie genaue Zählungen liefert und die Ressourcenzuweisung in Anwendungen wie Bestandsverwaltung optimiert.
- Verbesserte Sicherheit: Die Objektzählung erhöht die Sicherheit und Überwachung durch präzises Verfolgen und Zählen von Entitäten, was bei der proaktiven Bedrohungserkennung hilft.
- Fundierte Entscheidungsfindung: Die Objektzählung liefert wertvolle Einblicke für Entscheidungsprozesse und optimiert Abläufe im Einzelhandel, bei der Verkehrssteuerung und in vielen anderen Bereichen.
Link to this sectionPraxisanwendungen#
| Logistik | Aquakultur |
|---|---|
![]() | ![]() |
| Paketzählung auf Förderband mit Ultralytics YOLO26 | Fischzählung im Meer mit Ultralytics YOLO26 |
Link to this sectionObjekte mit YOLO26 zählen#
Definiere eine region für die Zählung – zwei Punkte für eine Linie oder drei oder mehr für ein Polygon – und übergib sie an die ObjectCounter Lösung. Der Counter verfolgt jedes Objekt über Frames hinweg und zählt die IN/OUT-Werte, wenn verfolgte Schwerpunkte die Linie überqueren oder sich innerhalb der Region bewegen, und gibt einen annotierten Frame zurück, den du in ein Ausgabevideo schreiben kannst.
# Run a counting example
yolo solutions count show=True
# Pass a source video
yolo solutions count source="path/to/video.mp4"
# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"Das region-Argument akzeptiert entweder zwei Punkte (für eine Linie) oder ein Polygon mit drei oder mehr Punkten. Definiere die Koordinaten in der Reihenfolge, in der sie verbunden werden sollen, damit der Zähler genau weiß, wo Ein- und Ausgänge liegen.
Link to this sectionObjectCounter-Argumente#
Hier ist eine Tabelle mit den ObjectCounter-Argumenten:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics YOLO-Modelldatei. |
show_in | bool | True | Flag zur Steuerung, ob die 'in'-Zähler im Videostream angezeigt werden sollen. |
show_out | bool | True | Flag zur Steuerung, ob die 'out'-Zähler im Videostream angezeigt werden sollen. |
region | list oder dict | None | Punkte, die den Interessenbereich definieren, entweder als Liste von (x, y)-Tupeln oder als Dictionary, das Regionsnamen auf Punktlisten für mehrere Regionen abbildet (nur RegionCounter). Wenn None, greifen Lösungen, die eine Region erfordern, auf einen vordefinierten Standardwert zurück. |
Die ObjectCounter-Lösung erlaubt die Verwendung mehrerer track-Argumente:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Legt den zu verwendenden Tracking-Algorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Legt den Konfidenz-Schwellenwert für Detektionen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber zu falsch-positiven Ergebnissen führen. |
iou | float | 0.7 | Legt den IoU-Schwellenwert für das Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Zum Beispiel verfolgt classes=[0, 2, 3] 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 die Wahl zwischen CPU, einer spezifischen GPU oder anderen Rechengeräten für die Modellausführung. |
Zusätzlich werden die unten aufgeführten Visualisierungsargumente unterstützt:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder Tests. |
line_width | int or None | None | Legt die Linienbreite der BBoxen fest. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassungsmöglichkeiten für mehr Klarheit. |
show_conf | bool | True | Zeigt den Konfidenzwert für jede Erkennung neben dem Label an. Bietet Einblick in die Gewissheit des Modells für jede Erkennung. |
show_labels | bool | True | Zeigt Labels für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte. |
Link to this sectionFAQ#
Link to this sectionWie zähle ich Objekte in einem Video mit Ultralytics YOLO26?#
Um Objekte in einem Video mit Ultralytics YOLO26 zu zählen, kannst du folgende Schritte ausführen:
- Importiere die notwendigen Bibliotheken (
cv2,ultralytics). - Definiere den Zählbereich (z. B. ein Polygon, eine Linie etc.).
- Richte die Videoaufnahme ein und initialisiere den Objektzähler.
- Verarbeite jeden Frame, um Objekte zu verfolgen und sie innerhalb des definierten Bereichs zu zählen.
Hier ist ein einfaches Beispiel für die Zählung in einem Bereich:
import cv2
from ultralytics import solutions
def count_objects_in_region(video_path, output_video_path, model_path):
"""Count objects in a specific region within a video."""
cap = cv2.VideoCapture(video_path)
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")Für fortgeschrittenere Konfigurationen und Optionen schau dir die RegionCounter-Lösung zum gleichzeitigen Zählen von Objekten in mehreren Regionen an.
Link to this sectionWelche Vorteile bietet Ultralytics YOLO26 für die Objektzählung?#
Der Einsatz von Ultralytics YOLO26 zur Objektzählung bietet mehrere Vorteile:
- Ressourcenoptimierung: Es ermöglicht eine effiziente Ressourcenverwaltung durch präzise Zählungen, was bei der Optimierung der Ressourcenallokation in Branchen wie der Bestandsverwaltung hilft.
- Verbesserte Sicherheit: Sie erhöht die Sicherheit und Überwachung durch präzises Verfolgen und Zählen von Entitäten, was bei der proaktiven Bedrohungserkennung und in Sicherheitssystemen hilft.
- Fundierte Entscheidungsfindung: Es liefert wertvolle Einblicke für Entscheidungsprozesse und optimiert Abläufe in Bereichen wie Einzelhandel, Verkehrssteuerung und mehr.
- Echtzeitverarbeitung: Die Architektur von YOLO26 ermöglicht Echtzeit-Inferenz, wodurch sie sich für Live-Videostreams und zeitkritische Anwendungen eignet.
Für Implementierungsbeispiele und praktische Anwendungen erkunde die TrackZone-Lösung zum Verfolgen von Objekten in spezifischen Zonen.
Link to this sectionWie kann ich spezifische Objektklassen mit Ultralytics YOLO26 zählen?#
Um spezifische Objektklassen mit Ultralytics YOLO26 zu zählen, musst du während der Verfolgungsphase die gewünschten Klassen angeben. Nachfolgend findest du ein Python-Beispiel:
import cv2
from ultralytics import solutions
def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
"""Count specific classes of objects in a video."""
cap = cv2.VideoCapture(video_path)
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
line_points = [(20, 400), (1080, 400)]
counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])In diesem Beispiel bedeutet classes_to_count=[0, 2], dass Objekte der Klasse 0 und 2 (z. B. Person und Auto im COCO-Datensatz) gezählt werden. Weitere Informationen zu Klassenindizes findest du in der COCO-Datensatz-Dokumentation.
Link to this sectionWarum sollte ich YOLO26 gegenüber anderen Objekterkennungs-Modellen für Echtzeitanwendungen verwenden?#
Ultralytics YOLO26 bietet mehrere Vorteile gegenüber anderen Objekterkennungsmodellen wie Faster R-CNN, SSD und früheren YOLO-Versionen:
- Geschwindigkeit und Effizienz: YOLO26 bietet Echtzeitverarbeitungsfunktionen und ist somit ideal für Anwendungen, die Hochgeschwindigkeitsinferenz erfordern, wie Überwachung und autonomes Fahren.
- Genauigkeit: Es bietet modernste Genauigkeit für Objekterkennungs- und Verfolgungsaufgaben, reduziert die Anzahl falsch positiver Ergebnisse und verbessert die allgemeine Systemzuverlässigkeit.
- Einfache Integration: YOLO26 bietet eine nahtlose Integration in verschiedene Plattformen und Geräte, einschließlich mobiler und Edge-Geräte, was für moderne KI-Anwendungen entscheidend ist.
- Flexibilität: Unterstützt verschiedene Aufgaben wie Objekterkennung, Segmentierung und Tracking mit konfigurierbaren Modellen, um spezifische Anforderungen von Anwendungsfällen zu erfüllen.
Schau dir die Ultralytics YOLO26-Dokumentation an, um tiefer in die Funktionen und Leistungsvergleiche einzutauchen.
Link to this sectionKann ich YOLO26 für fortgeschrittene Anwendungen wie Crowd-Analyse und Verkehrssteuerung verwenden?#
Ja, Ultralytics YOLO26 eignet sich aufgrund seiner Echtzeit-Erkennungsfunktionen, Skalierbarkeit und Integrationsflexibilität perfekt für fortgeschrittene Anwendungen wie Crowd-Analyse und Verkehrssteuerung. Seine fortschrittlichen Funktionen ermöglichen eine hochpräzise Objektverfolgung, Zählung und Klassifizierung in dynamischen Umgebungen. Beispiel-Anwendungsfälle sind:
- Mengenanalyse: Überwache und verwalte große Menschenansammlungen, sorge für Sicherheit und optimiere den Besucherstrom mit regionsbasierter Zählung.
- Verkehrsmanagement: Verfolge und zähle Fahrzeuge, analysiere Verkehrsmuster und verwalte Staus in Echtzeit mit Funktionen zur Geschwindigkeitsschätzung.
- Einzelhandelsanalytik: Analysiere Kundenbewegungsmuster und Produktinteraktionen, um Ladenlayouts zu optimieren und das Kundenerlebnis zu verbessern.
- Industrielle Automatisierung: Zähle Produkte auf Förderbändern und überwache Produktionslinien für Qualitätskontrolle und Effizienzsteigerungen.
Für spezialisiertere Anwendungen erkunde die Ultralytics Solutions für eine umfassende Auswahl an Tools, die für reale Computer-Vision-Herausforderungen entwickelt wurden.

