{"notes":[{"id":"text-recognition/vocabulary-reliance","category":"text-recognition","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"Vocabulary Reliance","subtitle":"Le revers du par cœur","author":"Z. Yuan","paperDate":"2020-05-08","publishedOn":"2026-03-26","paperTitle":"On Vocabulary Reliance in Scene Text Recognition","paperUrl":"https://arxiv.org/abs/2005.03959","bibliography":{"title":"On Vocabulary Reliance in Scene Text Recognition","authors":["Zhaoyi Wan","Jielei Zhang","Liang Zhang","Jiebo Luo","Cong Yao"],"url":"https://arxiv.org/abs/2005.03959","pdfUrl":"https://arxiv.org/pdf/2005.03959v1","codeUrl":null,"preprint":{"id":"2005.03959","submittedOn":"2020-05-08","url":"https://arxiv.org/abs/2005.03959"},"publication":{"venue":"CVPR","year":2020,"kind":"conference","url":"https://openaccess.thecvf.com/content_CVPR_2020/html/Wan_On_Vocabulary_Reliance_in_Scene_Text_Recognition_CVPR_2020_paper.html"},"citation":"@misc{textrecognitionvocabularyreliance2020,\n  title = {{On Vocabulary Reliance in Scene Text Recognition}},\n  author = {Zhaoyi Wan and Jielei Zhang and Liang Zhang and Jiebo Luo and Cong Yao},\n  year = {2020},\n  eprint = {2005.03959},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2005.03959}\n}\n","citationPath":"/content/papers/citations/text-recognition/vocabulary-reliance.5acdb6f80bed.bib"},"thumbnail":{"src":"/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png","width":633,"height":233},"locale":"fr","path":"/content/papers/fr/text-recognition/vocabulary-reliance.d0eaa64eda89.md","headings":[{"id":"définir-le-problème","text":"Définir le problème","depth":2},{"id":"résoudre-le-problème","text":"Résoudre le problème","depth":2},{"id":"découper-en-quatre-étapes","text":"Découper en quatre étapes","depth":3},{"id":"trois-jeux-dentraînement-au-vocabulaire-contrôlé","text":"Trois jeux d'entraînement au vocabulaire contrôlé","depth":3},{"id":"quatre-indicateurs","text":"Quatre indicateurs","depth":3},{"id":"discussion","text":"Discussion","depth":2},{"id":"avec-des-chaînes-aléatoires-moins-de-dépendance-au-vocabulaire","text":"Avec des chaînes aléatoires, moins de dépendance au vocabulaire","depth":3},{"id":"trois-couches-de-prédiction","text":"Trois couches de prédiction","depth":3},{"id":"module-de-contexte-et-couche-de-prédiction-vont-de-pair","text":"Module de contexte et couche de prédiction vont de pair","depth":3},{"id":"faire-apprendre-les-deux-modèles-lun-de-lautre","text":"Faire apprendre les deux modèles l'un de l'autre","depth":3},{"id":"à-garder-en-tête-en-lisant-cet-article","text":"À garder en tête en lisant cet article","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"text-recognition/wwwstr","relation":"referenced","topic":""}]},{"id":"text-recognition/wwwstr","category":"text-recognition","legacyPath":"text-recognition/1904-wwwstr","legacySlug":"1904-wwwstr","legacyPaths":[],"title":"WWWSTR","subtitle":"Analyse des données et des modèles","author":"Z. Yuan","paperDate":"2019-04-03","publishedOn":"2024-10-10","paperTitle":"What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis","paperUrl":"https://arxiv.org/abs/1904.01906","bibliography":{"title":"What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis","authors":["Jeonghun Baek","Geewook Kim","Junyeop Lee","Sungrae Park","Dongyoon Han","Sangdoo Yun","Seong Joon Oh","Hwalsuk Lee"],"url":"https://arxiv.org/abs/1904.01906","pdfUrl":"https://arxiv.org/pdf/1904.01906","codeUrl":null,"preprint":{"id":"1904.01906","submittedOn":"2019-04-03","url":"https://arxiv.org/abs/1904.01906"},"publication":{"venue":"ICCV","year":2019,"kind":"conference","url":"https://arxiv.org/abs/1904.01906"},"citation":"@misc{textrecognitionwwwstr2019,\n  title = {{What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis}},\n  author = {Jeonghun Baek and Geewook Kim and Junyeop Lee and Sungrae Park and Dongyoon Han and Sangdoo Yun and Seong Joon Oh and Hwalsuk Lee},\n  year = {2019},\n  eprint = {1904.01906},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1904.01906}\n}\n","citationPath":"/content/papers/citations/text-recognition/wwwstr.4537315eda97.bib"},"thumbnail":{"src":"/content/papers/assets/3c14afb4e2ad3bd5c433008345218e2aa4c6c6157b4ef4c546eb632039e4c6a7.jpg","width":1980,"height":220},"locale":"fr","path":"/content/papers/fr/text-recognition/wwwstr.f89f82f1ce15.md","headings":[{"id":"analyse-des-jeux-de-données","text":"Analyse des jeux de données","depth":2},{"id":"jeux-dentraînement","text":"Jeux d'entraînement","depth":3},{"id":"jeux-de-test","text":"Jeux de test","depth":3},{"id":"différences-entre-versions","text":"Différences entre versions","depth":3},{"id":"analyse-des-architectures","text":"Analyse des architectures","depth":2},{"id":"transformation","text":"Transformation","depth":3},{"id":"extraction-des-caractéristiques","text":"Extraction des caractéristiques","depth":3},{"id":"modélisation-de-séquence","text":"Modélisation de séquence","depth":3},{"id":"prédiction","text":"Prédiction","depth":3},{"id":"configuration-expérimentale","text":"Configuration expérimentale","depth":2},{"id":"discussion","text":"Discussion","depth":2},{"id":"compromis-précision-temps","text":"Compromis précision-temps","depth":3},{"id":"compromis-précision-mémoire","text":"Compromis précision-mémoire","depth":3},{"id":"analyse-des-modules","text":"Analyse des modules","depth":3},{"id":"analyse-des-échecs","text":"Analyse des échecs","depth":3},{"id":"conclusion","text":"Conclusion","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"text-recognition/yatr","relation":"next","topic":"Données et généralisation en reconnaissance de texte"}]}],"text":"Les scores de reconnaissance de texte de scène ont grimpé très vite dans la seconde moitié des années 2010. L'article s'ouvre sur un exemple : sur IIIT-5k, sans lexique fourni, la précision est passée en très peu de temps de 78,2 % à 96,0 %.\n\nAvec des scores pareils, les modèles voient-ils vraiment bien les caractères ?\n\nCet article de Megvii, de la China University of Mining and Technology et de l'université de Rochester constate que les meilleurs modèles lisent avec une grande justesse les « mots vus à l'entraînement », mais nettement moins bien les « mots jamais vus », et que cet écart est sans lien avec la qualité de l'image. Les auteurs appellent ce phénomène la **dépendance au vocabulaire** (*vocabulary reliance*).\n\nL'article a été publié à CVPR 2020 ; cette note suit la v1 publiée sur arXiv.\n\n## Définir le problème\n\n[![Quatre images de texte de scène et leurs résultats de reconnaissance : à gauche, BEAUTY et everyday, flous, sont lus correctement ; à droite, UNIVERSITI, pourtant net, est lu UNIVERSITY et QINGYUANLU est lu AINGYUANLU, les lettres erronées étant marquées en rouge](/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png)](/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png)\n\n*Figure 1 de l'article, extraite de la [**page 1 du PDF v1**](https://arxiv.org/pdf/2005.03959v1#page=1). À gauche, des mots du vocabulaire ; à droite, des mots hors vocabulaire ; les lettres en rouge sont des erreurs de reconnaissance.*\n\nRegardons d'abord ces quatre images. Les deux de gauche sont très floues : la moitié droite de BEAUTY est presque invisible, et le modèle lit pourtant juste. Les deux de droite sont bien plus nettes, et le modèle se trompe : sur l'enseigne, UNIVERSITI devient UNIVERSITY ; sur la plaque de rue, QINGYUANLU devient AINGYUANLU.\n\nLe modèle de la figure est ASTER, l'un des meilleurs systèmes de reconnaissance de l'époque. Selon les auteurs, son mécanisme de mémoire récurrente est une arme à double tranchant : un mot déjà vu peut être retrouvé même sur une image abîmée ; un mot jamais vu peut être mal lu même sur une image nette.\n\nCas isolés ou phénomène général ? Les auteurs reproduisent quatre méthodes représentatives avec le même backbone ResNet-50 et les mêmes données d'entraînement SynthText, puis séparent les images de test d'IIIT-5k en deux groupes, selon que le mot figure ou non dans le vocabulaire :\n\n| Méthode | Ensemble | Dans le vocabulaire | Hors vocabulaire |\n| --- | ---: | ---: | ---: |\n| CRNN | 86,8 | 91,1 | 68,7 |\n| FAN | 89,9 | 93,1 | 75,3 |\n| CA-FCN | 89,3 | 91,6 | 76,3 |\n| ASTER | 89,2 | 92,9 | 74,6 |\n\n*Tableau : Table 1 de l'article, précision sur IIIT-5k (%).*\n\nHors vocabulaire, les quatre méthodes perdent environ 15 à 22 points de pourcentage. La conclusion des auteurs : **la dépendance au vocabulaire est générale ; seul son degré varie**.\n\n## Résoudre le problème\n\nPour comparer ces degrés, il faut d'abord un cadre expérimental capable d'isoler les variables.\n\n### Découper en quatre étapes\n\nLes auteurs reprennent le découpage de [What Is Wrong With Scene Text Recognition Model Comparisons?](https://arxiv.org/abs/1904.01906) et divisent un modèle de reconnaissance en quatre étapes : **transformation de l'image** (TRAN), **extraction de caractéristiques** (FEAT), **modélisation du contexte** (CNTX) et **prédiction** (PRED).\n\nCe sont les deux dernières qui touchent le plus à la dépendance au vocabulaire. Les deux premières sont donc fixées : aucune transformation d'image, et toujours un backbone ResNet-50. Pour les deux dernières, on combine trois couches de prédiction et trois modules de contexte :\n\n- **Couche de prédiction** :\n  - **Décodeur à attention** (Atten.) : produit les caractères un à un, chaque étape tenant compte de ceux déjà produits.\n  - **CTC** : chaque colonne de caractéristiques produit son propre caractère ; on fusionne ensuite les répétitions et on supprime les blancs.\n  - **Segmentation** (Seg.) : segmente chaque caractère et retrouve caractères et positions à partir de la carte de segmentation, à la manière de CA-FCN.\n- **Module de contexte** :\n  - Aucun (None).\n  - **LSTM bidirectionnel** (BLSTM) : parcourt la séquence de caractéristiques une fois de gauche à droite, une fois de droite à gauche.\n  - **Pooling pyramidal** (PPM) : réduit la carte de caractéristiques à plusieurs tailles par pooling, les ramène à la taille d'origine et les concatène, ce qui ajoute une information globale à différentes échelles. La segmentation étant incompatible avec le BLSTM, elle utilise le PPM.\n\n\n> [!TIP]\n> \n> Pour ce découpage en quatre étapes et la façon dont il permet de comparer équitablement différents modèles, voir notre note :\n> \n> - **[[19.04] WWWSTR : Analyse des données et des modèles](/blog/papers/text-recognition/wwwstr)**\n\n\n### Trois jeux d'entraînement au vocabulaire contrôlé\n\nLe vocabulaire de SynthText provient d'un très grand corpus textuel, riche de plusieurs dizaines de milliers de mots : impossible d'y observer l'effet du vocabulaire. Les auteurs synthétisent donc leurs propres données.\n\nIls rassemblent les vérités terrain de cinq jeux de test, IC13, IC15, SVT, SVTP et CUTE, soit 3 172 mots distincts, qui forment le « vocabulaire ». IIIT-5k n'entre pas dans cette collecte ; selon que ses mots figurent ou non dans ce vocabulaire, il est divisé en IIIT-I (1 354 images) et IIIT-O (1 646 images).\n\nAvec le moteur de synthèse de SynthText, ils produisent ensuite trois jeux d'entraînement d'environ 7 millions d'images chacun :\n\n- **LexiconSynth (LS)** : tous les mots sont tirés de ces 3 172 mots du vocabulaire.\n- **RandomSynth (RS)** : de faux mots formés de caractères aléatoires, avec la même distribution de longueurs que LS ; lettres, chiffres et ponctuation dans un rapport d'environ 6:3:1.\n- **MixedSynth (MS)** : un mélange de LS et RS selon une proportion $r$, avec $r=0.5$ par défaut.\n\nChaque mot est rendu en trois variantes, tout en majuscules, tout en minuscules et avec une initiale majuscule, et reçoit une ponctuation avec une probabilité de 10 %.\n\n### Quatre indicateurs\n\nCes trois jeux permettent de mesurer séparément différentes capacités du modèle :\n\n- **OA** (*Observation Ability*, capacité d'observation) : la précision sur toutes les images de test après entraînement sur RS. Sans vocabulaire à mémoriser, le score dépend uniquement de ce que le modèle voit.\n- **VA** (*Vocabulary Learning Ability*, capacité d'apprentissage du vocabulaire) : la précision sur les cinq jeux de test dont est tiré le vocabulaire, après entraînement sur LS.\n- **VG** (*Vocabulary Generalization*, généralisation du vocabulaire) : l'écart du modèle entre IIIT-I et IIIT-O après entraînement sur LS, diminué de l'écart obtenu après entraînement sur RS.\n- **HM** : la moyenne harmonique des trois, qui sert de score global.\n\nLa conception de VG est astucieuse et mérite qu'on s'arrête pour faire le calcul. Les images d'IIIT-I et d'IIIT-O peuvent présenter des difficultés différentes en elles-mêmes, sans lien avec le vocabulaire. Un modèle entraîné sur RS n'a vu aucun vrai mot : son écart entre les deux groupes peut donc servir de mesure de cette différence de difficulté propre aux images :\n\n$$\nVG=1-\\big(\\mathrm{Gap}(LS)-\\mathrm{Gap}(RS)\\big)\n$$\n\nPrenons le modèle à attention sans module de contexte. Dans la Table 3, entraîné sur LS, il obtient 93,7 % sur IIIT-I et 61,0 % sur IIIT-O, soit 32,7 points d'écart ; entraîné sur RS, l'écart est de 9,8. En reportant ces valeurs : $1-(0.327-0.098)=0.771$, c'est-à-dire le 77,1 de la Table 5.\n\nPour CTC, également sans module de contexte, les deux écarts valent 18,0 et 10,3 : $1-(0.180-0.103)\\approx0.923$. La généralisation est bien meilleure.\n\n## Discussion\n\n### Avec des chaînes aléatoires, moins de dépendance au vocabulaire\n\nLes auteurs vérifient d'abord l'effet des données. En mélangeant RS à LS dans des proportions croissantes, la précision du modèle à attention sans module de contexte passe sur IIIT-5k de 77,8 % à 84,4 % ; à partir d'une proportion d'environ 0,5, elle ne progresse plus. La Figure 4 montre aussi qu'une fois RS ajouté, la probabilité que le modèle « réponde par un mot du vocabulaire » diminue.\n\nOn ne peut pas pour autant supprimer tout le vocabulaire. Selon les auteurs, le modèle a encore besoin d'une proportion suffisante de vrais mots pour acquérir des connaissances lexicales utiles à la reconnaissance.\n\n### Trois couches de prédiction\n\n| N° | Couche de prédiction | Contexte | VA | VG | OA | HM |\n| --- | --- | --- | ---: | ---: | ---: | ---: |\n| ① | Atten. | None | 85,7 | 77,1 | 69,6 | 76,9 |\n| ③ | Atten. | BLSTM | 87,0 | 79,1 | 69,8 | 78,0 |\n| ④ | CTC | None | 77,8 | 92,4 | 65,8 | 77,1 |\n| ⑥ | CTC | BLSTM | 79,9 | 90,2 | 67,6 | 78,1 |\n| ⑦ | Seg. | None | 79,7 | 97,3 | 69,9 | 80,8 |\n\n*Tableau : extrait de la Table 5 de l'article. Chaque HM peut être recalculé à partir des VA, VG et OA de la même ligne.*\n\nLe tableau permet d'en tirer trois constats :\n\n1. **Le décodeur à attention est le meilleur pour apprendre des mots par cœur** : VA la plus haute, VG la plus basse. À chaque étape, il prend en entrée les caractères déjà produits ; le vocabulaire s'apprend tout naturellement.\n2. **La segmentation généralise le mieux** : VG de 97,3, avec une capacité d'observation proche de celle du décodeur à attention.\n3. **CTC ne brille ni d'un côté ni de l'autre.** Selon les auteurs, ses performances sont globalement couvertes par celles des deux autres, et sa capacité d'observation est la plus faible.\n\n### Module de contexte et couche de prédiction vont de pair\n\nL'effet d'un module de contexte dépend de la couche de prédiction à laquelle il est associé.\n\nLe décodeur à attention apprend déjà le vocabulaire de lui-même ; un module de contexte y change peu de chose. Pour CTC, la situation est différente : avec PPM, VA passe de 77,8 à 84,8 ; avec BLSTM, elle progresse aussi (79,9). Dans le même temps, VG descend de 92,4 à 89,5 et 90,2 respectivement. L'explication des auteurs : le décodage CTC ne modélise pas le contexte ; le module placé en amont comble ce manque, et apporte du même coup la dépendance au vocabulaire.\n\nD'où la recommandation des auteurs : il faut arbitrer entre VA et VG. Un décodeur à attention avec BLSTM convient aux applications où les mots à lire relèvent pour la plupart du vocabulaire d'entraînement ; quand il faut lire beaucoup de mots jamais vus, mieux vaut une architecture par segmentation proche de CA-FCN.\n\n### Faire apprendre les deux modèles l'un de l'autre\n\nEnfin, les auteurs proposent une méthode d'entraînement qui vise à réunir la capacité lexicale du décodeur à attention et la capacité de généralisation de la segmentation.\n\nElle s'inspire de la distillation de connaissances et du *deep mutual learning* : les deux modèles sont entraînés ensemble depuis zéro et, en plus de leurs pertes respectives, un terme de divergence KL rapproche leurs distributions de sortie. Le modèle par segmentation s'appuie davantage sur les caractéristiques visuelles ; pour le décodeur à attention, ses prédictions agissent comme une régularisation visuelle supplémentaire.\n\nL'effet est net. La VG du décodeur à attention passe de 77,1 % à 93,6 %, et son HM de 76,9 à 82,6 ; après entraînement sur LS, l'écart entre mots du vocabulaire et mots hors vocabulaire est presque divisé par deux, de 32,7 à 16,9 points.\n\n### À garder en tête en lisant cet article\n\n1. **Les données d'entraînement sont entièrement synthétiques.** Le vocabulaire de LS ne compte que 3 172 mots, bien moins que dans les applications réelles ; il sert à amplifier l'effet du vocabulaire, et les résultats ne se transposent pas directement en taux d'erreur de modèles courants.\n2. **Les modèles datent de 2020.** Les systèmes de reconnaissance ultérieurs reposent pour la plupart sur des modèles de langage préentraînés plus grands ; les conclusions de l'article par type de modèle sont à revérifier.\n3. **Aucun jeu de test réel de chaînes aléatoires.** Les auteurs notent que l'évaluation sur des chaînes aléatoires pourrait elle-même servir d'indicateur, mais il n'existait alors aucun jeu standard alliant la complexité d'images réelles à des étiquettes purement aléatoires ; ils ne l'ont donc pas inclus.\n4. **Les tableaux se contredisent légèrement.** Pour les mêmes modèles, la Table 6 donne des VA différentes de la Table 5 (par exemple 83,2 contre 85,7 pour ①), et le texte affirme que PPM améliore la VA de CTC de 10,5 %, ce qui ne correspond pas non plus aux chiffres de la Table 5. Comme les HM de la Table 5 se recalculent à partir de VA, VG et OA, cette note s'en tient à la Table 5.\n\n## Conclusion\n\nCet article quantifie un problème que tout le monde pressentait sans que personne l'ait mesuré :\n\n1. **La dépendance au vocabulaire est générale.** Sur les mots jamais vus, les quatre méthodes représentatives perdent toutes environ 15 à 22 points de pourcentage.\n2. **La couche de prédiction détermine le degré de dépendance.** Le décodeur à attention est le plus doué pour le par cœur et le moins doué pour généraliser ; la segmentation généralise le mieux.\n3. **Les modules de contexte font entrer le vocabulaire**, surtout avec CTC.\n4. **Mélanger des chaînes aléatoires ou faire apprendre les modèles l'un de l'autre réduit la dépendance**, sans sacrifier beaucoup de précision.\n\nL'apport le plus utile de l'article est cet indicateur qui retranche la difficulté des images à l'aide de chaînes aléatoires. Six ans plus tard, les systèmes de reconnaissance sont devenus des modèles vision-langage qui génèrent des pages entières ; en 2026, une étude a remplacé le contenu de documents par des lettres aléatoires pour les tester, et a observé le même phénomène, à une échelle bien plus grande.\n","imageSizes":{"/content/papers/assets/566d359ce201c95044d8eb677291acf879055af5097aafccc62b096bb2e720ff.png":{"width":633,"height":233}}}
