发布时间:2026/8/29 13:02:17
PaddleOCR数据合成|单卡一晚3000张样本|OCR训练集搭建实践记 PaddleOCR数据合成单卡一晚3000张样本OCR训练集搭建实践记【免费下载链接】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官方文档在docs/data_anno_synth/data_synthesis.md里整理了一份工具清单常用的几个对比如下工具解决什么问题一句话说明text_renderer单字符、文本行图像多字体多语言渲染可加噪点、模糊SynthText自然场景文本把文字写进真实照片背景更逼真TextRecognitionDataGenerator简单场景快速生成轻量好上手适合先跑通流程选型的思路很简单要干净文本行就用渲染类工具要街景、书本这种自然场景就选 SynthText 这类背景融合工具。⚡ 跑通第一批合成图克隆仓库并装依赖新终端里执行这三行克隆仓库并装依赖git clone https://gitcode.com/GitHub_Trending/pa/PaddleOCR cd PaddleOCR pip install -r requirements.txt执行完用python -c import paddleocr验证一下不报错就算装好了如果报ModuleNotFoundError通常是 Python 版本低于 3.8 或者装到了别的虚拟环境里。用 text_renderer 生成中文文本行text_renderer 是独立的外部包单独装一下pip install text_renderer仓库里已经自带了一组字体放在doc/fonts/目录下中文用simfang.ttf日文用japan.ttc不用再到处找字体文件。具体参数字号、字距、背景色、加噪开关十几个详见该工具的 README 示例我常用的组合是 48 号字、行距 1.5、背景随机灰阶。用真实照片做背景提真实感SynthText 的思路是从真实照片里随机选一块区域渲染文字标注跟着透视一起变。我实际跑的时候200 张背景图配 5000 行文本单卡每小时大约能出 3000 张瓶颈在磁盘 IO 而不是算力建议输出目录挂机械盘。合成数据训练的踩坑记录合成图太假怎么办现象合成图上识别精度 99%真实图片掉 5 个点。原因合成背景太干净没有模糊、光照不均这些干扰。解法后处理加一遍高斯模糊加透视扰动再混入两到三成真实照片做背景真实感能补回来大半。训练集混配比怎么定我实测跑过两组真实与合成 50:50以及 70:30。文本行级任务上 70:30 收敛更快最终精度还高 1 到 2 个点字符级训练可以把合成比例提到五成。如果你的真实数据不足 2000 张建议直接 50:50 起步边训边看验证集。标注对不齐的排查思路现象识别文本正确框却整体偏移。原因加透视时图像变形了标注点没有同步做仿射变换。解法检查标注生成是否和图像用了同一组变换矩阵随机抽 20 张肉眼比对对不齐就重新生成标注文件不要手工修。合成与标注工具链配合使用合成数据是生数据真实数据标注环节省不了。官方文档docs/data_anno_synth/data_annotation.md整理了几个标注工具我配合 PaddleOCR 数据合成用得最多的三个工具擅长什么什么时候用PPOCRLabelOCR 辅助标注新数据批量标注预标注后只改错labelImg矩形标注简单文本区域上手最快VoTT矩形加多边形多人协作、需要统一格式时labelImg 的界面是这样的画框加输入文字两步搞定VoTT 支持多边形和快捷键多人并行标注时用它导出的 JSON 格式比较省心需要标注不规则形状文本时labelme 的多边形模式更顺手这篇文章覆盖了 PaddleOCR 数据合成的工具选型、最小上手路径和混配比设定代码部分只保留了跑通所需的最少命令。下一步可以去看tools/train.py的合成数据接入方式把合成批次直接挂进训练配置里跑一轮完整实验。【免费下载链接】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),仅供参考

相关新闻

2026/8/29 12:57:17

猿辅导2023技术笔试深度拆解:算法、多线程与系统设计实战

去年秋招那会儿,我帮实验室好几个师弟改简历、模拟面试,发现一个特别普遍的现象:很多人刷题刷了几百道,LeetCode周赛也能稳住三道题,但一到“猿辅导2023校园招聘技术类笔试(一)”这种带公司特色…

2026/8/29 12:57:17

Taste-Skill 色彩理论指南:AI 界面设计如何摆脱模板感

Taste-Skill 色彩理论指南:AI 界面设计如何摆脱模板感 【免费下载链接】taste-skill Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop 项目地址: https://gitcode.com/GitHub_Trending/ta/taste-skill Taste-S…

2026/8/29 13:17:18

滚齿刀判断左右旋

判断左右旋先把滚刀立起来,肉眼观察。左边低右边高 右旋 。 右边低左边高 左旋。一般用的大部分都是右旋

2026/8/29 13:17:18

编程学习工具的资源边界

编程学习工具的资源边界在线编程练习看起来只是“编辑代码,点击运行”,后台却要接收不可信源码、准备编译环境、执行程序,再把输出送回编辑器。任何一步没有边界,都可能让一个死循环拖住工作节点,或让一份恶意代码读到…

2026/8/29 13:17:18

【算法】数字滤波

1.滑动中值滤波 1.1 介绍 如果窗口为n; 1)每次输入1个数据,直到获取n个数据,定义为a[0]~a[n];并返回当前输入的数据; 2)第n+1个数据a[n+1]输入,替换第1个数据a[0](最老的数据);冒泡排序,找到中间值;返回中间值; 3)第n+2个数据a[n+2]输入,替换第2个数据a[1](最…

2026/8/29 13:17:18

浏览器推理中的上下文分工

浏览器推理中的上下文分工浏览器里的智能功能常常面对一个尴尬问题:页面上能看到的东西很多,真正与当前任务有关的内容却很少。把整页 DOM、聊天历史、网络响应和用户选择一起交给模型,看起来信息充分,实际会增加延迟,…

2026/8/29 13:17:18

【算法】最小二乘法拟合曲线

/* 曲线拟合 int CurveFitter(int x_data_addr, float* y_data); y_data--------输入--y数据 返回值-------最大值下标 */ #define rank_ 3 float atemp[2 * (rank_ + 1)] = { 0 }; float b[rank_ + 1] = { 0 }; float a[rank_ + 1][rank_ + 1]; float fit_data[60]; int Curve…

2026/8/29 13:12:18

DV-1100边缘计算工控机选型与部署实战:从车载到产线

最近在给一个边缘计算项目做设备选型,前后拖了两周,最后换了 Cincoze 的 DV-1100 才把进度拉回来。之前我一直在普通工控机和高性能迷你主机之间犹豫,总觉得边缘场景不过就是"放一台小电脑"而已,直到真正把设备放进产线…

2026/8/28 16:16:17

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 16:16:21

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 16:16:22

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/29 0:01:10

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:01:10

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:01:10

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…