python银行卡号识别_EAST+CRNN银行卡号识别,附数据集
原标题:EAST+CRNN银行卡号识别,附数据集
实现功能与方法
卡号定位 (EAST)
交互界面 (PyQt5)使用方法
下载源码
下载训练好的模型
使用PyCharm打开(或其他IDE),或者直接执行 python demo.py
出现GUI后即可使用
注*:因CRNN模型代码更新,此模型故已弃用。可在下文下载其预训练网络。
数据集,模型,代码 以及运行教程 获取:
银行卡即可获取。
功能介绍 卡号识别
模型的 训练方法如下:
下载预训练模型.并将其路径写入 crnn/cfg.py 的 PRE_TRAINED_MODEL_PATH 变量中
python crnn/preprocess.py
python crnn/run.py
注:模型训练的数据集是由子数据集(4-6个)拼凑而成的不定长度的数据, crnn/cfg.py 中的 MAX_LABEL_LENGTH 用来设置数据的最大长度。这部分数据是通过运行 crnn/preprocess.py 生成,可以通过 AUG_NBR 设置生成数据集个数。其效果如下:
卡号定位
这一部分是重中之重,考虑到自己还没有能力去研究新的图像字符定位算法,就参考了许多这类算法。现在比较成功的莫过于CTPN了,其次也有Faster-RCNN,EAST,Seg-Link等等。而偏偏选用EAST的原因可能是一见钟情吧(名字好听)。
此部分引用的是EAST的Keras实现,但此EAST并非原生的EAST,而是改进的AdvancedEAST
这个模型特点之一就是方便训练,直观也简练。训练方法及更多原理参见原文部分。
特别值得提起的是数据集,是我自己从互联网上搜罗来的,然后还进行了标注。过程比较痛苦。面临的问题是,几百张数据可能训练不出好的模型,所以后期使用自动定位不成功的,可能原因之一就是数据集太小(我…尽力了…)。但是用于这样的小系统开发,还是有一定的使用价值。
如果你有更多的数据的话,若想进行标注。懂的同学可以标注直接标注为 ICDAR 2015的格式,不懂的同学则可以使用 dataset/tagger.py 简陋的标注器来标注,标注方法:以目标区域 左上角开始, 顺时针的点击物体的角点,直到最后一个点,可在数据同目录的 txt 下看到形如 x1,y1,x2,y2,x3,y3,x4,y4,### 的值 ### 表示忽略目标内容。如果成功标注完成,在 east 目录下运行 python east/preprocess.py 得到形如以下形式的图像,就代表成功了。
模型的 训练方法如下:
python east/preprocess.py (可选,若数据集有变更则运行)
python east/run.py
注:部分参数可以在 east/cfg.py 中设置,推荐使用默认。
交互界面
使用了Qt对Python的接口PyQt5来完成,UI设计使用QtDesigner来完成。整体效果如下:(且不说美,起码能看,中规中矩吧)
但是也想之前所述,因为训练数据的贫乏,导致部分测试数据无法定位。后期可通过增大训练数据集解决。目前自动定位失败主要集中在卡号和卡片背景颜色相近的情况,例如都偏暗,或者都偏亮。可以在定位之前,给测试数据加上若干预处理操作,如提高亮度,增加对比度等。
责任编辑:
python银行卡号识别_EAST+CRNN银行卡号识别,附数据集相关推荐
- Python人脸识别的简要介绍(附实例、Python代码)
介绍 你是否意识到,每当你上传照片到Facebook上,平台都会用人脸识别算法来识别图片中的人物?目前还有一些政府在用人脸识别技术来识别和抓捕罪犯.此外,最常见的应用就是通过自己的脸部解锁手机. 计算 ...
- Python基于YOLOv7和CRNN的车牌分割&识别系统(源码&教程)
1.研究背景 随着科技的进步和社会需求的增长,近年来摄像头逐渐高清化.高帧率化,摄像头作为信息获取设备的载体也不再局限于固定场景.路口.路侧.室内.高位.低位等不同场景下产生了各种对于检测识别的需求, ...
- 银行卡号每输四位加空格,及银行卡的识别(此银行卡号是那个银行)
1.先说第一个功能,银行卡每输四位加空格 1)我们要实现这个功能就需要去监听editText的输入,如下: edit_view.addTextChangedListener(),此方法用于监听edit ...
- python实现文字识别软件_文字识别(OCR)CRNN(基于pytorch、python3) 实现不定长中文字符识别...
文字识别(OCR)CRNN(基于pytorch.python3) 实现不定长中文字符识别 发布时间:2018-09-26 19:40, 浏览次数:1265 , 标签: OCR CRNN pytorch ...
- 银行卡识别,录入银行卡号助手
转账.汇款.绑定银行卡等一切与银行卡相关的事情都离不开那密密麻麻的数字,每次一个一个的输入,一遍一遍的核验,小心翼翼,生怕出一丁点的错误,轻者是浪费时间,重新输入,重者可就有重大经济损失了,用户体验非 ...
- 人脸识别的简要介绍(附实例、Python代码)
作者:Guest Blog:翻译:王雨桐:校对:蒋雨畅: 本文约2500字,建议阅读10分钟. 本文将介绍人脸识别的基本思路和对代码进行简要分析. 介绍 你是否意识到,每当你上传照片到Facebook ...
- 使用Python基于VGG/CTPN/CRNN的自然场景文字方向检测/区域检测/不定长OCR识别
GitHub:https://github.com/pengcao/chinese_ocr https://github.com/xiaofengShi/CHINESE-OCR |-angle 基于V ...
- 用Python实现简单的人脸识别,10分钟(附源码)
前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...
- Python基于人脸识别的考勤系统(附源码)
原文链接:https://blog.csdn.net/weixin_39653948/article/details/89291751 1. 项目简介 本项目使用Python3.6编写,Qt Desi ...
- python ocr识别身份证_不告诉你我用了它配合Python简简单单开发OCR识别,带你识别手写体、印刷体、身份证等N种,附代码!...
一.你心目中的OCR二.成果展示(一)手写体成果展示(一)印刷体成果展示(三)名片识别成果展示(四)身份证(同样是模板)成果展示(五)表格识别成果展示:(六)整题识别成果展示:三.前期准备四.开发过程 ...
最新文章
- python程序员职业考试_最新10大Python面试常问的问题,60%的人都不会
- 行内标签(最常用的:a标签、img标签、span标签)
- QWidget子窗口中setStyleSheet无效,解决方法
- Git的remote
- python mysql写入速度加快_解决python写入mysql中datetime类型遇到的问题
- Android 图片异步加载的体会,SoftReference已经不再适用
- Mac adb 安装
- 很久的东西-也有价值
- MySQL 索引的原理与应用:索引类型,存储结构与锁
- 自动生成xml报文_使用python如何给xml报文进行签名 signXML库
- 原理图端口符号_电气的原理图和接线图的区别,今天终于弄明白了!
- Cadence学习之路(八)画PCB前你必须知道的事情!
- 计算机谈歌曲简单,计算机应用基础公开课制作一首简单的MP3歌曲.ppt
- 1402. 星空之夜
- MSTAR648方案遥控器配置
- 海图水深点的标注方法
- 第5章 SIM卡锁定PIN解锁流程
- Python+pyqt4 山寨美图秀秀的美肤功能
- 标称型和数值型(连续型)的区别
- NSX-T 启用DHCP服务器