Explorez la compréhension vidéo, l'IA avancée qui interprète les actions et les événements dans la vidéo. Découvrez comment elle fonctionne et alimente les applications dans la conduite autonome et la sécurité intelligente.
La compréhension vidéo désigne la capacité des modèles d'apprentissage automatique à traiter, analyser et comprendre les données visuelles au fil du temps. Contrairement à la reconnaissance d'images, qui analyse des instantanés statiques, la compréhension vidéo implique l'interprétation de séquences d'images afin de saisir la dynamique temporelle, le contexte et les relations causales. Cela permet à un système d'IA non seulement d'identifier des objets, mais aussi de comprendre les actions, les événements et l'« histoire » qui se déroule dans un clip vidéo. Il s'agit d'un élément essentiel de la vision par ordinateur (CV) moderne qui alimente des applications dynamiques allant de la navigation autonome à l'analyse sportive automatisée.
L'analyse vidéo nécessite le traitement de deux types d'informations distincts : spatiales et temporelles. Les caractéristiques spatiales concernent ce qui apparaît dans une seule image (objets, arrière-plans, textures), tandis que les caractéristiques temporelles décrivent comment ces éléments évoluent au fil du temps (mouvement, vitesse, interaction).
Les systèmes modernes de compréhension vidéo utilisent souvent une approche en plusieurs étapes :
La compréhension vidéo transforme les industries en automatisant des tâches visuelles complexes qui nécessitaient auparavant l'observation humaine .
Il est important de distinguer la compréhension vidéo des autres tâches de vision par ordinateur :
La détection et le suivi robustes des objets constituent un élément fondamental de la compréhension vidéo. L'exemple suivant montre comment mettre en œuvre le suivi à l'aide du modèle Ultralytics . Cela permet d'établir la continuité temporelle nécessaire à une analyse comportementale de plus haut niveau.
import cv2
from ultralytics import YOLO
# Load the YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Open a video file
video_path = "path/to/video.mp4"
cap = cv2.VideoCapture(video_path)
# Process video frames
while cap.isOpened():
success, frame = cap.read()
if success:
# Track objects with persistence to maintain IDs over time
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("YOLO26 Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()
Malgré les progrès réalisés, la compréhension vidéo reste très gourmande en ressources informatiques en raison du volume considérable de données contenues dans les flux vidéo haute résolution. Les chercheurs développent activement des architectures de modèles plus efficaces afin de réduire la latence et les coûts informatiques. Des techniques telles que la quantification et l'élagage des modèles sont essentielles pour déployer ces modèles sur des appareils de pointe.
Les développements futurs s'orientent vers une IA multimodale, où les données vidéo sont combinées avec le contexte audio et textuel pour une compréhension plus approfondie. Par exemple, un modèle pourrait utiliser le bruit d'un crissement de pneus combiné à des données visuelles pour identifier plus rapidement un accident de la circulation. Des outils tels que NVIDIA TensorRT et OpenVINO continuent de jouer un rôle essentiel dans l'optimisation de ces modèles complexes pour l'inférence en temps réel.