Suivi de mouvement

Le suivi de mouvement est une application à lui tout seul. Le suivi de mouvement permet de suivre deux types de mouvement : la translation et la rotation. Il peut les suivre les deux simultanément ou seulement un d'entre-eux. Il peut faire du suivi par 1/4 de pixel ou par pixel. Il peut stabiliser le mouvement ou faire qu'une piste suive le mouvement d'une autre.

Bien que le suivi de mouvement soit appliqué comme un effet temps réel, il doit habituellement être rendu pour se rendre compte des résultats. Cet effet à besoin de beaucoup de temps pour détecter précisément un mouvement.

Le moteur de recherche de mouvement fonctionne en utilisant une région de l'image comme région à surveiller. Il compare cette région entre deux images pour calculer le mouvement. Cette région peut être définie n'importe où sur l'écran. Une fois que le mouvement entre les deux image a été calculé, un certain nombre de choses peut être effectué avec ce vecteur de mouvement. Il peut être mis à l'échelle en utilisant une valeur de l'utilisateur et tronqué à une valeur maximale. Il peut être ignoré ou accumulé avec tous les vecteurs de mouvement qui le précèdent jusqu'à la positon actuelle.

Pour gagner du temps, le résultat du mouvement peut être enregistré pour être réutilisé plus tard, rappelé d'un précédent calcul ou détruit.

Le moteur de suivi de mouvement possède la notion de deux pistes, le niveau principal et le niveau de destination. Le niveau principal est l'endroit où se fait la comparaison entre deux image. Le niveau de destination est l'endroit où le mouvement est appliqué soit pour suivre, soit pour compenser les mouvements du niveau principal.

Les implications du suivi de mouvements sont suffisantes pour faire vivre des sociétés entière et pour construire sa carrière là-dessus. Le suivi de mouvement de Cinelerra n'est pas aussi sophistiqué que certains logiciels de suivi de mouvement de renommée mondiale mais il est suffisant pour améliorer certaines prises de vue au caméscope.

Voici une brève description des paramètre du suivi de mouvement :

  • Suivre la translation : activer les opérations relatives aux mouvements de translation. Le moteur de suivi recherche les mouvements selon les axes X et Y du niveau principal et ajuste le mouvement selon les axe X et Y dans le niveau de destination.
  • Taille de bloc (translation) : pour les opérations de translation, un bloc est comparé aux blocs voisins pour rechercher celui qui comporte le moins de différences. La taille de bloc à rechercher est donnée par ce paramètre.
  • Rayon de recherche (translation) : c'est la taille de la zone à examiner pour le bloc de translation.
  • Nombre de pas de recherche (translation) : idéalement, les opérations de recherche devraient comparer le bloc de translation avec chaque autre pixel se trouvant dans le rayon de recherche. Pour accélérer les opérations, la recherche est faite dans un sous-ensemble des positions possibles. Ensuite, la zone de recherche est réduite et analysée de nouveau avec le même nombre de pas jusqu'à ce que le déplacement soit connu avec une précision de 1/4 pixel.
  • Bloc X, Y : ces coordonnées déterminent le centre du bloc de translation basé sur des pourcentages de la largeur et de la hauteur de l'image. Le centre du bloc devrait être compris dans une partie de l'image qui est toujours visible.
  • Décalage maximum absolu : le niveau de mouvement détecté par le moteur de suivi de mouvement est illimité si cette valeur est de 100. Si elle est inférieure à 100, la valeur de mouvement est limitée par ce pourcentage de la taille de l'image.
  • Vitesse d'établissement : le mouvement détecté entre chaque image peut être accumulé sous forme d'un vecteur de mouvement absolu. Si la vitesse d'établissement est de 100, le vecteur absolu est ajouté à l'image suivante. Si la vitesse d'établissement est inférieure à 100, le vecteur absolu est redimensionné par cette valeur avant d'être ajouté à l'image suivante.
  • Suivre la rotation : activer les opérations relatives aux mouvements rotation. Le moteur de suivi recherche la rotation dans le niveau principal et ajuste la rotation dans le niveau cible.
  • Taille de bloc (rotation) : pour les opérations de rotation, un seul bloc est comparé à des blocs de même taille, chacun étant pivoté d'une valeur différente. Ceci est la taille des blocs de rotation.
  • Rayon de recherche (rotation) : c'est l'angle de rotation maximum à partir de l'image de départ que le moteur d'analyse peut détecter. L'analyse en rotation commence à cet angle dans le sens anti-horaire jusqu'à cet angle dans le sens horaire. Le rayon de recherche indiqué ici est donc la moitié de la plage totale qui sera analysée.
  • Nombre de pas de recherche (rotation) : idéalement, tous les angles possibles devraient être testés pour obtenir la rotation. Pour accélérer la recherche de la rotation, le rayon pour la recherche de la rotation est divisé en un nombre fini d'angles et seuls ces angles seront comparés avec l'image de départ. Ensuite, le rayon de recherche sera diminué et un même nombre d'angles sera comparé avec le plus petit rayon jusqu'à ce que la plus grande précision possible soit atteinte. Normalement, vous avez besoin d'un pas de recherche pour chaque degré parcouru. Comme le moteur de recherche de la rotation parcourt le rayon de recherche dans les deux directions, afin d'effectuer la recherche sur toute la plage vous avez besoin de deux pas pour chaque degré de rayon de recherche.
  • Dessiner les vecteurs : lorsque la translation est activée, 2 boîtes sont dessinées sur l'image. une des boîtes représente le bloc de translation, l'autre boîte, en-dehors du bloc de translation représente l'étendue du rayon de recherche de translation. Au centre de ces boîtes figure une flèche indiquant la translation entre les deux images principales. Lorsque la rotation est activée, une seule boîte de la taille du bloc de rotation est dessinée, pivotée de la valeur de la rotation détectée.
  • Suivre une seule image : lorsque cette option est utilisée, le déplacement entre une seule image de départ et l'image actuellement sous le point d'insertion est calculée. L'image de départ est précisée dans l'emplacement « numéro d'image ». Le mouvement calculé de cette manière est pris comme vecteur de mouvement absolu. Le vecteur de mouvement absolu de chacune des images remplace le vecteur de mouvement absolu de l'image précédente. La vitesse d'établissement n'a pas d'action sur lui car il ne comporte aucun vecteur de déplacement précédent. La reproduction peut commencer n'importe où sur la timeline puisqu'il n'y a aucune dépendance avec des résultats antérieurs.
  • Suivre l'image précédente : le calcul du mouvement ne sera effectué qu'entre l'image précédente et l'image en cours. Ceci est ajouté à un vecteur de mouvement absolu de façon à obtenir le nouveau mouvement depuis le début de la séquence jusqu'à la position actuelle. Après le traitement de chaque image, la position du bloc est décalée de façon à toujours couvrir la même région de l'image. La reproduction doit être faite depuis le début de l'effet de mouvement de façon à accumuler tous les vecteurs de mouvement nécessaires.
  • Image précédente du même bloc : c'est utile pour stabiliser le métrage tremblotant d'un caméscope. Dans ce mode, le mouvement entre l'image en cours et l'image précédente est calculé. Au lieu d'ajuster la position du bloc pour refléter la nouvelle position de l'image, comme le fait « Suivre l'image précédente », la position du bloc reste inchangée entre les deux images. Donc une nouvelle région est comparée pour chaque image.
  • Niveau principal : ceci détermine la piste qui procure l'image de départ et l'image finale pour les calculs de mouvement.
    • S'il est positionné à Bas, la piste la plus basse de toutes celles qui partagent cet effet sera le niveau principal, la piste qui se trouve au-dessus des autres sera le niveau cible.
    • S'il est positionné à Haut, la piste la plus haute de toutes celles qui partagent cet effet sera le niveau principal, la piste qui se trouve au-dessous des autres sera le niveau cible.
  • Calcul : ceci détermine s'il faut calculer le déplacement et sous quelle forme l'enregistrer sur le disque. S'il est positionné à Ne pas calculer, le calcul de déplacement est sauté. S'il est positionné à Recalculer, le calcul de mouvement est effectué chaque fois que chaque image est rendue. S'il est positionné à Enregistrer, le calcul du déplacement est toujours effectué et, en plus, une copie en est aussi enregistrée. S'il est positionné à Charger, le calcul du mouvement est chargé depuis un résultat de calcul précédemment enregistré. S'il n'y a pas de résultat précédent sur le disque, un nouveau calcul est effectué.
  • Action : une fois que le vecteur de mouvement est connu, elle détermine s'il faut déplacer le niveau de destination dans la direction opposée au mouvement ou s'il faut suivre le vecteur de mouvement. Si c'est Ne rien faire, le niveau de destination est laissé inchangé. Si c'est Piste…, le niveau de destination est déplacé de la même valeur que le niveau principal. C'est utile pour faire correspondre des titres à des objets sur l'image. Si c'est Stabiliser…, le niveau de destination est déplacé dans la direction opposée au vecteur de mouvement. C'est utile pour stabiliser un objet dans l'image. Les opérations de mouvement peuvent être précises au pixel ou au sous-pixel en modifiant les paramètres de l'action.