{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/scene-text-recognition-with-permuted","title":"Scene Text Recognition with Permuted Autoregressive Sequence Models","arxiv_id":"2207.06966","date":"2022-07-14","proceeding":null,"authors":["Darwin Bautista","Rowel Atienza"],"abstract":"Context-aware STR methods typically use internal autoregressive (AR) language models (LM). Inherent limitations of AR models motivated two-stage methods which employ an external LM. The conditional independence of the external LM on the input image may cause it to erroneously rectify correct predictions, leading to significant inefficiencies. Our method, PARSeq, learns an ensemble of internal AR LMs with shared weights using Permutation Language Modeling. It unifies context-free non-AR and context-aware AR inference, and iterative refinement using bidirectional context. Using synthetic training data, PARSeq achieves state-of-the-art (SOTA) results in STR benchmarks (91.9% accuracy) and more challenging datasets. It establishes new SOTA results (96.0% accuracy) when trained on real data. PARSeq is optimal on accuracy vs parameter count, FLOPS, and latency because of its simple, unified structure and parallel token processing. Due to its extensive use of attention, it is robust on arbitrarily-oriented text which is common in real-world images. Code, pretrained weights, and data are available at: https://github.com/baudm/parseq.","url_abs":"https://arxiv.org/abs/2207.06966v1","url_pdf":"https://arxiv.org/pdf/2207.06966v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"scene-text-recognition-with-permuted","repo_url":"https://github.com/baudm/parseq","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"scene-text-recognition-with-permuted","repo_url":"https://github.com/topdu/openocr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"scene-text-recognition","task_name":"Scene Text Recognition"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/scene-text-recognition-on-coco-text","task":"Scene Text Recognition","dataset":"COCO-Text","model":"PARSeq","rank_in_archive_order":4,"of":4,"metrics":{"1:1 Accuracy":"79.8±0.1"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-cute80","task":"Scene Text Recognition","dataset":"CUTE80","model":"PARSeq","rank_in_archive_order":8,"of":18,"metrics":{"Accuracy":"98.3±0.6"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-ic19-art","task":"Scene Text Recognition","dataset":"IC19-Art","model":"PARSeq","rank_in_archive_order":5,"of":5,"metrics":{"Accuracy (%)":"84.5±0.1"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-icdar2013","task":"Scene Text Recognition","dataset":"ICDAR2013","model":"PARSeq","rank_in_archive_order":6,"of":38,"metrics":{"Accuracy":"98.4±0.2"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-icdar2015","task":"Scene Text Recognition","dataset":"ICDAR2015","model":"PARSeq","rank_in_archive_order":8,"of":27,"metrics":{"Accuracy":"89.6±0.3"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-iiit5k","task":"Scene Text Recognition","dataset":"IIIT5k","model":"PARSeq","rank_in_archive_order":7,"of":17,"metrics":{"Accuracy":"99.1±0.1"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-svt","task":"Scene Text Recognition","dataset":"SVT","model":"PARSeq","rank_in_archive_order":9,"of":37,"metrics":{"Accuracy":"97.9±0.2"},"uses_additional_data":true},{"leaderboard":"/sota/scene-text-recognition-on-svtp","task":"Scene Text Recognition","dataset":"SVTP","model":"PARSeq","rank_in_archive_order":9,"of":17,"metrics":{"Accuracy":"95.7±0.9"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.06966","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.06966"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/baudm/parseq","reach":null}],"summary":{"ran":5,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"14420f1c54acc73a","entry":"Decoder","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"14420f1c54acc73a"}},{"code_sha256_prefix":"e75df7801ed60b29","entry":"DecoderLayer","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e75df7801ed60b29"}},{"code_sha256_prefix":"d2bf9894d7816ca4","entry":"Encoder","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d2bf9894d7816ca4"}},{"code_sha256_prefix":"7d1582338e324271","entry":"TokenEmbedding","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7d1582338e324271"}},{"code_sha256_prefix":"7daac2bdca87bc4f","entry":"Tokenizer","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7daac2bdca87bc4f"}},{"code_sha256_prefix":"ce00de4b6e009b3e","entry":"BaseTokenizer","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ce00de4b6e009b3e"}},{"code_sha256_prefix":"e612549a1621ae51","entry":"PARSeq","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e612549a1621ae51"}},{"code_sha256_prefix":"56c14b92b1a1aad9","entry":"init_weights","repo":"baudm/parseq","repo_kind":"official","path":"strhub/models/parseq/model.py","file_url":"https://github.com/baudm/parseq/blob/HEAD/strhub/models/parseq/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"56c14b92b1a1aad9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}