Meet YOLO26: next-gen vision AI.

Link to this sectionProyecto de sistema de alarma de seguridad usando 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 computer vision para mejorar las medidas de seguridad. YOLO26, desarrollado por Ultralytics, proporciona object detection en tiempo real, lo que permite al sistema identificar y responder a posibles amenazas de seguridad rápidamente. Este proyecto ofrece varias ventajas:

  • Detección en tiempo real: La eficiencia de YOLO26 permite que el sistema de alarma de seguridad detecte y responda a incidentes de seguridad en tiempo real, minimizando el tiempo de respuesta.
  • Accuracy: 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 sin problemas con la infraestructura de seguridad existente, proporcionando una capa mejorada de vigilancia inteligente.


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

La generación de contraseña de aplicación es necesaria

  • Navega al App Password Generator, designa un nombre de aplicación como "security project" y obtén una contraseña de 16 dígitos. Copia esta contraseña y pégala en el campo password designado en el código a continuación.
Sistema de alarma de seguridad usando 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 repetidamente. Puedes personalizar el código para adaptarlo a los requisitos de tu proyecto.

Link to this sectionEjemplo de correo electrónico recibido#

Security alert email notification example

Link to this sectionArgumentos de SecurityAlarm#

Aquí tienes una tabla con los argumentos de SecurityAlarm:

ArgumentoTipoPredeterminadoDescripción
modelstrNoneRuta a un archivo de modelo YOLO de Ultralytics.
recordsint5Recuento total de detecciones para activar un correo electrónico con el sistema de alarma de seguridad.

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

ArgumentoTipoPredeterminadoDescripción
trackerstr'botsort.yaml'Especifica el algoritmo de seguimiento a utilizar. Opciones integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Establece el umbral de confianza para las detecciones; valores más bajos permiten el seguimiento de más objetos, pero pueden incluir falsos positivos.
ioufloat0.7Establece el umbral de Intersection over Union (IoU) para filtrar detecciones superpuestas.
classeslistNoneFiltra los resultados por índice de clase. Por ejemplo, classes=[0, 2, 3] solo rastrea las clases especificadas.
verboseboolTrueControla la visualización de los resultados de seguimiento, proporcionando una salida visual de los objetos rastreados.
devicestrNoneEspecifica el dispositivo para la inferencia (p. ej., cpu, cuda:0 o 0). Permite a los usuarios seleccionar entre CPU, una GPU específica u otros dispositivos de computación para la ejecución del modelo.

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

ArgumentoTipoPredeterminadoDescripción
showboolFalseSi es True, muestra las imágenes o vídeos anotados en una ventana. Útil para una retroalimentación visual inmediata durante el desarrollo o las pruebas.
line_widthint or NoneNoneEspecifica el ancho de línea de los cuadros delimitadores. Si es None, el ancho de línea se ajusta automáticamente según el tamaño de la imagen. Proporciona personalización visual para mayor claridad.
show_confboolTrueMuestra la puntuación de confianza para cada detección junto a la etiqueta. Proporciona información sobre la certeza del modelo para cada detección.
show_labelsboolTrueMuestra las etiquetas para cada detección en la salida visual. Proporciona una comprensión inmediata de los objetos detectados.

Link to this sectionCómo funciona#

El sistema de alarma de seguridad utiliza object tracking para supervisar los feeds de video y detectar posibles amenazas de seguridad. Cuando el sistema detecta objetos que superan el umbral especificado (establecido por el parámetro records), envía automáticamente una notificación por correo electrónico con una imagen adjunta que muestra los objetos detectados.

El sistema aprovecha la SecurityAlarm class 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 superen los umbrales de detección

Esta implementación es ideal para seguridad en el hogar, vigilancia minorista y otras aplicaciones de monitoreo donde la notificación inmediata de objetos detectados es fundamental.

Link to this sectionFAQ#

Link to this section¿Cómo mejora Ultralytics YOLO26 la precisión de un sistema de alarma de seguridad?#

Ultralytics YOLO26 mejora los sistemas de alarma de seguridad ofreciendo detección de objetos de alta precisión en tiempo real. Sus algoritmos avanzados reducen significativamente los falsos positivos, garantizando que el sistema solo responda a amenazas genuinas. Esta mayor fiabilidad puede integrarse sin problemas con la infraestructura de seguridad existente, mejorando la calidad general de la vigilancia.

Link to this section¿Puedo integrar Ultralytics YOLO26 con mi infraestructura de seguridad existente?#

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

Link to this section¿Cuáles son los requisitos de almacenamiento para ejecutar Ultralytics YOLO26?#

Ejecutar Ultralytics YOLO26 en una configuración estándar generalmente requiere alrededor de 5 GB de espacio libre en disco. Esto incluye espacio 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 manejo de conjuntos de datos, lo que puede optimizar las necesidades de almacenamiento. Obtén más información sobre el Pro Plan para funciones mejoradas que incluyen almacenamiento extendido.

Link to this section¿Qué diferencia a Ultralytics YOLO26 de otros modelos de detección de objetos como Faster R-CNN o SSD?#

Ultralytics YOLO26 ofrece una ventaja sobre modelos como Faster R-CNN o SSD con sus capacidades de detección en tiempo real y mayor precisión. Su arquitectura única le permite procesar imágenes mucho más rápido sin comprometer la precision, lo que lo hace ideal para aplicaciones sensibles al tiempo como los sistemas de alarma de seguridad. Para una comparación completa de modelos de detección de objetos, puedes explorar nuestra guía.

Link to this section¿Cómo puedo reducir la frecuencia de falsos positivos en mi sistema de seguridad usando Ultralytics YOLO26?#

Para reducir los falsos positivos, asegúrate de que tu modelo Ultralytics YOLO26 esté adecuadamente entrenado con un conjunto de datos diverso y bien anotado. El ajuste fino de los hiperparámetros y la actualización periódica del modelo con nuevos datos pueden mejorar significativamente la precisión de la detección. Las técnicas detalladas de hyperparameter tuning se pueden encontrar en nuestra guía de ajuste de hiperparámetros.

Comentarios