Ultralytics YOLO27 :
Get Started

Projet de système d’alarme de sécurité avec Ultralytics YOLO26#

AI-powered security alarm system with object detection

Le projet de système d’alarme de sécurité utilisant Ultralytics YOLO26 intègre des capacités avancées de vision par ordinateur pour renforcer les mesures de sécurité. YOLO26, développé par Ultralytics, assure la détection d’objets en temps réel, ce qui permet au système d’identifier rapidement les menaces potentielles et d’y répondre. Ce projet offre plusieurs avantages :

  • Détection en temps réel : l’efficacité de YOLO26 permet au système d’alarme de sécurité de détecter les incidents de sécurité et d’y répondre en temps réel, ce qui réduit le temps de réaction.
  • Précision : YOLO26 est réputé pour la précision de sa détection d’objets, ce qui réduit les faux positifs et améliore la fiabilité du système d’alarme de sécurité.
  • Capacités d’intégration : le projet s’intègre facilement à l’infrastructure de sécurité existante et ajoute une couche améliorée de surveillance intelligente.


Regarder : Système d’alarme de sécurité avec Ultralytics YOLO26 + Solutions Détection d’objets

Envoie des alertes de sécurité avec YOLO26#

La solution SecurityAlarm suit les objets dans ton flux vidéo et envoie une seule alerte par e-mail avec une image annotée en pièce jointe dès que le nombre de détections atteint le seuil records. Authentifie un compte Gmail à l’aide d’un mot de passe d’application, puis exécute la solution sur ta source.

Mot de passe d’application requis

Accède au générateur de mots de passe d’application, indique un nom d’application, par exemple « projet de sécurité », et obtiens un mot de passe de 16 caractères. Copie ce mot de passe et colle-le dans le champ password du code ci-dessous.

Système d’alarme de sécurité avec Ultralytics YOLO
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Écriture de la vidéo
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’adresse e-mail de l’expéditeur
password = "---- ---- ---- ----"  # mot de passe d’application de 16 caractères généré via : https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # l’adresse e-mail du destinataire

# Initialiser l’objet d’alarme de sécurité
securityalarm = solutions.SecurityAlarm(
    show=True,  # afficher le résultat
    model="yolo26n.pt",  # par exemple, yolo26s.pt, yolo26m.pt
    records=1,  # nombre total de détections pour envoyer un e-mail
)

securityalarm.authenticate(from_email, password, to_email)  # authentifier le serveur de messagerie

# Traiter la vidéo
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)  # accéder aux résultats

    video_writer.write(results.plot_im)  # Écrire l’image traitée.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # fermer toutes les fenêtres ouvertes

Lorsque tu exécutes le code, tu reçois une seule notification par e-mail si un objet est détecté. La notification est envoyée immédiatement, sans être répétée. Tu peux personnaliser le code selon les besoins de ton projet.

Exemple d’e-mail reçu#

Security alert email notification example

Arguments de SecurityAlarm#

Voici un tableau des arguments de SecurityAlarm :

ArgumentTypeValeur par défautDescription
modelstrNoneChemin vers un fichier de modèle Ultralytics YOLO.
recordsint5Nombre total de détections nécessaire pour déclencher un e-mail avec le système d’alarme de sécurité.
line_widthint2Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution.
verboseboolTrueActive le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux.

La solution SecurityAlarm prend en charge différents paramètres track :

ArgumentTypeValeur par défautDescription
trackerstr'tracktrack.yaml'Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs.
ioufloat0.7Définit le seuil d'intersection sur l'union (IoU) utilisé pour filtrer les détections qui se chevauchent.
classeslistNoneFiltre les résultats selon l'indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées.
devicestrNoneIndique le périphérique utilisé pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle.
imgszint or tuple640Taille cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle.
max_detint300Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses.
quantizeint or strNonePrécision de l'inférence : 16 (FP16) ou 32/non défini (FP32) pour les modèles PyTorch et TorchScript ; les autres formats utilisent la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'option obsolète half.

De plus, les paramètres de visualisation suivants sont disponibles :

ArgumentTypeValeur par défautDescription
showboolFalseSi True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour obtenir un retour visuel immédiat pendant le développement ou les tests.
show_confboolTrueAffiche le score de confiance de chaque détection à côté de son étiquette. Donne une indication du degré de certitude du modèle pour chaque détection.
show_labelsboolTrueAffiche les étiquettes de chaque détection dans le résultat visuel. Permet d'identifier immédiatement les objets détectés.

Fonctionnement#

Le système d’alarme de sécurité utilise le suivi d’objets pour surveiller les flux vidéo et détecter les menaces potentielles. Lorsque le nombre d’objets détectés dans une image atteint le seuil spécifié (défini par le paramètre records), le système envoie automatiquement une notification par e-mail avec une image jointe montrant les objets détectés.

Le système s’appuie sur la classe SecurityAlarm, qui fournit des méthodes pour :

  1. Traiter les images et extraire les détections d’objets
  2. Annoter les images en ajoutant des cadres de délimitation autour des objets détectés
  3. Envoyer des notifications par e-mail lorsque les seuils de détection sont atteints

Cette implémentation est idéale pour la sécurité à domicile, la surveillance des commerces et d’autres applications de surveillance où il est essentiel d’être immédiatement averti des objets détectés.

FAQ#

  • Ultralytics YOLO26 améliore les systèmes d’alarme de sécurité en offrant une détection d’objets très précise en temps réel. Ses algorithmes avancés réduisent considérablement les faux positifs, afin que le système ne réagisse qu’aux menaces réelles. Cette fiabilité accrue s’intègre facilement à l’infrastructure de sécurité existante et améliore la qualité globale de la surveillance.

  • Oui, Ultralytics YOLO26 peut s’intégrer facilement à ton infrastructure de sécurité existante. Le système prend en charge différents modes et offre une grande flexibilité de personnalisation, ce qui te permet d’améliorer ta configuration actuelle grâce à des capacités avancées de détection d’objets. Pour obtenir des instructions détaillées sur l’intégration de YOLO26 à tes projets, consulte la section sur l’intégration.

  • L’exécution d’Ultralytics YOLO26 sur une configuration standard nécessite généralement environ 5 Go d’espace disque libre. Cet espace comprend le modèle YOLO26 et toutes les dépendances supplémentaires. Pour les solutions cloud, l’Ultralytics Platform offre une gestion efficace des projets et des jeux de données, ce qui peut optimiser les besoins de stockage. Découvre le forfait Pro pour profiter de fonctionnalités avancées, notamment d’un espace de stockage étendu.

  • Ultralytics YOLO26 se démarque de modèles comme Faster R-CNN ou SSD par ses capacités de détection en temps réel et sa précision supérieure. Son architecture unique lui permet de traiter les images beaucoup plus rapidement sans compromettre la précision, ce qui en fait un modèle idéal pour les applications où le temps compte, comme les systèmes d’alarme de sécurité. Pour une comparaison complète des modèles de détection d’objets, consulte notre guide.

  • Pour réduire les faux positifs, assure-toi que ton modèle Ultralytics YOLO26 est correctement entraîné sur un jeu de données diversifié et bien annoté. Le réglage fin des hyperparamètres et la mise à jour régulière du modèle avec de nouvelles données peuvent améliorer considérablement la précision de la détection. Tu trouveras des techniques détaillées de réglage des hyperparamètres dans notre guide sur le réglage des hyperparamètres.

Commentaires