|
|
Table des matières
Introduction sur le remplacement de motifsPour s'adapter aux différentes législations concernant la publicité, des techniques vidéos ont été mises au point. Une de ces techniques permet notamment de remplacer en temps réel un motif dans une séquence vidéo. On peut donc, lors d'une retransmission en direct, incruster dans l'image télévisée, une publicité différente suivant que les images sont destinées au public français, américain, russe, ou sud africain ... Lors d'un match de football ou de tennis, on peut par exemple modifier à l'image et en temps réel, les publicités qui bordent le stade. Le bulletin météorologique utilise depuis longtemps une technique plus simple mais qui revient plus ou mois au même. Le programme qui est présenté ici, incruste une image sur une séquence vidéo montrant une camionnette qui passe dans une rue. Le motif s'adapte à la position de la camionnette dans l'image. La technique utilisé est : le suivi de segments. Les méthodes utiliséesAvant de commencer toute autre technique, il faut extraire les contours de l'image. (cf image à droite). Ceci est un pré-traitement qui est fait par un autre programme. On a donc au départ une liste de chaînes de points, représentant les contours de chacune des images que l'on va traiter. Split-MergeC'est le premier algorithme qui est réellement inséré dans le programme:
Description de l'algorithmeOn se donne un critère epsilon. On considère le segment limité par le début et la fin de la chaîne de points, et on regarde quel est le point de la chaîne le plus éloigné de ce segment. Si la distance du point au segment est supérieure à epsilon, alors on étudie les deux segments début-point et point-fin. Et ainsi par récurrence. C'est l'algorithme split. Ensuite pour diminuer le nombre de segments, on prend les trois premiers points et on regarde si l'on peut en faire un segment (suivant le critère précédent). Si oui, on relie le premier point avec le troisième point et on recommence. Si non, on essaie en commence par le deuxième point. C'est l'algorithme merge.
Limites
Tracking SimpleOn choisit un segment (parmi ceux trouvés par split-merge), on regarde sa vitesse et son accélération, et on suppose qu'elles sont voisines d'une image sur l'autre. Connaissant la vitesse et l'accélération d'un segment on essaie de deviner quelle sera sa position dans l'image suivante. Ensuite on détermine quel est le segment de l'image suivante (parmi ceux trouvés par split-merge) qui est le plus proche du segment supposé. Si ce segment est suffisamment proche (suivant un critère donné), on décide que c'est bien le segment recherché. On met alors à jour la vitesse et l'accélération du segment dans la nouvelle image, et on recommence. suivi d'un segment après trois imagesTracking évoluéCela commence comme le tracking simple, mais maintenant on ne compare plus le segment supposé aux segments trouvés par split-merge. A partir du segment supposé on recherche une chaîne de points voisine, qui pourrait ressembler à un segment. Si on trouve une telle chaîne de points, on en fait un segment (par split-merge dans mon programme) et on décrète que c'est le segment recherché. Cette méthode donne de meilleurs résultats que la première, car on n'est plus géné par le fait que split-merge ne renvoie pas les mêmes segments d'une image sur l'autre. Insertion du motifEn suivant (par la méthode décrite ci-dessus), deux segments de la camionnette, on obtient la position dans chaque image, de quatre points de la camionnette. Ces points sont suffisants pour déterminer l'homographie qui transforme un rectangle en l'image de la face de la camionnette. On alors la position précise de la camionnette dans l'image, et on peut donc incruster notre motif. Dans le programme fourni, on ne calcule pas l'homographie complètement. Considérant la petite taille de l'image, on se contente d'un changement de repère (la face de la camionnette est alors un parallèlogramme, et non pas un quarilatère quelconque). Ceci permet d'alléger les calculs et d'accélérer le traitement. De toute façon, les resultats du tracking ne sont pas suffisamment bons pour se donner la peine de faire un calcul exact. insertion du motifLes problèmes rencontrés
ConclusionLe résultat n'est pas fameux, mais il illustre bien la difficulté de suivre un objet dans une séquence vidéo. Une séquence en couleurs aurait peut-être été plus facile à étudier ? Rien n'est moins sûr. Je pense que la méthode du suivi de segments n'est pas très adaptée pour ce type de séquence vidéo. Mais il est sûr qu'elle donne des résultats même dans une scène aussi complèxe que celle-ci. Dans un environnement plus simple et plus géométrique on pourrait atteindre de très bons résultats. Enfin, ... Je ne conseillerai mon programme à aucune chaîne de télévision ... RéférencesVoici le source du programme avec tout ce qui est nécessaire.
Sur l'auteurfait à Palaiseau le 5 janvier 1999 Laurent MIRGUET |