Skip to content

PaddleOCR社区常规赛 #4982

Closed
Closed
@Evezerest

Description

@Evezerest

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群,请先加入微信交流群后@本账号

infoflow 2022-06-06 21-10-49

0.4 提供赛题与需求

社区常规赛的题目是持续开放且灵活变化的,我们也非常希望社区或OCR用户提供不在上述四大赛道中的题目或需求。

  • 如果您有新的OCR赛题(包含在给定数据集上调优),可以通过如下格式进行提交。有验收通过后需求提出者同样视情况增加积分。

    • 任务类型:提供赛题与需求
    • 新任务描述:
    • 任务验收标准:
    • 【如有】补充资料:
  • 如果您有新的OCR垂类需求(例如增加手写体识别、印章识别等)、新的模型需求、部署需求等,可以通过如下格式进行提交。我们会将需求汇总后在社群中发起投票,优先支持高票需求。当新需求被确认后会视情况增加提出者积分。

    • 任务类型:提供赛题与需求
    • 需求内容:

0.5 获得赛题支持

使用微信扫描下方二维码,回复关键字【社区常规赛】后即可加入OCR兴趣交流小组,获得专属赛题支持。若您希望提供赛题或需求,也请先加入群聊。

1. 代码与文档修补

PaddleOCR中包含相当丰富的代码功能、文档教程以支持广大开发者便捷清晰的使用。但由于每位用户的情况不同,在代码运行的过程中可能会存在一些没有考虑周全的情况。在阅读文档的过程中可能会认为文档中存在一些表述不清晰、不全面或信息未更新甚至信息有误等情况,进而造成不好的用户体验。同时,Github作为一个国际开发者的聚集地,我们也希望能够提供高质量的英文阅读材料,例如润色英文文档、翻译或补充Notebook。因此希望广大开发者能够帮助PaddleOCR完善代码和文档的不全之处。其中:

  • 代码即PaddleOCR下所有代码文件,主要维护最新的release分支与dygraph分支。
  • 文档指的是PaddleOCR中的所有 .md 文件,主要位于 doc/doc_chdoc/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-VQAlivingbody(PR)
2.KIERangeKing(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
翻译积分遵循第一项
【🌟新】本赛题说明英文版 翻译积分遵循第一项

注意:

  1. notebook翻译情况会实时更新到表格中,其他开发者可以对已有的翻译结果进行修改和润色,并在comment中指出修改点,方便直接对比。
  2. 各类英文文档标题需要首字母大写。
  3. 如果你对git 或 PR操作不熟悉,可以参考附录3:Pull Request说明文档,一般情况下提交PR时请提交到dygraph分支上。如果在release2.4分支上有误,请同时PR到两个分支中。

验收标准与内容:

  • 代码修复、Notebook翻译、英文文档润色均为官方人工判断是否成功提交,文档修复任务切实修复错误或符合文档格式规范即可。

任务报名与提交样例:

  • 任务类型:代码与文档修补--报名/提交
  • 代码/文档位置链接:Environment.md
  • 【提交时补充】PR链接

2. 垂类场景训练与调优

OCR垂类场景覆盖各种字体形态(手写、点阵、数码管、艺术字等)与应用对象(文档、车牌、生产包装等)。PP-OCR系列模型虽然是涉及多种场景的通用模型,但难免会在一些场景中的表现不够优异。为了能够让更多开发者直接在自己的垂类场景中使用,同时为入门新手提供垂类场景下的模型调优案例,故开设此赛题。

本赛题要求开发者完成某个具体垂类场景下的模型训练、调优、推理部署工作,具体验收流程如下 验收阶段与积分 所示。最终验收的内容为一份Notebook项目,具体可参考 提交Notebook模板说明。选手提交后将会按照积分统计并公布在积分榜中。

注意:

  1. 已经使用PaddleOCR实现的垂类场景应用同样可以按上述内容累计分数,开发者最终输出一份符合提交格式的Notebook即可。如果涉及敏感数据或模型精度问题,可以考虑开源小部分脱敏数据和训练过程中模型,同时如果愿意说明企业可再加10积分。
  2. 直接应用PaddleOCR已有的模型且满足业务需求,同样可以提交Notebook项目,只计算 推理部署Notebook项目撰写 两部分的积分。
  3. 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模板说明:

  1. 项目场景说明:项目简介、适用场景,解决方案、模型工具简介,以及存在的难点
  2. 安装说明:安装环境配置、环境要求
  3. 数据准备:数据集介绍,包含数据来源、数据Demo、数据格式和字段含义、数据处理为训练格式、文件组织结构
  4. 模型选择:套件可选模型介绍、选择适合PP模型介绍与选择思路
  5. 模型训练:训练流程、训练代码可修改参数(预处理方法、数据集路径、模型、保存路径等)、单卡/多卡训练模式
  6. 模型评估与预测:评估方法介绍、评估代码、以及baseline的指标结果;测试代码,给出测试效果图
  7. 模型优化:优化思路(可选参数)、调参方案及结果、给出最优模型方案
  8. 模型导出与推理:导出模型代码、文件说明件,推理测速方法、参数含义
  9. 模型部署(可选):部署Demo方案,给出部署链接和效果图

其中模型评估与预测、模型导出与推理部分可以参考文档:检测模型训练识别模型训练

任务报名与提交样例:

  • 任务类型:垂类模型调优--报名/提交
  • 任务场景说明与初步技术方案:参考 验收阶段与积分 中的第1步,说明需要提升的模型、实现的方法
  • 【如有】数据准备:开源数据集链接或发布的数据集网盘链接
  • 【提交时补充】项目链接:AI Studio地址
所属行业 垂类场景 数据集 报名与提交
通用 印地语-英语识别 检测数据/识别数据 hao6699(地址)
工业 计量设备检测模型 自行查找 Dream拒杰
能源 电表读数与编号识别 自行查找 edencfc
交通 车牌识别 自行查找 xiaxianlei
教育 标准体公式识别 自行查找
通用 手写识别 自行查找
通用 藏文识别 自行查找
通用 古文识别 自行查找

3. 学术前沿模型训练与推理

PaddleOCR中除了PP-OCR系列模型以外还包含众多学术前沿模型,本题针对这些模型希望开发者在通用数据集上训练与指标调优、打通C++预测。其中:

任务类型 任务描述 参考链接 积分 报名与提交
训练 使用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保留最终解释权

views

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions