Action Recognition
Explora cómo el reconocimiento de acciones identifica comportamientos en vídeos. Aprende a usar Ultralytics YOLO26 para la estimación de poses y a crear sistemas de IA inteligentes para tareas de reconocimiento de actividades humanas.
El reconocimiento de acciones, también conocido habitualmente como Reconocimiento de actividades humanas (HAR), es un subcampo dinámico de la visión por ordenador (CV) que se ocupa de identificar y clasificar comportamientos o movimientos específicos realizados por sujetos en datos de vídeo. Mientras que la detección de objetos tradicional responde a la pregunta «¿qué hay en la imagen?», el reconocimiento de acciones aborda la cuestión más compleja de «¿qué está ocurriendo a lo largo del tiempo?». Mediante el análisis de secuencias de fotogramas en lugar de imágenes estáticas, los modelos de aprendizaje automático (ML) pueden distinguir entre actividades complejas como «caminar», «montar en bicicleta», «caerse» o «darse la mano», lo que lo convierte en un componente crucial para crear sistemas inteligentes que comprendan la intención y el contexto humanos.
Conceptos y técnicas fundamentales#
Reconocer acciones requiere que un modelo procese tanto información espacial (el aspecto de los objetos o las personas) como información temporal (cómo se mueven a lo largo del tiempo). Para lograrlo, los sistemas modernos de inteligencia artificial (AI) suelen emplear arquitecturas especializadas que van más allá de las redes neuronales convolucionales (CNNs) estándar.
- Estimación de la pose: Una técnica potente en la que el modelo realiza el seguimiento de puntos clave específicos del cuerpo humano, como codos, rodillas y hombros. Los cambios geométricos de estos puntos clave a lo largo del tiempo proporcionan una señal sólida para clasificar acciones, independientemente del desorden del fondo.
- Modelado temporal: Los algoritmos utilizan estructuras como las redes neuronales recurrentes (RNNs) o las redes de memoria a corto y largo plazo (LSTM) para recordar fotogramas anteriores y predecir acciones futuras. Más recientemente, los Transformers de vídeo han ganado popularidad por su capacidad para gestionar dependencias de largo alcance en secuencias de vídeo.
- Redes de dos flujos: Este enfoque procesa en paralelo las características espaciales (fotogramas RGB) y las características temporales (a menudo mediante flujo óptico), y fusiona los datos para realizar una clasificación final.
Aplicaciones en el mundo real#
La capacidad de interpretar automáticamente el movimiento humano tiene un potencial transformador en diversos sectores, ya que mejora la seguridad, la eficiencia y la experiencia del usuario.
- IA en sanidad: El reconocimiento de acciones es vital para los sistemas de monitorización de pacientes. Por ejemplo, permite detectar automáticamente caídas en residencias de mayores y avisar inmediatamente al personal si un paciente se desploma. También se utiliza en la rehabilitación física a distancia, donde los entrenadores de IA analizan la ejecución de los ejercicios de un paciente para garantizar que realice los movimientos de forma correcta y segura.
- Vigilancia y seguridad inteligentes: Más allá de la simple detección de movimiento, los sistemas de seguridad avanzados utilizan el reconocimiento de acciones para identificar comportamientos sospechosos, como peleas, hurtos o entradas no autorizadas, al tiempo que ignoran las actividades inofensivas. Esto reduce las falsas alarmas y mejora la monitorización de seguridad en tiempo real.
Implementación del análisis de acciones con Ultralytics#
Un flujo de trabajo habitual consiste primero en detectar a las personas y su pose esquelética, y después analizar el movimiento de esas articulaciones. El modelo Ultralytics YOLO26 ofrece una velocidad y precisión de vanguardia para el paso inicial de estimación de la pose, que constituye la base de muchas canalizaciones de reconocimiento de acciones.
El siguiente ejemplo muestra cómo extraer puntos clave esqueléticos de un fotograma de vídeo utilizando Python:
from ultralytics import YOLO
# Load the YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image to detect person keypoints
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
# Access the keypoints (x, y, visibility)
if result.keypoints is not None:
print(f"Detected keypoints shape: {result.keypoints.data.shape}")Diferenciación de términos relacionados#
Es importante diferenciar el reconocimiento de acciones de tareas similares de visión por ordenador para garantizar que se aplican los métodos adecuados.
- Reconocimiento de acciones frente a seguimiento de objetos: El seguimiento de objetos se centra en mantener la identidad de un objeto o una persona específicos mientras se desplazan por los fotogramas (por ejemplo, «La persona A está en la coordenada X»). El reconocimiento de acciones interpreta el comportamiento de ese sujeto seguido (por ejemplo, «La persona A está corriendo»).
- Reconocimiento de acciones frente a comprensión de vídeo: Mientras que el reconocimiento de acciones identifica actos físicos concretos, la comprensión de vídeo es un concepto más amplio que implica comprender toda la narración, el contexto y las relaciones causales de una escena de vídeo.
Desafíos y tendencias futuras#
Desarrollar modelos sólidos de reconocimiento de acciones plantea dificultades, especialmente por la necesidad de grandes conjuntos de datos de vídeo anotados, como Kinetics-400 o UCF101. Etiquetar datos de vídeo requiere mucho más tiempo que etiquetar imágenes estáticas. Para abordar este problema, herramientas como Ultralytics Platform ayudan a agilizar el flujo de trabajo de anotación y entrenamiento.
Además, la eficiencia computacional es fundamental. Procesar vídeo de alta resolución en tiempo real requiere importantes recursos de hardware. El sector avanza cada vez más hacia la IA en el perímetro, optimizando los modelos para que se ejecuten directamente en cámaras y dispositivos móviles con el fin de reducir la latencia y el uso de ancho de banda. Los avances futuros pretenden mejorar la generalización de los modelos, permitiendo que los sistemas reconozcan acciones incluso desde puntos de vista con los que no se entrenaron explícitamente.






