Image de synthèse sous Blender, depuis la CAO. Le téléphone est une maquette.
Extrait réel du banc 360. Mouvement de la tête illustratif. Boucle muette de 12 secondes.
La tête en 3D, à démonter
C'est la vraie CAO, dessinée sur SolidWorks. Faites-la tourner à la souris ou au doigt, cliquez une pièce pour savoir à quoi elle sert, et pivotez la caméra pour voir le pignon engrener avec le plateau.
Glisser pour tourner, cliquer une pièce pour sa fiche
Un seul axe, peu de pièces
Un moteur fait tourner le plateau par un pignon, et le téléphone suit. Un seul câble USB-C l'alimente et le commande. Choisissez une pièce sur la vue ou dans la liste.
Où regarder, à essayer
Sur une piste, tout le monde ne court pas après le palet : chacun tient sa place. Le téléphone estime où se passe le jeu, le palet et les joueurs proches comptent plus, et le disque autour de chacun montre ce poids. Choisissez une situation, ou prenez le palet en glissant sur la piste.
Centre d'intérêt
0,0°
Caméra
0,0°
Écart
0,0°
Joueur le plus lourd
Joueurs hors champ
Équipe AÉquipe BGardiens et bancPaletCentre d'intérêt et cadre
Le labo, sur de vrais matchs
Une démo ne prouve rien. Voici ce que donne l'IA sur mes vidéos de tournoi, et comment je la juge. Têtes floutées automatiquement.
1
Compter pour trouver ses erreurs
Sur cette vidéo en vue fixe, je sais qu'il y a 12 personnes sur la piste. Le banc la parcourt en entier, compte à chaque contrôle et met de côté toutes les images où il en manque. Ce sont les pires cas, et ce sont eux qui servent à juger.
40 sur 81contrôles mis de côté
8 sur 12dans les pires images
Avec le meilleur réglage du banc, sur 40 secondes de match. Après une erreur, le banc saute 25 images au lieu de 5.
8 sur 12 vues
Chaque barre est un contrôle de la vidéo. Plus elle monte, plus il manque de personnes.
La boucle de réglage
Puis jouer sur les réglages
Je change un réglage à la fois et je recompte sur 20 images de la vidéo. Essayez : ce sont les valeurs réellement mesurées.
Aucun réglage n'atteint 12. Le meilleur plafonne à 11,35 en moyenne, et un seuil plus bas peut aussi compter des boîtes fausses. L'étape suivante a été de réentraîner le modèle, au bloc d'après.
personnes vues sur 12, en moyenne
2
Voir des joueurs de hockey
Un détecteur générique connaît les personnes, pas des joueurs minuscules au fond d'une salle. Je l'ai réentraîné sur mes propres images du tournoi. Glissez pour comparer, changez de scène.
70 % puis 94 %des joueurs trouvés
8 % puis 69 %des joueurs lointains
Chiffres mesurés sur un autre match, 17 images relues à la main. Les scènes sont des phases de jeu de ce match, choisies parmi les plus gros écarts.
Générique : 2Hockey : 8
3
Face à un humain
Une personne filme à la main. Ma logique reçoit les mêmes images et dit où elle aurait regardé. Les deux courbes se suivent, et elle tient son cadre 73 % du temps, comme un opérateur.
0,98d'accord avec l'humain sur 4 min 19
79 °/sau plus pour l'humain, ce qui a dimensionné le moteur
Mais ce test est trop flatteur. L'humain a déjà cadré la vidéo, donc l'action est toujours dedans, et ma logique part de son orientation. Elle ne peut pas perdre l'action. Il fallait un juge indépendant.
GaucheDroite
Où regarde l'humain Où regarderait ma logique
4
Le 360 comme juge
Une caméra 360 à la table de marque voit tout le terrain, tout le temps. En haut, la salle entière. En bas, ce que verrait le téléphone : il est aveugle hors de son champ, et le 360 note s'il a perdu l'action.
Le moteur reste au centre et ne tourne que pour garder l'action à portée. Le recadrage numérique fait le reste.
Quatre philosophies, un verdict
130 minutes de vrais matchs, rejouées pour chaque idée. Part du temps où l'action reste dans l'image.
Le moteur suit l'action83 à 88 %Il se gare d'un côté et rate le retour du jeu. C'était mon idée de départ, abandonnée.
Cadre très serré90 %Beau, mais 3,9 pertes par minute.
Plan large fixe96,7 %Fiable, mais les joueurs sont minuscules.
Moteur en assistance et recadrage97,3 %Le choix retenu : aussi sûr que le plan large, avec les joueurs plus près et une seule perte par minute.
Mesuré sur le banc, caméra plus basse qu'en vrai. À confirmer par un essai réel en salle.
17 mspour détecter sur le téléphone
7 %d'un cœur de calcul au lieu de 49, sans perte sur le banc d'optimisation
0 °/svitesse médiane d'un opérateur : la plupart du temps, il ne bouge pas
En mètresle jeu se calcule au sol : en degrés, un joueur proche écrasait tous les autres
Le problème
Un match de roller hockey se joue sur 40 mètres, vite, avec un palet de quelques centimètres. Pour le filmer, il faut quelqu'un derrière la caméra pendant une heure, et ce quelqu'un préfère jouer. Les caméras automatiques du commerce sont pensées pour le football en extérieur et vendues avec un abonnement.
Ce que j'ai fait
J'ai tout construit moi-même. Un labo de vision sur PC pour apprendre au détecteur à reconnaître des joueurs de hockey, une application Android qui tourne sur le téléphone monté sur la tête, et la tête motorisée, d'abord un prototype sur Arduino, puis une version dessinée sur SolidWorks. Entre les deux, un banc d'essai qui rejoue de vrais matchs : c'est lui qui dit si un réglage vaut quelque chose, avant d'aller en salle.
Ce qu'il reste à prouver
Tout est mesuré sur le banc, pas encore en salle. Le prochain jalon est un direct réel sur un vrai match, avec le nouveau détecteur sur le téléphone.
Le montage, en 11 étapes
Le plan de montage est prêt pour l'impression, en rendus tirés de la CAO. Cliquez un numéro pour passer d'une étape à l'autre, ou utilisez les flèches du clavier.
1
Écrou de trépied et axe
L'écrou glisse dans le moyeu, puis l'axe en acier s'emmanche à l'étau jusqu'en butée.
Architecture
Vision sur PC
Le labo hors ligne : entraînement du détecteur, suivi des joueurs, et le banc qui rejoue les matchs pour mesurer le cadrage.
Python, YOLO11, OpenCV, ROCm sur GPU AMD
Appli Android
Le téléphone, monté sur la tête, filme et détecte l'action en temps réel, puis envoie au moteur un écart proportionnel plutôt qu'un ordre tout ou rien.
Kotlin, camera2, MediaPipe, liaison USB-OTG, Bluetooth prévu
Tête motorisée
Un boîtier imprimé avec son réducteur à engrenages, un moteur pas à pas, et une carte qui reçoit les consignes de pan.