{"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/textsnake-a-flexible-representation-for","title":"TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes","arxiv_id":"1807.01544","date":"2018-07-04","proceeding":"ECCV 2018 9","authors":["Shangbang Long","Jiaqiang Ruan","Wenjie Zhang","Xin He","Wenhao Wu","Cong Yao"],"abstract":"Driven by deep neural networks and large scale datasets, scene text detection methods have progressed substantially over the past years, continuously refreshing the performance records on various standard benchmarks. However, limited by the representations (axis-aligned rectangles, rotated rectangles or quadrangles) adopted to describe text, existing methods may fall short when dealing with much more free-form text instances, such as curved text, which are actually very common in real-world scenarios. To tackle this problem, we propose a more flexible representation for scene text, termed as TextSnake, which is able to effectively represent text instances in horizontal, oriented and curved forms. In TextSnake, a text instance is described as a sequence of ordered, overlapping disks centered at symmetric axes, each of which is associated with potentially variable radius and orientation. Such geometry attributes are estimated via a Fully Convolutional Network (FCN) model. In experiments, the text detector based on TextSnake achieves state-of-the-art or comparable performance on Total-Text and SCUT-CTW1500, the two newly published benchmarks with special emphasis on curved text in natural images, as well as the widely-used datasets ICDAR 2015 and MSRA-TD500. Specifically, TextSnake outperforms the baseline on Total-Text by more than 40% in F-measure.","url_abs":"https://arxiv.org/abs/1807.01544v2","url_pdf":"https://arxiv.org/pdf/1807.01544v2.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":"textsnake-a-flexible-representation-for","repo_url":"https://github.com/princewang1994/TextSnake.pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"textsnake-a-flexible-representation-for","repo_url":"https://github.com/speakstone/TextSnake","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"textsnake-a-flexible-representation-for","repo_url":"https://github.com/open-mmlab/mmocr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"curved-text-detection","task_name":"Curved Text Detection"},{"task_slug":"scene-text-detection","task_name":"Scene Text Detection"},{"task_slug":"text-detection","task_name":"Text Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/curved-text-detection-on-scut-ctw1500","task":"Curved Text Detection","dataset":"SCUT-CTW1500","model":"TextSnake [[Long et al.(2018)Long, Ruan, Zhang, He, Wu, and Yao]]","rank_in_archive_order":2,"of":5,"metrics":{"F-Measure":"75.6%"},"uses_additional_data":false},{"leaderboard":"/sota/scene-text-detection-on-icdar-2015","task":"Scene Text Detection","dataset":"ICDAR 2015","model":"PixelLink+VGG16 2s","rank_in_archive_order":29,"of":43,"metrics":{"F-Measure":"83.7","Precision":"85.5","Recall":"82"},"uses_additional_data":false},{"leaderboard":"/sota/scene-text-detection-on-msra-td500","task":"Scene Text Detection","dataset":"MSRA-TD500","model":"TextSnake","rank_in_archive_order":15,"of":18,"metrics":{"F-Measure":"78.3","Precision":"83.2","Recall":"73.9"},"uses_additional_data":false},{"leaderboard":"/sota/scene-text-detection-on-scut-ctw1500","task":"Scene Text Detection","dataset":"SCUT-CTW1500","model":"TextSnake","rank_in_archive_order":16,"of":17,"metrics":{"F-Measure":"75.6","Precision":"67.9","Recall":"85.3"},"uses_additional_data":false},{"leaderboard":"/sota/scene-text-detection-on-total-text","task":"Scene Text Detection","dataset":"Total-Text","model":"TextSnake","rank_in_archive_order":24,"of":27,"metrics":{"F-Measure":"78.4%","Precision":"82.7","Recall":"74.5"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1807.01544","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1807.01544"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-mmlab/mmocr","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/speakstone/TextSnake","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/princewang1994/TextSnake.pytorch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":5},"by_repo_kind":{"listed":{"samples":6,"ran":1,"repositories":2}},"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":"ac62432dc5134b0d","entry":"make_layers","repo":"princewang1994/TextSnake.pytorch","repo_kind":"listed","path":"network/vgg.py","file_url":"https://github.com/princewang1994/TextSnake.pytorch/blob/HEAD/network/vgg.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ac62432dc5134b0d"}},{"code_sha256_prefix":"d2f61d806e44b0a6","entry":"get","repo":"speakstone/TextSnake","repo_kind":"listed","path":"dataset/data_coco.py","file_url":"https://github.com/speakstone/TextSnake/blob/HEAD/dataset/data_coco.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d2f61d806e44b0a6"}},{"code_sha256_prefix":"9df01a1787744a19","entry":"get_and_check","repo":"speakstone/TextSnake","repo_kind":"listed","path":"dataset/data_coco.py","file_url":"https://github.com/speakstone/TextSnake/blob/HEAD/dataset/data_coco.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9df01a1787744a19"}},{"code_sha256_prefix":"138a54613786d206","entry":"get_filename_as_int","repo":"speakstone/TextSnake","repo_kind":"listed","path":"dataset/data_coco.py","file_url":"https://github.com/speakstone/TextSnake/blob/HEAD/dataset/data_coco.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"138a54613786d206"}},{"code_sha256_prefix":"1dcd42e5770df07d","entry":"md5sum","repo":"speakstone/TextSnake","repo_kind":"listed","path":"bai_pachong/Img_Deduplication.py","file_url":"https://github.com/speakstone/TextSnake/blob/HEAD/bai_pachong/Img_Deduplication.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1dcd42e5770df07d"}},{"code_sha256_prefix":"82860b18e1fc22c2","entry":"pil_load_img","repo":"princewang1994/TextSnake.pytorch","repo_kind":"listed","path":"dataset/dataload.py","file_url":"https://github.com/princewang1994/TextSnake.pytorch/blob/HEAD/dataset/dataload.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82860b18e1fc22c2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}