Skip to content

TCG Collector — Priorités d’amélioration (2026-05) ​

État actuel ​

Le moteur actuel repose sur :

  • DINOv2 ViT-S/14
  • embeddings globaux 1024-d
  • pgvector + HNSW
  • retrieval ANN cosine
  • warp perspective + normalization
  • top-k retrieval SQL

Le système est déjà solide et supérieur à beaucoup de scanners hobby.

Le principal plafond actuel n’est plus l’infrastructure, mais :

  • la désambiguïsation fine
  • les variantes visuelles
  • les reprints
  • les différences faibles entre cartes

Priorité absolue : OCR spécialisé ​

Problème actuel ​

Le retrieval purement visuel confond encore :

  • reprints
  • reverse holo
  • éditions proches
  • variantes promo
  • langues
  • alternate arts proches

Les embeddings globaux seuls ne suffisent plus.


Solution ​

Ajouter un pipeline OCR ciblé sur :

  • collector number
  • set code
  • rarity
  • parfois langue

L’OCR ne doit PAS être global sur toute l’image.

Il doit être :

  • localisé
  • ultra-ciblé
  • exécuté uniquement après le retrieval ANN

Pipeline recommandé ​

Étape 1 ​

Retrieval ANN :

  • top-50 candidats

Étape 2 ​

OCR localisé :

  • footer
  • collector number
  • set symbol
  • zones texte spécifiques

Étape 3 ​

Rerank hybride :

  • score visuel
  • score OCR
  • score set symbol

Deuxième priorité : reranking ​

Problème actuel ​

Le cosine similarity ANN ne correspond pas toujours au meilleur match réel.

Le top-1 ANN est souvent :

  • très proche
  • mais pas exact

Solution ​

Ajouter un reranker secondaire :

  • modèle léger
  • comparaison paire-à-paire
  • cross encoder visuel
  • siamese finetuné

Objectif ​

Utiliser :

  • ANN uniquement pour récupérer des candidats
  • reranker pour sélectionner le vrai top-1

Multi-crop embeddings ​

Problème actuel ​

L’embedding est calculé sur :

  • la carte complète

Mais beaucoup d’informations discriminantes sont locales :

  • collector number
  • footer
  • set symbol
  • rareté
  • tampons promo

Solution ​

Créer plusieurs embeddings :

  • full card
  • footer
  • artwork center
  • set area

Puis :

  • fusion pondérée
  • ou rerank multi-vues

Hash perceptuel ​

Usage recommandé ​

Le perceptual hashing ne doit pas remplacer ANN.

Il doit servir pour :

  • holo vs reverse
  • reprints exacts
  • scans très proches
  • élimination de faux positifs

Pipeline recommandé ​

ANN :

  • top-20

Puis :

  • pHash/dHash rerank

Fine-tuning DINOv2 ​

Situation actuelle ​

Le modèle est utilisé frozen.

C’est très bien pour bootstrap.

Mais le gain majeur futur viendra du :

  • metric learning
  • triplet loss
  • hard negative mining
  • supervised contrastive learning

Dataset déjà disponible ​

Le projet possède déjà :

  • 140k+ cartes
  • classes naturelles
  • hard negatives implicites
  • multi-TCG

Le dataset est suffisant pour :

  • un vrai fine-tuning retrieval

Détection géométrique ​

État actuel ​

Le système de warp/perspective est déjà bon.

Mais les cas difficiles restent :

  • glare
  • sleeves
  • reflets
  • doigts
  • occlusions
  • angles agressifs

Recommandation ​

Évoluer vers :

  • segmentation carte
  • corner regression ML
  • confidence scoring

FAISS ​

Constat ​

Le choix pgvector + HNSW est bon.

Les avantages :

  • SQL filtering
  • transactionnalité
  • simplicité opérationnelle
  • filtres TCG/langue/set avant ANN

Problème actuel ​

Les sidecars FAISS :

  • utilisent IndexFlatIP
  • ne passent pas bien à l’échelle
  • sont maintenant techniquement inférieurs au pipeline pgvector

Recommandation ​

Si FAISS est conservé :

  • migrer vers HNSWFlat
  • ou IVF-PQ

Sinon :

  • privilégier pgvector uniquement

Variants : futur vrai problème ​

Le système actuel va souffrir sur :

  • reverse holo
  • foil
  • textured
  • promo stamp
  • first edition
  • language variants

Cause ​

Les embeddings globaux capturent :

  • l’identité générale

mais pas suffisamment :

  • les micro-variations

Roadmap recommandée ​

Sprint 1 (ROI maximal) ​

  • OCR collector number
  • OCR set code
  • top-50 rerank hybride

Sprint 2 ​

  • multi-crop embeddings
  • pHash rerank
  • rebuild FAISS post-warp

Sprint 3 ​

  • fine-tuning retrieval
  • hard negative mining
  • metric learning

Architecture cible ​

capture ↓ card detection + rectify ↓ global ANN retrieval ↓ OCR localisé ↓ rerank hybride ↓ perceptual rerank ↓ confidence scoring ↓ final match


Conclusion ​

Le système est déjà à un niveau sérieux.

Les gains futurs ne viendront plus :

  • du backend
  • ni de l’infrastructure

mais du :

  • hybrid retrieval
  • reranking
  • OCR ciblé
  • metric learning
  • désambiguïsation locale