基于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"

相关推荐
__Benco22 分钟前
OpenHarmony子系统开发 - DFX(一)
人工智能·harmonyos
小西几哦24 分钟前
3D点云配准RPM-Net模型解读(附论文+源码)
人工智能·pytorch·3d
CareyWYR27 分钟前
每周AI论文速递(250331-250404)
人工智能
码视野40 分钟前
基于快速开发平台与智能手表的区域心电监测与AI预警系统(源码+论文+部署讲解等)
人工智能·智能手表·毕业论文·计算机论文·物联网论文
skywalk81631 小时前
OpenRouter开源的AI大模型路由工具,统一API调用
服务器·前端·人工智能·openrouter
ejinxian2 小时前
大模型应用初学指南
人工智能·大模型·向量数据库
秋92 小时前
使用人工智能大模型kimi,如何免费高效制作PPT?
人工智能·kimi·制作ppt
IT古董2 小时前
【漫话机器学习系列】181.没有免费的午餐定理(NFL)
人工智能·机器学习
2501_911067662 小时前
无人机智慧路灯杆:智慧城市的‘全能助手’
人工智能·无人机·智慧城市