基于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安装
官网也给出了快速部署的案例可以参考下
- 1
我本地采用的是anaconda 虚拟环境
安装 anconda虚拟环境(可参考yolov5的安装教程)
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
from paddleocr import PaddleOCR
from paddlenlp import Taskflow
- 1
- 2
假设传入的是身份证,经过解析后的allStr就会变成类似如下的字符串(标点符号,空格等特殊符号需要你自行处理):
姓名侯小珂性别女民族汉出生1999年x月x日住址xx市xx区xx路1号2栋3号公民身份号码110129xxxxxxxxxxxx中华人民共和国居民身份证签发机关xx市公安局有效期限2018071120280711
- 1
接下来你要做的就是把这个字符串交给NLP模型进行信息抽取。当然,你说用正则匹配也行,确实没毛病,例如身份证号码,直接用正则匹配就可以了。但是,假如你需要获取住址这种没有明显特征的,你如何正则匹配呢?
NLP模型就能解决这个问题。
使用如下代码,告诉模型我需要在这段文本中抽取什么信息即可:
data = {}
schema = ["姓名", "民族", "性别", "出生", "住址", "签发机关", "有效期限", "公民身份号码"]
ie = Taskflow('information_extraction', schema=schema)
res = ie(allStr)
for key in schema:
data[key] = res[0][key][0]['text']
- 1
- 2
- 3
- 4
- 5
- 6
paddle打包exe 进行ocr识别
需要代码工程的同学移步下。谢谢支持!!!!
回复 “paddle-demo”
基于PaddleOCR + NLP实现证件识别的更多相关文章
- 基于PaddleOCR的多视角集装箱箱号检测识别
基于PaddleOCR的多视角集装箱箱号检测识别 一.项目介绍 集装箱号是指装运出口货物集装箱的箱号,填写托运单时必填此项.标准箱号构成基本概念:采用ISO6346(1995)标准 标准集装箱箱号由1 ...
- 手机端扫描证件识别SDK
手机端扫描证件识别SDK 一.手机端扫描证件识别SDK应用背景 这些年,随着移动互联网的的发展,越来越多的公司都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如 ...
- 基于bert的命名实体识别,pytorch实现,支持中文/英文【源学计划】
声明:为了帮助初学者快速入门和上手,开始源学计划,即通过源代码进行学习.该计划收取少量费用,提供有质量保证的源码,以及详细的使用说明. 第一个项目是基于bert的命名实体识别(name entity ...
- 基于Deep Learning 的视频识别方法概览
深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者.互联网视频在最近几年也特别火,短视频.视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器.当这两个火碰在一起,会 ...
- 应用在安卓和ios端APP的证件识别
移动端证件识别智能图文处理,是利用OCR识别技术,通过手机拍摄身份证图像或者从手机相册中加载证件图像,过滤身份证的背景底纹干扰,自动分析证件各文字进行字符切分.识别,最后将识别结果按姓名.地址.民族. ...
- 基于MFC开发的指纹识别系统.
MFC-FingerPrint 基于MFC开发的指纹识别系统. 效果图如下: 在第12步特征入库中,会对当前指纹的mdl数据与databases中所有的mdl进行对比,然后返回识别结果. 一.载入图像 ...
- Java基于opencv实现图像数字识别(五)—投影法分割字符
Java基于opencv实现图像数字识别(五)-投影法分割字符 水平投影法 1.水平投影法就是先用一个数组统计出图像每行黑色像素点的个数(二值化的图像): 2.选出一个最优的阀值,根据比这个阀值大或小 ...
- Java基于opencv实现图像数字识别(四)—图像降噪
Java基于opencv实现图像数字识别(四)-图像降噪 我们每一步的工作都是基于前一步的,我们先把我们前面的几个函数封装成一个工具类,以后我们所有的函数都基于这个工具类 这个工具类呢,就一个成员变量 ...
- Java基于opencv实现图像数字识别(三)—灰度化和二值化
Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...
- Java基于opencv实现图像数字识别(二)—基本流程
Java基于opencv实现图像数字识别(二)-基本流程 做一个项目之前呢,我们应该有一个总体把握,或者是进度条:来一步步的督促着我们来完成这个项目,在我们正式开始前呢,我们先讨论下流程. 我做的主要 ...
随机推荐
- 韦东山freeRTOS系列教程之【第十章】软件定时器(software timer)
目录 系列教程总目录 概述 10.1 软件定时器的特性 10.2 软件定时器的上下文 10.2.1 守护任务 10.2.2 守护任务的调度 10.2.3 回调函数 10.3 软件定时器的函数 10.3 ...
- aach64架构 ubuntu20 桌面版 编译安装ffmpeg难点总结
[编译安装x264] 这一步基本上没有难点 git clone https://gitee.com/mirrors/x264.git ./configure --enable-shared --ena ...
- c 语言学习第三天
字符和字符串 字符 当我们定义了一个字符变量 c 为a时,打印的时候让它使整数形式显示.会出现怎么一个情况? #include<stdio.h> int main(){ char c = ...
- SQLServer的操作以及一些概念
初始SQLServer 创建数据库 create database 数据库名 创建表 选择数据库 USE MyDb; 创建表 CREATE TABLE t_user ( id INT, usernam ...
- 面试官:Dubbo一次RPC请求经历哪些环节?
大家好,我是三友~~ 今天继续探秘系列,扒一扒一次RPC请求在Dubbo中经历的核心流程. 本文是基于Dubbo3.x版本进行讲解 一个简单的Demo 这里还是老样子,为了保证文章的完整性和连贯性,方 ...
- 第六节 JMeter基础-中级登录【用户自定义变量】
1.认识JMeter (1)配置元件:配置对应的一些数据 (例如:HTTP请求默认值.用户定义的变量) (2)[HTTP请求默认值]:HTTP请求默认值是设置的Web服务器部分信息,可以贯穿多个接口. ...
- TS:菜单数组转树形,支持多级(递归)
方法一 import {menus} from './menus.ts' function listToTree(list: any = [], options = {}, data = null) ...
- LRZ
1.在平面直角坐标系中,已知点 \(A(-2,2).B(3,4).C(0,1)\),直线 \(y=kx+b\) 过点 \(C\) 且与线段 \(AB\) 有交点,则 \(k\) 的取值范围是_____ ...
- Asp .Net Core 系列:详解授权以及实现角色、策略、自定义三种授权和自定义响应
什么是授权(Authorization)? 在 ASP.NET Core 中,授权(Authorization)是控制对应用资源的访问的过程.它决定了哪些用户或用户组可以访问特定的资源或执行特定的操作 ...
- python面向对象游戏练习:好人坏人手枪手榴弹
python面向对象游戏练习:好人坏人手枪手榴弹 主要是多态的练习,对象作为参数传给方法使用 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 ...