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

相关推荐
小兵张健8 小时前
35岁程序员的春天来了
人工智能
大怪v9 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
冬奇Lab9 小时前
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
人工智能·开源
刀法如飞10 小时前
AI提示词框架深度对比分析
人工智能·ai编程
IT_陈寒12 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
1G12 小时前
openclaw控制浏览器/自动化的playwright MCP + Mcporter方案实现
人工智能
踩着两条虫12 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川12 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
星浩AI13 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
千寻girling17 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法