Zum Inhalt springen

Objektzählung in verschiedenen Regionen mit Ultralytics YOLO 🚀

Was ist Objektzählung in Regionen?

Die Objektzählung in Regionen mit Ultralytics YOLO11 Bei der Objektzählung geht es darum, die Anzahl der Objekte in bestimmten Bereichen mithilfe fortschrittlicher Bildverarbeitung genau zu bestimmen. Dieser Ansatz ist wertvoll für die Optimierung von Prozessen, die Verbesserung der Sicherheit und die Steigerung der Effizienz in verschiedenen Anwendungen.



Beobachten: Objektzählung in verschiedenen Regionen mit Ultralytics YOLO11 | Ultralytics Lösungen 🚀

Vorteile der Objektzählung in Regionen?

  • Präzision und Genauigkeit: Die Zählung von Objekten in Regionen mit fortschrittlicher Computervision gewährleistet präzise und genaue Zählungen und minimiert Fehler, die häufig bei manuellen Zählungen auftreten.
  • Verbesserung der Effizienz: Die automatisierte Objektzählung steigert die betriebliche Effizienz, da sie Ergebnisse in Echtzeit liefert und die Prozesse in den verschiedenen Anwendungen rationalisiert.
  • Vielseitigkeit und Anwendung: Die Vielseitigkeit der Objektzählung in Regionen macht sie in verschiedenen Bereichen anwendbar, von der Fertigung über die Überwachung bis hin zur Verkehrsüberwachung, was zu ihrem weit verbreiteten Nutzen und ihrer Effektivität beiträgt.

Anwendungen in der realen Welt

Einzelhandel Markt-Straßen
Personenzählung in verschiedenen Regionen mit Ultralytics YOLO11 Zählen von Menschenmengen in verschiedenen Regionen mit Ultralytics YOLO11
Personenzählung in verschiedenen Regionen mit Ultralytics YOLO11 Zählen von Menschenmengen in verschiedenen Regionen mit Ultralytics YOLO11

Gebietszä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 Beispiel Code

Das Modul zur Zählung von Regionen Ultralytics ist in unserem Beispielbereich verfügbar. Sie können dieses Beispiel für die Codeanpassung untersuchen und es an Ihren speziellen Anwendungsfall anpassen.

RegionCounter Argumente

Hier ist eine Tabelle mit den RegionCounter Argumente:

Argument Typ Standard Beschreibung
model str None Pfad zur Ultralytics YOLO .
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 Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml.
conf float 0.3 Legt die Konfidenzschwelle für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen führen.
iou float 0.5 Legt den Schwellenwert für die Überschneidung über die Vereinigung (IoU) zum Filtern von überlappenden Erkennungen fest.
classes list None Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verbose bool True Steuert die Anzeige der Verfolgungsergebnisse und liefert 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 dem Benutzer die Auswahl zwischen CPU, einem bestimmten GPU oder anderen Rechengeräten für die Modellausführung.

Zusätzlich werden die folgenden Visualisierungseinstellungen unterstützt:

Argument Typ Standard Beschreibung
show bool False Wenn Truezeigt die kommentierten Bilder oder Videos in einem Fenster an. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens.
line_width None or int None Gibt die Linienbreite von Begrenzungsrahmen an. Wenn Nonewird die Linienbreite automatisch an die Bildgröße angepasst. Bietet visuelle Anpassung für Klarheit.

FAQ

Was ist die Objektzählung in bestimmten Regionen mit Ultralytics YOLO11 ?

Objektzählung in bestimmten Regionen mit Ultralytics YOLO11 Bei der Objektzählung wird die Anzahl der Objekte in bestimmten Bereichen mit Hilfe fortschrittlicher Computer Vision erkannt und gezählt. Diese präzise Methode steigert die Effizienz und Genauigkeit bei verschiedenen Anwendungen wie Fertigung, Überwachung und Verkehrsüberwachung.

Wie führe ich das Skript zur regionsbasierten Objektzählung mit Ultralytics YOLO11 aus?

Gehen Sie folgendermaßen vor, um die Objektzählung in Ultralytics YOLO11 durchzuführen:

  1. Klonen Sie das Repository Ultralytics und navigieren Sie zu dem Verzeichnis:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
    
  2. Führen Sie das Skript zur Zählung der Regionen aus:

    python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
    

Weitere Optionen finden Sie im Abschnitt Zählen von Laufregionen.

Warum sollte ich Ultralytics YOLO11 für die Objektzählung in Regionen verwenden?

Die Verwendung von Ultralytics YOLO11 für die Objektzählung in Regionen bietet mehrere Vorteile:

  1. Verarbeitung in Echtzeit: Die Architektur von YOLO11 ermöglicht eine schnelle Inferenz und ist damit ideal für Anwendungen, die sofortige Zählergebnisse erfordern.
  2. Flexible Definition von Regionen: Die Lösung ermöglicht es Ihnen, mehrere benutzerdefinierte Regionen als Polygone, Rechtecke oder Linien zu definieren, um Ihre spezifischen Überwachungsanforderungen zu erfüllen.
  3. Unterstützung mehrerer Klassen: Zählen Sie verschiedene Objekttypen gleichzeitig in denselben Regionen, um umfassende Analysen zu ermöglichen.
  4. Integrationsfähigkeiten: Einfache Integration in bestehende Systeme über die Ultralytics Python API oder die Befehlszeilenschnittstelle.

Weitere Vorteile finden Sie im Abschnitt Vorteile.

Welche realen Anwendungen gibt es für die Objektzählung in Regionen?

Die Objektzählung mit Ultralytics YOLO11 kann in zahlreichen realen Szenarien angewendet werden:

  • Einzelhandelsanalyse: Zählen Sie die Kunden in verschiedenen Abteilungen des Ladens, um Layout und Personaleinsatz zu optimieren.
  • Verkehrsmanagement: Überwachen Sie den Fahrzeugfluss in bestimmten Straßenabschnitten oder an Kreuzungen.
  • Herstellung: Verfolgen Sie den Weg von Produkten durch verschiedene Produktionszonen.
  • Lagertätigkeiten: Zählen Sie die Inventargegenstände in den vorgesehenen Lagerbereichen.
  • Öffentliche Sicherheit: Überwachung der Personendichte in bestimmten Zonen während Veranstaltungen.

Weitere Beispiele finden Sie im Abschnitt Real World Applications und in der TrackZone-Lösung für zusätzliche zonenbasierte Überwachungsfunktionen.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 5 Tagen

Kommentare