Glossaire

Flux optique

Découvre la puissance de l'Optical Flow dans la vision par ordinateur. Apprends comment il estime le mouvement, améliore l'analyse vidéo et favorise les innovations en matière d'IA.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Le flux optique décrit le modèle de mouvement apparent des objets, des surfaces et des bords dans une scène visuelle, causé par le mouvement relatif entre un observateur (comme une caméra) et la scène. Il s'agit d'un concept fondamental de la vision par ordinateur (VA) utilisé pour estimer le mouvement des pixels individuels ou des caractéristiques entre les images consécutives d'une séquence vidéo. Cette technique fournit des informations précieuses sur la dynamique d'une scène, permettant aux machines de comprendre le mouvement de manière similaire à la façon dont les systèmes visuels biologiques perçoivent le mouvement. C'est un élément clé dans diverses applications d'intelligence artificielle (IA) et d'apprentissage automatique (ML) qui impliquent l'analyse de données vidéo.

Comment fonctionne le flux optique

L'idée centrale du calcul du flux optique est l'hypothèse de la "constance de la luminosité", selon laquelle l'intensité d'un pixel correspondant à un point spécifique d'un objet reste constante (ou change de façon prévisible) sur de courts intervalles de temps au fur et à mesure qu'il se déplace sur le plan de l'image. Les algorithmes suivent ces modèles d'intensité d'une image à l'autre pour calculer les vecteurs de mouvement pour chaque pixel ou pour des points d'intérêt spécifiques.

Les techniques courantes de calcul du flux optique sont les suivantes :

  • Flux optique clairsemé : des algorithmes comme la méthode Lucas-Kanade suivent le mouvement d'un ensemble clairsemé de caractéristiques saillantes (comme les coins) à travers les images. Cette méthode est efficace sur le plan informatique, mais elle ne fournit des informations sur le mouvement que pour des points sélectionnés.
  • Flux optique dense : des algorithmes comme la méthode Horn-Schunck visent à calculer un vecteur de mouvement pour chaque pixel de l'image. Cela permet d'obtenir une représentation beaucoup plus riche du mouvement, mais nécessite plus de calculs.
  • Approches d'apprentissage profond : Les méthodes modernes utilisent souvent des réseaux neuronaux convolutifs (CNN) formés sur de grands ensembles de données pour estimer le flux optique. Des modèles comme FlowNet et RAFT (Recurrent All-Pairs Field Transforms) ont montré des performances de pointe, en tirant parti de la puissance de l'apprentissage profond (DL) pour apprendre des modèles de mouvement complexes. Ces modèles peuvent être développés à l'aide de frameworks tels que PyTorch ou TensorFlow.

Débit optique et concepts connexes

Il est important de distinguer le flux optique des tâches connexes :

  • Détection d'objets: Cette tâche permet d'identifier et de localiser les objets dans une seule image à l'aide de boîtes de délimitation, généralement avec des modèles tels que Ultralytics YOLO11. Elle se concentre sur la nature et l'emplacement des objets, et non sur leur mouvement entre les images. Tu peux explorer les comparaisons entre les différents modèles YOLO pour les tâches de détection.
  • Suivi d'objets: Il s'agit de suivre des objets spécifiques détectés sur plusieurs images, en conservant leur identité au fil du temps. Alors que le flux optique peut être un composant utilisé dans les algorithmes de suivi (comme DeepSORT), le suivi se concentre sur les trajectoires des objets et la persistance de l'identité, ce qui est une tâche de plus haut niveau que l'estimation du mouvement au pixel près. Les modèles Ultralytics prennent en charge les modes de suivi des objets.
  • Estimation du mouvement : Il s'agit d'un terme plus large qui englobe diverses techniques permettant de déterminer le mouvement. Le flux optique est un type spécifique d'estimation du mouvement axé sur le mouvement 2D apparent des pixels dans le plan de l'image, souvent distinct de l'estimation du véritable mouvement 3D des objets dans le monde.
  • Segmentation d'image: Il s'agit de diviser une image en plusieurs segments ou régions, souvent pour isoler des objets ou des zones. Bien que les indices de mouvement provenant du flux optique puissent faciliter la segmentation (segmentation du mouvement), l'objectif principal est la délimitation spatiale, et non le calcul du vecteur de mouvement. Les tâches telles que la segmentation par instance fournissent des masques par pixel pour chaque instance d'objet.

Applications dans le monde réel

Le flux optique est crucial pour de nombreuses applications qui nécessitent de comprendre le mouvement à partir d'une vidéo :

  • Compression vidéo : Les normes telles que MPEG utilisent des techniques d'estimation de mouvement similaires au flux optique pour prédire les images suivantes en fonction des images précédentes. En codant uniquement les vecteurs de mouvement et les erreurs de prédiction (résidus), on obtient une compression importante des données.
  • Systèmes autonomes : Les véhicules et les robots autonomes utilisent le flux optique pour l'odométrie visuelle (estimation de l'auto-mouvement), la détection des obstacles et la compréhension du mouvement relatif des objets dans leur environnement. Par exemple, il aide une voiture auto-conduite à estimer sa vitesse par rapport à la route ou à suivre les véhicules à proximité. Des entreprises comme Waymo s'appuient fortement sur la perception des mouvements. Explore l'IA dans les voitures auto-conduites pour plus de contexte.
  • Reconnaissance des actions : Comprendre les actions humaines dans les vidéos implique souvent d'analyser les modèles de mouvement dérivés du flux optique.
  • Stabilisation vidéo : Les techniques de stabilisation de l'image numérique peuvent utiliser le flux optique pour estimer le tremblement de la caméra et le compenser, produisant ainsi des vidéos plus fluides.
  • Analyse d'images médicales: Utilisé pour suivre le mouvement des tissus, comme le mouvement du muscle cardiaque dans les échocardiogrammes ou la déformation des organes pendant les procédures. Voir des ressources comme Radiologie : L 'intelligence artificielle pour les progrès connexes.
  • Robotique: Permet aux robots de naviguer, d'interagir avec des objets et d'effectuer des tâches en se basant sur un retour visuel concernant les mouvements dans leur environnement. L'intégration à des systèmes tels que ROS intègre souvent l'analyse des mouvements.

Outils et mise en oeuvre

Des bibliothèques comme OpenCV fournissent des implémentations d'algorithmes classiques de flux optique(OpenCV Optical Flow Tutorials). Pour les approches d'apprentissage profond, des cadres comme PyTorch et TensorFlow sont couramment utilisés, en s'appuyant souvent sur des modèles pré-entraînés disponibles sur des plateformes telles que Hugging Face. L'entraînement de ces modèles nécessite des ensembles de données vidéo à grande échelle avec des informations de flux de vérité au sol, comme les ensembles de données FlyingThings3D ou Sintel. Des plateformes comme Ultralytics HUB peuvent aider à gérer les ensembles de données et les flux d'entraînement des modèles, bien qu'elles se concentrent principalement sur des tâches telles que la détection et la segmentation plutôt que sur l'estimation du flux optique directement.

Tout lire