社区贡献¶
感谢大家长久以来对PaddleOCR的支持和关注,与广大开发者共同构建一个专业、和谐、相互帮助的开源社区是PaddleOCR的目标。本文档展示了已有的社区贡献、对于各类贡献说明、新的机会与流程,希望贡献流程更加高效、路径更加清晰。
PaddleOCR希望可以通过AI的力量助力任何一位有梦想的开发者实现自己的想法,享受创造价值带来的愉悦。
1. 社区贡献¶
1.1 基于PaddleOCR的社区项目¶
类别 | 项目 | 描述 | 开发者 |
---|---|---|---|
通用工具 | FastOCRLabel | 完整的C#版本标注GUI | 包建强 |
通用工具 | DangoOCR离线版 | 通用型桌面级即时翻译GUI | PantsuDango |
通用工具 | scr2txt | 截屏转文字GUI | lstwzd |
通用工具 | ocr_sdk | OCR java SDK工具箱 | Calvin |
通用工具 | iocr | IOCR 自定义模板识别(支持表格识别) | Calvin |
通用工具 | Lmdb Dataset Format Conversion Tool | 文本识别任务中lmdb数据格式转换工具 | OneYearIsEnough |
通用工具 | 用paddleocr打造一款“盗幕笔记” | 用PaddleOCR记笔记 | kjf4096 |
垂类工具 | AI Studio项目 | 英文视频自动生成字幕 | 叶月水狐 |
垂类工具 | id_card_ocr | 身份证复印件识别 | baseli |
垂类工具 | Paddle_Table_Image_Reader | 能看懂表格图片的数据助手 | thunder95 |
垂类工具 | AI Studio项目 | OCR流程中对手写体进行过滤 | daassh |
垂类场景调优 | AI Studio项目 | 电表读数和编号识别 | 深渊上的坑 |
垂类场景调优 | AI Studio项目 | LCD液晶字符检测 | Dream拒杰 |
前后处理 | paddleOCRCorrectOutputs | 获取OCR识别结果的key-value | yuranusduke |
前处理 | optlab | OCR前处理工具箱,基于Qt和Leptonica。 | GreatV |
应用部署 | PaddleOCRSharp | PaddleOCR的.NET封装与应用部署。 | raoyutian |
应用部署 | PaddleSharp | PaddleOCR的.NET封装与应用部署,支持跨平台、GPU | sdcb |
应用部署 | PaddleOCR-Streamlit-Demo | 使用Streamlit部署PaddleOCR | Lovely-Pig |
应用部署 | PaddleOCR-PyWebIO-Demo | 使用PyWebIO部署PaddleOCR | Lovely-Pig |
应用部署 | PaddleOCR-Paddlejs-Vue-Demo | 使用Paddle.js和Vue部署PaddleOCR | Lovely-Pig |
应用部署 | PaddleOCR-Paddlejs-React-Demo | 使用Paddle.js和React部署PaddleOCR | Lovely-Pig |
学术前沿模型训练与推理 | AI Studio项目 | StarNet-MobileNetV3算法–中文训练 | xiaoyangyang2 |
学术前沿模型训练与推理 | ABINet-paddle | ABINet算法前向运算的paddle实现以及模型各部分的实现细节分析 | Huntersdeng |
1.2 为PaddleOCR新增功能¶
- 非常感谢 authorfu 贡献Android(#340)和xiadeye 贡献IOS的demo代码(#325)
- 非常感谢 tangmq 给PaddleOCR增加Docker化部署服务,支持快速发布可调用的Restful API服务(#507)。
- 非常感谢 lijinhan 给PaddleOCR增加java SpringBoot 调用OCR Hubserving接口完成对OCR服务化部署的使用(#1027)。
- 非常感谢 Evezerest, ninetailskim, edencfc, BeyondYourself, 1084667371 贡献了PPOCRLabel 的完整代码。
- 非常感谢 bupt906 贡献MicroNet结构代码(#5251)和贡献OneCycle学习率策略代码(#5252)
1.3 代码修复¶
- 非常感谢 zhangxin(Blog) 贡献新的可视化方式、添加.gitgnore、处理手动设置PYTHONPATH环境变量的问题(#210)。
- 非常感谢 lyl120117 贡献打印网络结构的代码(#304)。
- 非常感谢 BeyondYourself 给PaddleOCR提了很多非常棒的建议,并简化了PaddleOCR的部分代码风格(so many commits)。
1.4 文档优化与翻译¶
- 非常感谢 RangeKing,HustBestCat,v3fc,1084667371 贡献翻译《动手学OCR》notebook电子书英文版。
- 非常感谢 thunderstudying,RangeKing,livingbody, WZMIAOMIAO,haigang1975 补充多个英文markdown文档。
- 非常感谢 fanruinet 润色和修复35篇英文文档(#5205)。
- 非常感谢 Khanh Tran 和 Karl Horky 贡献修改英文文档。
1.5 多语言语料¶
2. 贡献说明¶
2.1 新增功能类¶
PaddleOCR非常欢迎社区贡献以PaddleOCR为核心的各种服务、部署实例与软件应用,经过认证的社区贡献会被添加在上述社区贡献表中,为广大开发者增加曝光,也是PaddleOCR的荣耀,其中:
-
项目形式:官方社区认证的项目代码应有良好的规范和结构,同时,还应配备一个详细的README.md,说明项目的使用方法。通过在requirements.txt文件中增加一行
paddleocr
可以自动收录到PaddleOCR的usedby中。 -
合入方式:如果是对PaddleOCR现有工具的更新升级,则会合入主repo。如果为PaddleOCR拓展了新功能,请先与官方人员联系,确认项目是否合入主repo,即使新功能未合入主repo,我们同样也会以社区贡献的方式为您的个人项目增加曝光。
2.2 代码优化¶
如果您在使用PaddleOCR时遇到了代码bug、功能不符合预期等问题,可以为PaddleOCR贡献您的修改,其中:
-
Python代码规范可参考附录1:Python代码规范。
-
提交代码前请再三确认不会引入新的bug,并在PR中描述优化点。如果该PR解决了某个issue,请在PR中连接到该issue。所有的PR都应该遵守附录3中的3.2.10 提交代码的一些约定。
-
请在提交之前参考下方的附录3:Pull Request说明。如果您对git的提交流程不熟悉,同样可以参考附录3的3.2节。
2.3 文档优化¶
如果您在使用PaddleOCR时遇到了文档表述不清楚、描述缺失、链接失效等问题,可以为PaddleOCR贡献您的修改。文档书写规范请参考附录2:文档规范。
3. 更多贡献机会¶
我们非常鼓励开发者使用PaddleOCR实现自己的想法,同时我们也列出一些经过分析后认为有价值的拓展方向,整体收集在社区项目常规赛中。
4. 联系我们¶
我们非常欢迎广大开发者在有意向为PaddleOCR贡献代码、文档、语料等内容前与我们联系,这样可以大大降低PR过程中的沟通成本。同时,如果您觉得某些想法个人难以实现,我们也可以通过SIG的形式定向为项目招募志同道合的开发者一起共建。通过SIG渠道贡献的项目将会获得深层次的研发支持与运营资源(如公众号宣传、直播课等)。
我们推荐的贡献流程是:
- 通过在github issue的题目中增加
【third-party】
标记,说明遇到的问题(以及解决的思路)或想拓展的功能,等待值班人员回复。例如【third-party】为PaddleOCR贡献IOS示例
- 与我们沟通确认技术方案或bug、优化点准确无误后进行功能新增或相应的修改,代码与文档遵循相关规范。
- PR链接到上述issue,等待review。
5. 致谢与后续¶
- 合入代码之后会在本文档第一节中更新信息,默认链接为github名字及主页,如果有需要更换主页,也可以联系我们。
- 新增重要功能类,会在用户群广而告之,享受开源社区荣誉时刻。
- 如果您有基于PaddleOCR的项目,但未出现在上述列表中,请按照
4. 联系我们
的步骤与我们联系。