Vai al contenuto

Progetto di sistema di allarme di sicurezza con l'utilizzo di Ultralytics YOLO11

Sistema di allarme di sicurezza

Il progetto del sistema di allarme di sicurezza che utilizza Ultralytics YOLO11 integra funzionalità avanzate di visione computerizzata per migliorare le misure di sicurezza. YOLO11 Il sistema di visione computerizzata, sviluppato da Ultralytics, fornisce il rilevamento di oggetti in tempo reale, consentendo al sistema di identificare e rispondere tempestivamente a potenziali minacce alla sicurezza. Questo progetto offre diversi vantaggi:

  • Rilevamento in tempo reale: l 'efficienza di YOLO11 consente al sistema di allarme di rilevare e rispondere agli incidenti di sicurezza in tempo reale, riducendo al minimo i tempi di risposta.
  • Precisione: YOLO11 è noto per la sua precisione nel rilevamento degli oggetti, riducendo i falsi positivi e migliorando l'affidabilità del sistema di allarme di sicurezza.
  • Capacità di integrazione: Il progetto può essere perfettamente integrato con l'infrastruttura di sicurezza esistente, fornendo un livello superiore di sorveglianza intelligente.



Guarda: Sistema di allarme di sicurezza con Ultralytics YOLO11 + Soluzioni Rilevamento degli oggetti

Nota

La generazione di password per le app è necessaria

  • Andare a Generatore di password per app, designare un nome per l'applicazione, ad esempio "progetto sicurezza", e ottenere una password di 16 cifre. Copiare la password e incollarla nel campo password nel codice sottostante.

Sistema di allarme di sicurezza con 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

Tutto qui! Quando si esegue il codice, si riceve una singola notifica sulla propria e-mail se viene rilevato un oggetto. La notifica viene inviata immediatamente, non ripetutamente. Tuttavia, sentitevi liberi di personalizzare il codice per adattarlo alle esigenze del vostro progetto.

Campione di e-mail ricevute

Campione di e-mail ricevute

SecurityAlarm Argomenti

Ecco una tabella con i dati SecurityAlarm argomenti:

Argomento Tipo Predefinito Descrizione
model str None Percorso del file del modelloYOLO Ultralytics .
records int 5 Conteggio dei rilevamenti totali per attivare un'e-mail con il sistema di allarme di sicurezza.

Il SecurityAlarm La soluzione supporta una serie di track parametri:

Argomento Tipo Predefinito Descrizione
tracker str 'botsort.yaml' Specifica l'algoritmo di tracciamento da utilizzare, ad es, bytetrack.yaml o botsort.yaml.
conf float 0.3 Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare un maggior numero di oggetti, ma possono includere falsi positivi.
iou float 0.5 Imposta la soglia Intersection over Union (IoU) per il filtraggio dei rilevamenti sovrapposti.
classes list None Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] tiene traccia solo delle classi specificate.
verbose bool True Controlla la visualizzazione dei risultati del tracciamento, fornendo un output visivo degli oggetti tracciati.
device str None Specifica il dispositivo per l'inferenza (ad es, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, uno specifico GPU o altri dispositivi di calcolo per l'esecuzione del modello.

Inoltre, sono disponibili le seguenti impostazioni di visualizzazione:

Argomento Tipo Predefinito Descrizione
show bool False Se Truevisualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_width None or int None Specifica la larghezza della linea delle caselle di delimitazione. Se NoneLa larghezza della linea viene regolata automaticamente in base alle dimensioni dell'immagine. Fornisce una personalizzazione visiva per la chiarezza.

Come funziona

Il sistema di allarme di sicurezza utilizza tracciamento degli oggetti per monitorare i feed video e rilevare potenziali minacce alla sicurezza. Quando il sistema rileva oggetti che superano la soglia specificata (impostata dall'opzione records ), invia automaticamente una notifica via e-mail con un'immagine allegata che mostra gli oggetti rilevati.

Il sistema sfrutta la classe SecurityAlarm che fornisce metodi per:

  1. Elaborare i fotogrammi ed estrarre i rilevamenti degli oggetti
  2. Annotate i fotogrammi con riquadri di delimitazione intorno agli oggetti rilevati
  3. Inviare notifiche via e-mail quando vengono superate le soglie di rilevamento.

Questa implementazione è ideale per la sicurezza domestica, la sorveglianza dei negozi e altre applicazioni di monitoraggio in cui la notifica immediata degli oggetti rilevati è fondamentale.

FAQ

In che modo Ultralytics YOLO11 migliora la precisione di un sistema di allarme di sicurezza?

Ultralytics YOLO11 migliora i sistemi di allarme di sicurezza offrendo un rilevamento di oggetti ad alta precisione e in tempo reale. I suoi algoritmi avanzati riducono significativamente i falsi positivi, garantendo che il sistema risponda solo alle minacce reali. Questa maggiore affidabilità può essere perfettamente integrata con l'infrastruttura di sicurezza esistente, migliorando la qualità complessiva della sorveglianza.

È possibile integrare Ultralytics YOLO11 con l'infrastruttura di sicurezza esistente?

Sì, Ultralytics YOLO11 può essere perfettamente integrato con l'infrastruttura di sicurezza esistente. Il sistema supporta varie modalità e offre flessibilità di personalizzazione, consentendo di migliorare la configurazione esistente con funzionalità avanzate di rilevamento degli oggetti. Per istruzioni dettagliate sull'integrazione di YOLO11 nei vostri progetti, visitate la sezione dedicata all'integrazione.

Quali sono i requisiti di archiviazione per l'esecuzione di Ultralytics YOLO11 ?

L'esecuzione di Ultralytics YOLO11 su una configurazione standard richiede in genere circa 5 GB di spazio libero su disco. Questo include lo spazio per la memorizzazione del modello YOLO11 e di eventuali dipendenze aggiuntive. Per le soluzioni basate su cloud, Ultralytics HUB offre una gestione efficiente dei progetti e dei set di dati, che può ottimizzare le esigenze di archiviazione. Per saperne di più sul piano Pro, che offre funzioni avanzate, tra cui uno spazio di archiviazione più ampio.

Cosa rende Ultralytics YOLO11 diverso da altri modelli di rilevamento degli oggetti come Faster R-CNN o SSD?

Ultralytics YOLO11 offre un vantaggio rispetto a modelli come Faster R-CNN o SSD grazie alle sue capacità di rilevamento in tempo reale e alla sua maggiore precisione. La sua architettura unica gli consente di elaborare le immagini molto più velocemente senza compromettere la precisione, rendendolo ideale per le applicazioni sensibili ai tempi, come i sistemi di allarme di sicurezza. Per un confronto completo dei modelli di rilevamento degli oggetti, potete consultare la nostra guida.

Come posso ridurre la frequenza dei falsi positivi nel mio sistema di sicurezza utilizzando Ultralytics YOLO11 ?

Per ridurre i falsi positivi, assicurarsi che il modello Ultralytics YOLO11 sia adeguatamente addestrato con un set di dati diversificato e ben annotato. La messa a punto degli iperparametri e l'aggiornamento regolare del modello con nuovi dati possono migliorare significativamente l'accuratezza del rilevamento. Le tecniche dettagliate di regolazione degli iperparametri sono disponibili nella nostra guida alla regolazione degli iperparametri.

📅C reato 1 anno fa ✏️ Aggiornato 6 giorni fa

Commenti