{"id":14959146,"url":"https://github.com/argman/east","last_synced_at":"2025-05-14T15:06:16.358Z","repository":{"id":23409253,"uuid":"98879196","full_name":"argman/EAST","owner":"argman","description":"A tensorflow implementation of EAST text detector","archived":false,"fork":false,"pushed_at":"2022-11-22T01:55:26.000Z","size":2049,"stargazers_count":3042,"open_issues_count":264,"forks_count":1047,"subscribers_count":112,"default_branch":"master","last_synced_at":"2025-05-12T20:19:09.439Z","etag":null,"topics":["deep-learning","ocr","tensorflow","text-detection"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/argman.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-31T10:56:36.000Z","updated_at":"2025-05-03T09:46:17.000Z","dependencies_parsed_at":"2023-01-14T08:15:16.165Z","dependency_job_id":null,"html_url":"https://github.com/argman/EAST","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argman%2FEAST","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argman%2FEAST/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argman%2FEAST/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argman%2FEAST/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argman","download_url":"https://codeload.github.com/argman/EAST/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254169264,"owners_count":22026209,"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","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":["deep-learning","ocr","tensorflow","text-detection"],"created_at":"2024-09-24T13:18:55.434Z","updated_at":"2025-05-14T15:06:16.337Z","avatar_url":"https://github.com/argman.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EAST: An Efficient and Accurate Scene Text Detector\n\n### Introduction\nThis is a tensorflow re-implementation of [EAST: An Efficient and Accurate Scene Text Detector](https://arxiv.org/abs/1704.03155v2).\nThe features are summarized blow:\n+ Online demo\n\t+ http://east.zxytim.com/\n\t+ Result example: http://east.zxytim.com/?r=48e5020a-7b7f-11e7-b776-f23c91e0703e\n\t+ CAVEAT: There's only one cpu core on the demo server. Simultaneous access will degrade response time.\n+ Only **RBOX** part is implemented.\n+ A fast Locality-Aware NMS in C++ provided by the paper's author.\n+ The pre-trained model provided achieves **80.83** F1-score on ICDAR 2015\n\tIncidental Scene Text Detection Challenge using only training images from ICDAR 2015 and 2013.\n  see [here](http://rrc.cvc.uab.es/?ch=4\u0026com=evaluation\u0026view=method_samples\u0026task=1\u0026m=29855\u0026gtv=1) for the detailed results.\n+ Differences from original paper\n\t+ Use ResNet-50 rather than PVANET\n\t+ Use dice loss (optimize IoU of segmentation) rather than balanced cross entropy\n\t+ Use linear learning rate decay rather than staged learning rate decay\n+ Speed on 720p (resolution of 1280x720) images:\n\t+ Now\n\t\t+ Graphic card: GTX 1080 Ti\n\t\t+ Network fprop: **~50 ms**\n\t\t+ NMS (C++): **~6ms**\n\t\t+ Overall: **~16 fps**\n\t+ Then\n\t\t+ Graphic card: K40\n\t\t+ Network fprop: ~150 ms\n\t\t+ NMS (python): ~300ms\n\t\t+ Overall: ~2 fps\n\nThanks for the author's ([@zxytim](https://github.com/zxytim)) help!\nPlease cite his [paper](https://arxiv.org/abs/1704.03155v2) if you find this useful.\n\n### Contents\n1. [Installation](#installation)\n2. [Download](#download)\n2. [Demo](#demo)\n3. [Test](#train)\n4. [Train](#test)\n5. [Examples](#examples)\n\n### Installation\n1. Any version of tensorflow version \u003e 1.0 should be ok.\n\n### Download\n1. Models trained on ICDAR 2013 (training set) + ICDAR 2015 (training set): [BaiduYun link](http://pan.baidu.com/s/1jHWDrYQ) [GoogleDrive](https://drive.google.com/open?id=0B3APw5BZJ67ETHNPaU9xUkVoV0U)\n2. Resnet V1 50 provided by tensorflow slim: [slim resnet v1 50](http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz)\n\n### Train\nIf you want to train the model, you should provide the dataset path, in the dataset path, a separate gt text file should be provided for each image\nand run\n\n```\npython multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=/tmp/east_icdar2015_resnet_v1_50_rbox/ \\\n--text_scale=512 --training_data_path=/data/ocr/icdar2015/ --geometry=RBOX --learning_rate=0.0001 --num_readers=24 \\\n--pretrained_model_path=/tmp/resnet_v1_50.ckpt\n```\n\nIf you have more than one gpu, you can pass gpu ids to gpu_list(like --gpu_list=0,1,2,3)\n\n**Note: you should change the gt text file of icdar2015's filename to img_\\*.txt instead of gt_img_\\*.txt(or you can change the code in icdar.py), and some extra characters should be removed from the file.\nSee the examples in training_samples/**\n\n### Demo\nIf you've downloaded the pre-trained model, you can setup a demo server by\n```\npython3 run_demo_server.py --checkpoint-path /tmp/east_icdar2015_resnet_v1_50_rbox/\n```\nThen open http://localhost:8769 for the web demo. Notice that the URL will change after you submitted an image.\nSomething like `?r=49647854-7ac2-11e7-8bb7-80000210fe80` appends and that makes the URL persistent.\nAs long as you are not deleting data in `static/results`, you can share your results to your friends using\nthe same URL.\n\nURL for example below: http://east.zxytim.com/?r=48e5020a-7b7f-11e7-b776-f23c91e0703e\n![web-demo](demo_images/web-demo.png)\n\n\n### Test\nrun\n```\npython eval.py --test_data_path=/tmp/images/ --gpu_list=0 --checkpoint_path=/tmp/east_icdar2015_resnet_v1_50_rbox/ \\\n--output_dir=/tmp/\n```\n\na text file will be then written to the output path.\n\n\n### Examples\nHere are some test examples on icdar2015, enjoy the beautiful text boxes!\n![image_1](demo_images/img_2.jpg)\n![image_2](demo_images/img_10.jpg)\n![image_3](demo_images/img_14.jpg)\n![image_4](demo_images/img_26.jpg)\n![image_5](demo_images/img_75.jpg)\n\n### Troubleshooting\n+ How to compile lanms on Windows ?\n  + See https://github.com/argman/EAST/issues/120\n\nPlease let me know if you encounter any issues(my email boostczc@gmail dot com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargman%2Feast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargman%2Feast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargman%2Feast/lists"}