Ultralytics YOLO27:

Proyecto de sistema de alarma de seguridad con Ultralytics YOLO26#

AI-powered security alarm system with object detection

El proyecto de sistema de alarma de seguridad que utiliza Ultralytics YOLO26 integra capacidades avanzadas de visión artificial para mejorar las medidas de seguridad. YOLO26, desarrollado por Ultralytics, proporciona detección de objetos en tiempo real, lo que permite al sistema identificar y responder rápidamente a posibles amenazas de seguridad. Este proyecto ofrece varias ventajas:

  • Detección en tiempo real: La eficiencia de YOLO26 permite al sistema de alarma de seguridad detectar y responder a incidentes de seguridad en tiempo real, minimizando el tiempo de respuesta.
  • Precisión: YOLO26 es conocido por su precisión en la detección de objetos, lo que reduce los falsos positivos y mejora la fiabilidad del sistema de alarma de seguridad.
  • Capacidades de integración: El proyecto puede integrarse fácilmente con la infraestructura de seguridad existente, proporcionando una capa mejorada de vigilancia inteligente.


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection

Envía alertas de seguridad con YOLO26#

La solución SecurityAlarm realiza el seguimiento de objetos en tu flujo de vídeo y envía una única alerta por correo electrónico con una imagen anotada adjunta en cuanto el número de detecciones alcanza el umbral records. Autentica una cuenta de Gmail con una contraseña de aplicación y, después, ejecuta la solución con tu fuente.

Se requiere contraseña de aplicación

Navega al Generador de contraseñas de aplicaciones, designa un nombre para la aplicación como "security project" y obtén una contraseña de 16 dígitos. Copia la contraseña y pégala en el campo password en el código de abajo.

Sistema de alarma de seguridad 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="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 windows

Cuando ejecutes el código, recibirás una única notificación por correo electrónico si se detecta algún objeto. La notificación se envía inmediatamente, no de forma repetida. Puedes personalizar el código para adaptarlo a los requisitos de tu proyecto.

Ejemplo de correo electrónico recibido#

Security alert email notification example

Argumentos de SecurityAlarm#

Aquí tienes una tabla con los argumentos de SecurityAlarm:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta al archivo del modelo YOLO de Ultralytics.
recordsint5Número total de detecciones necesario para activar un correo electrónico con el sistema de alarma de seguridad.
line_widthint2Grosor de línea de las cajas, los puntos clave y los recuentos que dibuja la solución.
verboseboolTrueActiva el registro por fotograma de la solución, que incluye la forma de entrada, los recuentos de clases y la velocidad de procesamiento. La llamada de seguimiento en sí siempre es silenciosa.

La solución SecurityAlarm admite diversos parámetros track:

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento que se utilizará. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza para las detecciones; los valores más bajos permiten seguir más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de intersección sobre unión (IoU) para filtrar las detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (por ejemplo, cpu, cuda:0 o 0). Permite seleccionar entre la CPU, una GPU específica u otros dispositivos de cálculo para ejecutar el modelo.
imgszint or tuple640Tamaño de imagen de inferencia objetivo: un número entero para una imagen cuadrada o un par (height, width). Las formas se ajustan al paso del modelo.
max_detint300Número máximo de detecciones conservadas por fotograma antes del seguimiento, lo que limita los objetos que procesa una solución en escenas densas.
quantizeint or strNonePrecisión de inferencia: 16 (FP16) o 32/sin definir (FP32) para los modelos de PyTorch y TorchScript; otros formatos calculan a la precisión que seleccionan su artefacto y su motor de ejecución. Sustituye al indicador obsoleto half.

Además, están disponibles los siguientes ajustes de visualización:

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi True, muestra las imágenes o vídeos anotados en una ventana. Es útil para obtener información visual inmediata durante el desarrollo o las pruebas.
show_confboolTrueMuestra la puntuación de confianza de cada detección junto a su etiqueta. Permite conocer el grado de certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas de cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Cómo funciona#

El sistema de alarma de seguridad utiliza el seguimiento de objetos para supervisar los flujos de vídeo y detectar posibles amenazas de seguridad. Cuando el sistema detecta objetos que superan el umbral especificado, establecido mediante el parámetro records, envía automáticamente una notificación por correo electrónico con una imagen adjunta en la que se muestran los objetos detectados.

El sistema utiliza la clase SecurityAlarm, que proporciona métodos para:

  1. Procesar fotogramas y extraer detecciones de objetos
  2. Anotar fotogramas con cuadros delimitadores alrededor de los objetos detectados
  3. Enviar notificaciones por correo electrónico cuando se superan los umbrales de detección

Esta implementación es ideal para la seguridad doméstica, la vigilancia en comercios y otras aplicaciones de supervisión en las que es fundamental recibir una notificación inmediata de los objetos detectados.

Preguntas frecuentes#

  • Ultralytics YOLO26 mejora los sistemas de alarma de seguridad al ofrecer detección de objetos de alta precisión en tiempo real. Sus algoritmos avanzados reducen considerablemente los falsos positivos, lo que garantiza que el sistema solo responda ante amenazas reales. Esta mayor fiabilidad puede integrarse fácilmente con la infraestructura de seguridad existente, mejorando la calidad general de la vigilancia.

  • Sí, Ultralytics YOLO26 puede integrarse fácilmente con tu infraestructura de seguridad existente. El sistema admite diversos modos y ofrece flexibilidad para la personalización, lo que te permite mejorar tu configuración actual con capacidades avanzadas de detección de objetos. Para obtener instrucciones detalladas sobre cómo integrar YOLO26 en tus proyectos, visita la sección de integración.

  • La ejecución de Ultralytics YOLO26 en una configuración estándar suele requerir unos 5 GB de espacio libre en disco. Esto incluye el espacio necesario para almacenar el modelo YOLO26 y cualquier dependencia adicional. Para soluciones basadas en la nube, Ultralytics Platform ofrece una gestión eficiente de proyectos y conjuntos de datos, lo que puede optimizar las necesidades de almacenamiento. Obtén más información sobre el plan Pro para acceder a funciones mejoradas, incluido un mayor almacenamiento.

  • Ultralytics YOLO26 ofrece ventajas frente a modelos como Faster R-CNN o SSD gracias a sus capacidades de detección en tiempo real y a su mayor precisión. Su arquitectura única le permite procesar imágenes mucho más rápido sin comprometer la precisión, lo que lo hace ideal para aplicaciones en las que el tiempo es crítico, como los sistemas de alarma de seguridad. Para obtener una comparación exhaustiva de los modelos de detección de objetos, puedes consultar nuestra guía.

  • Para reducir los falsos positivos, asegúrate de que tu modelo de Ultralytics YOLO26 se haya entrenado correctamente con un conjunto de datos diverso y bien anotado. Ajustar los hiperparámetros y actualizar periódicamente el modelo con datos nuevos puede mejorar considerablemente la precisión de la detección. Encontrarás técnicas detalladas de ajuste de hiperparámetros en nuestra guía de ajuste de hiperparámetros.

Comentarios