{"id":19198347,"url":"https://github.com/deepvac/syszuxocr","last_synced_at":"2025-05-09T01:08:46.452Z","repository":{"id":113079982,"uuid":"283090829","full_name":"DeepVAC/SYSZUXocr","owner":"DeepVAC","description":"一个高质量的OCR测试集","archived":false,"fork":false,"pushed_at":"2020-09-30T02:12:45.000Z","size":116,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-09T01:08:39.917Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/DeepVAC.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-28T03:43:37.000Z","updated_at":"2021-07-05T08:26:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"daa24776-0fa6-495e-8052-0b9f4c52b4fe","html_url":"https://github.com/DeepVAC/SYSZUXocr","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/DeepVAC%2FSYSZUXocr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepVAC%2FSYSZUXocr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepVAC%2FSYSZUXocr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeepVAC%2FSYSZUXocr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeepVAC","download_url":"https://codeload.github.com/DeepVAC/SYSZUXocr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253171261,"owners_count":21865293,"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":[],"created_at":"2024-11-09T12:21:29.234Z","updated_at":"2025-05-09T01:08:46.444Z","avatar_url":"https://github.com/DeepVAC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SYSZUXocr\n一个高质量的OCR测试集。\n\nSYSZUXocr具有如下特点：\n\n- 划分为不同的领域，可以测试OCR算法在不同领域上的表现；\n- 贴近实际环境，分数高低直接体现算法落地的成熟度；\n- 标准的OcrReport模块来打分，公平程度犹如高考；\n- 以汉字为主，未来也会兼顾其它语种；\n- 提供图片和标签，检测和识别均需用户自定义实现，更贴近产业；\n\ndataset目录中的图片文件使用git lfs维护，克隆该项目前，你需要首先安装git-lfs：\n```bash\n#on Linux\napt install git-lfs\n\n#on macOS\nbrew install git-lfs\n```\n然后：\n```bash\n#克隆该项目\ngit clone https://github.com/DeepVAC/SYSZUXocr\n\n#拉取dataset图片\ngit lfs pull\n```\n\n## 使用说明\n\n项目的目录说明如下：\n|  目录   |  说明   |\n|---------|---------|\n|dataset  |数据集   |\n|src     |测试示例代码|\n|dataset/ocr_on_film | 测试图片，来自影视剧的字幕|\n|dataset/ocr_on_news | 测试图片，来自新闻的字幕|\n|dataset/ocr_on_plate | 测试图片，来自车牌|\n|dataset/ocr_on_social | 测试图片，来自网络的斗图|\n|dataset/ocr_on_film.txt | ocr_on_film的标签|\n|dataset/ocr_on_news.txt | ocr_on_news的标签|\n|dataset/ocr_on_plate.txt | ocr_on_plate的标签 |\n|dataset/ocr_on_social.txt | ocr_on_social的标签 |\n\n\n## 如何计算分数\n\n测试集上的分数可以通过deepvac项目lib库的syszux_report模块（OcrReport类，来自https://github.com/DeepVAC/deepvac/blob/master/lib/syszux_report.py）给出。OcrReport类会给出两种成绩，按样本统计的、按字符统计的。\n\n#### 按样本统计\n也就是整个样本（多数情况下就是一整行文字）只要有一个字符是错的，则整个样本就是错的。\n\n定义如下概念：\n- TP: 在有文字的图片上，预测出正确的文字；\n- FP: 在有文字或没文字的图片上，预测出错误的文字；\n- TN: 在没文字的图片上，没预测出文字（正确）；\n- FN: 在有文字的图片上，没预测出文字（错误）；\n\n定义样本的准确率、精确率、召回率如下：\n- 准确率(accuracy) = (TP+TN)/(TP+FP+TN+FN)\n- 精确率(precision) = TP/(TP+FP)\n- 召回率(recall) = TP/(TP+FN)\n- 漏检率(漏检率) = FN/(TP+FP+TN+FN)\n- 错误率(错误率) = (FP+FN)/(TP+FP+TN+FN)）\n\n\n#### 按字符统计\nOcrReport类统计所有的文字数量、使用可编辑距离计算正确文字的数量、计算字符级别的准确率。\n\n#### 使用OcrReport模块来进行以上分数的计算\n```python\n#use the OcrReport class\nreport = OcrReport('gemfield',4)\nreport.add('朝辞白帝彩云间', '朝辞白彩云间')\nreport.add('君不见黄河之水天上来', '君不见黄河之水天上来')\nreport.add('非汝之为美，美人之贻', '非汝之为美，美人之遗')\nreport.add('gemfield', 'gem fie,ld')\nreport()\n```\n程序会输出markdown格式的报告：\n```bash\n|dataset|total|duration|accuracy|precision|recall|miss|error|\n|--|--|--|--|--|--|--|--|\n|gemfield|4|0.001|0.25|0.25|1.0|0.0|0.75|\n        \n\n|dataset|total_per_char|correct_per_char|accuracy_per_char|\n|--|--|--|--|\n|gemfield|35|31|0.8857142857142857|\n```\n\n放入项目的md文件中，在web上会显示为：\n|dataset|total|duration|accuracy|precision|recall|miss|error|\n|--|--|--|--|--|--|--|--|\n|gemfield|4|0.001|0.25|0.25|1.0|0.0|0.75|\n        \n\n|dataset|total_per_char|correct_per_char|accuracy_per_char|\n|--|--|--|--|\n|gemfield|35|31|0.8857142857142857|\n\n\n## 使用许可\n本项目仅限用于纯粹的学术研究，如：\n- 个人学习；\n- 比赛排名；\n- 公开发表且开源其实现的论文；\n\n不得用于任何形式的商业牟利，包括但不限于：\n- 任何形式的商业获利行为；\n- 任何形式的商务机会获取；\n- 任何形式的商业利益交换；\n\n\n## 项目贡献\n我们欢迎各种形式的贡献，包括但不限于：\n- 提交自己的作品/产品在SYSZUXocr上的成绩；\n- 发现和Fix项目的bug；\n- 提交高质量的测试集数据；\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepvac%2Fsyszuxocr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepvac%2Fsyszuxocr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepvac%2Fsyszuxocr/lists"}