Ultralytics YOLO27:
Get Started

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, lo que minimiza el tiempo de respuesta.
  • Precisión: YOLO26 destaca por su precisión en la detección de objetos, reduce los falsos positivos y mejora la fiabilidad del sistema de alarma de seguridad.
  • Capacidades de integración: El proyecto se puede integrar fácilmente en la infraestructura de seguridad existente y añadir una capa mejorada de vigilancia inteligente.


Ver: Sistema de alarma de seguridad con Ultralytics YOLO26 + Solutions Detección de objetos

Envía alertas de seguridad con YOLO26#

La solución SecurityAlarm sigue los objetos de la señal 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, a continuación, ejecuta la solución sobre tu fuente.

Se necesita una contraseña de aplicación

Ve al generador de contraseñas de aplicación, asigna un nombre a la aplicación, como «proyecto de seguridad», y obtén una contraseña de 16 caracteres. Copia esta contraseña y pégala en el campo password del código siguiente.

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"

# Escritor de vídeo
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"  # la dirección de correo electrónico del remitente
password = "---- ---- ---- ----"  # contraseña de aplicación de 16 caracteres generada mediante: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # la dirección de correo electrónico del destinatario

# Inicializa el objeto de alarma de seguridad
securityalarm = solutions.SecurityAlarm(
    show=True,  # mostrar el resultado
    model="yolo26n.pt",  # p. ej., yolo26s.pt, yolo26m.pt
    records=1,  # recuento total de detecciones para enviar un correo electrónico
)

securityalarm.authenticate(from_email, password, to_email)  # autenticar el servidor de correo electrónico

# Procesar el vídeo
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)  # acceder a la salida

    video_writer.write(results.plot_im)  # escribe el fotograma procesado.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # cerrar todas las ventanas abiertas

Al ejecutar 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 reiterada. Puedes personalizar el código según los requisitos de tu proyecto.

Ejemplo de correo recibido#

Security alert email notification example

Argumentos de SecurityAlarm#

Aquí tienes una tabla con los argumentos de SecurityAlarm:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo Ultralytics YOLO.
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 los cuadros, puntos clave y recuentos que dibuja la solución.
verboseboolTrueActiva el registro por fotograma de la forma de entrada, los recuentos por clase y la velocidad de procesamiento de la solución. La llamada de seguimiento en sí siempre es silenciosa.

La solución SecurityAlarm admite varios parámetros de track:

ArgumentoTipoPredeterminadoDescripción
trackerstr'tracktrack.yaml'Especifica el algoritmo de seguimiento que se va a usar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Establece el umbral de confianza de 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 solapadas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo sigue las clases especificadas.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite elegir entre CPU, una GPU concreta u otros dispositivos de cálculo para ejecutar el modelo.
imgszint or tuple640Tamaño de imagen de destino para la inferencia: un entero para una imagen cuadrada o una pareja (height, width). Las dimensiones se ajustan al stride del modelo.
max_detint300Número máximo de detecciones que se conservan 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/unset (FP32) para los modelos PyTorch y TorchScript fuera de CPU; los demás formatos usan la precisión que seleccionen el artefacto y el entorno de ejecución. Sustituye al argumento obsoleto half.

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

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi True, muestra las imágenes o los 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 etiquetas para cada detección en la salida visual. Facilita la identificación inmediata de los objetos detectados.

Cómo funciona#

El sistema de alarma de seguridad utiliza el seguimiento de objetos para supervisar las fuentes de vídeo y detectar posibles amenazas de seguridad. Cuando el número de objetos detectados en un fotograma alcanza el umbral especificado (definido por 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 alcancen los umbrales de detección

Esta implementación es ideal para la seguridad doméstica, la videovigilancia 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 gracias a una detección de objetos precisa y en tiempo real. Sus algoritmos avanzados reducen significativamente los falsos positivos, lo que garantiza que el sistema solo responda ante amenazas reales. Esta mayor fiabilidad se integra sin problemas en la infraestructura de seguridad existente y mejora la calidad general de la vigilancia.

  • Sí, puedes integrar Ultralytics YOLO26 sin problemas en tu infraestructura de seguridad actual. El sistema admite varios modos y ofrece flexibilidad para personalizarlo, lo que te permite mejorar tu configuración actual con funciones avanzadas de detección de objetos. Encontrarás instrucciones detalladas para integrar YOLO26 en tus proyectos en la sección de integración.

  • Para ejecutar Ultralytics YOLO26 en una configuración estándar, normalmente se necesitan unos 5 GB de espacio libre en disco. Esto incluye el espacio para almacenar el modelo YOLO26 y las dependencias adicionales. Para soluciones en la nube, Ultralytics Platform ofrece una gestión eficiente de proyectos y conjuntos de datos que puede optimizar las necesidades de almacenamiento. Descubre el Plan Pro para acceder a funciones mejoradas, como más espacio de almacenamiento.

  • Ultralytics YOLO26 aventaja a modelos como Faster R-CNN o SSD gracias a su capacidad 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 renunciar a la precisión, por lo que es ideal para aplicaciones en las que el tiempo es fundamental, como los sistemas de alarma de seguridad. Para comparar en profundidad los modelos de detección de objetos, consulta nuestra guía.

  • Para reducir los falsos positivos, asegúrate de que tu modelo Ultralytics YOLO26 se haya entrenado adecuadamente con un conjunto de datos diverso y bien anotado. Ajustar los hiperparámetros y actualizar periódicamente el modelo con datos nuevos puede mejorar significativamente 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