Sicherheitsalarmsystem-Projekt mit Ultralytics YOLO26

AI-powered security alarm system with object detection

Das Sicherheitsalarmsystem-Projekt, das Ultralytics YOLO26 nutzt, integriert fortschrittliche Computer Vision-Funktionen, um Sicherheitsmaßnahmen zu verbessern. Das von Ultralytics entwickelte YOLO26 bietet eine Objekterkennung in Echtzeit, wodurch das System potenzielle Sicherheitsbedrohungen schnell identifizieren und darauf reagieren kann. Dieses Projekt bietet mehrere Vorteile:

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


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection
Hinweis

Die Generierung eines App-Passworts ist erforderlich

  • Navigiere zum App-Passwort-Generator, lege einen App-Namen wie „Sicherheitsprojekt“ fest und erhalte ein 16-stelliges Passwort. Kopiere dieses Passwort und füge es in das vorgesehene password-Feld im Code unten ein.
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="yolo26n.pt",  # e.g., yolo26s.pt, yolo26m.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

Wenn du den Code ausführst, erhältst du eine einzige E-Mail-Benachrichtigung, falls ein Objekt erkannt wird. Die Benachrichtigung wird sofort versendet, nicht wiederholt. Du kannst den Code an deine Projektanforderungen anpassen.

Beispiel für eine erhaltene E-Mail

Security alert email notification example

SecurityAlarm-Argumente

Hier ist eine Tabelle mit den SecurityAlarm-Argumenten:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics YOLO-Modelldatei.
recordsint5Gesamtanzahl der Erkennungen, um eine E-Mail mit dem Sicherheitsalarmsystem auszulösen.

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

ArgumentTypStandardBeschreibung
trackerstr'botsort.yaml'Legt den zu verwendenden Tracking-Algorithmus fest, z. B. bytetrack.yaml oder botsort.yaml.
conffloat0.1Legt 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.
ioufloat0.7Legt den Intersection over Union (IoU) Schwellenwert zum Filtern überlappender Detektionen fest.
classeslistNoneFiltert Ergebnisse nach Klassen-Index. Beispiel: classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verboseboolTrueSteuert die Anzeige der Tracking-Ergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.
devicestrNoneSpezifiziert 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.

Darüber hinaus sind die folgenden Visualisierungseinstellungen verfügbar:

ArgumentTypStandardBeschreibung
showboolFalseWenn 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_widthint or NoneNoneGibt 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_confboolTrueZeigt den Konfidenzwert für jede Erkennung neben dem Label an. Gibt Aufschluss über die Sicherheit des Modells bei jeder Erkennung.
show_labelsboolTrueZeigt Labels für jede Erkennung in der visuellen Ausgabe an. Bietet unmittelbares Verständnis der erkannten Objekte.

Wie es funktioniert

Das Sicherheitsalarmsystem nutzt Objekt-Tracking, um Video-Feeds zu überwachen und potenzielle Sicherheitsbedrohungen zu erkennen. Wenn das System Objekte erkennt, die den angegebenen Schwellenwert (festgelegt durch den records-Parameter) überschreiten, sendet es automatisch eine E-Mail-Benachrichtigung mit einem Bildanhang, der die erkannten Objekte zeigt.

Das System nutzt die SecurityAlarm-Klasse, die Methoden bereitstellt, um:

  1. Frames zu verarbeiten und Objekterkennungen zu extrahieren
  2. Frames mit Begrenzungsrahmen um erkannte Objekte zu versehen
  3. E-Mail-Benachrichtigungen zu senden, wenn Erkennungsschwellenwerte überschritten werden

Diese Implementierung ist ideal für Haussicherheit, Einzelhandelsüberwachung und andere Überwachungsanwendungen, bei denen eine sofortige Benachrichtigung über erkannte Objekte entscheidend ist.

FAQ

Wie verbessert Ultralytics YOLO26 die Genauigkeit eines Sicherheitsalarmsystems?

Ultralytics YOLO26 verbessert Sicherheitsalarmsysteme durch hochpräzise Objekterkennung in Echtzeit. Die fortschrittlichen Algorithmen reduzieren Fehlalarme erheblich und stellen sicher, dass das System nur auf echte Bedrohungen reagiert. Diese erhöhte Zuverlässigkeit lässt sich nahtlos in bestehende Sicherheitsinfrastrukturen integrieren und verbessert die allgemeine Überwachungsqualität.

Kann ich Ultralytics YOLO26 in meine bestehende Sicherheitsinfrastruktur integrieren?

Ja, Ultralytics YOLO26 kann nahtlos in deine bestehende Sicherheitsinfrastruktur integriert werden. Das System unterstützt verschiedene Modi und bietet Flexibilität für Anpassungen, sodass du dein bestehendes Setup mit fortschrittlichen Objekterkennungsfunktionen erweitern kannst. Detaillierte Anweisungen zur Integration von YOLO26 in deine Projekte findest du im Integrationsbereich.

Welche Speicheranforderungen gelten für den Betrieb von Ultralytics YOLO26?

Das Ausführen von Ultralytics YOLO26 auf einem Standard-Setup erfordert normalerweise etwa 5 GB freien Festplattenspeicher. Dies beinhaltet Platz für die Speicherung des YOLO26-Modells und aller zusätzlichen Abhängigkeiten. Für Cloud-basierte Lösungen bietet die Ultralytics-Plattform effizientes Projektmanagement und Dataset-Handling, was den Speicherbedarf optimieren kann. Erfahre mehr über den Pro-Plan für erweiterte Funktionen, einschließlich erweitertem Speicher.

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

Ultralytics YOLO26 bietet gegenüber Modellen wie Faster R-CNN oder SSD einen Vorsprung durch seine Echtzeit-Erkennungsfunktionen und höhere Genauigkeit. Seine einzigartige Architektur ermöglicht es, Bilder viel schneller zu verarbeiten, ohne die Präzision zu beeinträchtigen, was es ideal für zeitkritische Anwendungen wie Sicherheitsalarmsysteme macht. Für einen umfassenden Vergleich von Objekterkennungsmodellen kannst du unseren Leitfaden erkunden.

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

Um Fehlalarme zu reduzieren, stelle sicher, dass dein Ultralytics YOLO26-Modell ausreichend mit einem vielfältigen und gut annotierten Dataset trainiert wurde. Die Feinabstimmung der Hyperparameter und die regelmäßige Aktualisierung des Modells mit neuen Daten können die Erkennungsgenauigkeit erheblich verbessern. Detaillierte Techniken zur Hyperparameter-Optimierung findest du in unserem Leitfaden zur Hyperparameter-Optimierung.

Kommentare