基于PaddleOCR训练模型识别数字验证码
序言
以软考成绩查询数字验证码为例,学习如何使用PaddleOCR库调优(fine-tune)模型。
学完本实战后,可以训练以下特定场景任务的OCR模型:
- 字母+数字类型的图形验证码
- 简单算术表达式(+、-、*、/)验证码
- 手写数字识别
- 邮编识别
- 电话号码识别
- 车牌号识别
- 银行卡卡号识别
- 身份证号识别
- 任何类型OCR任务,只要训练数据集足够大
1-8场景,数据标注任务相对较小,因为字符数量较少
数据标注可以使用PaddleOCR自带的PPOCRLabel标注工具
步骤
1. 下载PaddleOCR源码
git clone https://github.com/PaddlePaddle/PaddleOCR.git
cd PaddleOCR # 后续工作根目标
export PYTHONPATH=$PYTHONPATH:`pwd` # PaddleOCR源码路径添加到PYTHONPATH环境变量,就不需要安装PaddleOCR
2. 下载本项目实战代码
git clone https://github.com/actboy/captcha.git # 代码克隆至PaddleOCR源码根目录
3. 下载预训练模型
cd captcha
wget -nd -c "https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_pre.tar"
tar -xf ch_ppocr_server_v2.0_rec_pre.tar
cd .. # 回到PaddleOCR源代码根目录
4. 安装PaddlePaddle深度学习框架
#cpu 版本
python -m pip install paddlepaddle==2.2.1 -i https://mirror.baidu.com/pypi/simple
# gpu 版本
pip install paddlepaddle-gpu==2.2.1.post112 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
以下命令的执行请回到PaddleOCR源码根目录
5. 下载数字图形验证码
验证码下载一般都比较容易。
以软考成绩查询验证为例,下载数字图形验证码,其他网站验证码下载可以参考captcha/download_captcha_image.py代码
python captcha/download_captcha_image.py # 项目实战代码已提供验证码图片,可不执行
6. 标注数字图形验证码
该过程不需要标注工具,用电脑自带图片预览功能,根据预览修改图片文件名称,修改为如下形式:
{图片原始名称,不包括后缀名}_{验证码字符}{后缀名}
例如: