Journal

Un art voulu voyant : trente mains, quarante vidéos, et un détecteur choisi en mesurant

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è...

Article5 fils étiquetés
Schéma de la chaîne : quarante vidéos, 2 700 images fixes, 400 mains repérées, 30 mains retenues, une page

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.

La page d'accueil d'uavv.fr : les mots Un art voulu voyant aux quatre coins et un objet au centre

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.

La page Découpes d'uavv.fr, avec son titre composé en grille de lettres

Découpes : les textes et les images produits au fil de la recherche.

La chaîne multiplie, puis réduit

Schéma en entonnoir : 40 vidéos, 2 700 images fixes, 400 mains repérées, 30 mains retenues, 1 page ; le casting est le seul endroit où quelqu'un regarde

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 de la note technique : MediaPipe Hand Landmarker en premier, rtmlib en filet de secours, un modèle de vision en re-classeur

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.

Tableau de robustesse : main de 27 à 100 % du cadre détectée partout, rotation de 0 à 180 degrés sans effet, occlusion jusqu'à 60 %, flou de mouvement ; 46,6 ms par image, 126 s pour 2 700 images

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.

Courbe : quand le flou augmente, la netteté tombe sous le seuil alors que la confiance de détection reste haute

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 tableau comparatif des onze détecteurs, avec la licence en deuxième colonne

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.

Démonstration : le texte suit le contour d'une silhouette de main générée dans la page, grâce à shape-outside

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.