
Un art voulu voyant est le projet de recherche-création de Florian Rosinski, artiste et chercheur. J'en développe le site, bénévolement, sur sa direction artistique.
Une de ses pièces pose des mains détourées sur un texte. Avant la première ligne du programme qui les extrait, il y a eu deux notes. Elles sont publiques sur le site du projet. Cette note-ci résume ce qu'elles décident, et pourquoi je travaille de cette façon.

uavv.fr, le site du projet.
Ce qu'on fabrique
La note pour Florian commence par le point d'arrivée : « Une page qu'on lit sur un téléphone. » Du texte en colonne, et par-dessus « une trentaine de mains détourées, chacune large comme deux mots ».
Quand on fait défiler, les mains avancent moins vite que le texte. Elles dérivent à travers les lignes, et ce qu'elles cachaient se libère.
Ces mains viennent de vidéos de cartomancie publiées sur les réseaux sociaux. Des dizaines de personnes qui ne se connaissent pas y font à peu près le même geste : battre, couper, poser, désigner. C'est cette répétition que la pièce veut rendre visible.
Une note pour l'artiste, une note pour le développeur
Deux documents, deux lecteurs.
- La Fabrique des mains est écrite pour Florian. Pas de jargon. Elle dit ce qui se passe, dans l'ordre, et surtout quelles décisions lui reviennent.
- Quel détecteur de mains est écrite pour celui qui code. Des mesures, des licences, des impasses.
Dans un projet bénévole avec un artiste, ce qui manque n'est pas la puissance de calcul. C'est son temps et son jugement. La première note sert à ne les demander que là où ils comptent.

Découpes : les textes et les images produits au fil de la recherche.
La chaîne multiplie, puis réduit

La chaîne, dans La Fabrique des mains.
Quarante vidéos donnent près de trois mille images fixes. La machine y repère quatre cents mains exploitables. Un humain en garde une trentaine.
Le jugement intervient au point le plus étroit : là où il coûte le moins cher et décide le plus. Pas au début, quand il faudrait trier trois mille images. Pas à la fin, quand il serait trop tard.
Il y a sept opérations. Chacune écrit son résultat sur le disque et ne refait jamais le travail de la précédente. La note le dit concrètement : si on change d'avis sur le détourage dans trois semaines, on relance le détourage seul, sans retélécharger une vidéo, et sans perdre les choix déjà faits.
Trois choix qui ne vont pas de soi
On ne demande pas à la machine « enlève le fond ». Un outil de suppression de fond ne cherche pas un objet : il cherche le sujet le plus visible de l'image. Sur ces vidéos, c'est la personne, ou la table. On recadre donc d'abord autour de la main. Le recadrage ne sert pas à gagner du temps : il change ce que la machine croit regarder.
La netteté se mesure dans la silhouette. Ces vidéos sont tournées avec un fond flou. Mesurée sur l'image entière, une main nette sur un fond fondu obtient une mauvaise note, et on la jette. On mesure donc la netteté de ce qu'on garde, jamais de ce qu'on va supprimer.
Le halo. Les pixels du bord d'un détourage sont à moitié transparents, et gardent la couleur du fond d'origine. Sur du noir, ça donne un liseré clair autour de chaque main. Le remède est une opération à part : recalculer la couleur du premier plan sous la zone transparente.
Choisir le détecteur : mesurer, pas supposer
Onze options ont été comparées pour un seul étage de la chaîne : trouver une main qui manipule des cartes.

Le verdict : un choix, un filet de secours, et un usage à part pour les modèles de vision.
MediaPipe Hand Landmarker l'emporte. C'est le seul candidat dont la qualité a été mesurée dans nos conditions au lieu d'être supposée.
L'objection sérieuse était connue : il décrocherait sur les gros plans et quand un objet cache la main. Ce sont exactement nos deux conditions. Alors on a mesuré, sur des mains réelles.

Chaque ligne est un balayage, pas un point isolé.
Le débit règle la question du matériel : 46,6 millisecondes par image sur un seul cœur, soit 126 secondes pour les 2 700 images, et une vingtaine de secondes sur six processus. Pas besoin de carte graphique pour cet étage.
La mesure a aussi montré ce qu'on ne cherchait pas.

Quand le flou augmente, la netteté s'effondre. La confiance du détecteur, elle, reste haute.
La confiance du détecteur ne dit rien de la netteté. Il reconnaît très bien une main franchement floue. La note pour Florian le formule mieux : un outil vous dit toujours sa confiance dans sa tâche, jamais dans la vôtre.
Dernier résultat, moins attendu. Une règle du projet imposait Python 3.12, parce que MediaPipe ne s'installait pas au-delà. En l'exécutant, on a vu que ce n'était plus vrai : la version 1.0.1 s'installe en Python 3.14. Une règle écrite a une date. Il faut la revérifier avant de construire dessus.
Les licences sont un critère technique

Le comparatif. La licence est dans la deuxième colonne, pas en note de bas de page.
Plusieurs candidats sont bons et inutilisables :
- une licence AGPL, que son éditeur lit plus largement que l'usage courant ;
- des licences non commerciales, dont une interdit même les dérivés ;
- un projet gelé depuis avril 2024, que toutes les recettes d'installation supposent encore ;
- le détecteur le plus proche de notre besoin, qui exige Python 3.8 et une compilation que plus rien ne maintient.
Nous avons écarté par principe tout outil dont la licence interdit un usage commercial, pour ne pas fermer de porte si la pièce est un jour exposée ou vendue. La note le signale à Florian comme un point à trancher : cette contrainte a un coût en qualité, et c'est à lui de dire si elle est excessive.
Ce que la note dit ne pas savoir
La note technique se termine par une section « Ce que je n'ai pas pu vérifier » : huit points. Des poids de modèles repérés mais non audités. Une bibliothèque de secours ni installée ni testée. Une déduction faite d'après la taille d'un fichier, sans confirmation.
C'est une section que je veux trouver dans toute note technique. Elle dit au lecteur où il peut s'appuyer, et où il doit refaire le travail.
Le texte contourne la main
Une option du projet : que le texte épouse le contour des mains au lieu de passer dessous.

La démonstration de la note. La silhouette est une image générée dans la page ; le texte suit son contour, pas sa boîte.
La propriété CSS qui fait ça est shape-outside. Dans sa variante url(), elle lit la transparence de l'image : exactement ce que le détourage produit. Le réglage qui compte est shape-image-threshold : à 0,5, le contour suit la matière franche plutôt que le moindre pixel du bord.
Mais shape-outside exige un élément flottant, donc dans le flux du texte. Or les mains doivent dériver plus lentement que le texte, donc hors du flux. Les deux ne tiennent pas sur la même main. La note le dit sans détour : c'est une alternative, pas un ajout.
Ce qu'on s'interdit
La note ne l'esquive pas : ces vidéos appartiennent à leurs auteurs, et leur collecte automatisée n'est pas ce que prévoient les conditions des plateformes. Trois limites sont donc inscrites dans la fabrication elle-même.
- Le débit est plafonné. Un seul navigateur, pas de parallélisme. Quarante vidéos, pas quarante mille.
- L'attribution va jusqu'au bout. Le nom de l'auteur, la plateforme et le lien vers la vidéo voyagent avec chaque main, et s'affichent quand on la touche.
- Aucune image collectée n'entre dans le dépôt. Ce qui est versionné, ce sont les programmes et les décisions, jamais le matériau d'autrui.
Ce que j'en retiens
- Écrire avant de coder. Deux notes prennent du temps. Elles évitent de bâtir sur un mauvais choix, et laissent une trace que l'artiste peut lire.
- Mesurer dans ses propres conditions. La réputation d'un outil ne dit pas comment il se comporte sur vos images.
- Séparer ce que la machine décide de ce qui revient à quelqu'un. La découpe du poignet, le casting, le texte : ces choix portent une mention « À toi » dans la note.
- Garder visibles les décisions annulées. Le journal du projet les conserve, exprès.
Le même projet a donné une bibliothèque de calcul du ciel. C'est l'autre note : astralmanach, sortir une bibliothèque d'un projet bénévole.