Évaluation6 min de lecture
Comment choisir un seuil de similarité Person ReID
Calibrez un seuil Person ReID avec des exemples positifs et négatifs représentatifs, une zone de revue et un jeu de test jamais utilisé.
Il n’existe pas de seuil de similarité Person ReID valable partout. Un seuil défendable est calibré pour une révision de modèle, un prétraitement, un domaine de prise de vue, une construction de galerie et une décision produit précis. Reprendre la valeur d’un jeu de référence, d’un fournisseur ou d’une ancienne version revient à choisir un point de fonctionnement sans le mesurer.
La méthode utile tient en quatre étapes : préciser ce que le score déclenche, constituer des exemples positifs et négatifs réalistes, sélectionner la règle sur un jeu de calibration, puis l’évaluer sur un jeu de test intact. Une zone d’incertitude avec revue humaine est souvent plus honnête qu’un nombre censé transformer une ressemblance visuelle en identité.
Le guide d’intégration Person ReID replace ce seuil dans la chaîne recadrage, vecteur d’apparence, recherche et validation.
Vérifier la définition mathématique du score
Le contrat PolyReID v1 documenté définit des vecteurs d’apparence normalisés en L2. Pour deux vecteurs normalisés (x) et (y), la similarité cosinus est égale au produit scalaire :
similarité(x, y) = x · y
||x - y||² = 2 - 2 × similarité(x, y)
La documentation FAISS sur les métriques et distances détaille cette relation et la normalisation nécessaire pour utiliser le produit scalaire comme similarité cosinus. Un seuil défini sur le cosinus ne peut pas être copié tel quel dans un code utilisant la distance L2 au carré : l’échelle et le sens de comparaison changent.
Avant toute calibration, vérifiez que :
- les vecteurs requêtes et galerie partagent la même révision immuable du modèle ;
- leur version de prétraitement est identique ;
- la normalisation et la distance sont explicites ;
- un score plus grand désigne toujours un voisin plus proche.
Le guide français des vecteurs d’apparence liste les métadonnées à conserver. Mélanger des révisions peut déplacer les scores sans rapport avec la ressemblance des images.
Commencer par la décision métier
Un score peut servir à :
- inclure un candidat dans une liste de revue top-k ;
- proposer que deux recadrages représentent peut-être la même personne ;
- ajouter provisoirement une photo à un groupe ;
- retourner « aucun candidat » ;
- accepter un rapprochement sans contrôle.
Ces usages n’ont ni les mêmes coûts ni les mêmes exigences. Dans un processus photo assisté, afficher une proposition supplémentaire ajoute du temps de revue. Publier silencieusement une photo dans la mauvaise galerie peut avoir un impact bien plus important. L’action autorisée, la validation humaine et le mécanisme de correction doivent être écrits avant le choix de métrique.
Le guide des métriques d’évaluation Person ReID distingue qualité du classement et qualité d’une décision avec seuil. Un bon Rank-1 ne démontre pas qu’une acceptation automatique est maîtrisée.
Construire des paires représentatives sans fuite
Les paires positives réunissent deux recadrages de la même identité d’évaluation ; les négatives, deux identités différentes. Leur composition doit reproduire le terrain :
- varier caméras, angles, lumière, mouvement et changements de tenue autorisés dans les positifs ;
- inclure des tenues proches et des sosies visuels parmi les négatifs difficiles ;
- isoler les défauts de recadrage dans un segment qualité et les conserver dans le test bout en bout s’ils peuvent atteindre l’API ;
- respecter la distribution prévue des événements, des caméras et des tailles de galerie.
Séparez calibration et test par identité, événement ou autre unité adaptée au déploiement. Des frames voisines d’une même rafale ne doivent pas se retrouver de part et d’autre. Le jeu final ne sert qu’une fois, après fixation de la règle.
Générer toutes les combinaisons négatives ne crée pas automatiquement un bon échantillon. Les paires deviennent très dépendantes et les cas faciles peuvent écraser les négatifs réellement instructifs. Conservez une structure par requête et par événement afin que les analyses correspondent à l’usage.
Observer le recouvrement des scores
Tracez les distributions positives et négatives sans attendre une séparation parfaite. Des costumes similaires peuvent produire des négatifs élevés. Un flou, une occlusion ou une tenue différente peuvent abaisser un positif. Leur recouvrement matérialise le compromis à gérer.
Pour chaque valeur candidate (t), calculez :
précision(t) = TP(t) / (TP(t) + FP(t))
rappel(t) = TP(t) / (TP(t) + FN(t))
La documentation officielle de la fonction precision_recall_curve de scikit-learn fournit ces définitions et la suite des seuils associés à des étiquettes binaires. La précision dépend fortement de la fréquence des vrais rapprochements et du mécanisme qui génère les candidats. Un test artificiellement équilibré ne décrit pas nécessairement une grande galerie dominée par les non-correspondances.
Les courbes ROC ou DET sont utiles pour comparer la séparation des scores. Les courbes précision-rappel rendent souvent mieux compte de la qualité des propositions lorsque les positifs sont rares. Aucune ne décide du coût acceptable. Celui-ci peut être rendu explicite :
coût(t) = C_faux_rapprochement × FP(t)
+ C_oubli × FN(t)
+ C_revue × éléments_revus(t)
Les coefficients relèvent du produit et de sa gouvernance, pas du réseau neuronal. Il faut documenter leur responsable et leur justification.
Créer une zone de revue plutôt qu’un verdict brutal
Deux bornes permettent une politique plus nuancée :
- sous la borne basse : ne pas proposer le candidat ou le marquer comme peu probable ;
- entre les deux : demander une revue humaine ;
- au-dessus de la borne haute : présenter une proposition plus forte, sans automatisation sauf si l’usage, les preuves et les règles applicables le permettent.
Le score reste une similarité. Il ne doit pas être présenté comme une probabilité d’identité sans modèle de calibration distinct, validé sur la population cible. Même une probabilité calibrée peut dériver avec le domaine.
Le rang et le contexte comptent aussi. Un premier voisin au score modéré peut être utile dans la galerie fermée d’un événement. Le même score, appliqué à une collection plus vaste et diverse, peut faire remonter davantage de faux candidats. La définition de galerie fait donc partie de la version du seuil.
Relier seuil, qualité d’image et changement de domaine
Un seuil ne corrige pas un recadrage qui contient deux personnes ou essentiellement du décor. La checklist qualité des recadrages permet de rejeter ces entrées en amont. Les métriques par segment de qualité montrent ensuite si la zone de revue absorbe correctement les cas difficiles.
Un changement de caméra, de lumière, de détecteur ou de population peut modifier les distributions. Le guide sur le changement de domaine Person ReID propose des données sentinelles et des déclencheurs de réévaluation. Évitez de créer immédiatement un seuil par caméra : la différence peut révéler un défaut de pipeline ou un manque de données.
Versionner toute la règle de fonctionnement
Le registre d’un seuil devrait contenir :
- l’alias et la révision immuable du modèle ;
- le prétraitement et la normalisation ;
- la distance et le sens de l’inégalité ;
- les filtres requête-galerie et la configuration d’index ;
- la version du jeu de calibration et ses exclusions ;
- les bornes basse et haute ;
- l’action associée à chaque zone ;
- précision, rappel, faux candidats par requête et charge de revue sur le test ;
- les résultats par segment et la date d’approbation ;
- les conditions de recalibration ou de retour arrière.
Le contrat documenté de l’API PolyReID inclut les champs de version du vecteur d’apparence. La construction de galerie, la calibration et la décision aval restent sous la responsabilité de l’intégrateur. Un pilote utile compare la nouvelle règle au processus humain existant sans activer discrètement une automatisation.
Enfin, surveillez les entrées et les résultats. Un histogramme de scores peut révéler un changement, mais seules des annotations issues d’une revue fiable indiquent si la pertinence a réellement évolué. Le seuil est un composant versionné du produit, pas une constante éternelle enfouie dans le code.