Link to this sectionProgetto di sistema di allarme di sicurezza utilizzando Ultralytics YOLO26#
Il progetto di sistema di allarme di sicurezza che utilizza Ultralytics YOLO26 integra funzionalità avanzate di computer vision per migliorare le misure di sicurezza. YOLO26, sviluppato da Ultralytics, fornisce object detection 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 YOLO26 consente al sistema di allarme di sicurezza di rilevare e rispondere agli incidenti di sicurezza in tempo reale, riducendo al minimo i tempi di risposta.
- Accuratezza: YOLO26 è noto per la sua accuratezza nell'object detection, riducendo i falsi positivi e migliorando l'affidabilità del sistema di allarme di sicurezza.
- Capacità di integrazione: Il progetto può essere integrato senza problemi con l'infrastruttura di sicurezza esistente, fornendo un livello potenziato di sorveglianza intelligente.
Link to this sectionInvia avvisi di sicurezza con YOLO26#
La soluzione SecurityAlarm traccia gli oggetti nel tuo feed video e invia un singolo avviso via email con un'immagine annotata allegata non appena il numero di rilevamenti raggiunge la soglia records. Autentica un account Gmail con una password dell'app, quindi esegui la soluzione sulla tua sorgente.
Nota
La generazione della password dell'app è necessaria
- Vai al Generatore di password dell'app, assegna un nome all'app come "security project" e ottieni una password a 16 cifre. Copia questa password e incollala nel campo
passworddesignato nel codice qui sotto.
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 windowsQuando 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.
Link to this sectionEsempio di email ricevuta#
Link to this sectionArgomenti di SecurityAlarm#
Ecco una tabella con gli argomenti di SecurityAlarm:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
records | int | 5 | Conteggio totale dei rilevamenti per attivare un'email con il sistema di allarme di sicurezza. |
La soluzione SecurityAlarm supporta una varietà di parametri di track:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracciamento da utilizzare. Opzioni integrate: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma possono includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio, cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una GPU specifica 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 True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test. |
line_width | int or None | None | Specifica la larghezza della linea dei bounding box. Se None, la larghezza della linea viene regolata automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per chiarezza. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
Link to this sectionCome funziona#
Il sistema di allarme di sicurezza utilizza il 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 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:
- Elaborare i frame ed estrarre i rilevamenti degli oggetti
- Annotare i frame con bbox attorno agli oggetti rilevati
- Inviare notifiche email quando vengono superate le soglie di rilevamento
Questa implementazione è ideale per la sicurezza domestica, la sorveglianza della vendita al dettaglio e altre applicazioni di monitoraggio in cui la notifica immediata degli oggetti rilevati è fondamentale.
Link to this sectionFAQ#
Link to this sectionIn che modo Ultralytics YOLO26 migliora l'accuratezza di un sistema di allarme di sicurezza?#
Ultralytics YOLO26 migliora i sistemi di allarme di sicurezza fornendo un'object detection in tempo reale ad alta accuratezza. I suoi algoritmi avanzati riducono significativamente i falsi positivi, assicurando che il sistema risponda solo a minacce autentiche. Questa maggiore affidabilità può essere integrata senza problemi con l'infrastruttura di sicurezza esistente, migliorando la qualità complessiva della sorveglianza.
Link to this sectionPosso integrare Ultralytics YOLO26 con la mia infrastruttura di sicurezza esistente?#
Sì, Ultralytics YOLO26 può essere integrato perfettamente con la tua infrastruttura di sicurezza esistente. Il sistema supporta varie modalità e offre flessibilità per la personalizzazione, permettendoti di migliorare la tua configurazione attuale con capacità avanzate di rilevamento oggetti. Per istruzioni dettagliate sull'integrazione di YOLO26 nei tuoi progetti, visita la sezione integrazioni.
Link to this sectionQuali sono i requisiti di archiviazione per eseguire Ultralytics YOLO26?#
L'esecuzione di Ultralytics YOLO26 su una configurazione standard richiede solitamente circa 5GB di spazio libero su disco. Questo include lo spazio per l'archiviazione del modello YOLO26 e qualsiasi dipendenza aggiuntiva. Per le soluzioni basate su cloud, Ultralytics Platform offre una gestione efficiente dei progetti e dei dataset, che può ottimizzare le esigenze di archiviazione. Scopri di più sul Pro Plan per funzionalità avanzate, inclusa l'archiviazione estesa.
Link to this sectionCosa rende Ultralytics YOLO26 diverso da altri modelli di object detection come Faster R-CNN o SSD?#
Ultralytics YOLO26 offre un vantaggio rispetto a modelli come Faster R-CNN o SSD grazie alle sue capacità di rilevamento in tempo reale e a una maggiore precisione. La sua architettura unica gli consente di elaborare le immagini molto più velocemente senza compromettere la precisione, rendendolo ideale per applicazioni sensibili al tempo come i sistemi di allarme di sicurezza. Per un confronto completo dei modelli di rilevamento oggetti, puoi esplorare la nostra guida.
Link to this sectionCome posso ridurre la frequenza dei falsi positivi nel mio sistema di sicurezza utilizzando Ultralytics YOLO26?#
Per ridurre i falsi positivi, assicurati che il tuo modello Ultralytics YOLO26 sia adeguatamente addestrato con un dataset diversificato e ben annotato. Il fine-tuning degli iperparametri e l'aggiornamento regolare del modello con nuovi dati possono migliorare significativamente l'accuratezza del rilevamento. Tecniche dettagliate di hyperparameter tuning possono essere trovate nella nostra guida al tuning degli iperparametri.