CN113989806B - 一种可扩展的crnn银行***识别方法 - Google Patents

一种可扩展的crnn银行***识别方法 Download PDF

Info

Publication number
CN113989806B
CN113989806B CN202111183355.5A CN202111183355A CN113989806B CN 113989806 B CN113989806 B CN 113989806B CN 202111183355 A CN202111183355 A CN 202111183355A CN 113989806 B CN113989806 B CN 113989806B
Authority
CN
China
Prior art keywords
bank card
card number
crnn
preprocessing
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111183355.5A
Other languages
English (en)
Other versions
CN113989806A (zh
Inventor
陈再蝶
朱晓秋
章星星
樊伟东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kangxu Technology Co ltd
Original Assignee
Kangxu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kangxu Technology Co ltd filed Critical Kangxu Technology Co ltd
Priority to CN202111183355.5A priority Critical patent/CN113989806B/zh
Publication of CN113989806A publication Critical patent/CN113989806A/zh
Application granted granted Critical
Publication of CN113989806B publication Critical patent/CN113989806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Character Discrimination (AREA)

Abstract

本发明公开了一种可扩展的CRNN银行***识别方法,包括以下步骤:S1、对银行卡图片进行预处理,预处理方法包括:原图不处理法、预处理方法A和预处理方法B;S2、将预处理后的图片送入OCR识别模型,获得识别结果。本发明中,通过对输入银行卡图片使用多种图像预处理方法,有效提高文本检测模型召回率和准确率,然后使用OCR识别模型自动识别出上一步检测得到文本框中的数字,克服单字符识别需要对字符序列进行字符级切割存在压印文字与背景干扰大导致切割错误问题,字符切割难度大,字符切割算法设计复杂的问题,然后对识别结果文本过滤与数字拼接,再通过BIN码表查找及***长度计算,判断***有效性,输入正确的***结果。

Description

一种可扩展的CRNN银行***识别方法
一种可扩展的CRNN银行***识别方法,包括以下步骤:
S1、对银行卡图片进行预处理,预处理方法包括:原图不处理法、预处理方法A和预处理方法B;
Sa、所述预处理方法A的具体步骤为:首先,对原图做直方图均衡cv2.equalizeHist()增强图像局部对比度,其次,通过 cv2.morphologyEx(equ_img,cv2.MORPH_GRADIENT,kernel)计算图像膨胀与腐蚀操作,抽取文本目标的边缘,最后,对图像进行二值化操作,与原图点乘;
Sb、所述预处理方法B对原图采用图像同态滤波,取同态滤波结果;
S2、将预处理后的图片送入OCR识别模型,获得识别结果,具体步骤包括:
S21、利用迁移训练后的DB算法模型对预处理后的图片进行处理,生成固定阈值和自适应阈值分割图;
S22、结合固定阈值分割图和自适应分割图生成二值化图,得到预处理图片的文本检测框;
S23、利用迁移训练后的CRNN模型识别文本检测框,获得目标文本区域的识别结果;
S3a、通过CRNN识别结果字典对CRNN识别结果进行过滤,获得识别结果中的数字,计算数字长度,并查找银行卡BIN码表判断,判断数字长度最长的数字是否为有效的银行***,若***有效且数字长度为16、17或19位,则判断是有效银行卡并输出银行***,完成识别;
S3b、若步骤S3a中,验证银行卡无效,则对同行多个文本检测框的识别结果先进行拼接,再进行BIN码表验证,若验证依然是无效银行***,则返回步骤 Sa,通过预处理方法A对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别;
S3c、若步骤S3b中,验证银行卡无效,则返回步骤Sb,通过预处理方法B 对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别,否则银行卡识别失败。
作为上述技术方案的进一步描述:
所述预处理方法B的具体步骤为:
Sb1、令原图为f(x,y)=i(x,y)·r(x,y),其中,i(x,y)-照射分量,0<i(x,y)<∞,r(x,y)- 反射分量,0<r(x,y)<1;
Sb2、令z(x,y)=ln[f(x,y)+1],其中,f(x,y)∈[0,L-1],灰度级L=256;
Sb3、对z(x,y)取傅里叶变换,得到Z(u,v)=Fi(u,v)+Fr(u,v)
Sb4、对Z(u,v)进行滤波,得到S(u,v)=H(u,v)Z(u,v)=H(u,v)Fi(u,v)+H(u,v)Fr(u,v);
Sb4、对S(u,v)进行傅里叶逆变换,得到s(x,y)=IDFT[S(u,v)];
Sb5、对s(x,y)进行反对数,得到处理后的图片为: g(x,y)=exp^[s(x,y)]-1=i0(x,y)+r0(x,y)-1,其中,i0(x,y)-处理后图片的照射分量, r0(x,y)-处理后图片的反射分量,傅里叶逆变换后取实部即为同态滤波结果。
作为上述技术方案的进一步描述:
所述DB算法模型的迁移训练步骤包括:利用至少680张银行卡图片对百度paddleocr提供的DB开源预训练模型进行迁移训练。
作为上述技术方案的进一步描述:
所述CRNN识别模型的迁移训练步骤包括:利用至少200510张银行卡图片对基于resent34的CRNN模型进行迁移训练。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明中,通过对输入银行卡图片使用多种图像预处理方法,依次是原图不处理、预处理方法A、预处理方法B,有效提高文本检测模型召回率和准确率,解决使用了通用文本检测模型存在漏检错检问题,且不需要重新训练模型而避开银行卡数据量不足问题,然后使用OCR识别模型自动识别出上一步检测得到文本框中的数字,克服单字符识别需要对字符序列进行字符级切割存在压印文字与背景干扰大导致切割错误问题,字符切割难度大,字符切割算法设计复杂的问题,然后对识别结果文本过滤与数字拼接,再通过BIN码表查找及***长度计算,判断***有效性,输入正确的***结果。
2、本发明中,提供三种图片预处理方法,依次使用原图检测识别判断结果,使用预处理方法A结果检测识别判断结果,使用预处理B结果检测识别判断结果,有效提高文本检测模型召回率,最终提高银行***识别准确率,通过通用的文本检测模型对至少100张银行卡进行测试,测试结果显示银行***的识别准确率约为25%,而使用本方法对至少100张银行卡进行同样的测试,测试结果显示银行***的识别准确率约为55%,识别准确率有效提高30%左右。
附图说明
图1示出了根据本发明实施例提供的一种可扩展的CRNN银行***识别方法的流程示意图;
图2示出了根据本发明实施例提供的一种可扩展的CRNN银行***识别方法的银行卡图片原图示意图;
图3示出了根据本发明实施例提供的一种可扩展的CRNN银行***识别方法的经过预处理方法A处理后的银行卡图片示意图;
图4示出了根据本发明实施例提供的一种可扩展的CRNN银行***识别方法的经过预处理方法B处理后的银行卡图片示意图;
图5示出了根据本发明实施例提供的一种可扩展的CRNN银行***识别方法的CRNN模型的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。银行简称
实施例一
请参阅图1-5,本发明提供一种技术方案:一种可扩展的CRNN银行***识别方法,包括以下步骤:
S1、对银行卡图片进行预处理,预处理方法包括:原图不处理法、预处理方法A和预处理方法B;
Sa、预处理方法A的具体步骤为:首先,对原图做直方图均衡 cv2.equalizeHist()增强图像局部对比度,其次,通过 cv2.morphologyEx(equ_img,cv2.MORPH_GRADIENT,kernel)计算图像膨胀与腐蚀操作,抽取文本目标的边缘,最后,对图像进行二值化操作;
具体的,当使用银行卡原图进行***区域检测识别,由于银行卡样式多样,背景多样,检测模型容易漏检错检,通过图片预处理方法A,减小模型检测范围,提升检测模型的检测召回率,最终提升***识别准确率,且不需要重新训练检测模型,使用同一模型对不同预处理图片检测即可;
Sb、预处理方法B对原图采用图像同态滤波,取同态滤波结果;
其中,预处理方法B的具体步骤为:
Sb1、令原图为f(x,y)=i(x,y)·r(x,y),其中,i(x,y)-照射分量,0<i(x,y)<∞,r(x,y)- 反射分量,0<r(x,y)<1;
Sb2、令z(x,y)=ln[f(x,y)+1],其中,f(x,y)∈[0,L-1],灰度级L=256;
Sb3、对z(x,y)取傅里叶变换,得到Z(u,v)=Fi(u,v)+Fr(u,v)
Sb4、对Z(u,v)进行滤波,得到S(u,v)=H(u,v)Z(u,v)=H(u,v)Fi(u,v)+H(u,v)Fr(u,v);
Sb4、对S(u,v)进行傅里叶逆变换,得到s(x,y)=IDFT[S(u,v)];
Sb5、对s(x,y)进行反对数,得到处理后的图片为: g(x,y)=exp^[s(x,y)]-1=i0(x,y)+r0(x,y)-1,其中,i0(x,y)-处理后图片的照射分量, r0(x,y)-处理后图片的反射分量,傅里叶逆变换后取实部即为同态滤波结果;
具体的,numpy提供np.fft.fft2()和np.fft.ifft2()计算二维的傅里叶变换和逆变换,设计一个频域滤波器Z,对图像的频域滤波,最后对傅里叶逆变换后取实部即为同态滤波的结果,通过numpy中用np.real()获得;
S2、将预处理后的图片送入OCR识别模型,获得识别结果,具体步骤包括:
S21、利用迁移训练后的DB算法模型对预处理后的图片进行处理,生成固定阈值和自适应阈值分割图;
S22、结合固定阈值分割图和自适应分割图生成二值化图,得到预处理图片的文本检测框;
基于分割的方法对各种形状(弯曲、竖直、多方向)的场景文本检测更加精确,因此基于分割的方法在场景文本检测领域很流行。本发明使用基于分割的场景文本检测即把分割方法产生的概率图(热力图)转化为边界框和文字区域,其中会包含二值化的后处理过程。本发明采用DB算法模型,传统的网络结构使用固定的阈值对于分割的热力图进行二值化检测,而DB算法模型会将二值化操作嵌入到分割网络中进行组合优化,会生成与热力图对应的阈值图,通过二者的结合生成最终的二值化操作;
具体的:
(1)固定阈值二值化和自适应二值化的对比:
固定阈值二值化公式如下所示;
其中P表示概率图,t表示划分阈值,通过固定的阈值对网络输出的概率图进行划分,由于这种二值化方式是不可微分的,因此它无法在训练阶段随着分割网络被优化。
因此,DB算法模型提出了一个近似阶跃函数,用于将二值化操作融合于分割网络中,如下所示:
建立了概率图P(代表像素点是文本的概率)和阈值图T(每个像素点的阈值)与二值化图之间的关系,使得二值化的计算可微,从而可以满足梯度反向传播的条件。其中,k为放大因子,依经验设定为50。带有自适应阈值的可微分二值化不仅有助于把文字区域与背景区分开,而且还能把相近的实例分离开来;
(2)损失函数的优化
损失函数是通过概率图损失Ls-二值图损失Lb-阈值图Lt构成的带有权重的损失,全局损失函数如下所示:
L=Ls+α×Lb+β×Lt
其中,α,β分别设置为1.0和10;
Ls和Lb使用二值交叉熵损失函数如下所示,
其中,Sl表示正负样本比例为1:3的样本集。
S23、利用迁移训练后的CRNN模型识别文本检测框,获得目标文本区域的识别结果;
本发明采用CRNN作为文本序列识别模型,不需要对文本进行字符分割,避免大量的人为调参和压印字体背景干扰导致切割错误的问题,CRNN网络结构清晰,首先由CNN提取图像特征,然后LSTM进一步提取图像卷积特征中的序列特征,最后引入CTC loss解决训练时字符无法对齐的问题,提供了一种end2end 的文字识别算法;
具体的,(1)使用RNN在文本序列识别比单字符识别更加有效:RNN从每一个卷积特征生成一个字符序列,RNN有很强的能力捕捉到一个序列的上下文信息,对基于图像的序列识别使用上下文比将单个字符单独对待要更加有效,而且对于一些含糊的字符,观察其上下文信息后也会很好区分,另外因为RNN也能够后向传播进行权重更新,从而使得可以将CNN和RNN连接成一个完整的网络,最后因为RNN可以处理任意长度的序列,前提是需要固定输入图片高度,然后固定CNN 在原图上感受野的宽度,那么这样的话,可以对任意宽度的图像进行处理;
(2)CTC模型主要用于解决输入数据与给定标签的对齐问题,这也是CRNN 能够端到端训练的原因之一,输出不定长的序列结果。CTC的目标本质上是寻找概率最大的文本序列识别结果,引入blank实现字符的对齐和合并操作问题,如下所示:
B(π1)=B(--stta-t--e)=state;
B(π2)=B(sst-aaa-tee-)=state;
B(π3)=B(--sttaa-tee-)=state;
B(π4)=B(sst-aa-t---e)=state;
CTC的训练过程,本质上是通过概率的梯度后向传播调正LSTM的参数,最终使对于一个输入x,输出为label的概率最大。从而实现end2end的模型训练。
S3a、通过CRNN识别结果字典对CRNN识别结果进行过滤,获得识别结果中的数字,计算数字长度,并查找银行卡BIN码表判断,判断数字长度最长的数字是否为有效的银行***,若***有效且数字长度为16、17或19位,则判断是有效银行卡并输出银行***,完成识别;
S3b、若步骤S3a中,验证银行卡无效,则对同行多个文本检测框的识别结果先进行拼接,再进行BIN码表验证,若验证依然是无效银行***,则返回步骤 Sa,通过预处理方法A对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别;
S3c、若步骤S3b中,验证银行卡无效,则返回步骤Sb,通过预处理方法B 对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别,否则银行卡识别失败;
本方法应用于OCR银行***识别、有效日期识别,可以省去银行***手动输入效率低效的麻烦,对输入银行卡图片使用多种图像预处理方法,依次是原图不处理、预处理方法A、预处理方法B,有效提高文本检测模型召回率和准确率,解决使用了通用文本检测模型存在漏检错检问题,且不需要重新训练模型而避开银行卡数据量不足问题,然后使用OCR识别模型自动识别出上一步检测得到文本框中的数字,克服单字符识别需要对字符序列进行字符级切割存在压印文字与背景干扰大导致切割错误问题,字符切割难度大,字符切割算法设计复杂的问题,然后对识别结果文本过滤与数字拼接,再通过BIN码表查找及***长度计算,判断***有效性,输入正确的***结果。
具体的,本发明提供三种图片预处理方法,依次使用原图检测识别判断结果,使用预处理方法A结果检测识别判断结果,使用预处理B结果检测识别判断结果,有效提高文本检测模型召回率,最终提高银行***识别准确率,通过通用的文本检测模型对至少100张银行卡进行测试,测试结果显示银行***的识别准确率约为25%,而使用本方法对至少100张银行卡进行同样的测试,测试结果显示银行***的识别准确率约为55%,识别准确率有效提高30%左右;^
并且,在预处理方法上,可以无限添加多种预处理方法,当上一种预处理方法处理后的银行卡图片经判断得到银行卡无效后,则自动循环进入下一种预处理方法继续对该银行卡图片进行判断,适应程度高,便于方案的继续优化。
具体的,DB算法模型的迁移训练步骤包括:利用至少680张银行卡图片对百度paddleocr提供的DB开源预训练模型进行迁移训练,CRNN识别模型的迁移训练步骤包括:利用至少200510张银行卡图片对基于resent34的CRNN模型进行迁移训练;
银行卡图像由于安全性数据难以获取,数量较少,可获得的样式也较为单一,且银行卡图像背景多样,***目标检测容易漏检错检,需要重新标注一部分数据和生成大量数据,首先,使用百度开源的PPOCRLabel实现半自动标注,可以有效提高标注效率,标注510张银行卡图片,其次,在完整标注部分中,所有词条的水平词条,竖直词条位置标注为4点,采用多点进行位置标注,另外,根据170 余张背景银行卡图片利用计算机合成100000张;
在迁移训练过程中,首先,使用一个具有大规模中文、英文街景文字的数据集,其中包括3万张中文精标数据集和1万张英文精标数据集(标注所有文本框的位置和文字内容),获得预训练模型,再使用多张银行卡图片进行二次训练,获得DB算法模型;
其次,由于CRNN预训练模型的训练数据大部分是街景中文,英文,数字,字符等,银行***字体的数字图像较少。结合银行***识别业务场景,人为标注 510张银行***区域及***标注,另外,根据1060张数字图片随机拼接到10w 数据,另外增加10w中文文本数据,总共不少于200510张图片,训练基于resnet34 的CRNN模型,提高银行***的识别准确率;
由于在实际应用中,通常不会针对一个新任务,从头开始训练一个模型。这样的操作显然是非常耗时的。在这种情况下,本发明使用微调的方法来进行迁移学习,这样做的好处是针对场景文本和光学文本检测新任务,不需要从头开始训练模型,可以节省时间。预训练好的模型通常是在大数据集上进行训练的,这无形中扩充了本发明的训练数据,使模型更鲁棒、泛化能力更好。微调实现简单,本发明只需关注自己的任务即可,且本发明使用了深度域适应方法来解决可能在微调过程中出现的深度网络自适应的问题。经过多次实验和在不同的层之间进行尝试实验,我们使用深度域适应方法固定网络的结构的特征提取层,在最后一层分类器前加入了自适应的度量,可以达到最好的效果。
当模型训练完成后,可以通过调用预测脚本对模型进行快速预测,通过指定预测图片或文件夹路径,批量预测。预测结果会返回目标文本的文本框区域和一个置信度。同理,OCR识别模型预测可以获得预测结果和一个概率;
训练模型时使用准确率、精准率和召回率和F1分数来评估模型的性能,检测模型评估的F1分数可达到85%以上,在使用ICDAR中文街景数据集中取得了业界较好的水准。
准确率(Accuracy)=(TP+TN)/(TP+TN+FP+FN),虽然准确率可以判断总的正确率,但是在样本不平衡的情况下,并不能作为很好的指标来衡量结果,精确率 (Precision)=TP/(TP+FP),精准率代表对正样本结果中的预测准确程度。
对于一些负样本的评估,我们使用召回率=TP/(TP+FN),召回率越高,代表实际负样本被预测出来的概率越高,需要结合这些负样本去分析,模型对于某些特殊场景是否泛化能够不够,提出一些调优的方式,比如说图像增强等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (4)

1.一种可扩展的CRNN银行***识别方法,其特征在于,包括以下步骤:
S1、对银行卡图片进行预处理,预处理方法包括:原图不处理法、预处理方法A和预处理方法B;
Sa、所述预处理方法A的具体步骤为:首先,对原图做直方图均衡cv2.equalizeHist()增强图像局部对比度,其次,通过cv2.morphologyEx(equ_img,cv2.MORPH_GRADIENT,kernel)计算图像膨胀与腐蚀操作,抽取文本目标的边缘,最后,对图像进行二值化操作,与原图点乘;
Sb、所述预处理方法B对原图采用图像同态滤波,取同态滤波结果;
S2、将预处理后的图片送入OCR识别模型,获得识别结果,具体步骤包括:
S21、利用迁移训练后的DB算法模型对预处理后的图片进行处理,生成固定阈值和自适应阈值分割图;
S22、结合固定阈值分割图和自适应分割图生成二值化图,得到预处理图片的文本检测框;
S23、利用迁移训练后的CRNN模型识别文本检测框,获得目标文本区域的识别结果;
S3a、通过CRNN识别结果字典对CRNN识别结果进行过滤,获得识别结果中的数字,计算数字长度,并查找银行卡BIN码表判断,判断数字长度最长的数字是否为有效的银行***,若***有效且数字长度为16、17或19位,则判断是有效银行卡并输出银行***,完成识别;
S3b、若步骤S3a中,验证银行卡无效,则对同行多个文本检测框的识别结果先进行拼接,再进行BIN码表验证,若验证依然是无效银行***,则返回步骤Sa,通过预处理方法A对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别;
S3c、若步骤S3b中,验证银行卡无效,则返回步骤Sb,通过预处理方法B对原图进行预处理,并重复步骤S2~S3a,验证银行卡的有效性,有效则输出银行***,完成识别,否则银行卡识别失败。
2.根据权利要求1所述的一种可扩展的CRNN银行***识别方法,其特征在于,所述预处理方法B的具体步骤为:
Sb1、令原图为f(x,y)=i(x,y)·r(x,y),其中,i(x,y)-照射分量,0<i(x,y)<∞,r(x,y)-反射分量,0<r(x,y)<1;
Sb2、令z(x,y)=ln[f(x,y)+1]其中,f(x,y)∈[0,L-1],灰度级L=256;
Sb3、对z(x,y)取傅里叶变换,得到Z(u,v)=Fi(u,v)+Fr(u,v)
Sb4、对Z(u,v)进行滤波,得到S(u,v)=H(u,v)Z(u,v)=H(u,v)Fi(u,v)+H(u,v)Fr(u,v);
Sb4、对S(u,v)进行傅里叶逆变换,得到s(x,y)=IDFT[S(u,v)];
Sb5、对s(x,y)进行反对数,得到处理后的图片为:g(x,y)=exp^[s(x,y)]-1=i0(x,y)+r0(x,y)-1,其中,i0(x,y)-处理后图片的照射分量,r0(x,y)-处理后图片的反射分量,傅里叶逆变换后取实部即为同态滤波结果。
3.根据权利要求1所述的一种可扩展的CRNN银行***识别方法,其特征在于,所述DB算法模型的迁移训练步骤包括:利用至少680张银行卡图片对百度paddleocr提供的DB开源预训练模型进行迁移训练。
4.根据权利要求1所述的一种可扩展的CRNN银行***识别方法,其特征在于,所述CRNN识别模型的迁移训练步骤包括:利用至少200510张银行***图片对基于resent34的CRNN模型进行迁移训练。
CN202111183355.5A 2021-10-11 2021-10-11 一种可扩展的crnn银行***识别方法 Active CN113989806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111183355.5A CN113989806B (zh) 2021-10-11 2021-10-11 一种可扩展的crnn银行***识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111183355.5A CN113989806B (zh) 2021-10-11 2021-10-11 一种可扩展的crnn银行***识别方法

Publications (2)

Publication Number Publication Date
CN113989806A CN113989806A (zh) 2022-01-28
CN113989806B true CN113989806B (zh) 2024-05-24

Family

ID=79738064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111183355.5A Active CN113989806B (zh) 2021-10-11 2021-10-11 一种可扩展的crnn银行***识别方法

Country Status (1)

Country Link
CN (1) CN113989806B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114241485A (zh) * 2022-02-24 2022-03-25 深圳大道云科技有限公司 房产证的信息识别方法、装置、设备及存储介质
CN115131797B (zh) * 2022-06-28 2023-06-09 北京邮电大学 一种基于特征增强金字塔网络的场景文本检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636572A (zh) * 2018-10-25 2019-04-16 深圳壹账通智能科技有限公司 银行卡的风险检测方法、装置、设备及可读存储介质
WO2019192397A1 (zh) * 2018-04-04 2019-10-10 华中科技大学 一种任意形状的场景文本端到端识别方法
CN110516676A (zh) * 2019-08-21 2019-11-29 河海大学常州校区 一种基于图像处理的银行***识别***
WO2021190171A1 (zh) * 2020-03-25 2021-09-30 腾讯科技(深圳)有限公司 图像识别方法、装置、终端和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019192397A1 (zh) * 2018-04-04 2019-10-10 华中科技大学 一种任意形状的场景文本端到端识别方法
CN109636572A (zh) * 2018-10-25 2019-04-16 深圳壹账通智能科技有限公司 银行卡的风险检测方法、装置、设备及可读存储介质
CN110516676A (zh) * 2019-08-21 2019-11-29 河海大学常州校区 一种基于图像处理的银行***识别***
WO2021190171A1 (zh) * 2020-03-25 2021-09-30 腾讯科技(深圳)有限公司 图像识别方法、装置、终端和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
场景文字识别技术研究综述;王德青;吾守尔・斯拉木;许苗苗;;计算机工程与应用;20200807;第56卷(第18期);第1-15页 *
基于CNN的银行卡数字识别方法;李尚林;王鲁达;刘东;;图学学报;20200215(第01期);第81-87页 *
基于深度学习的银行***识别***;阮章媛;陈丽娟;;网络安全技术与应用;20200611(第06期);第64-66页 *

Also Published As

Publication number Publication date
CN113989806A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN109726657B (zh) 一种深度学习场景文本序列识别方法
US8224092B2 (en) Word detection method and system
Gallego et al. Staff-line removal with selectional auto-encoders
CN113989806B (zh) 一种可扩展的crnn银行***识别方法
US20200134382A1 (en) Neural network training utilizing specialized loss functions
CN108229463A (zh) 基于图像的文字识别方法
CN111783757A (zh) 一种基于ocr技术的复杂场景下身份证识别方法
CN108154144A (zh) 一种基于图像的船名字符定位方法及***
Hao et al. Printer identification using page geometric distortion on text lines
KR20200068073A (ko) 심층학습 전처리를 통한 도면 문자 인식 성능 개선 방법
Hussain et al. Developing Arabic license plate recognition system using artificial neural network and canny edge detection
US11715288B2 (en) Optical character recognition using specialized confidence functions
Chatbri et al. An application-independent and segmentation-free approach for spotting queries in document images
Arora et al. Custom OCR for identity documents: OCRXNet
CN115731550A (zh) 一种基于深度学习的药品说明书自动识别方法、***及存储介质
KR20090111202A (ko) 한글의 기본 구성요소인 수평선, 수직선, 사선, 원의개수와 특성치를 이용한 한글인식 방법 및 장치
Omachi et al. Structure extraction from decorated characters using multiscale images
Choudhury et al. Recognition of handwritten Bangla numerals using adaptive coefficient matching technique
Pourasad et al. Farsi font recognition using holes of letters and horizontal projection profile
Kraus et al. Segmentation-free morphological character recognition
Kronenberger et al. Text and character recognition on metal-sheets
Mahmoud et al. The use of radon transform in handwritten Arabic (Indian) numerals recognition
Aniket et al. Handwritten Gujarati script recognition with image processing and deep learning
Sahota et al. An empirical enhancement using scale invariant feature transform in text extraction from images
AlKhateeb et al. Interactive knowledge discovery for baseline estimation and word segmentation in handwritten Arabic text

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: No. 2-206, No. 1399 Liangmu Road, Cangqian Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant after: Kangxu Technology Co.,Ltd.

Address before: 310000 2-206, 1399 liangmu Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant before: Zhejiang kangxu Technology Co.,Ltd.

Country or region before: China

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant