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

相关推荐
ZhengEnCi1 小时前
09c-斯坦福CS336作业二:系统与分布式训练
人工智能
阿里云大数据AI技术1 小时前
用 SQL 解锁多模态数据分析:Hologres 让图片、语音、视频变成结构化洞察
人工智能
阿里云大数据AI技术2 小时前
EMR Serverless StarRocks 湖仓多模态检索:One SQL on One Data,实现全文 + 标量 + 向量三路混合检索
人工智能
冬奇Lab3 小时前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
冬奇Lab3 小时前
每日一个开源项目(第138篇):OpenMontage - 把 AI 编程助手变成完整的视频制作团队
人工智能·开源·claude
米小虾3 小时前
智谱港股盘中市值突破万亿港元!GLM-5.2 开源引爆国产 AI 价值重估
人工智能·chatglm (智谱)
阿里云大数据AI技术3 小时前
义乌小商品城基于MaxFrame AI Function的亿级AI 数据产线提速之路
人工智能
甲维斯4 小时前
用AI还原《坦克大战》并3D化升级!
前端·人工智能·游戏开发
IT_陈寒5 小时前
SpringBoot自动配置坑了我一晚上,原来问题出在这
前端·人工智能·后端