Contents — find the section you need

En observant une vidéo image par image, il n'est pas évident de prime abord de déterminer quelle partie de l'image s'est déplacée et de quelle amplitude. Le flux optique représente, sous forme de vecteur, le déplacement de la luminosité de chaque pixel dans l'image suivante. Il devient un langage commun pour tout processus impliquant du mouvement : prédiction des collisions dans les véhicules autonomes, autolocalisation des drones, analyse sportive et interpolation vidéo.

0. Résumé en 30 secondes

  • Le flux ne correspond pas à la vitesse intrinsèque de l'objet, mais à son mouvement apparent dans l'image. Il intègre simultanément le mouvement de la caméra, celui de l'objet et la profondeur.

  • L'équation de constance de la luminosité ne fournit qu'une seule équation par pixel. Il est donc nécessaire de la résoudre en ajoutant une hypothèse de régularité locale, des points caractéristiques ou une régularisation.

  • La méthode de Lucas-Kanade considère une petite fenêtre comme une vitesse unique : il s'agit d'une méthode de suivi parcimonieuse. La méthode de Horn-Schunck utilise la régularité sur l'ensemble de l'image : il s'agit d'une méthode d'estimation dense.

  • Les déplacements importants nécessitent une pyramide d'images. L'occlusion, les reflets et le flou nécessitent des mesures de confiance et une gestion des valeurs aberrantes. L'effet de rolling shutter requiert également une correction des différences de synchronisation entre les lignes.

Les méthodes d'apprentissage automatique telles que RAFT sont très précises, mais leur utilisation ne doit être envisagée qu'après vérification de la mémoire GPU, du comportement hors distribution, des performances en temps réel et des conditions de licence.

1. De la constance de la luminosité à l'équation de contrainte de flux

Diagram 1 · Use the button to switch views
Estimation du flux optique à partir d'une pyramide d'images vers un champ vectoriel dense

Figure 1 — Une pyramide gère d'abord les grands déplacements, puis affine un champ vectoriel dense à des échelles plus fines. Les masques de confiance et d'occlusion doivent se déplacer avec les vecteurs.

Si un petit motif stationnaire se déplace entre les images, on peut l'idéaliser en supposant une luminosité constante.

I(x,y,t)=I(x+u\Delta t,y+v\Delta t,t+\Delta t)

Un développement de Taylor au premier ordre, combiné à \Delta t\to0, donne :

I_xu+I_yv+I_t=0

Comme il y a deux composantes de vitesse inconnues (u,v) mais une seule équation, ce problème ne peut être résolu seul. Sur un bord, le mouvement dans la direction du bord est invisible ; sur une surface plane, il est invisible. Dans certaines régions, il n'y a aucun gradient. C'est le problème d'ouverture.

2. Lucas-Kanade et Horn-Schunck

Lucas-Kanade suppose que la vitesse est uniforme dans une fenêtre locale W et minimise l'erreur quadratique moyenne.

E(u,v)=\sum_{(x,y)\in W}w(x,y)\{I_xu+I_yv+I_t\}^2

Cette méthode utilise uniquement les coins où la matrice de gradient est suffisamment bien conditionnée et combine cela avec la même pyramide et la même mise à jour itérative que celles utilisées pour le suivi de points caractéristiques (voir la section précédente). L'implémentation calcOpticalFlowPyrLK d'OpenCV appartient à cette famille.

Horn-Schunck considère le champ d'écoulement sur l'ensemble de l'image comme l'inconnue et minimise simultanément la contrainte de luminosité et la régularité de la vitesse.

E(u,v)=\iint (I_xu+I_yv+I_t)^2+\alpha^2(|\nabla u|^2+|\nabla v|^2)\,dxdy

Une valeur de \alpha plus grande produit un champ d'écoulement plus lisse ; une valeur plus petite autorise des discontinuités locales. Le lissage au niveau de la frontière d'un objet mélange les vitesses des différents objets, ce qui rend la méthode robuste. On utilise plutôt des pertes ou une régularisation préservant les contours.

3. Flux épars et flux dense

Type Points estimés Méthodes représentatives Points forts Points faibles
Épars De quelques centaines à quelques milliers de points, par exemple les coins LK, KLT Léger, alimente directement l'estimation de pose Laisse des lacunes dans les régions à faible texture
Semi-dense Pixels avec gradient VO directe, méthodes basées sur la matrice hessienne Équilibre entre information géométrique et coût de calcul Ne couvre pas toute l'image
Dense Presque chaque pixel Horn-Schunck, TV-L1, RAFT Efficace pour les objets en mouvement, les fluides, l'interpolation Coût de calcul, ambiguïté aux limites d'occlusion

Pour l'odométrie visuelle, l'utilisation de correspondances éparses dans le calcul géométrique tend à être plus stable. En revanche, le masquage des régions de La gestion des piétons en mouvement, ou l'utilisation du mouvement pixel par pixel pour l'interpolation vidéo, requiert un flux dense. Déterminer la densité nécessaire en amont, en fonction de l'objectif visé, est plus efficace que d'augmenter simplement la puissance du GPU.

4. Gestion des grands déplacements, des occlusions et des variations de luminosité

Une approximation différentielle à un pixel devient inefficace en cas de grands mouvements. Une pyramide gaussienne est construite en réduisant l'image à une échelle de 1/2, 1/4 et 1/8 ; les grands déplacements sont estimés à un niveau grossier, puis suréchantillonnés à un niveau fin et affinés itérativement. Un nombre trop élevé de niveaux dans la pyramide entraîne la disparition des petits objets ; un nombre insuffisant réduit la zone de recherche.

Lorsque l'éclairage change, la constance de la luminosité n'est plus assurée. On utilise alors la normalisation locale, la direction du gradient, la perte de Charbonnier robuste ou la différence de couleur relative. À la limite d'un objet en mouvement, un pixel visible dans l'image précédente peut être masqué dans la suivante (occlusion). On utilise des indicateurs d'occlusion, la cohérence avant/arrière et des masques de visibilité plutôt que de forcer un suivi. Il.

5. Méthodes d'apprentissage : Comment interpréter RAFT

RAFT (Recurrent All-Pairs Field Transforms) est connu pour calculer la corrélation entre toutes les paires de pixels de deux images, puis affiner le flux à l'aide d'un opérateur de mise à jour itératif. Puisqu'il exploite un ensemble de candidats de correspondance beaucoup plus vaste que la « fenêtre locale » des méthodes classiques, il peut être performant dans les zones à texture répétitive ou en cas de grands déplacements.

Cependant, une faible erreur moyenne de point final (EPE) sur un banc d'essai ne garantit pas une utilisation sûre sur un robot réel en conditions réelles. Si l'objectif, l'exposition, l'effet de rolling shutter, la poussière ou l'éclairage nocturne de la caméra diffèrent des données d'entraînement, la fiabilité diminue. L'évaluation doit prendre en compte le temps d'inférence, la résolution d'entrée, l'erreur de quantification, le pilote GPU et la licence du modèle.

6. Séparation du mouvement de la caméra et des objets dynamiques

La conversion du flux en mouvement de la caméra nécessite la matrice intrinsèque de la caméra K et la profondeur Z. En mode normalisé Les coordonnées d'un point image \mathbf{x}, le flux dû à la translation de la caméra \mathbf{t} et à sa vitesse angulaire \boldsymbol{\omega} peuvent être conceptuellement exprimés comme suit :

\mathbf{u}=\frac{1}{Z}A(\mathbf{x})\mathbf{t}+B(\mathbf{x})\boldsymbol{\omega}

La composante translationnelle varie avec 1/Z — les objets proches se déplacent davantage que les objets éloignés — tandis que la composante rotationnelle est indépendante de la profondeur. Le flux compatible avec un modèle de mouvement unique, obtenu par RANSAC, est considéré comme l'arrière-plan ; les régions présentant des résidus importants deviennent des objets dynamiques potentiels. Dans les scènes comportant de nombreux véhicules ou piétons, la détection d'objets et les masques sémantiques sont utilisés conjointement avec l'estimation géométrique.

7. Métriques d'évaluation et mesures reproductibles

Étant donné le flux de référence (u^*,v^*), l'erreur moyenne au point d'extrémité est :

EPE=\frac{1}{N}\sum_{i=1}^{N}\sqrt{(u_i-u_i^*)^2+(v_i-v_i^*)^2}

Indiquez non seulement la moyenne, mais aussi le 95e percentile, l'erreur aux limites d'occlusion et l'erreur. Dans les régions à faible texture, l'erreur est ventilée par vitesse. Comme il est difficile d'obtenir des données de référence sur du matériel réel, on combine généralement la capture de mouvement, la trajectoire connue du bras robotisé, des images synthétiques, la cohérence avant-arrière et l'erreur de reprojection VO.

Les journaux doivent conserver l'horodatage de la caméra, l'exposition, la résolution, les niveaux de la pyramide, la taille de la fenêtre, le nombre d'itérations, le GPU/CPU, la température et la confiance du flux. Même avec un même algorithme, les résultats ne sont pas comparables si ces conditions diffèrent.

8. Résumé

Optical Flow contraint le mouvement apparent des pixels par des équations et le résout à l'aide de fenêtres locales, de la régularité de l'image entière, de pyramides d'images et de la corrélation basée sur l'apprentissage. Le flux clairsemé est adapté à l'auto-localisation ; le flux dense est adapté aux objets dynamiques et au traitement vidéo. Considérer séparément le mouvement de la caméra et celui de l'objet, l'occlusion, l'éclairage et l'effet de rolling shutter, et évaluer les conditions d'échec plutôt que la simple erreur moyenne, permet d'éviter un mauvais choix d'implémentation.

Vérifiez votre Compréhension
Le mouvement de l'image correspond-il à la vitesse physique de l'objet ?

Le mouvement de la caméra, le mouvement de l'objet et la profondeur influencent tous le mouvement projeté. La conversion des pixels par seconde en mètres par seconde nécessite des informations géométriques.

Références

What to read next

Review the backgroundLab de flux optique : suivre le mouvement entre deux imagesContinue the seriesIntroduction à l'homographie — Description de la correspondance planaire avec une seule matrice 3x3Explore another aspect of this fieldLab de luminosité et luminance — exposition, gamma et écrêtage