Ultralytics YOLO27:
Get Started

Progetto di sistema di allarme di sicurezza con Ultralytics YOLO26#

AI-powered security alarm system with object detection

Il progetto di sistema di allarme di sicurezza basato su Ultralytics YOLO26 integra funzionalità avanzate di visione artificiale per potenziare le misure di sicurezza. YOLO26, sviluppato da Ultralytics, offre il rilevamento degli oggetti in tempo reale, consentendo al sistema di identificare e affrontare rapidamente potenziali minacce alla sicurezza. Questo progetto offre diversi vantaggi:

  • Rilevamento in tempo reale: l'efficienza di YOLO26 consente al sistema di allarme di sicurezza di rilevare e gestire gli incidenti di sicurezza in tempo reale, riducendo al minimo i tempi di risposta.
  • Precisione: YOLO26 è noto per la precisione nel rilevamento degli oggetti, che riduce i falsi positivi e aumenta l'affidabilità del sistema di allarme di sicurezza.
  • Funzionalità di integrazione: il progetto può integrarsi senza problemi con l'infrastruttura di sicurezza esistente, aggiungendo un livello potenziato di sorveglianza intelligente.


Guarda: Sistema di allarme di sicurezza con Ultralytics YOLO26 + Solutions Rilevamento di oggetti

Invia avvisi di sicurezza con YOLO26#

La soluzione SecurityAlarm monitora gli oggetti nel flusso video e invia un singolo avviso e-mail con un'immagine annotata in allegato non appena il numero di rilevamenti raggiunge la soglia records. Autentica un account Gmail con una password per le app, quindi esegui la soluzione sulla sorgente.

È necessaria una password per le app

Vai al Generatore di password per le app, assegna un nome all'app, ad esempio "progetto di sicurezza", e genera una password di 16 caratteri. Copia questa password e incollala nel campo password nel codice seguente.

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"

# Scrittore video
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"  # l'indirizzo e-mail del mittente
password = "---- ---- ---- ----"  # password per le app di 16 caratteri generata tramite: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # l'indirizzo e-mail del destinatario

# Inizializza l'oggetto del sistema di allarme di sicurezza
securityalarm = solutions.SecurityAlarm(
    show=True,  # visualizza l'output
    model="yolo26n.pt",  # ad es., yolo26s.pt, yolo26m.pt
    records=1,  # conteggio totale dei rilevamenti per inviare un'email
)

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

# Elabora il 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)  # accedi all'output

    video_writer.write(results.plot_im)  # scrivi il fotogramma elaborato.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # chiudi tutte le finestre aperte

Quando esegui il codice, riceverai una singola notifica email se viene rilevato un oggetto. La notifica viene inviata immediatamente, non ripetutamente. Puoi personalizzare il codice in base ai requisiti del tuo progetto.

Esempio di email ricevuta#

Security alert email notification example

Argomenti di SecurityAlarm#

Ecco una tabella con gli argomenti di SecurityAlarm:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso a un file modello Ultralytics YOLO.
recordsint5Numero totale di rilevazioni necessario per attivare un'email con l'allarme di sicurezza.
line_widthint2Spessore delle linee dei riquadri, dei punti chiave e dei conteggi disegnati dalla soluzione.
verboseboolTrueAbilita il log per frame della soluzione, con forma dell'input, conteggi per classe e velocità di elaborazione. La chiamata di tracking è sempre silenziosa.

La soluzione SecurityAlarm supporta diversi parametri di track:

ArgomentoTipoPredefinitoDescrizione
trackerstr'tracktrack.yaml'Specifica l'algoritmo di tracciamento da usare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Imposta la soglia di confidenza per le rilevazioni; valori più bassi consentono di tracciare più oggetti, ma possono includere falsi positivi.
ioufloat0.7Imposta la soglia di Intersezione sull'unione (IoU) per filtrare le rilevazioni sovrapposte.
classeslistNoneFiltra i risultati in base all'indice della classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
devicestrNoneSpecifica il dispositivo per l'inferenza (ad es. cpu, cuda:0 o 0). Consente di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello.
imgszint or tuple640Dimensione dell'immagine di destinazione per l'inferenza: un intero per un'immagine quadrata o una coppia (height, width). Le forme vengono adattate allo stride del modello.
max_detint300Numero massimo di rilevazioni da mantenere per fotogramma prima del tracciamento, che limita gli oggetti elaborati da una soluzione nelle scene dense.
quantizeint or strNonePrecisione dell'inferenza: 16 (FP16) oppure 32/non impostata (FP32) per i modelli PyTorch e TorchScript; gli altri formati eseguono i calcoli con la precisione scelta dall'artefatto e dal runtime. Sostituisce il flag deprecato half.

Inoltre, sono disponibili le seguenti impostazioni di visualizzazione:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, mostra le immagini o i video annotati in una finestra. Utile per ottenere un riscontro visivo immediato durante lo sviluppo o i test.
show_confboolTrueMostra il punteggio di confidenza di ogni rilevamento accanto all'etichetta. Fornisce indicazioni sul grado di certezza del modello per ciascun rilevamento.
show_labelsboolTrueMostra le etichette di ogni rilevamento nell'output visivo. Permette di identificare immediatamente gli oggetti rilevati.

Come funziona#

Il sistema di allarme di sicurezza usa il tracciamento degli oggetti per monitorare i flussi video e rilevare potenziali minacce alla sicurezza. Quando il numero di oggetti rilevati in un fotogramma raggiunge la soglia specificata (impostata dal parametro records), invia automaticamente una notifica email 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. Annotare i fotogrammi con riquadri di delimitazione attorno agli oggetti rilevati
  3. Inviare notifiche email quando vengono raggiunte le soglie di rilevamento

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

Domande frequenti#

  • Ultralytics YOLO26 migliora i sistemi di allarme di sicurezza offrendo il rilevamento degli oggetti in tempo reale e con un'elevata precisione. I suoi algoritmi avanzati riducono notevolmente i falsi positivi, assicurando che il sistema reagisca solo a minacce reali. Questa maggiore affidabilità si integra senza problemi con l'infrastruttura di sicurezza esistente, migliorando la qualità complessiva della sorveglianza.

  • Sì, Ultralytics YOLO26 può integrarsi senza problemi con la tua infrastruttura di sicurezza esistente. Il sistema supporta diverse modalità e offre flessibilità per la personalizzazione, consentendoti di migliorare la configurazione esistente con funzionalità avanzate di rilevamento degli oggetti. Per istruzioni dettagliate sull'integrazione di YOLO26 nei tuoi progetti, visita la sezione dedicata all'integrazione.

  • Per eseguire Ultralytics YOLO26 con una configurazione standard sono in genere necessari circa 5 GB di spazio libero su disco. Questo spazio include il modello YOLO26 e tutte le dipendenze aggiuntive. Per le soluzioni basate sul cloud, Ultralytics Platform offre una gestione efficiente dei progetti e dei dataset, che può ottimizzare le esigenze di archiviazione. Scopri di più sul Piano Pro per accedere a funzionalità avanzate, tra cui maggiore spazio di archiviazione.

  • Ultralytics YOLO26 si distingue da modelli come Faster R-CNN o SSD per le capacità di rilevamento in tempo reale e la maggiore precisione. La sua architettura specifica gli consente di elaborare le immagini molto più rapidamente senza compromettere la precisione, rendendolo ideale per applicazioni con tempi critici come i sistemi di allarme di sicurezza. Per un confronto completo dei modelli di rilevamento degli oggetti, consulta la nostra guida.

  • Per ridurre i falsi positivi, assicurati che il tuo modello Ultralytics YOLO26 sia addestrato adeguatamente con un dataset variegato e ben annotato. Ottimizzare gli iperparametri e aggiornare regolarmente il modello con nuovi dati può migliorare notevolmente la precisione del rilevamento. Nella nostra guida all'ottimizzazione degli iperparametri trovi tecniche dettagliate di ottimizzazione degli iperparametri.

Commenti