十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PaddleOCR数据合成:3步做出训练数据

PaddleOCR数据合成:3步做出训练数据 PaddleOCR数据合成3步做出训练数据【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR微调一个门店招牌识别模型真实数据只有几千张字体、光照都覆盖不了你自己的行业。PaddleOCR数据合成就是干这个的用程序直接生成图片标签的文本训练样本省去人工标注环节。读完你能直接跑通最小流程产出一批可进训练的带标注样本。一句话说清PaddleOCR数据合成是什么PaddleOCR的数据合成不是某一个工具而是官方整理好的一整套用程序生成文本图像并自动产出标注的工具链解决的核心问题只有一个训练数据不够、人工标注太贵。标注自动产出文本内容由你给定坐标标签同步写出不需要人工逐张框选规模成熟PP-OCR 系列模型的英文训练就依赖 MJSynth、SynthText 这类合成数据量级达千万张方案经过大规模验证多语言字体项目支持 100 语言模型doc/fonts/目录内置了中文、日文、韩文、拉丁、阿拉伯等 19 种字体文件开箱即用核心能力全景官方文档共整理了 9 个合成工具按从零渲染到场景融合覆盖不同需求最常用的几个如下能力名称一句话功能适用场景Style-Text按目标场景风格批量合成文本图像垂直领域单据、票据、招牌微调text_renderer多字体、多样式文本行渲染大批量文本行图像生成SynthText含中文版把文字叠印到真实场景照片上复杂自然场景背景训练TextRecognitionDataGenerator配置文件驱动渲染与噪声快速上手、调参实验SynthTIGER多语言、复杂版面布局合成多语言混合、密集排版更多细节参考 官方文档。三步跑通最小可用流程环境准备克隆仓库并安装依赖合成脚本只用到其中的字体和依赖环境。git clone https://gitcode.com/GitHub_Trending/pa/PaddleOCR cd PaddleOCR pip install -r requirements.txt最小示例用仓库里的字体渲染一行文字、叠加随机噪声保存成图这就是合成数据的图标签最小单元。from PIL import Image, ImageDraw, ImageFont import numpy as np img Image.new(RGB, (640, 128), color(235, 235, 235)) draw ImageDraw.Draw(img) font ImageFont.truetype(doc/fonts/chinese_cht.ttf, 48) draw.text((24, 32), PaddleOCR数据合成, fontfont, fill(30, 30, 30)) arr np.clip(np.array(img).astype(int16) np.random.randint(-25, 25, img.size[::-1]), 0, 255) Image.fromarray(arr.astype(uint8)).save(sample_0.png) print(PaddleOCR数据合成) # rec标签格式一行文本验证产出确认图片生成成功并把标签写成训练可用的 txt 格式识别任务一行文本检测任务为四点坐标文本。file sample_0.png echo PaddleOCR数据合成 sample_0.txt cat sample_0.txt进阶玩法与参数调优模拟真实场景的拍摄畸变真实拍摄有倾斜和旋转纯平面渲染的样本分布偏干净。原理很简单对渲染结果做一次透视变换四点坐标同步记录即可。import cv2 H, W 128, 640 src np.float32([[0, 0], [W, 0], [W, H], [0, H]]) dst np.float32([[12, 10], [W-12, 0], [W-26, H-8], [0, H]]) out cv2.warpPerspective(img, cv2.getPerspectiveTransform(src, dst), (W, H)) cv2.imwrite(sample_1.png, out)效果上样本从标准印刷体变成斜拍文字与手机实拍分布更接近。批量生成时参数随机化单一样本够用批量生成时要把参数做成随机池循环采样出多样性建议起步范围字体池3~5 种可从doc/fonts/里挑字号36~64 px 随机文本长度4~16 个字符背景纯色与实拍背景至少各占一半按场景选工具 风格迁移选 Style-Text快速实验选 TextRecognitionDataGenerator要真实照片背景选 SynthText多语言密集版面选 SynthTIGER。效果怎么评估、怎么调评估维度覆盖度字体、背景、文本长度是否覆盖你的目标场景而不是只看像不像真实感随机抽 100 张混入真实数据人工能不能一眼挑出合成的标签一致性抽样核对标签坐标是否真的框住文字错位的样本比没有样本更有害调优建议合成与真实数据混用比纯合成更稳可从 1:2真实:合成起步观察验证集准确率再调整增量生成先做 5000~10000 张跑一轮训练评测确认有效再放大到十万级参数范围向推理端对齐训练用的字号、背景分布要和你线上输入的实际分布保持一致避免训推两张皮延伸与标注工具组合使用合成数据抽检、真实数据补标官方文档 数据标注工具 里整理了配套工具工具定位组合方式PPOCRLabelPaddleOCR 团队半自动标注工具模型先预标人工只校对效率最高roLabelImg支持旋转矩形标注校对带倾斜的合成文本VoTT矩形/多边形、多格式导出批量质检合成数据集总结如果业务场景垂直单据、票据、招牌且真实数据难以积累PaddleOCR数据合成是目前性价比最高的数据补强路径官方文档收录了 9 个工具并持续更新如果真实数据量已经足够直接微调即可合成不是必选项。建议先用三步流程跑通最小样本再按验证集表现决定放大规模。后续随着扩散模型等生成式技术介入合成数据与实拍照片的差距还会继续缩小。觉得有用欢迎点赞收藏。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表