Action Recognition
Explore comment la reconnaissance d'actions identifie les comportements dans la vidéo. Apprends à utiliser Ultralytics YOLO26 pour l'estimation de pose et à construire des systèmes IA intelligents pour les tâches HAR.
La reconnaissance d'actions, également appelée communément Human Activity Recognition (HAR), est un sous-domaine dynamique de la computer vision (CV) qui consiste à identifier et classifier des comportements ou mouvements spécifiques exécutés par des sujets dans des données vidéo. Alors que l'object detection traditionnelle répond à la question « qu'y a-t-il dans l'image ? », la reconnaissance d'actions aborde la question plus complexe de « que se passe-t-il au fil du temps ? ». En analysant des séquences d'images plutôt que des images statiques, les modèles de machine learning (ML) peuvent faire la distinction entre des activités complexes telles que « marcher », « faire du vélo », « tomber » ou « serrer la main », ce qui en fait un composant crucial pour concevoir des systèmes intelligents capables de comprendre l'intention humaine et le contexte.
Concepts et techniques fondamentaux#
Reconnaître des actions exige qu'un modèle traite à la fois les informations spatiales (l'apparence des objets ou des personnes) et temporelles (la façon dont ils se déplacent au fil du temps). Pour y parvenir, les systèmes d'artificial intelligence (AI) modernes emploient souvent des architectures spécialisées qui vont au-delà des convolutional neural networks (CNNs) standard.
- Pose Estimation : Une technique puissante où le modèle suit des keypoints spécifiques sur le corps humain, tels que les coudes, les genoux et les épaules. Les changements géométriques de ces keypoints au fil du temps constituent un signal fort pour classifier les actions, indépendamment de l'encombrement de l'arrière-plan.
- Modélisation temporelle : Les algorithmes utilisent des structures telles que des Recurrent Neural Networks (RNNs) ou des réseaux à mémoire à long terme et court terme (LSTM) pour mémoriser les images passées et prédire les actions futures. Plus récemment, les Video Transformers ont gagné en popularité pour leur capacité à gérer les dépendances à long terme dans les flux vidéo.
- Réseaux à double flux : Cette approche traite les caractéristiques spatiales (images RVB) et temporelles (utilisant souvent le optical flow) dans des flux parallèles, en fusionnant les données pour effectuer une classification finale.
Applications concrètes#
La capacité à interpréter automatiquement le mouvement humain a un potentiel transformateur dans divers secteurs, améliorant la sécurité, l'efficacité et l'expérience utilisateur.
- AI in Healthcare : La reconnaissance d'actions est essentielle pour les systèmes de surveillance des patients. Par exemple, elle permet la détection automatisée des chutes dans les maisons de retraite, alertant immédiatement le personnel si un patient s'effondre. Elle est également utilisée dans la remote physical rehabilitation, où des coachs dopés à l'IA analysent la forme des exercices d'un patient pour s'assurer qu'il exécute les mouvements correctement et en toute sécurité.
- Surveillance intelligente et sécurité : Au-delà de la simple détection de mouvement, les systèmes de sécurité avancés utilisent la reconnaissance d'actions pour identifier les comportements suspects, tels que les bagarres, les vols à l'étalage ou les entrées non autorisées, tout en ignorant les activités bénignes. Cela réduit les fausses alarmes et améliore le real-time security monitoring.
Implémenter l'analyse d'actions avec Ultralytics#
Un flux de travail courant consiste à détecter d'abord les personnes et leur pose squelettique, puis à analyser le mouvement de ces articulations. Le modèle Ultralytics YOLO26 offre une vitesse et une précision de pointe pour l'étape initiale d'estimation de pose, qui constitue la base de nombreux pipelines de reconnaissance d'actions.
L'exemple suivant montre comment extraire des points clés squelettiques d'une image vidéo en utilisant 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}")Distinguer les termes associés#
Il est important de différencier la reconnaissance d'actions des tâches de vision par ordinateur similaires pour s'assurer que les méthodes correctes sont appliquées.
- Reconnaissance d'actions vs Object Tracking : L'object tracking se concentre sur le maintien de l'identité d'un objet ou d'une personne spécifique au fur et à mesure qu'ils se déplacent d'une image à l'autre (par exemple, « La personne A est à la coordonnée X »). La reconnaissance d'actions interprète le comportement de ce sujet suivi (par exemple, « La personne A est en train de courir »).
- Reconnaissance d'actions vs Video Understanding : Alors que la reconnaissance d'actions identifie des actes physiques spécifiques, la compréhension vidéo est un concept plus large qui implique de comprendre l'ensemble du récit, du contexte et des relations de cause à effet au sein d'une scène vidéo.
Défis et tendances futures#
Le développement de modèles robustes de reconnaissance d'actions présente des défis, en particulier en ce qui concerne le besoin de video datasets vastes et annotés tels que Kinetics-400 ou UCF101. L'étiquetage des données vidéo prend beaucoup plus de temps que l'étiquetage d'images statiques. Pour y remédier, des outils tels que la Ultralytics Platform aident à rationaliser le flux de travail d'annotation et d'entraînement.
De plus, l'efficacité de calcul est cruciale. Le traitement de vidéos haute résolution en temps réel nécessite des ressources matérielles importantes. L'industrie s'oriente de plus en plus vers l'Edge AI, optimisant les modèles pour qu'ils s'exécutent directement sur les caméras et les appareils mobiles afin de réduire la latence et l'utilisation de la bande passante. Les avancées futures visent à améliorer la model generalization, permettant aux systèmes de reconnaître des actions même depuis des points de vue pour lesquels ils n'ont pas été explicitement entraînés.






