Papers › An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its...

An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

21 Jul 2015arXiv:1507.05717archive 2025-07-28

Baoguang Shi, Xiang Bai, Cong Yao

Image-based sequence recognition has been a long-standing research topic in computer vision. In this paper, we investigate the problem of scene text recognition, which is among the most important and challenging tasks in image-based sequence recognition. A novel neural network architecture, which integrates feature extraction, sequence modeling and transcription into a unified framework, is proposed. Compared with previous systems for scene text recognition, the proposed architecture possesses four distinctive properties: (1) It is end-to-end trainable, in contrast to most of the existing algorithms whose components are separately trained and tuned. (2) It naturally handles sequences in arbitrary lengths, involving no character segmentation or horizontal scale normalization. (3) It is not confined to any predefined lexicon and achieves remarkable performances in both lexicon-free and lexicon-based scene text recognition tasks. (4) It generates an effective yet much smaller model, which is more practical for real-world application scenarios. The experiments on standard benchmarks, including the IIIT-5K, Street View Text and ICDAR datasets, demonstrate the superiority of the proposed algorithm over the prior arts. Moreover, the proposed algorithm performs well in the task of image-based music score recognition, which evidently verifies the generality of it.

PaperPDFCodeCode Syntology ran

In Syntology View this paper on Syntology: its repositories, every harvested function with whether it ran, its licence and the call to fetch it.

Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1507.05717")

Code

Syntology Ran 19 of 81 code samples harvested from 21 repositories linked to this paper; 62 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 9 ran · our draft was wrong; 8 ran · fixture could not drive it.

By repository: community (archive-listed): 80 samples from 21 repositories, 18 ran; 1 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

85 repositories listed; official and paper-mentioned ones first.

9ruddls3/CRNN_Pytorch mentioned on GitHubpytorch report
CodeAchieveDream/crnn_model mentioned on GitHubpytorch report
Crespo-dong/caffe_ocr mentioned on GitHub report
DCSong/CRNN-DenseNet mentioned on GitHubpytorchMIT report
DnanaDev/CRNN_for_OCR mentioned on GitHubtf report
FLming/CRNN.tf2 mentioned on GitHubtfMIT report
GitYCC/crnn-pytorch mentioned on GitHubpytorchMIT report
HassamChundrigar/Urdu-Ocr mentioned on GitHubtf report
JaidedAI/EasyOCR mentioned on GitHubpytorch report
L706077/OCR-CRNN mentioned on GitHubpytorchMIT report
Liumihan/CRNN_kreas mentioned on GitHubtf report
Liumihan/CRNN_pytorch mentioned on GitHubpytorch report
MaybeShewill-CV/CRNN_Tensorflow mentioned on GitHubtf report
Media-Smart/vedastr mentioned on GitHubpytorchApache-2.0 report
PaddlePaddle/PaddleOCR mentioned on GitHubpaddleApache-2.0 report
SYR-Aegis/BrailleOCR mentioned on GitHubpytorch report
WenmuZhou/PytorchOCR mentioned on GitHubpytorch report
WenmuZhou/Segmentation-Free_OCR mentioned on GitHubtfGPL-3.0 report
Yuting-Gao/CRNN_Mxnet mentioned on GitHubtf report
abhiraman/Capstone_Project mentioned on GitHubpytorch report
anuragcp/iocl-deepocr mentioned on GitHubtf report
bai-shang/CRNN_CTC_Tensorflow mentioned on GitHubtf report
bai-shang/OCR_TF_CRNN_CTC mentioned on GitHubtf report
bai-shang/crnn_ctc_ocr_tf mentioned on GitHubtf report
bgshih/crnn mentioned on GitHubpytorchMIT report
bharatsush/TextSpotting mentioned on GitHubtf report
carnotaur/crnn-tutorial mentioned on GitHubpytorch report
chauthehan/CRNN_OCR_CMND mentioned on GitHub report
cipri-tom/type-aware-crnn mentioned on GitHubtfGPL-3.0 report
cjxxx0/license mentioned on GitHubtf report
courao/ocr.pytorch mentioned on GitHubpytorchMIT report
foamliu/CRNN mentioned on GitHubpytorchMIT report
githubharald/simplehtr mentioned on GitHubtfMIT report
harish2704/pottan-ocr mentioned on GitHubpytorchMIT report
jackknife007/crnn mentioned on GitHubtf report
juanluisrosaramos/CRNN_OCR mentioned on GitHubtf report
lidongliang666/cv_deep_learning mentioned on GitHubpytorch report
lostsword/character_recognition mentioned on GitHubmindsporeApache-2.0 report
mindee/doctr mentioned on GitHubpytorchApache-2.0 report
mineshmathew/pytorch_rnn_examples mentioned on GitHubpytorchApache-2.0 report
nithyadurai87/pottan-ocr-tamil mentioned on GitHubpytorchMIT report
qjadud1994/CRNN-Keras mentioned on GitHubtf report
samueltin/tf-crnn_backup20180808 mentioned on GitHubtfGPL-3.0 report
sbillburg/CRNN-with-STN mentioned on GitHubtf report
senlinuc/caffe_ocr mentioned on GitHub report
sgenza/tf_crnn mentioned on GitHubtfMIT report
shivaverma/Score-Time-Detection mentioned on GitHubpytorch report
shreshtashetty/OCR mentioned on GitHubtf report
solivr/tf-crnn mentioned on GitHubtfGPL-3.0 report
sonamghosh/local_hack_day_2018 mentioned on GitHubpytorch report
topdu/openocr mentioned on GitHubpytorchApache-2.0 report
tranbahien/CTC-OCR mentioned on GitHubtf report
wacr2008/tensorflow_crnn mentioned on GitHubtf report
weinman/cnn_lstm_ctc_ocr mentioned on GitHubtfGPL-3.0 report
xmy0916/pytorch_crnn mentioned on GitHubpytorch report
xusongpei/crnn-ctc mentioned on GitHubtf report
zhiqwang/crnn.pytorch mentioned on GitHubpytorchMIT report
zhiqwang/image-captioning mentioned on GitHubpytorchMIT report
zwenwang/CTPN_Pytorch mentioned on GitHubpytorch report
zyasjtu/CNN-RNN-CTC mentioned on GitHubtf report
WenmuZhou/crnn.pytorch pytorchApache-2.0 report
mindspore-lab/mindocr mindsporenot reachable when probed 2026-09-17 — repositories for recent papers often appear after camera-ready report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

81 samples harvested; 19 ran; 1 honoured the contract we drafted; 62 have no recorded run. Read from Syntology's graph 2026-09-25; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
9ran · our draft was wrong
8ran · fixture could not drive it
62unverified

Licence: 17 of the 81 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 21 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Accuracy oyxhust/CNN-LSTM-CTC-text-recognition/train_lstm.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · c1f5f90a5fe029c1 · report
Accuracy oyxhust/CNN-LSTM-CTC-text-recognition/train_bi_lstm.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · 39b54be8c212cdc0 · report
Accuracy oyxhust/CNN-LSTM-CTC-text-recognition/train_crnn.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · 7688c4824425a1ea · report
args_str2bool MaybeShewill-CV/CRNN_Tensorflow/tools/train_shadownet.py community (archive-listed) ran · violated contract MIT (permissive) · eba8919c2ae4a92f · report
compute_net_gradients MaybeShewill-CV/CRNN_Tensorflow/tools/train_shadownet.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 2de2452efe03beb8 · report
conv1x1 WenmuZhou/crnn.pytorch/modeling/backbone/resnet_torch.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · d9def42110729a85 · report
conv3x3 WenmuZhou/crnn.pytorch/modeling/backbone/resnet_torch.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 160bb14bd76201b4 · report
ctc_label oyxhust/CNN-LSTM-CTC-text-recognition/train_lstm.py community (archive-listed) ran · fixture could not drive it fingerprinted no licence file found · pointer only · 130856163be0ac52 · report
decodeText sartaj0/TextRecognition-Pytorch/inferenceWithOnnx.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · e5d49b58c143d9eb · report
decode_label chauthehan/CRNN_OCR_CMND/prediction.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · ca246044b67802d8 · report
dense_to_text HassamChundrigar/Urdu-Ocr/utils.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · b4d833e2c3bc615e · report
encode_utf8_string chauthehan/CRNN_OCR_CMND/build_dataset.py community (archive-listed) ran · honoured contract no licence file found · pointer only · 1406f043e92b305c · report
fastdecode chauthehan/CRNN_OCR_CMND/prediction.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · ad699c48847e4fa9 · report
get_image_and_text jackknife007/crnn/cnn+lstm+ctc.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · f49ea6d719e3ce02 · report
get_sparse_tuple jackknife007/crnn/cnn+lstm+ctc.py community (archive-listed) ran · our draft was wrong no licence file found · pointer only · fd70c122a864030b · report
get_text jackknife007/crnn/generate.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · dd0c2e41c087ec45 · report
label_to_hangul qjadud1994/CRNN-Keras/Prediction.py community (archive-listed) ran · our draft was wrong fingerprinted MIT (permissive) · c979b2811c6d87de · report
remove_blank oyxhust/CNN-LSTM-CTC-text-recognition/train_lstm.py community (archive-listed) ran · fixture could not drive it fingerprinted no licence file found · pointer only · 436e8501e30a7cb4 · report
alignImages mrzaizai2k/Information-recognition-on-the-university-test-paper/source/Preprocessing.py community (archive-listed) unverified MIT (permissive) · 739081312362bdc6 · report
arrays2labels sgenza/tf_crnn/model/utils.py community (archive-listed) unverified MIT (permissive) · 871cd40e81d189dd · report
assureRatio Holmeyoung/crnn-pytorch/utils.py community (archive-listed) unverified MIT (permissive) · bc714562632bad86 · report
augmentation mrzaizai2k/Information-recognition-on-the-university-test-paper/source/imgtocsv.py community (archive-listed) unverified MIT (permissive) · 873e142b9e566547 · report
avg_wer mrzaizai2k/Information-recognition-on-the-university-test-paper/source/create_metrics_OCR.py community (archive-listed) unverified MIT (permissive) · de25232d166b4079 · report
beam_search_decode GitYCC/crnn-pytorch/src/ctc_decoder.py community (archive-listed) unverified MIT (permissive) · 3cc6d82c871b003e · report
build_digit_model mrzaizai2k/Information-recognition-on-the-university-test-paper/source/digit_model.py community (archive-listed) unverified MIT (permissive) · 39edc5dd93906ed7 · report
build_model FLming/CRNN.tf2/crnn/models.py community (archive-listed) unverified MIT (permissive) · 296ecf73d26896df · report
build_word_model mrzaizai2k/Information-recognition-on-the-university-test-paper/source/word_model.py community (archive-listed) unverified MIT (permissive) · a1d537aa281c06d1 · report
char_errors mrzaizai2k/Information-recognition-on-the-university-test-paper/source/create_metrics_OCR.py community (archive-listed) unverified MIT (permissive) · 1f6ce9a5a3fefdb6 · report
checkImageIsValid Holmeyoung/crnn-pytorch/tool/create_dataset.py community (archive-listed) unverified MIT (permissive) · bbe9f57bb5f10da7 · report
checkImageIsValid L706077/OCR-CRNN/tool/create_dataset.py community (archive-listed) unverified MIT (permissive) · 196d7ffb0297719f · report
class_list mrzaizai2k/Information-recognition-on-the-university-test-paper/source/Excel.py community (archive-listed) unverified MIT (permissive) · b366183f43c64854 · report
collate_fn DCSong/CRNN-DenseNet/main_v2.py community (archive-listed) unverified MIT (permissive) · 1034c8100229cfaa · report
compute_pred_size harish2704/pottan-ocr/pottan_ocr/custom_dataset.py community (archive-listed) unverified MIT (permissive) · 23144073b24afafe · report
create_an_image DCSong/CRNN-DenseNet/data_generator/generator.py community (archive-listed) unverified MIT (permissive) · 4a328dcfa78235f0 · report
create_result_subdir kurapan/CRNN/utils.py community (archive-listed) unverified MIT (permissive) · 3a30552afd9800fe · report
ctc_lambda_func kurapan/CRNN/models.py community (archive-listed) unverified MIT (permissive) · d58585cb2e4794d7 · report
cv_imread DCSong/CRNN-DenseNet/infer.py community (archive-listed) unverified MIT (permissive) · d8dedde195599807 · report
darken_func DCSong/CRNN-DenseNet/data_generator/generator.py community (archive-listed) unverified MIT (permissive) · 6f137578ee4c9a8c · report
decode_trueLabel DCSong/CRNN-DenseNet/main_v2.py community (archive-listed) unverified MIT (permissive) · 62c9fb7421034e69 · report
elastic_transform mrzaizai2k/Information-recognition-on-the-university-test-paper/source/imgtocsv.py community (archive-listed) unverified MIT (permissive) · 913bff8998669099 · report
findNHFromFile nithyadurai87/pottan-ocr-tamil/pottan_ocr/ocr.py community (archive-listed) unverified MIT (permissive) · 64e1f2ed134eaa53 · report
getTrainingTexts harish2704/pottan-ocr/pottan_ocr/dataset.py community (archive-listed) unverified MIT (permissive) · 04d204671d905b25 · report
get_bg_value harish2704/pottan-ocr/pottan_ocr/custom_dataset.py community (archive-listed) unverified MIT (permissive) · 38df7f768aeaae08 · report
get_crnn xmy0916/pytorch_crnn/model/model.py community (archive-listed) unverified no licence file found · pointer only · 093288b6c8663ae1 · report
get_learning_rate foamliu/CRNN/utils.py community (archive-listed) unverified MIT (permissive) · f12870d2ed1448f7 · report
get_test_data jackknife007/crnn/cnn+lstm+ctc.py community (archive-listed) unverified no licence file found · pointer only · 9d05adb33343f13f · report
greedy_decode GitYCC/crnn-pytorch/src/ctc_decoder.py community (archive-listed) unverified MIT (permissive) · f056f6c91ff28c7e · report
image_resize foamliu/CRNN/data_gen.py community (archive-listed) unverified MIT (permissive) · 56c10a1bd102696b · report
label_to_num mrzaizai2k/Information-recognition-on-the-university-test-paper/source/digit_train.py community (archive-listed) unverified MIT (permissive) · d7024ede039d8d7a · report
levenshtein nithyadurai87/pottan-ocr-tamil/ocropy/ocrolib/edist.py community (archive-listed) unverified MIT (permissive) · f50d8818f0a6b156 · report
loc_net sbillburg/CRNN-with-STN/CRNN_with_STN.py community (archive-listed) unverified no licence file found · pointer only · 8f9b18959fd4541f · report
loc_net kurapan/CRNN/models.py community (archive-listed) unverified MIT (permissive) · c195fa75ab2456ab · report
myOpen harish2704/pottan-ocr/pottan_ocr/utils.py community (archive-listed) unverified MIT (permissive) · 32a5943a79da34f1 · report
normaizeImg harish2704/pottan-ocr/pottan_ocr/utils.py community (archive-listed) unverified MIT (permissive) · 2ebd71c551e6a0af · report
normaizeImg nithyadurai87/pottan-ocr-tamil/pottan_ocr/dataset.py community (archive-listed) unverified MIT (permissive) · c3a16e37a8c26936 · report
normalizeBatch harish2704/pottan-ocr/pottan_ocr/utils.py community (archive-listed) unverified MIT (permissive) · 5b549bdb59cee992 · report
num_to_label mrzaizai2k/Information-recognition-on-the-university-test-paper/source/GUI.py community (archive-listed) unverified MIT (permissive) · c71ecf200d7b47ff · report
num_to_label mrzaizai2k/Information-recognition-on-the-university-test-paper/source/digit_train.py community (archive-listed) unverified MIT (permissive) · 12a7e5523e0d5c4a · report
number_augment mrzaizai2k/Information-recognition-on-the-university-test-paper/source/prepare_MSSV_dataset.py community (archive-listed) unverified MIT (permissive) · c1de96bd44318dd0 · report
oneHot Holmeyoung/crnn-pytorch/utils.py community (archive-listed) unverified MIT (permissive) · ccf0cad12e00b757 · report
pad_image kurapan/CRNN/utils.py community (archive-listed) unverified MIT (permissive) · 92b4c2d4b7627a61 · report
predictions mrzaizai2k/Information-recognition-on-the-university-test-paper/source/EAST.py community (archive-listed) unverified MIT (permissive) · c9d1cf745655ed5e · report
prefix_beam_decode GitYCC/crnn-pytorch/src/ctc_decoder.py community (archive-listed) unverified MIT (permissive) · 37410a7cdba16e43 · report
preprocess mrzaizai2k/Information-recognition-on-the-university-test-paper/source/helper.py community (archive-listed) unverified MIT (permissive) · 24597781733e9f0c · report
readFile nithyadurai87/pottan-ocr-tamil/pottan_ocr/utils.py community (archive-listed) unverified MIT (permissive) · 1d4c2738c60c2109 · report
readLines nithyadurai87/pottan-ocr-tamil/pottan_ocr/utils.py community (archive-listed) unverified MIT (permissive) · 88d6c289716c5525 · report
read_config sgenza/tf_crnn/model/utils.py community (archive-listed) unverified MIT (permissive) · 3192c8faf3910bdf · report
read_data_from_file Holmeyoung/crnn-pytorch/tool/create_dataset.py community (archive-listed) unverified MIT (permissive) · 9cb644f7ac131353 · report
read_data_from_folder Holmeyoung/crnn-pytorch/tool/create_dataset.py community (archive-listed) unverified MIT (permissive) · 267a91d5ae5788a5 · report
removeline mrzaizai2k/Information-recognition-on-the-university-test-paper/source/Preprocessing.py community (archive-listed) unverified MIT (permissive) · 1411d589bfc89bcc · report
resize_image kurapan/CRNN/utils.py community (archive-listed) unverified MIT (permissive) · 4dd30f678b132ee5 · report
scheduler mrzaizai2k/Information-recognition-on-the-university-test-paper/source/digit_train.py community (archive-listed) unverified MIT (permissive) · 09177472a69b0aef · report
sparse_tuple_from sgenza/tf_crnn/model/utils.py community (archive-listed) unverified MIT (permissive) · 924a9985cfa71dbe · report
sto_choice_from_info_str DCSong/CRNN-DenseNet/data_generator/generator.py community (archive-listed) unverified MIT (permissive) · 699d3ccd431d7c10 · report
summary nithyadurai87/pottan-ocr-tamil/ocropy/ocrolib/exceptions.py community (archive-listed) unverified MIT (permissive) · 4e697031db9e32d5 · report
synth90k_collate_fn GitYCC/crnn-pytorch/src/dataset.py community (archive-listed) unverified MIT (permissive) · fbb057bc924b5ded · report
trans_pos Holmeyoung/crnn-pytorch/tool/convert_t7.py community (archive-listed) unverified MIT (permissive) · ee286d9708b8f2e8 · report
vgg_style FLming/CRNN.tf2/crnn/models.py community (archive-listed) unverified MIT (permissive) · ce63cd357ce4255f · report
word_errors mrzaizai2k/Information-recognition-on-the-university-test-paper/source/create_metrics_OCR.py community (archive-listed) unverified MIT (permissive) · 18d6344ade1b7bde · report
xlevenshtein nithyadurai87/pottan-ocr-tamil/ocropy/ocrolib/edist.py community (archive-listed) unverified MIT (permissive) · 8f842fd357c173e0 · report
chunker identical code first harvested elsewhere ran · our draft was wrong licence of this copy not recorded · ec7977b6ec96dce1 · report

Tasks

Optical Character Recognition (OCR)Scene Text Recognition

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Scene Text Recognition ICDAR 2003 CRNN Accuracy 89.4 #12 of 12 Archive leaderboard report
Scene Text Recognition ICDAR2013 CRNN Accuracy 86.7 #37 of 38 Archive leaderboard report
Scene Text Recognition SVT CRNN Accuracy 80.8 #36 of 37 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections