Si je désire que mes images s’adaptent au point de vue de l’observateur, il est nécessaire de concevoir un mécanisme de suivi de visages. À l’origine, je croyais qu’il serait bien plus simple de faire un suivi de points à même des lunettes portées par le spectateur.
Au départ, j’ai fixé une DEL infrarouge sur une paire de lunettes stéréoscopiques pour permettre son suivi par une caméra sensible à l’infrarouge.
Cette dernière est tout simplement une caméra web de faible qualité (c’est-à-dire dépourvue de barrière infrarouge), orientée vers le sujet, à laquelle j’ai apposé un morceau de pellicule diapositive exposée et développée en guise de filtre infrarouge ad hoc afin de bloquer le spectre visible.
Grâce à l’opérateur blob tracking dans TouchDesigner, il est alors possible d’effectuer le suivi d’un point lumineux.
La prochaine étape est de faire le suivi de deux sources lumineuses sur les lunettes afin de déterminer la distance caméra-sujet en calculant l’écart entre les points sur l’image captée par la caméra. Un mécanisme semblable a précédemment été élaboré par Johnny Chung Lee à l’aide d’un contrôleur Wiimote.
Toutefois, les limitations d’OpenCV (le moteur de suivi de TouchDesigner) ont freiné mes ardeurs : il accapare beaucoup de ressources, introduit une latence appréciable, et décroche lorsque l’objet suivi devient immobile. Après plusieurs essais en tentant de peaufiner mon dispositif infrarouge, j’ai eu l’intuition que l’algorithme lui-même était déficient. C’est en tentant de faire le suivi d’un cercle parfait animé à même le logiciel que j’ai réalisé que le blob tracking possédait des lacunes insurmontables. À titre informatif, si cette avenue avait fonctionné, la prochaine étape aurait été de fixer des autocollants rétro-réflectifs sur les lunettes et d’arrimer l’émetteur infrarouge à côté de la caméra. Une alternative serait d’utiliser une caméra dédiée qui se charge du suivi (tel que le Pixy Smart Vision Sensor, ou d’émuler la technique de Johnny Chung Lee (ci-haut).