Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Flux Optique

Découvrez la puissance du flux optique dans la vision artificielle. Apprenez comment il estime le mouvement, améliore l'analyse vidéo et stimule les innovations en matière d'IA.

Le flux optique est un concept fondamental dans vision par ordinateur qui consiste à l'estimation du mouvement apparent des objets, des surfaces et des bords dans une scène visuelle. Ce mouvement est calculé sur la base le mouvement relatif entre un observateur (tel qu'une caméra) et la scène elle-même. Le résultat de ce processus est un champ de vecteurs où chaque vecteur représente le déplacement d'un pixel ou d'un élément entre deux images vidéo consécutives. En analysant ces vecteurs de mouvement, les systèmes peuvent obtenir une compréhension granulaire et de bas niveau de la dynamique de la scène, en répondant à la question cruciale de savoir "comment" les pixels se déplacent. à la question cruciale de savoir "comment" les pixels se déplacent au fil du temps.

Mécanismes fondamentaux du flux optique

Le calcul du flux optique repose généralement sur l'hypothèse de la "constance de la luminosité". Ce principe postule que l'intensité des pixels d'un point spécifique d'un objet reste constante entre deux images consécutives, même si l'objet se déplace. qu'il se déplace. Les algorithmes utilisent cette hypothèse pour track déplacements. Il existe deux approches principales pour déterminer ces champs de mouvement :

  • Flux optique dense: Cette méthode calcule un vecteur de mouvement pour chaque pixel d'une image. Elle fournit une carte de mouvement complète, haute résolution, ce qui est essentiel pour les tâches à grain fin telles que l'analyse de l'image, l'analyse de l'image et l'analyse de l'image. segmentation d'images et la restauration restauration vidéo. Bien qu'ils soient très gourmands en ressources informatiques, les d'apprentissage profond modernes d'apprentissage profond, tels que RAFT (Recurrent All-Pairs Field Transforms) ont ont atteint des performances de pointe en matière d'estimation dense, surpassant les méthodes mathématiques traditionnelles.
  • Flux optique clairsemé: Au lieu d'analyser l'ensemble de l'image, les méthodes éparses track ensemble sélectionné de caractéristiques distinctes, telles que les coins ou les bords, souvent identifiées à l'aide d'un logiciel de traitement de l'image. comme les coins ou les bords, souvent identifiés à l'aide de extraction de caractéristiques d'extraction de caractéristiques. Les algorithmes tels que la méthode Lucas-Kanade sont des incontournables de cette catégorie. Parce qu'elles traitent moins de points points de données, les méthodes éparses sont très efficaces et conviennent à l'inférence en temps réel d'inférence en temps réel, où la vitesse est prioritaire par rapport à la densité.

Flux optique vs. suivi d'objets

Il est important de distinguer le flux optique de la suivi d'objetcar ils ont des objectifs différents au sein d'un pipeline de vision. Le flux optique est une opération de bas niveau qui décrit le mouvement instantané des pixels sans comprendre ce que ces pixels représentent. mouvement instantané des pixels sans comprendre ce que ces pixels représentent. Il ne maintient pas intrinsèquement l'identité d'un l'identité d'un objet dans le temps.

En revanche, le suivi d'objets est une tâche de haut niveau qui permet de localiser des entités spécifiques et de leur attribuer un identifiant cohérent cohérent d'une image à l'autre. Les modes de suivi avancés, tels que ceux disponibles dans Ultralytics YOLO11permettent généralement d'effectuer détection d'objets d'abord, puis des indices de mouvement pour associer les détections. Alors qu'un traqueur peut utiliser le flux optique en interne pour prédire la position, l'objectif du tracker est la persistance de l'identité ("Où est allée la voiture n°4 ?"), alors que l'objectif du flux optique est la cartographie du mouvement ("À quelle vitesse ces pixels se déplacent-ils vers la droite ?"). ("À quelle vitesse ces pixels se déplacent-ils vers la droite ?").

Applications de l'IA dans le monde réel

Le flux optique est un outil polyvalent utilisé dans diverses industries pour résoudre des problèmes complexes liés au mouvement.

  • Systèmes autonomes et robotique: Dans le domaine des véhicules autonomesle flux optique est utilisé pour l'odométrie visuelle, c'est-à-dire l'estimation du mouvement du véhicule par rapport au monde. Il aide à détecter les obstacles mobiles qui pourraient échapper à la détection statique, ce qui contribue à une navigation plus sûre. De même, dans les robotiqueles agents utilisent le flux pour manipuler des objets et naviguer dans des environnements dynamiques à l'aide de cadres tels que le ROS.
  • Reconnaissance des actions: L'analyse des modèles temporels de mouvement permet aux systèmes d'IA de reconnaître des actions humaines complexes. des actions humaines complexes. Par exemple, dans technologie de fitness intelligentele flux optique peut aider à affiner l'estimation de la pose en s'assurant que les mouvements les mouvements des membres sont suivis en douceur entre les images, en identifiant des exercices tels que les squats ou les swings de tennis.
  • Stabilisation et compression vidéo: L'électronique grand public s'appuie fortement sur l'estimation des flux. La stabilisation électronique de l'image (EIS) utilise des vecteurs de flux pour compenser le bougé de l'appareil photo. En outre, les normes de les normes de compression vidéo comme le MPEG utilisent l'estimation de mouvement pour réduire la taille des fichiers en n'encodant que les différences (résidus) entre les images plutôt que les images complètes elles-mêmes. elles-mêmes.
  • Imagerie médicale: En analyse d'images médicalesle flux optique est appliqué pour track déformation des tissus, comme les battements d'un cœur dans une échocardiographie. Les médecins peuvent ainsi quantifier le fonctionnement des organes et détecter des anomalies invisibles sur les images statiques.

Exemple de mise en œuvre

L'exemple Python suivant montre comment calculer un flux optique dense à l'aide de la fonction OpenCV pour calculer un flux optique dense. Il utilise l'algorithme de Gunnar Farneback, une méthode populaire pour l'estimation des flux denses.

import cv2
import numpy as np

# Load two consecutive frames (ensure these files exist)
frame1 = cv2.imread("frame1.jpg")
frame2 = cv2.imread("frame2.jpg")

# Convert frames to grayscale
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

# Calculate dense optical flow using Farneback's algorithm
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

# Compute magnitude and angle of 2D vectors
mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])

print(f"Flow shape: {flow.shape}")  # Output: (Height, Width, 2)
print(f"Max motion magnitude: {np.max(mag):.2f} pixels")

Pour les utilisateurs souhaitant intégrer l'analyse de mouvement à la détection d'objets, modèles de détectionUltralytics peuvent être combinés avec des algorithmes de flux pour créer des pipelines d'analyse robustes. Alors que le flux optique fournit les données brutes de mouvement, des modèles de plus haut niveau comme YOLO11 fournissent la compréhension sémantique sémantique nécessaire pour interpréter efficacement ce mouvement. La R&D en cours sur des modèles tels que YOLO26 vise à unifier davantage la compréhension spatiale et et temporelle pour une analyse vidéo de bout en bout encore plus rapide.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant