基于PaddleOCR + NLP实现证件识别

基于PaddleOCR + NLP实现证件识别

什么是PaddleOCR?

PaddleOCR 旨在打造一套丰富、领先、且实用的 OCR 工具库,助力开发者训练出更好的模型,并应用落地

PaddleOCR 由 PMC 监督。Issues 和 PRs 将在尽力的基础上进行审查。欲了解 PaddlePaddle 社区的完整概况,请访问 community。

⚠️注意:Issues模块仅用来报告程序🐞Bug,其余提问请移步Discussions模块提问。如所提Issue不是Bug,会被移到Discussions模块,敬请谅解。

PaddleOCR识别

Paddle-Github -飞桨社区
PP`飞桨 AI Studio 社区

paddleOCR安装

复制代码
官网也给出了快速部署的案例可以参考下	

PaddleOCR 快速开始

我本地采用的是anaconda 虚拟环境

安装 anconda虚拟环境(可参考yolov5的安装教程)

anconda 环境搭建

conda create -n paddle4 python=3.8

conda activate paddle4

conda install paddlepaddle==2.6.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/

pip install "paddleocr>=2.0.1" or conda install "paddleocr>=2.0.1"

这里是我安装的过程示例代码

paddleOCR识别

PaddleNLP模型信息抽取

pip install --upgrade paddlenlp

python 复制代码
from paddleocr import PaddleOCR
from paddlenlp import Taskflow

假设传入的是身份证,经过解析后的allStr就会变成类似如下的字符串(标点符号,空格等特殊符号需要你自行处理):

复制代码
姓名侯小珂性别女民族汉出生1999年x月x日住址xx市xx区xx路1号2栋3号公民身份号码110129xxxxxxxxxxxx中华人民共和国居民身份证签发机关xx市公安局有效期限2018071120280711

接下来你要做的就是把这个字符串交给NLP模型进行信息抽取。当然,你说用正则匹配也行,确实没毛病,例如身份证号码,直接用正则匹配就可以了。但是,假如你需要获取住址这种没有明显特征的,你如何正则匹配呢?

NLP模型就能解决这个问题。

使用如下代码,告诉模型我需要在这段文本中抽取什么信息即可:

python 复制代码
data = {}
schema = ["姓名", "民族", "性别", "出生", "住址", "签发机关", "有效期限", "公民身份号码"]
ie = Taskflow('information_extraction', schema=schema)
res = ie(allStr)
for key in schema:
    data[key] = res[0][key][0]['text']

paddle打包exe 进行ocr识别

可参考:paddle 打包exe 可运行文件

需要代码工程的同学移步下。谢谢支持!!!!

回复 "paddle-demo"

相关推荐
大师兄带你刨AI7 分钟前
「AI产业」| 《2025中国低空经济商业洞察报告(商业无人机应用篇)》
大数据·人工智能
lul~7 分钟前
[科研理论]无人机底层控制算法PID、LQR、MPC解析
c++·人工智能·无人机
摆烂z10 分钟前
机器学习-黑马笔记
人工智能·笔记·机器学习
硅谷秋水18 分钟前
TASTE-Rob:推进面向任务的手-目标交互视频生成,实现可通用的机器人操作
人工智能·深度学习·机器学习·计算机视觉·机器人·交互
yzx99101321 分钟前
柑橘检测模型
服务器·人工智能·深度学习·算法
神齐的小马1 小时前
机器学习 [白板推导](六)[核方法、指数族分布]
人工智能·机器学习
孚为智能科技1 小时前
集装箱残损识别系统如何检测残损?它的识别率能达到多少?
大数据·图像处理·人工智能·计算机视觉·视觉检测
小白学大数据1 小时前
爬取汽车之家评论并利用NLP进行关键词提取
人工智能·自然语言处理·汽车
biubiubiu07061 小时前
AI中的Prompt
人工智能·prompt
AIGC_ZY1 小时前
RAG 技术详解:结合检索与生成的智能问答新范式
人工智能