Introduction#
La stabilisation vidéo 2D est une fonction qui s’ajoute aux capacités de suivi des images de Blender : Vous pouvez utiliser certains points de suivi pour éliminer les tremblements, les bosses et les secousses des séquences vidéo. En général, la stabilisation de l’image fait partie d’un flux de travail en 2D pour préparer et améliorer les séquences avant les étapes de traitement ou de modélisation ultérieures. Cette page aide à comprendre comment cela fonctionne, présente les termes et concepts connexes, décrit en détail les contrôles d’interface disponibles et enfin donne quelques conseils sur l’utilisation en pratique.
Scénarios d’utilisation typiques du stabilisateur :
Corriger des défauts mineurs (trépied branlant, mouvement saccadé de la caméra).
“Poor man’s steadycam” (lorsqu’un vrai steadycam n’était pas disponible, abordable ou applicable).
Comme préparation au masquage, à l’appariement et à la rotoscopie.
Il n’est pas rare que la stabilisation 2D doive traiter des images quelque peu imparfaites et défectueuses.
Comment cela fonctionne#
Pour détecter un faux mouvement dans un plan donné, nous allons supposer un modèle simplifié de ce mouvement. Nous essayons ensuite de faire correspondre le mouvement des éléments suivis avec ce modèle simplifié pour en déduire une compensation. Bien sûr, cela ne fonctionne que dans la mesure où notre modèle est adéquat - mais en pratique, cette approche simplifiée fonctionne étonnamment bien, même avec des plans assez compliqués, où notre hypothèse de base n’était qu’une approximation de mouvements beaucoup plus élaborés.
Ce modèle simplifié qui sous-tend la stabilisation 2D telle qu’elle est mise en œuvre ici suppose un mouvement par une transformation affine-linéaire :
La caméra est poussée vers le haut/le bas/les côtés par un élément de translation.
L’image est ensuite inclinée et mise à l’échelle autour d’un point pivot (centre de rotation).
Pour compenser le mouvement selon ce modèle simplifié, le stabilisateur 2D procède en deux étapes. Tout d’abord, nous essayons de détecter le décalage de translation à partir de la moyenne pondérée de tous les points de suivi de translation. Après avoir compensé cette composante de translation, nous utilisons ensuite des points de suivi rotation/échelle supplémentaires pour détecter la rotation autour d’un point de pivot donné. Là encore, nous détectons les changements de rotation et d’échelle par une moyenne pondérée de tous les points de suivi de rotation/échelle donnés.
Dans la version actuelle, le point pivot est ancré au centre de gravité des points de suivi de la translation. Ainsi, la translation détectée est déjà prise en compte. Dans certains cas, ce n’est pas optimal, en particulier lorsque les pistes présentent des lacunes ou ne couvrent pas toute la durée de la séquence - nous prévoyons d’autres options pour mieux contrôler le point pivot dans les prochaines versions.
Pistes de stabilisation#
Ainsi, comme base de toute stabilisation d’image, nous avons besoin de caractéristiques d’images suivies pour en déduire les mouvements. Ces points de suivi ou “pistes” peuvent être établis avec le composant de suivi des caractéristiques de l’image de Blender. Le bon choix des points à suivre est quelque peu délicat, mais crucial pour une stabilisation d’image réussie. Souvent, nous sommes ici parce que nous devons faire face à des images imparfaites. Dans ces cas, le calcul de la moyenne des pistes permet de contourner les erreurs d’image ou de suivi à un moment donné. De plus, lorsque la séquence contient des mouvements induits par la perspective, des points de suivi placés symétriquement au-dessus et au-dessous de l’horizon peuvent être utilisés pour annuler les mouvements parasites et obtenir une stabilisation de la zone focale située entre les deux.
Les pistes peuvent être ajoutées en deux groupes :
Tout d’abord, il y a la liste des pistes à utiliser pour compenser les sauts de l’emplacement de la caméra. À partir de tous les points de suivi ajoutés à ce groupe, nous calculons une moyenne pondérée. Nous essayons ensuite de maintenir cette moyenne constante pendant toute la durée du tournage. C’est donc une bonne idée d’utiliser des marqueurs de suivi proches et centrés sur le sujet le plus important.
Une deuxième sélection de pistes est utilisée pour maintenir la rotation et l’échelle de l’image constantes. Vous pouvez utiliser les mêmes pistes pour les deux sélections. Mais en général, il est préférable d’utiliser des points de suivi à grande distance du centre de l’image, et symétriquement, des deux côtés, pour capturer les mouvements angulaires avec plus de précision. Comme dans le cas de la “localisation”, nous calculons une contribution angulaire moyenne et essayons ensuite de maintenir cette valeur constante pendant toute la durée de la prise de vue.
Film, image et toile#
Lorsqu’on parle de la stabilisation du mouvement de la vidéo, il faut distinguer plusieurs cadres de référence. Les éléments d’image que comporte le métrage se déplacent de façon irrégulière à l’intérieur des limites de l’image originale du métrage - c’est la raison même pour laquelle nous utilisons le stabilisateur. Lorsque notre tentative de stabilisation a été couronnée de succès, les éléments d’image peuvent être considérés comme stables maintenant, alors qu’en échange les limites de l’image du métrage ont pris un mouvement irrégulier et sautent dans le sens opposé. C’est la conséquence immédiate de l’activité du stabilisateur.
Comme les éléments d’image réels, c’est-à-dire le sujet de nos séquences, peuvent être considérés comme stables maintenant, nous pouvons les utiliser comme un nouveau cadre de référence : nous les considérons comme attachés à une toile de fond fixe, que nous appelons la toile. L’introduction de ce concept de “toile” permet de traiter les mouvements délibérés de la caméra. Et de plus, elle apporte un avantage supplémentaire : il est très fréquent que les pixels des séquences vidéo ne soient pas carrés. Nous devons donc étirer et élargir ces pixels avant de pouvoir effectuer une stabilisation de rotation sensible. Ainsi, la toile devient, par définition, la référence pour un affichage non déformé du contenu de l’image.
Mais lorsque la caméra a été déplacée intentionnellement, nous devons considérer un autre cadre de référence au-delà de la toile : à savoir le cadre (ou “cadre”) de l’image finale que nous voulons créer. Pour comprendre cette distinction, considérons une prise de vue panoramique à main levée vers la droite : comme notre caméra a été tournée vers la droite, le contenu réel de l’image se déplace vers la gauche dans le cadre de l’image originale. Mais supposons que le stabilisateur ait réussi à “fixer” le contenu de l’image par rapport à la toile - ce qui signifie que les limites de l’image originale commencent à se déplacer irrégulièrement vers le côté droit.
Pour permettre une telle compensation et pour réintroduire un panoramique, ou une inclinaison et un zoom délibérés de l’image résultante, le stabilisateur offre un ensemble de commandes dédiées : Expected position, Expected rotation et Expected scale. Ces commandes agissent comme les commandes d’une caméra virtuelle filmant le contenu que nous avons fixé sur la toile. En animant ces paramètres, nous sommes capables d’effectuer toutes sortes de mouvements de caméra délibérés de manière fluide.
La “danse” des bordures noires#
Comme expliqué ci-dessus, lorsque nous réussissons à stabiliser le contenu de l’image, les limites de la séquence originale commencent à sauter dans la direction opposée aux mouvements compensés. C’est inévitable - et pourtant très gênant, car en raison de la nature irrégulière de ces mouvements, ces “bordures noires dansantes” ont tendance à détourner l’attention du sujet réel et à introduire une agitation gênante. Notre objectif doit donc être de dissimuler ces bordures dansantes aussi bien que possible. Une solution simple consiste à ajouter une petite quantité de zoom. Parfois, nous devrons également animer la position du paramètre Expected afin de garder l’image centrée le mieux possible – cela permet de réduire la quantité de zoom nécessaire pour supprimer ces bordures gênantes.
La fonction Autoscale peut être utilisée pour trouver la quantité minimale de zoom juste suffisante pour supprimer complètement ces bordures noires. Cependant, si la caméra saute beaucoup, la fonction Autoscale effectue souvent un zoom trop important, d’autant plus que ce calcul vise à trouver un seul facteur de zoom statique pour toute la durée de la séquence. Lorsque cela se produit, vous obtiendrez généralement de meilleurs résultats en animant manuellement le facteur de zoom et la position attendue.