{"id":19605442,"url":"https://github.com/mengliu1998/scenetextdetector","last_synced_at":"2026-04-30T16:31:48.321Z","repository":{"id":119051166,"uuid":"181394492","full_name":"mengliu1998/SceneTextDetector","owner":"mengliu1998","description":null,"archived":false,"fork":false,"pushed_at":"2019-06-09T15:42:00.000Z","size":4113,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T16:26:09.696Z","etag":null,"topics":["python","tensorflow","text-detection"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mengliu1998.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-15T01:55:45.000Z","updated_at":"2019-10-27T01:59:11.000Z","dependencies_parsed_at":"2023-03-13T12:44:39.362Z","dependency_job_id":null,"html_url":"https://github.com/mengliu1998/SceneTextDetector","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mengliu1998/SceneTextDetector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengliu1998%2FSceneTextDetector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengliu1998%2FSceneTextDetector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengliu1998%2FSceneTextDetector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengliu1998%2FSceneTextDetector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mengliu1998","download_url":"https://codeload.github.com/mengliu1998/SceneTextDetector/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengliu1998%2FSceneTextDetector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266626115,"owners_count":23958344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","tensorflow","text-detection"],"created_at":"2024-11-11T09:42:51.545Z","updated_at":"2026-04-30T16:31:43.269Z","avatar_url":"https://github.com/mengliu1998.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SceneTextDetector\nThis code is modified from [EAST](https://github.com/argman/EAST). Thanks to their open source.:blush:\n## Introduction\n* The backbone of this method is a ResNet50-like network with SENet. It's worth mentioning that the size of output of backbone is 1/16(not 1/32 as classical ResNet50) of input, which makes full use of the information from original images.\n* Multi-level feature fusion is deployed to detect multi-scale text regions.\n* Label generation is the same as EAST.\n* The whole network is trained from scratch. We don't use ResNet50 pretrained on ImageNet, because of the bias between classification task and detection/segementation task.\n## Requirements\n* TensorFlow \u003e 1.0\n* Python 3.6\n* Shapely\n* OpenCV\n* ...\n## Performance\n[***ICDAR 2017 MLT***](http://rrc.cvc.uab.es/?ch=8\u0026com=evaluation\u0026task=1)\n\nWe use both training set(7200 images) and validation set(1800 images) to train our model from scratch. Two GPU is used and batch_size_per_gpu is set to 16. Learing rate of ADAM starts from 0.0002, decays to 94% every 5000 steps. The model is trained for about 230000 steps(about a week on two Tesla GPU).\n\n|**Recall(%)**|**Precision(%)**|**F-Score(%)**|\n|:-----------:|:-------------:|:------------:|\n|60.47|75.68|67.22|\n\n[***ICDAR 2015***](http://rrc.cvc.uab.es/?ch=2\u0026com=evaluation\u0026task=1)\n\nWe use the model trained on ICDAR 2017 MLT to test the performance on ICDAR 2015 directly.\n\n(score_map_thresh=0.6, box_thresh=0.15)\n\n|**Recall(%)**|**Precision(%)**|**F-Score(%)**|\n|:-----------:|:-------------:|:------------:|\n|77.80|84.17|80.86|\n\nWe use 1000 ICDAR 2015 training images to fine-tune our model pretrained on ICDAR 2017 MLT.\nThe official result is reported [here](http://rrc.cvc.uab.es/?ch=4\u0026com=evaluation\u0026view=method_info\u0026task=1\u0026m=52961).\n\n|**Recall(%)**|**Precision(%)**|**F-Score(%)**|\n|:-----------:|:-------------:|:------------:|\n|83.92|88.93|86.35|\n\n## Training\n```shell\nvim multigpu_train.sh \u0026 change the configuration by yourself\nsh multigpu_train.sh\n```\n### Data augmentation when training\n* **random scale**: scale image size to 0.5/1/2/3 randomly.\n* **random crop**: 512*512 random samples are cropped from scaled image.\n* **randome rotation**: each cropped image have a 0.5 probability of a [-30, 30] degree rotation.\n* **\n## Testing\n```shell\nvim eval.sh \u0026 change the configuration by yourself\nsh eval.sh\n```\n## Calculate the performance\nIf the groundtruth of test set is available, we can calculate the performance offline without logging into the public website. \nWhen you use this script first time, you need set up Polygon at first:\n```shell\ncd test_script/Polygon3-3.0.8\npython setup.py install\n```\nUse the following command to calculate the performance:\n```shell\nvim script.py \u0026 change the parameters by yourself\npython script.py -g= -s= -o=   //more information can be found in readme.txt in test_script\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmengliu1998%2Fscenetextdetector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmengliu1998%2Fscenetextdetector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmengliu1998%2Fscenetextdetector/lists"}