Objektzählung mit Ultralytics YOLO26
Was ist Objektzählung?
Die Objektzählung mit Ultralytics YOLO26 umfasst die präzise Identifizierung und Zählung spezifischer Objekte in Videos und Kamerastreams. YOLO26 zeichnet sich bei Echtzeitanwendungen aus und bietet eine effiziente sowie exakte Objektzählung für diverse Szenarien wie Crowd-Analyse und Überwachung, dank seiner hochmodernen Algorithmen und Deep Learning-Fähigkeiten.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Vorteile der Objektzählung
- Ressourcenoptimierung: Die Objektzählung ermöglicht ein effizientes Ressourcenmanagement durch präzise Zählwerte und optimiert die Ressourcenzuweisung in Anwendungen wie der Bestandsverwaltung.
- Verbesserte Sicherheit: Die Objektzählung steigert Sicherheit und Überwachung durch präzises Verfolgen und Zählen von Einheiten, was bei der proaktiven Bedrohungserkennung hilft.
- Fundierte Entscheidungsfindung: Die Objektzählung liefert wertvolle Einblicke für die Entscheidungsfindung und optimiert Prozesse im Einzelhandel, bei der Verkehrssteuerung und in vielen anderen Bereichen.
Anwendungen in der Praxis
| Logistik | Aquakultur |
|---|---|
![]() | ![]() |
| Paketzählung auf einem Förderband mit Ultralytics YOLO26 | Fischzählung im Meer mit Ultralytics YOLO26 |
# 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 Argument region 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 erfolgen.
ObjectCounter-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ählungen auf dem Videostream angezeigt werden sollen. |
show_out | bool | True | Flag zur Steuerung, ob die 'Out'-Zählungen auf dem Videostream angezeigt werden sollen. |
region | list | '[(20, 400), (1260, 400)]' | Liste von Punkten, die den Zählbereich definieren. |
Die ObjectCounter-Lösung ermöglicht die Verwendung mehrerer track-Argumente:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.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 Intersection over Union (IoU) Schwellenwert zum Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassen-Index. Beispiel: classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte. |
device | str | None | Spezifiziert das Gerät für die Inferenz (z. B. cpu, cuda:0 oder 0). Ermöglicht die Wahl zwischen CPU, einer spezifischen GPU oder anderen Recheneinheiten zur 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 direktes visuelles Feedback während der Entwicklung oder beim Testen. |
line_width | int or None | None | Gibt die Linienbreite der Bounding-Boxen an. Wenn None, wird die Linienbreite automatisch basierend auf der Bildgröße angepasst. Bietet visuelle Anpassung für mehr Klarheit. |
show_conf | bool | True | Zeigt den Konfidenzwert für jede Erkennung neben dem Label an. Gibt Aufschluss über die Sicherheit des Modells bei jeder Erkennung. |
show_labels | bool | True | Zeigt Labels für jede Erkennung in der visuellen Ausgabe an. Bietet unmittelbares Verständnis der erkannten Objekte. |
FAQ
Wie 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 befolgen:
- Importiere die notwendigen Bibliotheken (
cv2,ultralytics). - Definiere die Zählregion (z. B. ein Polygon, eine Linie usw.).
- Richte die Videoaufnahme ein und initialisiere den Objektzähler.
- Verarbeite jeden Frame, um Objekte zu verfolgen und sie innerhalb der definierten Region zu zählen.
Hier ist ein einfaches Beispiel für die Zählung in einer Region:
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 Zählen von Objekten in mehreren Regionen gleichzeitig an.
Was sind die Vorteile der Verwendung von Ultralytics YOLO26 für die Objektzählung?
Die Verwendung von Ultralytics YOLO26 für die Objektzählung bietet mehrere Vorteile:
- Ressourcenoptimierung: Sie ermöglicht ein effizientes Ressourcenmanagement durch präzise Zählwerte und hilft, die Ressourcenzuweisung in Branchen wie der Bestandsverwaltung zu optimieren.
- Verbesserte Sicherheit: Sie steigert Sicherheit und Überwachung durch präzises Verfolgen und Zählen von Entitäten, was bei der proaktiven Bedrohungserkennung und bei Sicherheitssystemen hilft.
- Fundierte Entscheidungsfindung: Sie liefert wertvolle Einblicke für die Entscheidungsfindung und optimiert Prozesse in Bereichen wie Einzelhandel, Verkehrssteuerung und mehr.
- Echtzeitverarbeitung: Die Architektur von YOLO26 ermöglicht Echtzeit-Inferenz, wodurch sie für Live-Videostreams und zeitkritische Anwendungen geeignet ist.
Für Implementierungsbeispiele und praktische Anwendungen erkunde die TrackZone-Lösung zur Verfolgung von Objekten in spezifischen Zonen.
Wie kann ich spezifische Objektklassen mit Ultralytics YOLO26 zählen?
Um spezifische Objektklassen mit Ultralytics YOLO26 zu zählen, musst du die Klassen, an denen du interessiert bist, während der Tracking-Phase angeben. Unten 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.
Warum 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 Echtzeit-Verarbeitungsfähigkeiten, was es ideal für Anwendungen macht, die eine Hochgeschwindigkeits-Inferenz erfordern, wie etwa Überwachung und autonomes Fahren.
- Genauigkeit: Es bietet eine hochmoderne Genauigkeit für Objekterkennungs- und Tracking-Aufgaben, reduziert die Anzahl der Fehlalarme und verbessert die allgemeine Systemzuverlässigkeit.
- Integrationsfreundlichkeit: YOLO26 bietet eine nahtlose Integration mit verschiedenen Plattformen und Geräten, 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 an Anwendungsfälle zu erfüllen.
Schau dir die Ultralytics YOLO26-Dokumentation für einen tieferen Einblick in seine Funktionen und Leistungsvergleiche an.
Kann ich YOLO26 für fortgeschrittene Anwendungen wie Crowd-Analyse und Verkehrssteuerung nutzen?
Ja, Ultralytics YOLO26 ist aufgrund seiner Echtzeit-Erkennungsfähigkeiten, Skalierbarkeit und Integrationsflexibilität hervorragend für fortgeschrittene Anwendungen wie Crowd-Analyse und Verkehrssteuerung geeignet. Seine fortschrittlichen Funktionen ermöglichen eine hochgenaue Objektverfolgung, Zählung und Klassifizierung in dynamischen Umgebungen. Beispielhafte Anwendungsfälle sind:
- Crowd-Analyse: Überwache und verwalte große Menschenansammlungen, sorge für Sicherheit und optimiere den Menschenstrom mit regionsbasierter Zählung.
- Verkehrssteuerung: Verfolge und zähle Fahrzeuge, analysiere Verkehrsmuster und verwalte Staus in Echtzeit mit Geschwindigkeitsschätzungs-Funktionen.
- 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 ein umfassendes Set an Werkzeugen, die für reale Computer-Vision-Herausforderungen entwickelt wurden.

