Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Flux Optique

Découvrez les principes fondamentaux du flux optique dans la vision par ordinateur. Apprenez comment les vecteurs de mouvement facilitent la compréhension des vidéos et améliorent le suivi dans Ultralytics .

Le flux optique est le motif de mouvement apparent des objets, des surfaces et des contours dans une scène visuelle, causé par le mouvement relatif entre un observateur et une scène. Dans le domaine de la vision par ordinateur, ce concept est fondamental pour comprendre la dynamique temporelle dans les séquences vidéo. En analysant le déplacement des pixels entre deux images consécutives, les algorithmes de flux optique génèrent un champ vectoriel où chaque vecteur représente la direction et l' amplitude du mouvement pour un point spécifique. Cet indice visuel de bas niveau permet aux systèmes d'intelligence artificielle de percevoir non seulement ce qui se trouve dans une image, mais aussi comment cela bouge, comblant ainsi le fossé entre l'analyse d'images statiques et la compréhension dynamique des vidéos.

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é, qui postule que l' intensité d'un pixel sur un objet reste constante d'une image à l'autre, même lorsqu'il se déplace. Les algorithmes utilisent ce principe pour résoudre les vecteurs de mouvement à l'aide de deux approches principales :

  • Flux optique clairsemé: Cette méthode calcule le vecteur de mouvement pour un sous-ensemble spécifique de caractéristiques distinctes, telles que les coins ou les bords, détectées via l'extraction de caractéristiques. Les algorithmes tels que la méthode Lucas-Kanade sont efficaces sur le plan informatique et idéaux pour les tâches d'inférence en temps réel où le suivi de points d'intérêt spécifiques est suffisant.
  • Flux optique dense: Cette approche calcule un vecteur de mouvement pour chaque pixel de l'image. Bien que beaucoup plus gourmande en ressources informatiques , elle fournit une carte de mouvement complète, essentielle pour des tâches précises telles que la segmentation d'images et l'analyse structurelle. Les architectures modernes d'apprentissage profond surpassent souvent les méthodes mathématiques traditionnelles dans l'estimation du flux dense en apprenant des modèles de mouvement complexes à partir de grands ensembles de données.

Flux optique vs. suivi d'objets

Bien qu'ils soient souvent utilisés conjointement, il est essentiel de distinguer le flux optique du suivi d'objet. Le flux optique est une opération de bas niveau qui décrit le mouvement instantané des pixels ; il ne comprend pas intrinsèquement l'identité ou la persistance d'un objet.

En revanche, le suivi d'objets est une tâche de haut niveau qui localise des entités spécifiques et leur attribue un identifiant cohérent dans le temps . Les trackers avancés, tels que ceux intégrés à Ultralytics , effectuent généralement une détection d'objets pour trouver l'objet, puis utilisent des indices de mouvement, parfois dérivés du flux optique, pour associer les détections entre les images. Le flux optique répond à la question « à quelle vitesse ces pixels se déplacent-ils actuellement », tandis que le suivi répond à la question « où est passée la voiture n° 5 ? ».

Applications concrètes

La capacité à estimer le mouvement au niveau des pixels alimente un large éventail de technologies sophistiquées :

  • Véhicules autonomes et robotique : Le flux optique est utilisé pour l'odométrie visuelle, permettant à un robot ou à une voiture d'estimer son propre mouvement par rapport à l' environnement. Il aide également à l' estimation de la profondeur et à l'évitement des obstacles en analysant la vitesse à laquelle les objets dans le champ visuel s'étendent ou se déplacent.
  • Stabilisation vidéo : les caméras et les logiciels de montage utilisent des vecteurs de flux pour detect les tremblements detect de la caméra. En compensant ce mouvement global, les systèmes peuvent stabiliser numériquement les images. Il s'agit d'une fonctionnalité standard dans les appareils électroniques grand publicmodernes tels que les smartphones et les caméras d'action. .
  • Reconnaissance des actions: dans le domaine de l'analyse sportive et de la sécurité, l'analyse du flux temporel des pixels aide les systèmes à identifier des actions humaines complexes. Par exemple, les modèles d'estimation de la posture peuvent être enrichis de données de flux afin de distinguer une personne qui marche d'une personne qui court en fonction de la vitesse de mouvement des membres.
  • Compression vidéo : les normes telles que le codage vidéo MPEG s'appuient fortement sur l'estimation du mouvement. Au lieu de stocker chaque image complète, le codec stocke le flux optique (vecteurs de mouvement) et la différence (résiduelle) entre les images, ce qui réduit considérablement la taille des fichiers pour la diffusion en continu et le stockage.

Exemple de mise en œuvre

L'exemple suivant montre comment calculer un flux optique dense à l'aide de OpenCV , un outil standard dans l'écosystème de la vision par ordinateur . Cet extrait de code utilise l'algorithme de Farneback pour générer une carte de flux entre deux images consécutives.

import cv2
import numpy as np

# Simulate two consecutive frames (replace with actual image paths)
frame1 = np.zeros((100, 100, 3), dtype=np.uint8)
frame2 = np.zeros((100, 100, 3), dtype=np.uint8)
cv2.rectangle(frame1, (20, 20), (40, 40), (255, 255, 255), -1)  # Object at pos 1
cv2.rectangle(frame2, (25, 25), (45, 45), (255, 255, 255), -1)  # Object moved

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

# Calculate dense optical flow
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"Max motion detected: {np.max(mag):.2f} pixels")

Pour les applications de haut niveau nécessitant la persistance des objets plutôt que le mouvement brut des pixels, les utilisateurs doivent envisager les modes de suivi disponibles dans Ultralytics YOLO11 et YOLO26. Ces modèles résument la complexité de l'analyse du mouvement et fournissent des identifiants d'objets et des trajectoires robustes prêts à l'emploi pour des tâches allant de la surveillance du trafic à l' analyse du commerce de détail.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant