Description
PaddleOCR社区常规赛
PaddleOCR社区常规赛是面向所有开发者举办的积分赛事,提供多层次多维度的开放式赛题,并为优秀的社区项目给予物质与精神的多重奖励。
基于PaddleOCR进行二次开发的 绝大多数项目或贡献都可通过社区常规赛获得积分与奖励 。我们鼓励开发者实现自己的想法,也希望正在学习中的开发者在常规赛题中找到实现的方向。
最终社区项目将会收录在PaddleOCR社区贡献文档中,集中展示PaddleOCR社区生态项目和贡献。
上图为PaddleOCR目前的Contributor,定期更新
0. 社区常规赛说明
0.1 题目类型
该部分包含四类任务,官方将根据项目完成度、质量等综合评分。选手根据每类题目的说明提交相应代码与文档即可。完成多个项目,分值可累加,上不封顶。
注意:其中对于Notebook的翻译和概念补充工作,凡是通过核验的提交,作者都会出现在最终电子书的致谢中
0.2 报名与提交
社区常规赛报名与提交需要在本Github issue下回复,按照各项赛题规范进行报名与提交。
注意:报名与提交需要分别评论,如果在报名的评论中提交可能会被错失。直接提交项目也是允许的。
0.3 开放日期与奖励说明
- ⏰ 第四期开放时间为【7.14 ~ 10.14】
- 🎁 奖励发放:每季度按照季度内新增积分排名发放奖励,并最终汇入历届常规赛总积分榜。
- 🎖 单季度新增积分大于100,获得PaddleOCR Contributor定制勋章奖杯。新增积分大于30分,获得飞桨官方定制周边礼物。未获得实物奖励的开发者积分将累加到下一季度。
- 👨💻 总积分榜大于200,且通过面试申请后,发放更高级别PaddleOCR仓库管理权限,深度参与万星仓库建设。
- 💬 凡是成功提交的开发者都可以加入PaddleOCR Contributor群,在享受上述奖品之外,还可以通过社区研讨会增加与PaddleOCR产研团队的深入交流、获得项目宣传、直播推广、商业线索、峰会邀约等机会。
注意:如果您参与了社区常规赛,但未加入Contributor群,请先加入微信交流群后@本账号
0.4 提供赛题与需求
社区常规赛的题目是持续开放且灵活变化的,我们也非常希望社区或OCR用户提供不在上述四大赛道中的题目或需求。
-
如果您有新的OCR赛题(包含在给定数据集上调优),可以通过如下格式进行提交。有验收通过后需求提出者同样视情况增加积分。
- 任务类型:提供赛题与需求
- 新任务描述:
- 任务验收标准:
- 【如有】补充资料:
-
如果您有新的OCR垂类需求(例如增加手写体识别、印章识别等)、新的模型需求、部署需求等,可以通过如下格式进行提交。我们会将需求汇总后在社群中发起投票,优先支持高票需求。当新需求被确认后会视情况增加提出者积分。
- 任务类型:提供赛题与需求
- 需求内容:
0.5 获得赛题支持
使用微信扫描下方二维码,回复关键字【社区常规赛】后即可加入OCR兴趣交流小组,获得专属赛题支持。若您希望提供赛题或需求,也请先加入群聊。
1. 代码与文档修补
PaddleOCR中包含相当丰富的代码功能、文档教程以支持广大开发者便捷清晰的使用。但由于每位用户的情况不同,在代码运行的过程中可能会存在一些没有考虑周全的情况。在阅读文档的过程中可能会认为文档中存在一些表述不清晰、不全面或信息未更新甚至信息有误等情况,进而造成不好的用户体验。同时,Github作为一个国际开发者的聚集地,我们也希望能够提供高质量的英文阅读材料,例如润色英文文档、翻译或补充Notebook。因此希望广大开发者能够帮助PaddleOCR完善代码和文档的不全之处。其中:
- 代码即PaddleOCR下所有代码文件,主要维护最新的release分支与dygraph分支。
- 文档指的是PaddleOCR中的所有
.md
文件,主要位于doc/doc_ch
和doc/doc_en
中,以最新的release分支与dygraph分支中的文档为主。 - Notebook即为OCR十日课中的课件,待每节课结束后会上传到PaddleOCR dygraph分支上,其中翻译的内容包含Notebook中的文字、图片、代码注释等,开发者可选择翻译一篇ipynb中的文字部分,或图片与代码注释部分。推荐使用jupyter notebook启动ipynb文件并进行修改。
- 电子书是OCR十日课课件的进一步扩充,内容更加完整,未来将会打造为面向OCR开发者的入门书籍。
对于电子书的矫正、翻译、概念补充工作,凡是通过核验的提交,作者都会出现在最终电子书的致谢中永久留念,并获得额外礼物
任务类型 | 积分 | 修改文档+PR链接 |
---|---|---|
Notebook与文档翻译(可以机翻+人工润色,符合语言习惯,推荐机翻平台) | 每篇Notebook的文字部分完成机翻+5 针对机翻结果进行润色和修改,每条+0~1 其他部分视工作量加分。 md文档每篇完成机翻+4,修改情况同上。 修改流程参考下方注意点。 |
一、英文文档缺失: 1.Doc-VQA:livingbody(PR) 2.KIE :RangeKing(PR) haigang1975(PR) 3.社区贡献 :thunderstudying (PR) 4.附录:thunderstudying (PR) 5.Enhenced CTC: RangeKing(PR) 6.知识蒸馏: WZMIAOMIAO(PR) 二、课程Notebook翻译:地址, RangeKing全部翻译版 1.介绍:技术导论 livingbody翻译版、如何使用:haigang1975(PR) 2.文本检测:理论部分、识别部分 3.文本识别:理论部分、识别部分 4.PP-OCR系统 5.PP-OCR推理与部署 6.文档分析:理论、实战表格、实战VQA |
文档修复(如运行错误、文档格式规范参考,文档格式例子参考。缺失文档不属于此题范围) | 每个必要的修改点+2 | 如文档跑通验证:量化、裁剪 |
英文文档润色(如翻译错误、明显的机翻痕迹等。缺失文档不属于此题范围) | 每个必要的修改点+2 | fanruinet(PR) |
【🌟新】代码修复 | 每个必要的修改点+2 | BeyondYourself (PRs) WZMIAOMIAO (PRs) |
【🌟新】FAQ补充与翻译:通过Q/A的形式补充学习或实践过程中的知识点(FAQ翻译需整篇) | 每个必要的补充点+2 翻译积分遵循第一项 |
|
【🌟新】本赛题说明英文版 | 翻译积分遵循第一项 |
注意:
- notebook翻译情况会实时更新到表格中,其他开发者可以对已有的翻译结果进行修改和润色,并在comment中指出修改点,方便直接对比。
- 各类英文文档标题需要首字母大写。
- 如果你对git 或 PR操作不熟悉,可以参考附录3:Pull Request说明文档,一般情况下提交PR时请提交到dygraph分支上。如果在release2.4分支上有误,请同时PR到两个分支中。
验收标准与内容:
- 代码修复、Notebook翻译、英文文档润色均为官方人工判断是否成功提交,文档修复任务切实修复错误或符合文档格式规范即可。
任务报名与提交样例:
- 任务类型:代码与文档修补--报名/提交
- 代码/文档位置链接:Environment.md
- 【提交时补充】PR链接
2. 垂类场景训练与调优
OCR垂类场景覆盖各种字体形态(手写、点阵、数码管、艺术字等)与应用对象(文档、车牌、生产包装等)。PP-OCR系列模型虽然是涉及多种场景的通用模型,但难免会在一些场景中的表现不够优异。为了能够让更多开发者直接在自己的垂类场景中使用,同时为入门新手提供垂类场景下的模型调优案例,故开设此赛题。
本赛题要求开发者完成某个具体垂类场景下的模型训练、调优、推理部署工作,具体验收流程如下 验收阶段与积分
所示。最终验收的内容为一份Notebook项目,具体可参考 提交Notebook模板说明
。选手提交后将会按照积分统计并公布在积分榜中。
注意:
- 已经使用PaddleOCR实现的垂类场景应用同样可以按上述内容累计分数,开发者最终输出一份符合提交格式的Notebook即可。如果涉及敏感数据或模型精度问题,可以考虑开源小部分脱敏数据和训练过程中模型,同时如果愿意说明企业可再加10积分。
- 直接应用PaddleOCR已有的模型且满足业务需求,同样可以提交Notebook项目,只计算
推理部署
和Notebook项目撰写
两部分的积分。- PaddleOCR开源的内容均为免费,且不会以任何形式收取其他费用,如果想使用商业化产品可以联系我们进行接洽。
验收阶段与积分
阶段 | 描述 | 积分【32-92】 |
---|---|---|
通用模型验证+技术抽象 | 1. 使用 paddleocr whl包实验垂类场景下的数据,并查看检测与识别结果。2. 查看FAQ文档中的垂类实现思路,学习上述场景中的优化思路,确定垂类场景下需要调优的模型(检测/识别)。 3. 完成上述步骤后将预测结果和优化思路填写在问卷中,等待入群获得支持。 |
+2 |
数据准备 | - 已有标注数据集:可选择开源数据集或将已有的标注数据集开源。 - 仅有数据未标注:可以自己标注,也可发布标注任务召集社群开发者标注(如需召集标注,请在任务报名的数据准备中说明,推荐使用PPOCRLabel标注) - 造识别数据:使用Style-text或text_renderer制造识别数据。 |
每开源百张未标注数据+1积分。 每开源百张标注数据+3积分。 每造百张识别数据且开源+1积分。 提供新的垂类开源数据集+2积分。 本阶段积分上限为30 |
初步模型训练 | 按照检测模型或识别模型训练文档开始训练,产生验证结果。预训练模型选择、其他 | +10 |
模型优化 | 在初步获得的模型结果上通过调整算法、策略或增加数据产生更好的结果。 | 比原始效果有提升+10 |
推理部署 | 将模型转换为推理模型,语言不限,推理部署方式包括Paddle Inference, Paddle Lite, Paddle Serving。 | 完成部署+10 有交互界面再+10 |
Notebook项目撰写与总体评价 | 按照往期范例参考,书写Notebook(注意补充项目背景介绍),同时项目满足上线要求 | 优秀范例最多+20 |
提交Notebook模板说明:
- 项目场景说明:项目简介、适用场景,解决方案、模型工具简介,以及存在的难点
- 安装说明:安装环境配置、环境要求
- 数据准备:数据集介绍,包含数据来源、数据Demo、数据格式和字段含义、数据处理为训练格式、文件组织结构
- 模型选择:套件可选模型介绍、选择适合PP模型介绍与选择思路
- 模型训练:训练流程、训练代码可修改参数(预处理方法、数据集路径、模型、保存路径等)、单卡/多卡训练模式
- 模型评估与预测:评估方法介绍、评估代码、以及baseline的指标结果;测试代码,给出测试效果图
- 模型优化:优化思路(可选参数)、调参方案及结果、给出最优模型方案
- 模型导出与推理:导出模型代码、文件说明件,推理测速方法、参数含义
- 模型部署(可选):部署Demo方案,给出部署链接和效果图
其中模型评估与预测、模型导出与推理部分可以参考文档:检测模型训练、识别模型训练。
任务报名与提交样例:
- 任务类型:垂类模型调优--报名/提交
- 任务场景说明与初步技术方案:参考
验收阶段与积分
中的第1步,说明需要提升的模型、实现的方法 - 【如有】数据准备:开源数据集链接或发布的数据集网盘链接
- 【提交时补充】项目链接:AI Studio地址
所属行业 | 垂类场景 | 数据集 | 报名与提交 |
---|---|---|---|
通用 | 印地语-英语识别 | 检测数据/识别数据 | hao6699(地址) |
工业 | 计量设备检测模型 | 自行查找 | Dream拒杰 |
能源 | 电表读数与编号识别 | 自行查找 | edencfc |
交通 | 车牌识别 | 自行查找 | xiaxianlei |
教育 | 标准体公式识别 | 自行查找 | |
通用 | 手写识别 | 自行查找 | |
通用 | 藏文识别 | 自行查找 | |
通用 | 古文识别 | 自行查找 |
3. 学术前沿模型训练与推理
PaddleOCR中除了PP-OCR系列模型以外还包含众多学术前沿模型,本题针对这些模型希望开发者在通用数据集上训练与指标调优、打通C++预测。其中:
- 学术前沿模型包括:检测算法(除SAST)、识别算法、端到端算法PGNet【新】
- 通用数据集链接为:检测、识别
任务类型 | 任务描述 | 参考链接 | 积分 | 报名与提交 |
---|---|---|---|---|
训练 | 使用PaddleOCR中的现有算法在通用数据集中适配中文训练,给出精度、速度指标 | 参考训练文档:检测模型训练、识别模型训练、端到端训练 | 10-50 | OneYearIsEnough(SRN) xiaoyangyang2(StarNet) RangeKing(StarNet) |
推理 | 使用PaddleOCR中的现有算法打通C++预测,给出Python预测和C++预测结果对比 | 参考文档 | 10-50 |
验收标准与内容:
提交Github或AIStudio项目链接+详细的技术实现说明(README或Notebook)。验收标准分别由官方人员从指标、实现过程、文档说明三个角度,在积分范围内打分。
任务报名与提交格式:
- 任务类型:学术模型--报名/提交
- 功能描述:XX算法--训练/推理
- 【提交时补充】项目地址:Github或AIStudio项目链接
4. 工具与应用
OCR应用的形态十分多样,任何基于PP-OCR系列模型的工具、应用界面以及各种部署方式都包含在本题下。
任务类型 | 任务说明 | 参考链接 | 积分【10-100积分】 | 报名与提交 |
---|---|---|---|---|
小工具 | 基于PaddleOCR能力的拓展工具,如截图OCR、字幕转换工具等 | 参考 | 10-100 | shaoshenchen(截屏识别) nmusik(pdf扫描) telppa(AutoHotkey) livingbody(pdf2jpg) |
小工具 | 为PPOCRLabel表格标注【🌟新!如选此题请先加入微信群@本账号】 | 参考 | 每功能最少10积分 | redearly123(PR) |
界面 | 针对PaddleOCR whl包的可视化桌面软件:通过可视化界面完成whl包不同参数的配置,实现零命令使用whl包功能 | 自行查找 | 10-100 | RangeKing(地址) |
界面 | 【🌟新】适配垂类场景推理的GUI界面 | 自行查找 | 10-100 | |
界面 | 针对PaddleOCR套件的桌面开发软件:通过软件操作完成PaddleOCR套件的训练(数据读取、yml文件配置、训练过程、结果可视化)和所有模型的Python推理(可只实现部分功能) | 自行查找 | 10-100 | |
前处理 | 应用于OCR场景的前处理工具集:包括但不限于旋转图像矫正、文档边缘识别、腐蚀膨胀、pdf转png,呈现形式可包括脚本使用或界面使用等(可只实现部分功能) | 参考 | 每功能0-10积分 | GreatV(地址) RangeKing(地址) |
部署 | 使用PaddleOCR模型的多种部署方式,包括但不限于IOS、安卓、web、开发板等 | 自行查找 | 10-100 | raoyutian(.NET库) sdcb(.Net/C#) mymagicpower(Java, IOCR) imiyu(json) Lovely-Pig(Streamlit等) |
模型 | 针对OCR场景的文本纠错模型(可选择任意技术路线与模型) | 自行查找 | 10-100 | |
模型 | 【🌟新】单字检测模型 | 无 | 10-100 | |
模型 | 【🌟新】识别模型输出单字识别准确率或单字位置 | 无 | 10-100 | |
模型 | 基于PaddleOCR套件实现的新算法,包括但不限于检测、识别、端到端、文档相关等 | 可参考论文复现赛相关指南指导复现,PaddleOCR代码结构说明文档 | 10-100 | bupt906(Micronet) zhiminzhang0830(FCENet) Huntersdeng(ABINet) |
比赛 | 使用PaddleOCR参与并获得名次的比赛 | / | 10-100 |
验收标准与内容:
提交Github或AIStudio项目链接+详细的技术实现说明(README或Notebook)。验收标准分别由官方人员从基本效果、技术难度、文档说明三个角度,在积分范围内打分。
任务报名与提交格式:
- 队伍名:XXX,队伍成员AI Studio昵称:XX
- 任务类型:工具与应用--报名/提交
- 功能描述:(描述想要实现的功能)
- 【提交时补充】项目地址:Github或AIStudio项目链接
说明:
1.上述报名与提交信息仅为部分提交结果,完整版请查看社区贡献文档或本issue下评论
2.赛题提交成功后会根据赛题类型选择是否合入到PaddleOCR,对于代码和文档类的修改需要同时PR到最新的release分支与dygraph分支,以确保开发者获得Contributor title。对于项目类贡献,由于PaddleOCR项目庞大,多数贡献建议PR到社区贡献文档中曝光
3.赛题如有更新请以最新版本为准,PaddleOCR保留最终解释权
Activity