Sistema detección automatizado de intrusos
BIENVENIDOS
¡Hola a todos!
En esta lección aprenderás cómo desarrollar una aplicación de Inteligencia Artificial (IA) capaz de detectar intrusos en zonas restringidas utilizando cámaras de vídeo e inteligencia de visión computacional.
Si te apasiona la seguridad, la tecnología o la automatización de sistemas, este módulo te mostrará cómo un sistema de detección visual puede funcionar como un “vigilante virtual” capaz de identificar personas no autorizadas en tiempo real y generar alertas automáticas con sonido e imágenes capturadas.
¿ CUALES SON LOS OBJETIVOS ?
El objetivo principal de esta aplicación es proteger zonas sensibles detectando automáticamente la presencia de personas en áreas prohibidas o controladas.
A través de una cámara IP o un vídeo de prueba, el sistema:
- Analiza las imágenes en tiempo real.
- Detecta personas utilizando IA (modelo YOLO).
- Verifica si la persona se encuentra dentro de una zona restringida (ROI).
- Activa una alarma sonora y guarda una evidencia fotográfica del intruso.
Este prototipo básico se desarrollará en modo demostración, pero con una estructura realista y fácilmente ampliable a sistemas de videovigilancia reales o de control perimetral.
¿ CUALES SON LOS PUNTOS CLAVE?
Trabajaremos sobre 4 factores críticos que todo sistema de detección de intrusión basado en IA debe dominar:
- Precisión en la Detección
El sistema debe ser capaz de identificar con exactitud la presencia de personas y distinguirlas de otros objetos.
Para ello, utilizaremos YOLO (You Only Look Once), uno de los modelos más eficientes de detección en tiempo real.
Aprenderás cómo este modelo identifica una persona y genera una caja delimitadora (bounding box) con coordenadas precisas.
- Funcionamiento en Tiempo Real
La detección debe realizarse mientras el vídeo se reproduce, sin retardos.
Por eso trabajaremos con procesamiento por frames, asegurando que el sistema puede ejecutar inferencia y visualización en la misma ventana en vivo.
El usuario podrá ver cómo el sistema resalta el intruso en pantalla, muestra un mensaje de alerta y activa una alarma sonora.
- Definición de Zona de Seguridad (ROI)
El usuario podrá definir su propia zona vigilada haciendo clic con el ratón sobre la imagen.
Este área se denomina ROI (Región de Interés), y el sistema solo actuará si detecta una persona dentro de esa zona verde delimitada.
Este es uno de los elementos clave del sistema: la detección contextualizada. No basta con ver una persona, sino verificar dónde está.
- Reacción Automática y Evidencia
Una vez confirmada la intrusión, el sistema ejecuta tres acciones automáticas:
- Emite un sonido de alarma (sirena).
- Guarda una imagen del intruso detectado.
- Actualiza en pantalla el estado del sistema (alerta visual).
De esta forma, el sistema se comporta como un vigilante autónomo, capaz de alertar y registrar pruebas en tiempo real.
¿CUÁLES SERÍAN LOS POSIBLES USOS DE ESTA APLICACIÓN?
Este tipo de desarrollo tiene múltiples aplicaciones reales:
🏢 Control de accesos en edificios: detección de entrada en áreas restringidas fuera de horario.
🏭 Vigilancia perimetral en naves industriales o almacenes.
🚧 Protección de infraestructuras críticas o zonas de obra.
🧰 Apoyo a vigilantes: detección automática que avisa cuando una cámara detecta presencia no esperada.
🧠 Entrenamiento de IA: creación de datasets personalizados para mejorar precisión en escenarios reales.
🔗 Integración con sistemas SCADA o de alarmas físicas: generando eventos para otras plataformas.
¿CUÁLES SON LOS COMPONENTES CLAVE DE LA PROGRAMACIÓN?
La aplicación se basa en cuatro bloques fundamentales de software y librerías:
- OpenCV – Visión por Computador
Usada para:
- Capturar vídeo desde archivo o cámara.
- Dibujar zonas, textos y cuadros.
- Mostrar imágenes y visualizaciones en tiempo real.
Instalación:
pip install opencv-python
- Ultralytics YOLO – Detección con IA
Modelo de detección de objetos basado en redes neuronales convolucionales (CNN).
Usaremos el modelo YOLO11n.pt, un modelo preentrenado capaz de reconocer personas entre decenas de clases.
Instalación:
pip install ultralytics
- NumPy – Cálculo y Matrices
Nos permite trabajar con operaciones vectoriales, coordenadas y máscaras de imagen.
Instalación:
pip install numpy
- PyGame – Reproducción de Audio
Se utiliza para reproducir la alarma sonora cuando se detecta una intrusión.
Instalación:
pip install pygame
¿CÓMO FUNCIONA EL MODELO YOLO EN SECURITY-IA?
El modelo YOLO (You Only Look Once) divide la imagen en una rejilla y evalúa cada celda para determinar si contiene un objeto (en este caso, una persona).
A diferencia de otros métodos que analizan partes de la imagen por separado, YOLO analiza toda la imagen en una sola pasada, lo que permite una detección en tiempo real.
Su proceso se puede resumir en 5 pasos:
- Entrada del Frame: recibe imágenes del vídeo en tiempo real.
- Inferencia: el modelo analiza la imagen y genera coordenadas (x1, y1, x2, y2) de cada detección.
- Clasificación: asigna una etiqueta al objeto detectado (por ejemplo, “person”).
- Filtrado: solo mantiene las detecciones con confianza superior al umbral configurado.
- Visualización: dibuja las cajas, textos y activa los eventos correspondientes.
PROGRAMACIÓN SECURITY IA
A continuación, veremos el flujo de trabajo y explicaremos las partes más importantes del código de Security-alertas.py.
1. Importación de librerías y carga del modelo
from ultralytics import YOLO
import cv2, numpy as np, pygame, datetime
Explicación:
- YOLO: motor principal de detección.
- cv2: captura de vídeo y visualización.
- numpy: operaciones vectoriales y máscaras.
- pygame: manejo del audio.
- datetime: inserción de fecha/hora en pantalla.
3.Carga del modelo y del vídeo
model = YOLO(«yolo11n.pt»)
cap = cv2.VideoCapture(«Test Videos/thief_video2.mp4»)
Explicación:
- model carga el archivo pre-entrenado YOLO.
- cap abre el vídeo de prueba, que simula la cámara de seguridad.
Definición de Zona de Seguridad (ROI)
El usuario define la zona clicando en la ventana.
- Clic izquierdo: añade punto.
- Clic derecho: borra puntos.
Estos puntos se almacenan en un array (pts) y forman un polígono verde sobre la imagen, representando el área vigilada.
4.Bucle Principal del Sistema
while True:
ret, frame = cap.read()
if not ret:
break
El sistema lee el vídeo frame a frame, aplicando el modelo de detección en cada imagen.
Si el vídeo termina, el bucle se detiene.
5.Detección de Personas
results = model(frame)[0]
for box in results.boxes:
if model.names[int(box.cls[0])] == «person»:
# calcular centro
Cada frame se analiza con YOLO.
El sistema recorre todas las detecciones y verifica si la clase es “person”.
6.Verificación de Intrusión
if cv2.pointPolygonTest(roi_polygon, (center_x, center_y), False) >= 0:
Con esta función comprobamos si el centro de la persona detectada está dentro de la zona de seguridad definida.
Si es así → ¡Intrusión confirmada!
7.Activación de Alarma y Captura
Cuando se confirma la intrusión:
- Se reproduce un sonido de alarma (alarm.wav).
- Se guarda una imagen del intruso detectado (detected_001.jpg, etc.).
- Se actualiza el estado visual a “RIESGO DETECTADO” en la ventana.
8.Visualización del Resultado
cv2.rectangle(frame, (x1,y1), (x2,y2), (255,0,0), 2)
cv2.putText(frame, «Persona Detectada», …)
El sistema muestra:
- Las cajas delimitadoras del intruso.
- El área vigilada (verde).
- El estado del sistema (“Analizando” o “Riesgo Detectado”).
- Fecha y hora del evento.
¿CUÁLES SON LAS LIMITACIONES Y RECOMENDACIONES?
Condiciones de Iluminación:
Requiere buena visibilidad; una iluminación deficiente afecta a la precisión.
Ángulo de la Cámara:
Se recomienda una posición frontal o cenital para maximizar la detección de personas completas.
Número de Personas:
YOLO puede detectar varias, pero el rendimiento baja en cámaras con alta densidad de movimiento.
Falsos Positivos:
La configuración del umbral de confianza y la delimitación precisa del ROI son esenciales para minimizar alertas falsas.
Recurso Computacional:
Procesar vídeo en tiempo real exige CPU o GPU potentes; De cara miimizar esta situación podríamos optar por utilizar resolución y modelo menos pesados como (YOLOv8n, YOLO11n, etc.).
EN RESUMEN
El sistema Security IA es un ejemplo claro de cómo combinar Inteligencia Artificial, visión computacional y automatización para proteger espacios en tiempo real.
Con este módulo, has aprendido:
Cómo usar YOLO para detectar personas.
- Cómo definir áreas seguras mediante ROI.
- Cómo activar alarmas automáticas y registrar evidencias.
- Y sobre todo, cómo convertir un simple vídeo en un sistema inteligente de vigilancia activa.