Robin Belloncle

Projets, hockey et vidéo, 2026, en cours

HockeyVision

Une caméra qui suit seule le jeu, pour filmer et diffuser les matchs de roller hockey de mon club sans personne derrière.

Démonter la tête en 3DEssayer le cadrageVoir sur de vrais matchs

La tête motorisée, avec le téléphone monté en paysage sur son support orange et graphite, en haut d'un trépied
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.

La tête terminée, avec le téléphone monté

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
Banc et pénalités
Équipe A Équipe B Gardiens et banc Palet Centre 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.

Image mise de côté : huit personnes encadrées sur les douze présentes8 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
1. Détectersur toute la vidéo 2. Compteret comparer à la cible 3. Mettre de côtéles images où il en manque 4. Changer un réglageseuils, résolution, modèle Cible : 12 personnes Plus de progrès : réentraîner le modèle

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.

Le détecteur hockey encadre les joueurs de la scène Le détecteur générique sur la même scène 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.

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.

Écrou de trépied et axe

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.

ESP32-C3, PlatformIO, SolidWorks

Le code sur GitHub Tous les projets