Zum Inhalt springen

Sicherheitsalarmsystem-Projekt mit Ultralytics YOLO11

Sicherheitsalarmsystem

Das Security Alarm System Project unter Verwendung von Ultralytics YOLO11 integriert fortschrittliche Computer Vision-Funktionen zur Verbesserung der Sicherheitsmaßnahmen. YOLO11, entwickelt von Ultralytics, bietet Objekterkennung in Echtzeit und ermöglicht es dem System, potenzielle Sicherheitsbedrohungen umgehend zu erkennen und darauf zu reagieren. Dieses Projekt bietet mehrere Vorteile:

  • Echtzeit-Erkennung: Die Effizienz von YOLO11 ermöglicht es dem Sicherheitsalarmsystem, Sicherheitsvorfälle in Echtzeit zu erkennen und darauf zu reagieren, wodurch die Reaktionszeit minimiert wird.
  • Genauigkeit: YOLO11 ist bekannt für seine Genauigkeit bei der Objekterkennung, wodurch Fehlalarme reduziert und die Zuverlässigkeit des Sicherheitsalarmsystems erhöht wird.
  • Integrationsmöglichkeiten: Das Projekt lässt sich nahtlos in die bestehende Sicherheitsinfrastruktur integrieren und bietet eine verbesserte Ebene intelligenter Überwachung.



Ansehen: Sicherheitsalarmsystem mit Ultralytics YOLO11 + Lösungen Objekterkennung

Hinweis

Die Generierung eines App-Passworts ist erforderlich

  • Navigieren zu App-Passwort-Generator, geben Sie einen App-Namen wie "Sicherheitsprojekt" an und besorgen Sie sich ein 16-stelliges Passwort. Kopieren Sie dieses Passwort und fügen Sie es in das dafür vorgesehene Feld ein password Feld im Code unten.

Sicherheitsalarmsystem mit Ultralytics YOLO

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# 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("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

from_email = "abc@gmail.com"  # the sender email address
password = "---- ---- ---- ----"  # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # the receiver email address

# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
    show=True,  # display the output
    model="yolo11n.pt",  # i.e. yolo11s.pt, yolo11m.pt
    records=1,  # total detections count to send an email
)

securityalarm.authenticate(from_email, password, to_email)  # authenticate the email server

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = securityalarm(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Das ist alles! Wenn Sie den Code ausführen, erhalten Sie eine einzige Benachrichtigung per E-Mail, wenn ein Objekt erkannt wird. Die Benachrichtigung wird sofort gesendet, nicht wiederholt. Sie können den Code jedoch gerne an Ihre Projektanforderungen anpassen.

Beispiel für eine empfangene E-Mail

Beispiel für eine empfangene E-Mail

SecurityAlarm Argumente

Hier ist eine Tabelle mit den SecurityAlarm Argumente:

Argument Typ Standard Beschreibung
model str None Pfad zur Ultralytics YOLO Modelldatei.
records int 5 Gesamtzahl der Erkennungen, um eine E-Mail mit einem Sicherheitsalarmsystem auszulösen.

Die SecurityAlarm Lösung unterstützt eine Vielzahl von track Parameter:

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.

Darüber hinaus stehen die folgenden Visualisierungseinstellungen zur Verfügung:

Argument Typ Standard Beschreibung
show bool False Wenn Trueaktiviert, 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.

Wie es funktioniert

Das Sicherheitsalarmsystem verwendet Objektverfolgung zur Überwachung von Video-Feeds und zur Erkennung potenzieller Sicherheitsbedrohungen. Wenn das System Objekte erkennt, die den angegebenen Schwellenwert überschreiten (festgelegt durch die records Parameter) sendet es automatisch eine E-Mail-Benachrichtigung mit einem Bildanhang, der die erkannten Objekte zeigt.

Das System nutzt die SecurityAlarm-Klasse, die Methoden für Folgendes bereitstellt:

  1. Verarbeiten von Frames und Extrahieren von Objekterkennungen
  2. Kommentieren Sie Frames mit Begrenzungsrahmen um erkannte Objekte
  3. E-Mail-Benachrichtigungen senden, wenn Erkennungsschwellenwerte überschritten werden

Diese Implementierung ist ideal für die Sicherheit zu Hause, die Einzelhandelsüberwachung und andere Überwachungsanwendungen, bei denen eine sofortige Benachrichtigung über erkannte Objekte von entscheidender Bedeutung ist.

FAQ

Wie verbessert Ultralytics YOLO11 die Genauigkeit eines Sicherheitsalarmsystems?

Ultralytics YOLO11 verbessert Sicherheitsalarmsysteme durch hochgenaue Objekterkennung in Echtzeit. Seine fortschrittlichen Algorithmen reduzieren Fehlalarme erheblich und stellen sicher, dass das System nur auf tatsächliche Bedrohungen reagiert. Diese erhöhte Zuverlässigkeit kann nahtlos in bestehende Sicherheitsinfrastrukturen integriert werden, wodurch die gesamte Überwachungsqualität verbessert wird.

Kann ich Ultralytics YOLO11 in meine bestehende Sicherheitsinfrastruktur integrieren?

Ja, Ultralytics YOLO11 kann nahtlos in Ihre bestehende Sicherheitsinfrastruktur integriert werden. Das System unterstützt verschiedene Modi und bietet Flexibilität für Anpassungen, sodass Sie Ihr bestehendes Setup mit fortschrittlichen Objekterkennungsfunktionen erweitern können. Detaillierte Anweisungen zur Integration von YOLO11 in Ihre Projekte finden Sie im Integrationsbereich.

Was sind die Speicheranforderungen für die Ausführung von Ultralytics YOLO11?

Das Ausführen von Ultralytics YOLO11 auf einer Standardkonfiguration erfordert typischerweise etwa 5 GB freien Festplattenspeicher. Dies beinhaltet Speicherplatz zum Speichern des YOLO11-Modells und aller zusätzlichen Abhängigkeiten. Für Cloud-basierte Lösungen bietet Ultralytics HUB eine effiziente Projektverwaltung und Datenverarbeitung, was den Speicherbedarf optimieren kann. Erfahren Sie mehr über den Pro Plan für erweiterte Funktionen, einschließlich erweitertem Speicher.

Was unterscheidet Ultralytics YOLO11 von anderen Objekterkennungsmodellen wie Faster R-CNN oder SSD?

Ultralytics YOLO11 bietet gegenüber Modellen wie Faster R-CNN oder SSD einen Vorteil durch seine Echtzeit-Erkennungsfähigkeiten und höhere Genauigkeit. Seine einzigartige Architektur ermöglicht es, Bilder viel schneller zu verarbeiten, ohne Kompromisse bei der Präzision einzugehen, was es ideal für zeitkritische Anwendungen wie Sicherheitsalarmsysteme macht. Einen umfassenden Vergleich von Objekterkennungsmodellen finden Sie in unserem Leitfaden.

Wie kann ich die Häufigkeit von Fehlalarmen in meinem Sicherheitssystem mit Ultralytics YOLO11 reduzieren?

Um falsch positive Ergebnisse zu reduzieren, stellen Sie sicher, dass Ihr Ultralytics YOLO11-Modell ausreichend mit einem vielfältigen und gut annotierten Datensatz trainiert ist. Das Feinabstimmen von Hyperparametern und das regelmäßige Aktualisieren des Modells mit neuen Daten kann die Erkennungsgenauigkeit erheblich verbessern. Detaillierte Hyperparameter-Optimierungstechniken finden Sie in unserem Hyperparameter-Optimierungsleitfaden.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Monaten

Kommentare