Suivi du visage : présentation
Dans le cadre d'un cours ou d'une présentation filmée de façon automatique par notre caméra, nous souhaitons laisser l'orateur libre de se déplacer sur la scène. Il peut être visible sous tous les angles, être partiellement ou totalement occulté (par la manipulation d'un objet ou tout simplement lorsqu'il se retourne pour écrire au tableau par exemple).
Le suivi du visage doit être un algorithme capable de :
- localiser le visage sans l'aide d'un opérateur
- orienter la caméra pour suivre les déplacements de l'orateur, adapter le zoom pour qu'il occupe une taille constante à l'écran
- savoir décider si le visage est perdu (la personne est occultée, ou dos à la caméra)
- retrouver le visage après sa perte
Après comparaison des différentes méthodes employées dans le domaine de la détection de visages, nous avons décidé d'utiliser conjointement deux approches différentes :
- une détection de mouvement, pour localiser une première fois le visage de l'orateur
- le tracking d'une image sur l'autre du visage détecté
Ces deux étapes s'organisent comme suit :
- Avant de lancer l'asservissement, l'utilisateur règle la caméra de manière à cadrer la scène dans son ensemble. Cette position est mémorisée ; on part du principe qu'à tout moment ce cadrage permet de voir l'orateur, quel que soit son déplacement.
- Au lancement de l'asservissement, on se positionne à ce cadrage, et on applique la détection de mouvement. Celle-ci permet de repérer le visage de l'orateur
- Le tracking démarre : d'une image sur l'autre, on cherche le visage aux alentours de la position qu'il avait à l'image précédente. On envoie à la caméra les informations nécessaires pour que l'orateur apparaisse en plan rapproché à l'écran.
- Lorsque le visage est perdu, on immobilise la caméra. On patiente un court instant, en vérifiant que le visage ne rapparaisse pas aux alentours de son point de disparition. Si c'est le cas, on relance le tracking.
- Sinon, caméra toujours immobile, on applique une détection de mouvement pendant quelques secondes. Le zoom de la caméra est toujours au niveau qu'il avait à la fin du tracking. Si on détecte la cible, on relance le tracking.
- En cas d'échec, la caméra adopte le cadrage initial, qui lui permet de voir l'intégralité de la scène. Après immobilisation de la caméra, on reprend la détection de mouvement à l'étape 2