Appearance
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