Projet de système d'alarme de sécurité Utilisation Ultralytics YOLO11
Le projet de système d'alarme de sécurité utilisant Ultralytics YOLO11 intègre des capacités avancées de vision par ordinateur pour améliorer les mesures de sécurité. YOLO11 Le système de vision artificielle, développé par Ultralytics, permet de détecter les objets en temps réel, ce qui permet au système d'identifier les menaces potentielles pour la sécurité et d'y répondre rapidement. Ce projet présente plusieurs avantages :
- Détection en temps réel : l'efficacité de YOLO11's permet au système d'alarme de sécurité de détecter et de répondre aux incidents de sécurité en temps réel, minimisant ainsi le temps de réponse.
- Précision: YOLO11 est connu pour sa précision dans la détection des objets, ce qui permet de réduire les faux positifs et d'améliorer la fiabilité du système d'alarme de sécurité.
- Capacités d'intégration : Le projet peut être intégré de manière transparente à l'infrastructure de sécurité existante, offrant ainsi une couche supplémentaire de surveillance intelligente.
Regarder : Système d'alarme de sécurité avec Ultralytics YOLO11 + Solutions Détection d'objets
Note
La génération d'un mot de passe pour l'application est nécessaire
- Naviguez jusqu'à Générateur de mot de passe d'application, désignez un nom d'application tel que "projet de sécurité" et obtenez un mot de passe à 16 chiffres. Copiez ce mot de passe et collez-le dans le champ
password
dans le code ci-dessous.
Système d'alarme de sécurité utilisant 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
Le tour est joué ! Lorsque vous exécutez le code, vous recevez une notification unique sur votre courrier électronique si un objet est détecté. La notification est envoyée immédiatement, et non de manière répétée. Cependant, n'hésitez pas à personnaliser le code pour l'adapter aux exigences de votre projet.
Exemple de courriel reçu
SecurityAlarm
Arguments
Voici un tableau avec les SecurityAlarm
arguments :
Argument | Type | Défaut | Description |
---|---|---|---|
model |
str |
None |
Chemin d'accès au fichier modèleYOLO d'Ultralytics . |
records |
int |
5 |
Nombre total de détections pour déclencher un e-mail avec le système d'alarme de sécurité. |
Le SecurityAlarm
La solution de l'UE prend en charge un grand nombre d'applications track
paramètres :
Argument | Type | Défaut | Description |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Spécifie l'algorithme de suivi à utiliser, par exemple, bytetrack.yaml ou botsort.yaml . |
conf |
float |
0.3 |
Définit le seuil de confiance pour les détections ; des valeurs plus faibles permettent de suivre plus d'objets mais peuvent inclure des faux positifs. |
iou |
float |
0.5 |
Définit le seuil d'intersection sur l'union (IoU) pour le filtrage des détections qui se chevauchent. |
classes |
list |
None |
Filtre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées. |
verbose |
bool |
True |
Contrôle l'affichage des résultats du suivi, fournissant une sortie visuelle des objets suivis. |
device |
str |
None |
Spécifie le dispositif d'inférence (par ex, cpu , cuda:0 ou 0 ). Permet aux utilisateurs de choisir entre CPU, un GPU spécifique ou d'autres dispositifs de calcul pour l'exécution du modèle. |
En outre, les paramètres de visualisation suivants sont disponibles :
Argument | Type | Défaut | Description |
---|---|---|---|
show |
bool |
False |
Si True affiche les images ou vidéos annotées dans une fenêtre. Utile pour un retour d'information visuel immédiat pendant le développement ou les tests. |
line_width |
None or int |
None |
Spécifie la largeur de ligne des boîtes de délimitation. Si les None La largeur de la ligne est automatiquement ajustée en fonction de la taille de l'image. Permet une personnalisation visuelle pour plus de clarté. |
Comment ça marche
Le système d'alarme de sécurité utilise suivi des objets pour surveiller les flux vidéo et détecter les menaces potentielles pour la sécurité. Lorsque le système détecte des objets qui dépassent le seuil spécifié (défini par la fonction records
), il envoie automatiquement une notification par courrier électronique avec une image en pièce jointe montrant les objets détectés.
Le système s'appuie sur la classe SecurityAlarm qui fournit des méthodes pour :
- Traiter les images et extraire les détections d'objets
- Annoter les images avec des boîtes de délimitation autour des objets détectés
- Envoi de notifications par courrier électronique en cas de dépassement des seuils de détection
Cette mise en œuvre est idéale pour la sécurité domestique, la surveillance du commerce de détail et d'autres applications de contrôle où la notification immédiate des objets détectés est essentielle.
FAQ
Comment Ultralytics YOLO11 améliore-t-il la précision d'un système d'alarme de sécurité ?
Ultralytics YOLO11 améliore les systèmes d'alarme de sécurité en offrant une détection d'objets en temps réel et de haute précision. Ses algorithmes avancés réduisent considérablement les faux positifs, garantissant que le système ne réagit qu'aux menaces réelles. Cette fiabilité accrue peut être intégrée de manière transparente à l'infrastructure de sécurité existante, améliorant ainsi la qualité globale de la surveillance.
Puis-je intégrer Ultralytics YOLO11 à mon infrastructure de sécurité existante ?
Oui, Ultralytics YOLO11 peut être intégré de manière transparente à votre infrastructure de sécurité existante. Le système prend en charge différents modes et offre une grande souplesse de personnalisation, ce qui vous permet d'améliorer votre installation existante grâce à des capacités avancées de détection d'objets. Pour obtenir des instructions détaillées sur l'intégration de YOLO11 dans vos projets, consultez la section sur l'intégration.
Quelles sont les exigences en matière de stockage pour l'exécution de Ultralytics YOLO11 ?
L'exécution d'Ultralytics YOLO11 sur une configuration standard nécessite généralement environ 5 Go d'espace disque libre. Cela comprend l'espace pour stocker le modèle YOLO11 et toutes les dépendances supplémentaires. Pour les solutions basées sur le cloud, Ultralytics HUB offre une gestion efficace des projets et des ensembles de données, ce qui peut optimiser les besoins en stockage. En savoir plus sur le Plan Pro pour des fonctionnalités améliorées, y compris un espace de stockage plus important.
Qu'est-ce qui différencie Ultralytics YOLO11 d'autres modèles de détection d'objets tels que Faster R-CNN ou SSD ?
Ultralytics YOLO11 offre une longueur d'avance sur les modèles tels que Faster R-CNN ou SSD grâce à ses capacités de détection en temps réel et à sa plus grande précision. Son architecture unique lui permet de traiter les images beaucoup plus rapidement sans compromettre la précision, ce qui le rend idéal pour les applications sensibles au temps comme les systèmes d'alarme de sécurité. Pour une comparaison complète des modèles de détection d'objets, vous pouvez consulter notre guide.
Comment puis-je réduire la fréquence des faux positifs dans mon système de sécurité en utilisant Ultralytics YOLO11 ?
Pour réduire le nombre de faux positifs, veillez à ce que votre modèle Ultralytics YOLO11 soit correctement entraîné à l'aide d'un ensemble de données diversifié et bien annoté. Un réglage précis des hyperparamètres et une mise à jour régulière du modèle avec de nouvelles données peuvent améliorer de manière significative la précision de la détection. Vous trouverez des techniques détaillées de réglage des hyperparamètres dans notre guide de réglage des hyperparamètres.