Model or dataset
cs-chan/Total-Text-Dataset avatar
cs-chan/Total-Text-Dataset

Total-Text is the curved text dataset that changed how text detection is scored

Total Text Dataset. It consists of 1555 images with more than 3 different text orientations: Horizontal, Multi-Oriented, and Curved, one of a kind.

771 stars138 forksMATLABBSD-3-Clause

At a glance

What is it?
The Total-Text dataset is 1555 images of English scene text with horizontal, multi-oriented and curved text, and its most lasting contribution is a detection evaluation protocol that splits the leaderboard between numbers reported on paper and numbers recomputed with the authors own DetEval tool. The repository is also where the community is asked to keep the test set clean.
Who is it for?
Adopt Total-Text if you are training or benchmarking scene text detection or recognition on curved and arbitrarily shaped text, since it is one of the standard benchmarks for that task and comes with pixel-level, text-level and word-level ground truth. Skip it if you need Chinese text or a text-line dataset, because the data is word-level English only and the authors point to SCUT-CTW1500 for that.
Can I use it commercially?
Yes. BSD-3-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 23 days ago.
What is it written in?
Mainly MATLAB, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A dataset defined by the shape of the text

Total-Text is a word-level English curve text dataset, and the whole point of it is the geometry.

The description gives the size and the taxonomy: 1555 images with more than three different text orientations, horizontal, multi-oriented and curved, and calls it one of a kind. The topic tags line up with that framing, including curve-text, text-detection, text-recognition, scene-text-detection and scene-text-recognition.

A curved and multi-oriented text dataset was a gap in the field for a long time. Detection benchmarks of the previous generation were built on text that was essentially horizontal, so a method could score well without ever having to reason about a word baseline that bends. Total-Text is the reference point for that capability, and the papers listed on its leaderboard are the ones that made progress on it.

The repository is MATLAB as its primary language, which tells you the shape of the tooling. The tree has a Dataset/ directory for the images, a Groundtruth/ directory, an Evaluation_Protocol/ directory, an Annotation_tools/ directory holding the Guided Annotation toolbox, and a Baseline/ directory with the authors own Poly-FRCNN-3 detector and its paper.

The last push was on 2026-09-30 and there are no GitHub releases. The licence is BSD-3-Clause, with a LICENSE file at the root and, added on that same September 2026 update, a DATASET_TERMS.md and a RIGHTS_NOTICE.md.

The leaderboard separates paper numbers from recomputed numbers

The evaluation protocol is the part of this repository that a serious user has to understand before quoting any number.

The leaderboard has two halves for each method, and the columns make the distinction explicit. One half is reported on paper, with precision, recall and F-score. The other two halves are DetEval with two different parameter sets: the default, at tp=0.4 and tr=0.8, and a new proposal, at tp=0.6 and tr=0.7. The metrics are Pascal VOC IoU, and one column is annotated as Polygon Regression.

The baseline row is the authors own Poly-FRCNN-3, with 78.0 precision, 68.0 recall and 73.0 F-score, and it is the only row with the default DetEval figures filled in alongside the paper figures.

That asymmetry is the point. The published methods have paper numbers and blanks in the DetEval columns, and the baselines are the rows you can reproduce with the code in the Baseline folder. Reproducibility is what the split is for.

The evaluation code lives in the Evaluation_Protocol/ directory, and the changelog records a faster DetEval.py with Python 3 support, credited to a contributor, which tells you the tool has been kept usable over the years rather than being a one-off script.

There is also a table ranking with evaluation protocol information, and a note that results from recent papers are listed where P is precision, R is recall and F is F-score. The invitation to contact the maintainers if a result is missing or incorrect is phrased as do not hesisate to contact us, which is a small human detail in a leaderboard that is otherwise numbers.

The update history shows the leaderboard being maintained as new methods appear, with the April 2022 update adding FCE, ABPNet, PCR, CentripetalText and HierText.

The test set is deliberately frozen, and here is why

The news section of the README contains one of the clearer statements of dataset design rationale you will find in computer vision.

It addresses questions about the new ground truth for the test set, and explains that no new version of the test set ground truth is released, for two reasons. There is no need of standardising the length of the ground truth vertices for testing purpose, since that was proposed to facilitate training only. And a new version of ground truth would make the previous benchmarks irrelevant.

The second reason is the important one. Changing the test annotations would silently invalidate every published result, and a benchmark whose numbers quietly stop meaning the same thing is not a benchmark. The authors invite contact if there is a valid reason to require new test ground truth, saying they shall discuss about it.

That is a deliberate choice to protect the leaderboard's meaning, and it is worth reading as a design constraint rather than an oversight. The training ground truth, by contrast, was updated in September 2019, because that side can move without breaking anything.

The ground truth came in stages. Pixel level ground truth was added in April 2018, text level ground truth in November 2017, and ground truth in .txt format in May 2018. The Guided Annotation toolbox for scene text image annotation was added in August 2018 and updated a year later.

The request to the community: keep the test images out of ArT

The Important Announcement section describes a data hygiene problem that only arises because a dataset succeeded, and it is the most unusual thing in the repository.

Total-Text and SCUT-CTW1500 are now part of the training set of the largest curved text dataset, ArT, the Arbitrary-Shaped Text dataset. To retain the validity of future benchmarking on Total-Text, the test-set images of Total-Text should be removed from the ArT dataset, with the corresponding ID provided in a list file, Total_Text_ID_vs_ArT_ID.list, at the repository root, if one intends to use the extra training data from ArT.

The request is worded as a matter of trust: we count on the trust of the research community to perform such removal operation to attain the fairness of the benchmarking.

The logic is straightforward and worth spelling out. If a model trains on ArT, and ArT contains the Total-Text test images, then a reported Total-Text score is partly a training score. Nobody is doing anything wrong in the ordinary sense; the contamination is a byproduct of a larger dataset being built from smaller ones. But it degrades every future comparison, and the only way to stop it is for each user to filter their own copy.

Providing the ID list is the whole mechanism, and it is a good example of a maintainer making a technically necessary request easy to comply with. The list lives at the top level of the repository rather than in a subfolder, so it is visible to anyone who clones it.

The announcement was made on May 30, 2019, and the repository has kept the list in place ever since, alongside a follow-up note in the changelog.

What the repository offers beyond the images

The contents fall into four parts, and three of them are tooling rather than data.

The Dataset/ directory holds the images. The Groundtruth/ directory holds the annotations, in the word-level, text-level, pixel-level and.txt formats described in the changelog. The Evaluation_Protocol/ directory holds DetEval, the script that produces the recomputed numbers, and the Baseline/ directory holds the Poly-FRCNN-3 implementation together with the IJDAR paper describing it.

The baseline is described as the extended version with new baseline and annotation tool that was accepted at IJDAR, with the paper linked from the leaderboard. The README points out that the baseline scores are based on this proposed Poly-FRCNN-3 in that folder, which is what makes them reproducible.

The Annotation_tools/ directory holds the Guided Annotation toolbox, which is the piece that matters if you want to extend the dataset. Scene text annotation is not trivial, particularly for curved words where the polygon has to follow the baseline, and a guided tool is a substantial piece of work. The tool was added in August 2018 and updated in September 2019, alongside the same-day update of the baseline.

The BSD-3-Clause-licensed repository history also includes a python-based evaluation script from March 2019 that added a do not care candidates filtering option in May 2018, which is a practical detail for anyone comparing against older numbers.

So the repository is not only a folder of pictures. It is a dataset with an evaluation protocol, a reference implementation and an annotation tool, which is what makes it a benchmark rather than a corpus.

Where Total-Text sits against the other text benchmarks

The README itself points at the alternatives, which is the right way to frame the choice.

For a text-line based dataset with both English and Chinese instances, the recommendation is SCUT-CTW1500. And a reading challenge on Arbitrary-Shaped Text, RRC-ArT, which is extended from Total-Text and SCUT-CTW1500, was held at ICDAR2019 to stimulate more innovative ideas on the arbitrary-shaped text reading task, with the technical report on arXiv.

So the family of related datasets is: Total-Text for word-level English curve text, SCUT-CTW1500 for text lines including Chinese, and ArT as the large-scale union built from both.

There is also a leaderboard with a distinction worth copying, since the table ranking marks the highlighted end-to-end methods, with a thank you to the contributor who pointed that out in the April 2020 update. End-to-end methods, which detect and recognise in one model, are not directly comparable to two-stage pipelines, and separating them on a leaderboard avoids the comparison that looks meaningful and is not.

Two structural limits are worth keeping in mind. Total-Text is English only, so a Chinese or multilingual model needs a different evaluation set. And the 1555 images are small, which is fine for a benchmark and thin for training, which is exactly why ArT exists and why the test set contamination question matters so much.

The repository was released on October 27, 2017, and the updates since then have been to the leaderboard, the tools and the terms rather than to the data itself.

Editorial conclusion

Adopt Total-Text if you are training or benchmarking scene text detection or recognition on curved and arbitrarily shaped text, since it is one of the standard benchmarks for that task and comes with pixel-level, text-level and word-level ground truth. Skip it if you need Chinese text or a text-line dataset, because the data is word-level English only and the authors point to SCUT-CTW1500 for that. Verify first which evaluation protocol you will report, since the leaderboard separates paper-reported scores from DetEval scores under two parameter settings, and check the dataset terms and rights notice added in September 2026 before redistributing the images.

Frequently asked questions

What is the Total-Text dataset?

It is a word-level English curve text dataset consisting of 1555 images with more than three different text orientations: horizontal, multi-oriented and curved. It ships with pixel-level, text-level and word-level ground truth, a DetEval evaluation protocol and a baseline detector.

How do I evaluate a text detection method on Total-Text?

The leaderboard separates scores reported on paper from scores recomputed with the authors' DetEval tool, under two parameter settings, the default at tp=0.4 and tr=0.8 and a new proposal at tp=0.6 and tr=0.7, using the Pascal VOC IoU metric. The evaluation code is in the Evaluation_Protocol folder and the reproducible baseline is in the Baseline folder.

Why do I need to remove Total-Text test images from the ArT dataset?

Total-Text and SCUT-CTW1500 are part of the training set of the ArT arbitrary-shaped text dataset, so training on ArT would contaminate Total-Text test results. The repository provides Total_Text_ID_vs_ArT_ID.list with the corresponding IDs, and asks users to perform the removal to keep benchmarking fair.

Official sources

  1. cs-chan/Total-Text-Dataset on GitHub
  2. Issues
  3. License: BSD-3-Clause
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/cs-chan-total-text-dataset.svg)](https://hysenlabs.com/projects/cs-chan-total-text-dataset)

Was this useful?