Dossards

Lire les dossards des images face à la liste de départ et écrire qui figure dans chaque fichier — en protégeant les enfants et ceux qui ne veulent pas être nommés.

Sur cette page

FLOGVIT.photosuite lit les numéros de dossard dans vos images et écrit dans le fichier qui figure sur chacune : le nom du coureur ou du cycliste, son numéro, sa catégorie et son club. Il ne lit les numéros que face à la liste de départ de l’épreuve, si bien qu’un numéro peint sur une portière ou une maison n’est jamais pris pour un participant.

Les numéros sont lus avec la reconnaissance de texte de l’ordinateur : Vision d’Apple sur Mac, et l’OCR de Windows sur Windows 10 et 11. Rien n’est à télécharger pour cela.

Récupérer la liste de départ#

La liste de départ est un dossier d’épreuve contenant teams.json et bibs.json. L’application la récupère pour vous :

  1. Ouvrez Settings → Workflow et ajoutez une étape Identify à un flux (ou ouvrez celui que vous avez).
  2. Sous Fetch start list, collez l’adresse de la page de la liste de départ et choisissez Fetch :
    • race-result, y compris derrière elapse.no et racetracker.no (la page qui intègre la liste suffit),
    • onreg / MYLAPS (secure.onreg.com/…?id=…).
  3. Le dossier est ajouté aux listes de départ de l’étape, et l’application dit combien d’inscrits elle a trouvés.

Pour une épreuve sans système de chronométrage, récupérez plutôt un fichier CSV. Il lui faut une ligne d’en-tête nommant une colonne de numéros (Startnr, Bib, Start number) et une colonne de noms (Navn, Name) ; une colonne club (Klubb, Club), catégorie (Klasse, Class) et équipe (Lag, Team) est lue quand elle existe. Séparez les colonnes par ;, , ou des tabulations.

Épreuves hors du parcours : certaines épreuves vendent un billet de spectateur qui porte un numéro comme les autres. Tapez une partie de son nom sous Leave out (Tilskuer) avant de récupérer, et ces inscrits sont écartés, pour qu’un numéro mal lu n’arrive jamais sur un spectateur. Le dossier s’en souvient, et Fetch Again les laisse dehors.

Relais d’équipes dont le numéro porte la vague, comme Energistafetten (07-422) : cochez Teams whose number carries the heat avant de récupérer. Chaque numéro est alors une équipe, nommée par l’équipe, avec l’entreprise comme club.

Les résultats dans la légende#

Pour une épreuve race-result, cochez Also fetch the results avant de récupérer : chaque numéro a alors sa place et son temps, et Fetch Again les tient à jour à mesure que les résultats arrivent. Cochez Say how each did dans l’étape Identify et la légende devient Emil Hannevik Fyhn (9), 1. 35:55. Dans un modèle, {results} est ce texte pour tous ceux de l’image, et {place} et {time} ceux de la première personne.

Le jour de la course#

Les inscrits de dernière minute reçoivent leur numéro le jour même. Choisissez Fetch Again pour relire toutes les listes de départ de l’étape, ou réglez Fetch again every sur un nombre de minutes : l’étape récupère alors une liste à nouveau avant de lire une image, chaque fois que la liste est plus ancienne que cela. Si le système de chronométrage est injoignable, l’étape garde la liste qu’elle avait.

Plusieurs courses le même jour ? Mettez les listes de départ de toutes les courses dans la même étape : les numéros sont lus une fois, et chaque course garde les participants de sa propre liste.

Ce qui est écrit dans l’image#

  • l’épreuve, telle que la nomme la liste de départ,
  • le nom de chaque personne (et de chaque coureur d’une équipe de relais),
  • noms, numéros, catégorie et club en mots-clés,
  • une légende : Nom (12); Nom (31).

Un numéro dont l’application ne peut être sûre — un seul chiffre, ou un numéro avec un chiffre masqué qui irait aussi à un numéro plus long de la liste — est retenu plutôt que nommé, pour qu’aucune image ne reçoive la mauvaise personne.

Un numéro petit ou lointain dans un grand cadre peut disparaître quand tout le cadre est lu d’un coup. Quand quelqu’un dans l’image portait un numéro lisible mais que rien d’autre n’a été lu sur les dossards, tout le cadre est relu en tuiles qui se chevauchent, et chaque zone contenant des chiffres est lue de près. Un numéro trouvé ainsi ne compte que si deux recadrages différents concordent, qu’il a au moins deux chiffres et qu’il passe les mêmes contrôles que toute autre lecture. Dans un cadre où personne ne portait de numéro lisible, comme une remise de médailles, les numéros lus ainsi ne sont jamais utilisés.

Corriger les numéros#

Quand un dossier a une liste de départ, le panneau latéral montre une section Numbers : chaque numéro sur l’image et qui le porte. Tapez un numéro ou un nom et appuyez sur Entrée pour l’ajouter. × retire un numéro, et Nobody vide l’image. Avec plusieurs images sélectionnées, le changement va à toutes.

Les personnes, les mots-clés (noms, numéros, épreuve, catégorie, club), la légende et l’épreuve découlent de la liste de départ, écrits comme Identify les écrit. Les mots-clés, légendes et épreuves saisis à la main restent. Le numéro de quelqu’un qu’une livraison ne nomme pas (ci-dessous) n’est pas écrit, et le panneau le dit.

Deliver → Start Lists for This Folder… choisit dans quelles listes de départ sont cherchés les numéros du dossier. Le dossier s’en souvient ; sans choix, les listes de départ de toutes les étapes Identify sont utilisées. Numbers only écrit les numéros et jamais un nom, comme le fait une livraison de relais.

Chaque correction est consignée dans le dossier de la liste de départ (updated.json), avec ce qui a été lu et ce que vous avez fixé. C’est ce dont la lecture apprend, et une image que vous avez fixée n’est jamais nommée autrement quand Identify repasse dessus. Par l’API : PUT /api/numbers avec numbers ou entry, GET /api/images/current/numbers et PUT /api/folder/start-lists (SDK : client.setNumbers, client.currentNumbers, client.setFolderStartLists).

Les images qui vous attendent#

Identify ne nomme jamais une lecture dont il ne peut être sûr. Il la retient pour vous : un numéro par lequel commence ou finit un numéro plus long (« 87 » est l’allure de 187 avec un ruban sur le 1), un seul chiffre, ou, quand rien n’a été lu, qui est passé au point de chronométrage au moment de la prise de vue. Filter → Numbers → Needs review n’affiche que ces images. La section Numbers dit pourquoi chacune a été retenue et propose un bouton pour chaque numéro possible. Choisissez le bon, tapez-en un autre, ou choisissez ✓ Right as it is. L’image quitte la liste, et la suivante en attente s’affiche.

Les retenues sont gardées dans le dossier de la liste de départ (held.json) jusqu’à ce que vous les tranchiez. Une épreuve construite par les anciens scripts de livraison se revoit de la même façon : les lignes incertaines de son out-bibs/counts.json deviennent des retenues la première fois que le dossier est ouvert avec cette liste de départ. Par l’API : GET /api/review les liste, et PUT /api/numbers en tranche une (SDK : client.reviewQueue() ; le filtre est needs_review dans POST /api/filter).

Un numéro caché : le point de chronométrage#

Un cycliste dont le numéro est caché par un bras est quand même dans le système de chronométrage, au tapis près duquel se tient le photographe. Avec Timing point activé dans l’étape Identify, un cadre avec une personne et sans numéro lisible est retenu avec les participants passés à ce point au moment de la prise de vue. Il ne nomme jamais personne de lui-même ; les noms attendent qu’un humain choisisse.

  1. Récupérez la liste de départ avec Also fetch the results : les résultats contiennent les temps intermédiaires de chaque participant.
  2. Sous Timing point, indiquez la colonne de résultats de votre point (TIME21, ou finish pour l’arrivée). Cochez time since start quand la colonne compte depuis le départ plutôt que l’heure du jour, et indiquez le mass start quand les résultats des participants n’ont pas d’heure de départ propre. La colonne doit être le temps au point, pas le temps d’un tronçon — vérifiez avec un participant que vous connaissez.
  3. Réglez le clock offset de l’appareil : ouvrez une image dont vous connaissez le numéro, tapez-le et choisissez Set. Le décalage est l’heure du système de chronométrage moins celle de l’appareil.
  4. La window est le nombre de secondes de part et d’autre qui comptent encore : quelques secondes à un tapis, davantage là où le point est un bout de route.

Choisir les images pour le journal#

Deliver → Pick for Delivery… choisit au plus le nombre d’images que vous indiquez, de sorte que personne ne figure deux fois dans la livraison. Il travaille sur la sélection quand plus d’une image est sélectionnée, sinon sur tout le dossier, et utilise les numéros qu’Identify a écrits dans chaque image.

  • Le participant qui a le moins d’images est servi en premier : quelqu’un présent sur une seule image l’obtient avant que quelqu’un présent sur dix ne puisse la réclamer.
  • Une image n’est prise que si tous ceux qui y figurent n’en ont pas encore.
  • Seul dans le cadre passe avant en groupe ; chaque photographe reçoit une image avant que quiconque en reçoive une deuxième (Photographes) ; puis la plus nette.

Les images choisies reçoivent le libellé de couleur que vous choisissez et un album au nom du dossier. Le rapport dit pourquoi chacune a été choisie, les suivantes, et qui n’a eu aucune image. Par l’API : POST /api/pick-for-delivery (SDK : client.pickForDelivery({ count: 200 })).

Le rapport pour la rédaction#

Deliver → Delivery Report compte ce que livre le dossier (ou la sélection) : combien d’images, combien de participants nommés et combien apparaissent plus d’une fois, les images sans personne de nommé, les images par photographe et les participants par catégorie. À partir du journal d’Identify, il compte aussi combien de cadres avaient un numéro retenu pour vérification, et combien avaient quelqu’un qui n’est pas nommé (catégorie ou refus). Pour chaque liste de départ, il dit aussi ce que coûte la protection contre les chiffres cachés : combien de ses numéros sont le début ou la fin d’un numéro plus long (et ne sont donc jamais nommés d’après une lecture seule), combien d’images attendent un humain pour cette raison, et combien ont été nommées malgré tout avec un tel numéro. Une liste dense de numéros à un, deux ou trois chiffres peut ainsi perdre un tiers de ses numéros, alors qu’une liste de numéros à quatre chiffres n’en perd aucun. Le résumé est mis dans le presse-papiers pour le courriel. delivery-report.txt et delivery-report.pdf sont écrits à côté des images ; le PDF est une planche contact avec la légende de chaque image en dessous. Par l’API : POST /api/delivery-report (SDK : client.deliveryReport()).

Apprendre de ce que la rédaction a publié#

Une fois que le journal a publié ses séries, donnez à l’application la liste de la rédaction : Deliver → Import Published… avec le dossier livré ouvert, et un fichier des noms de fichiers publiés (un par ligne, ou published.json avec [{"file": …}]). Les noms correspondent même avec les suffixes de copie du système de publication (_1, (1)).

Les images publiées reçoivent un album au nom du dossier, et chaque image du dossier est enregistrée comme publiée ou non, avec ce que le sélecteur sait d’elle : la netteté au sein du dossier, seule ou en groupe, combien de personnes, les étoiles. Dès qu’au moins 30 images publiées sont connues, toutes épreuves confondues, Pick for Delivery note d’après ce que publie cette rédaction plutôt que d’après la seule netteté, et son rapport le dit. Par l’API : POST /api/published/import (SDK : client.importPublished({ list })).

Qui a été publié#

Deliver → Published by Photographer… enregistre un CSV de toutes les épreuves importées : par photographe, combien de ses images ont été livrées, combien publiées, et lesquelles — pour payer chaque photographe pour ce que le journal a utilisé. Le photographe est celui que le tableau Photographes associe à l’appareil, sinon l’EXIF Artist. Par l’API : GET /api/published/by-photographer.

Qui n’est pas nommé#

Certains participants ne doivent pas être nommés dans un journal : les enfants et les jeunes, et quiconque l’a demandé. Dans l’étape Identify :

  • Classes not named — une partie d’un nom de catégorie ou de tranche d’âge, une par ligne (Barn, U1, Ungdom). Toute personne d’une catégorie correspondante est écartée.
  • Not named — numéros ou noms, un par ligne, des personnes qui l’ont demandé.

Leur numéro est toujours lu, pour que l’image ne soit pas attribuée à quelqu’un d’autre, mais rien les concernant — nom, numéro, catégorie ou club — n’entre dans l’image livrée. Par l’API, unnamedClasses et optedOut font de même sur identify et detect, et detect les liste dans unnamed.

Par l’API#

POST /api/start-lists/fetch récupère une liste de départ dans un dossier (source : l’adresse de la page ou un fichier CSV ; dir : le dossier ; une source vide avec un dir la récupère à nouveau ; heat_numbers pour les relais d’équipes, exclude_contests pour les épreuves hors du parcours). Depuis le SDK : client.fetchStartList({ source }). Voir la référence de l’API.

esc
    ↑↓ naviguer↵ ouvrir