Objektzählung in verschiedenen Regionen mit Ultralytics YOLO 🚀
Was ist Objekterkennung in Regionen?
Die Objektzählung in Regionen mit Ultralytics YOLO11 umfasst die präzise Bestimmung der Anzahl von Objekten innerhalb bestimmter Bereiche unter Verwendung fortschrittlicher Computer Vision. Dieser Ansatz ist wertvoll für die Optimierung von Prozessen, die Verbesserung der Sicherheit und die Steigerung der Effizienz in verschiedenen Anwendungen.
Ansehen: Objektzählung in verschiedenen Regionen mit Ultralytics YOLO11 | Ultralytics Solutions 🚀
Vorteile der Objektzählung in Regionen?
- Präzision und Genauigkeit: Die Objektzählung in Regionen mit fortschrittlicher Computer Vision gewährleistet präzise und genaue Zählungen und minimiert Fehler, die häufig mit manueller Zählung verbunden sind.
- Effizienzsteigerung: Die automatisierte Objektzählung verbessert die betriebliche Effizienz, liefert Ergebnisse in Echtzeit und rationalisiert Prozesse in verschiedenen Anwendungen.
- Vielseitigkeit und Anwendung: Die Vielseitigkeit der Objekterkennung in Regionen ermöglicht den Einsatz in verschiedenen Bereichen, von der Fertigung über die Überwachung bis hin zur Verkehrsüberwachung, was zu ihrer breiten Anwendbarkeit und Effektivität beiträgt.
Anwendungen in der realen Welt
Einzelhandel | Marktstraßen |
---|---|
![]() |
![]() |
Personenzählung in verschiedenen Regionen mit Ultralytics YOLO11 | Crowd Counting in verschiedenen Regionen mit Ultralytics YOLO11 |
Anwendungsbeispiele
Regionenzählung mit Ultralytics YOLO
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Pass region as dictionary
region_points = {
"region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
"region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}
# Video writer
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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize region counter object
regioncounter = solutions.RegionCounter(
show=True, # display the frame
region=region_points, # pass region points
model="yolo11n.pt", # model for counting in regions i.e yolo11s.pt
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = regioncounter(im0)
# print(results) # access the output
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Ultralytics Beispielcode
Das Ultralytics Modul zur Regionszählung ist in unserem Beispielbereich verfügbar. Sie können dieses Beispiel zur Codeanpassung untersuchen und es an Ihren spezifischen Anwendungsfall anpassen.
RegionCounter
Argumente
Hier ist eine Tabelle mit den RegionCounter
Argumente:
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. |
Die RegionCounter
Lösung ermöglicht die Verwendung von Objektverfolgungsparametern:
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. |
Zusätzlich werden die folgenden Visualisierungseinstellungen unterstützt:
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. |
FAQ
Was ist Objekterkennung in bestimmten Regionen mit Ultralytics YOLO11?
Die Objektzählung in bestimmten Regionen mit Ultralytics YOLO11 umfasst das Erkennen und Zählen der Anzahl von Objekten innerhalb definierter Bereiche mithilfe fortschrittlicher Computer Vision. Diese präzise Methode verbessert die Effizienz und Genauigkeit in verschiedenen Anwendungen wie Fertigung, Überwachung und Verkehrsüberwachung.
Wie führe ich das regionbasierte Objekterkennungsskript mit Ultralytics YOLO11 aus?
Führen Sie diese Schritte aus, um die Objekterkennung in Ultralytics YOLO11 auszuführen:
-
Klonen Sie das Ultralytics-Repository und navigieren Sie zum Verzeichnis:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter
-
Führen Sie das Skript zur Regionszählung aus:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
Weitere Optionen finden Sie im Abschnitt Anwendungsbeispiele.
Warum sollte ich Ultralytics YOLO11 für die Objektzählung in Regionen verwenden?
Die Verwendung von Ultralytics YOLO11 zur Objektzählung in Regionen bietet mehrere Vorteile:
- Echtzeitverarbeitung: Die Architektur von YOLO11 ermöglicht eine schnelle Inferenz und ist somit ideal für Anwendungen, die sofortige Zählergebnisse erfordern.
- Flexible Regionsdefinition: Die Lösung ermöglicht es Ihnen, mehrere benutzerdefinierte Regionen als Polygone, Rechtecke oder Linien zu definieren, um Ihren spezifischen Überwachungsanforderungen gerecht zu werden.
- Multi-Klassen-Unterstützung: Zählt gleichzeitig verschiedene Objekttypen innerhalb derselben Regionen und bietet umfassende Analysen.
- Integrationsmöglichkeiten: Einfache Integration in bestehende Systeme über die Ultralytics python API oder die Befehlszeilenschnittstelle.
Weitere Vorteile finden Sie im Abschnitt Vorteile.
Was sind einige reale Anwendungen der Objekterkennung in Regionen?
Die Objektzählung mit Ultralytics YOLO11 kann in zahlreichen realen Szenarien eingesetzt werden:
- Einzelhandelsanalytik: Zählen Sie Kunden in verschiedenen Filialbereichen, um die Anordnung und Personaleinsatz zu optimieren.
- Verkehrsmanagement: Überwachung des Fahrzeugflusses in bestimmten Straßenabschnitten oder Kreuzungen.
- Fertigung: Verfolgen Sie Produkte, die sich durch verschiedene Produktionszonen bewegen.
- Lagerbetrieb: Zählen Sie Lagerbestände in den dafür vorgesehenen Lagerbereichen.
- Öffentliche Sicherheit: Überwachen Sie die Personendichte in bestimmten Zonen während Veranstaltungen.
Weitere Beispiele finden Sie im Abschnitt Anwendungen in der realen Welt und in der TrackZone-Lösung für zusätzliche zonenbasierte Überwachungsfunktionen.