当前位置: 首页 > 专利查询>深圳大学专利>正文

一种基于深度神经网络的OCR识别方法及装置制造方法及图纸

技术编号:22884766 阅读:28 留言:0更新日期:2019-12-21 07:35
本发明专利技术提供一种基于深度神经网络的OCR识别方法及装置,所述方法包括:将图片输入区域生产网络,生成不同的目标候选框;通过角度参数Θ随机调整部分目标候选框;利用ROIAlign表示全部所述目标候选框的特征;使用Fast R‑CNN对所述目标候选框的候选区进行分类,通过字符分割网络Mask branch对待识别的所述候选区进行字符分割;基于CNN网络识别分割后的所述字符;将被遮挡或损坏的字符逐一输入Bi‑RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果;将分割后的全部字符按序整体输出及显示。本发明专利技术的方案,在面对复杂的实际应用情况时,具有强鲁棒性,对于被遮挡或损坏导致识别不出的字符进行预测,显示出准确率高的完整的文本信息,提高了OCR检测的性能及实用性。

OCR recognition method and device based on depth neural network

【技术实现步骤摘要】
一种基于深度神经网络的OCR识别方法及装置
本专利技术涉及计算机图像处理领域,尤其涉及一种基于深度神经网络的OCR识别方法及装置,特别涉及一种基于深度神经网络的对被遮挡的图像进行OCR识别的方法及装置。
技术介绍
目前,OCR(OpticalCharacterRecognition,光学字符识别)技术迅速发展,通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入信息。上述技术可应用于银行票据、大量文字资料、档案卷宗、文案的录入和处理。随着OCR技术的成熟,已经可以将其运用到背景较为复杂的街道标识识别中,如图1所示。但是,如果广告牌被遮挡一部分,如图2所示,现有的OCR技术无法识别被遮挡的部分,而只能识别图中所显示的部分。即现有技术中的OCR技术无法识别例如广告牌部分破损或遮挡的字符。为了提高OCR技术在实际应用中面对的各种不同情况,有必要对现有的OCR识别方法进行改进,使其具有强鲁棒性,以适应多种不同的实际应用情况。
技术实现思路
为解决上述技术问题,本专利技术提出了一种基于深度神经网络的OCR识别方法及装置,用以解决现有技术中不能对部分破损或遮挡的字符进行识别的技术问题。根据本专利技术的第一方面,提供一种基于深度神经网络的OCR识别方法,包括:步骤S301:将图片输入区域生产网络(RPN),生成不同的目标候选框;通过角度参数Θ随机调整部分目标候选框,使得调整后的所述目标候选框发生倾斜;其中,参数Θ为所述目标候选框底边与水平线的夹角;步骤S302:利用ROIAlign表示全部所述目标候选框的特征;步骤S303:使用快速区域卷积神经网络(FastR-CNN)对所述目标候选框的候选区进行分类,通过字符分割网络掩模分支(Maskbranch)对待识别的所述候选区进行字符分割;步骤S304:基于CNN网络识别分割后的所述字符;步骤S305:判断所述分割后的所述字符是否存在被遮挡或损坏的字符,若是,进入步骤S306,若否,进入步骤S307;步骤S306:将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果;步骤S307:将分割后的全部字符按序整体输出及显示。进一步地,角度参数Θ设置为5°,10°,15°,20°,30°,角度的设置可以丰富目标候选框的类型。进一步地,所述步骤S305:判断所述分割后的所述字符是否存在被遮挡或损坏的字符,若是,进入步骤S306,若否,进入步骤S307,包括:使用两个相互结合的标准判断分割后的字符是否存在被遮挡或损坏的字符:标准一:训练CNN模型,训练该CNN模型的训练数据为10个数字、包含大小写的52个字母、以及被遮挡的样本数据,训练模型时将所述被遮挡的样本数据归为一个类别;使用训练好的CNN模型对输入的所述分割后的所述字符进行判断,获得判断结果r1;标准二:根据所述分割后的所述字符的像素值的差异进行判断;对所述图片共分割出n个字符,分割后每一个字符bbox部分的像素平均值依次为Q1,Q2,…Qn,bbox是一个四维向量(x,y,w,h),其中x,y表示边框的左顶点坐标,w,h表示边框的宽和长;定义被遮挡的字符候选为Qi=max{Q1,Q2,…Qn}和Qj=min{Q1,Q2,…Qn},所述判断r1表明第x个分割部分为遮挡部分或损坏部分,当x等于i或j时,则认为第x个分割部分对应的字符被遮挡或损坏;当x不等于i或j时,则通过第x个分割部分的预测概率进行判断,若预测概率P(x)大于0.5,则认为该第x个分割部分对应的字符被遮挡或损坏;否则认为该第x个分割部分对应的字符没有被遮挡或损坏;其中,Z表示CNN网络的全连接层的输出,是一个n维向量,n表示的是网络区分的n个类别,Z={Z1,Z2,…,Zn}。进一步地,所述步骤S306:将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果,包括:对于所述被遮挡或损坏的字符中的每一个,使用由两个单向RNN结合的双向RNN神经网络(Bi-RNN);在每一时刻t,输入会同时提供给两个方向相反的RNN,输出是由这两个方向相反的RNN共同决定的;所述双向RNN神经网络(Bi-RNN)的预期层要保存A和A'两个值,其中的A参与正向计算,A'参与反向计算:其中,Ai=f(WAi-1+Uxi)A′i=f(W′A′i+1+Uxi)oi=g(VAi+VA′i)其中,W、U、V、W′都是共享权重;基于正向计算和反向计算,预测出所述被遮挡或损坏的字符,最终的输出取决于正向计算和反向计算的结果加和。根据本专利技术第二方面,提供一种基于深度神经网络的OCR识别装置,包括:目标候选框生成模块:用于将图片输入区域生产网络(RPN),生成不同的目标候选框;通过角度参数Θ随机调整部分目标候选框,使得调整后的所述目标候选框发生倾斜;其中,参数Θ为所述目标候选框底边与水平线的夹角;特征提取模块:用于利用ROIAlign表示全部所述目标候选框的特征;字符分割模块:用于使用快速区域卷积神经网络(FastR-CNN)对所述目标候选框的候选区进行分类,通过字符分割网络掩模分支(Maskbranch)对待识别的所述候选区进行字符分割;字符识别模块:用于基于CNN网络识别分割后的所述字符;判断模块:用于判断所述分割后的所述字符是否存在被遮挡或损坏的字符;预测模块:用于将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果;输出及显示模块:用于将分割后的全部字符按序整体输出及显示。进一步地,角度参数Θ设置为5°,10°,15°,20°,30°,角度的设置可以丰富目标候选框的类型。进一步地,所述判断模块使用两个相互结合的标准判断分割后的字符是否存在被遮挡或损坏的字符,所述判断模块包括:标准一子模块:用于训练CNN模型,训练该CNN模型的训练数据为10个数字、包含大小写的52个字母、以及被遮挡的样本数据,训练模型时将所述被遮挡的样本数据归为一个类别;使用训练好的CNN模型对输入的所述分割后的所述字符进行判断,获得判断结果r1;标准二子模块:用于根据所述分割后的所述字符的像素值的差异进行判断;对所述图片共分割出n个字符,分割后每一个字符bbox部分的像素平均值依次为Q1,Q2,…Qn,bbox是一个四维向量(x,y,w,h),其中x,y表示边框的左顶点坐标,w,h表示边框的宽和长;定义被遮挡的字符候选为Qi=max{Q1,Q2,…Qn}和Qj=min{Q1,Q2,…Qn},所述判断r1表明第x个分割部分为遮挡部分或损坏部分,当x等于i或j时,则认为第x个分割部分对应的字符被遮挡或损坏;当x不等于i或j时,则通过第x个分割部分的预测概率进行判断,若预测本文档来自技高网...

【技术保护点】
1.一种基于深度神经网络的OCR识别方法,其特征在于,所述方法包括:/n步骤S301:将图片输入区域生产网络(RPN),生成不同的目标候选框;通过角度参数Θ随机调整部分目标候选框,使得调整后的所述目标候选框发生倾斜;其中,参数Θ为所述目标候选框底边与水平线的夹角;/n步骤S302:利用ROIAlign表示全部所述目标候选框的特征;/n步骤S303:使用快速区域卷积神经网络(Fast R-CNN)对所述目标候选框的候选区进行分类,通过字符分割网络掩模分支(Mask branch)对待识别的所述候选区进行字符分割;/n步骤S304:基于CNN网络识别分割后的所述字符;/n步骤S305:判断所述分割后的所述字符是否存在被遮挡或损坏的字符,若是,进入步骤S306,若否,进入步骤S307;/n步骤S306:将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果;/n步骤S307:将分割后的全部字符按序整体输出及显示。/n

【技术特征摘要】
1.一种基于深度神经网络的OCR识别方法,其特征在于,所述方法包括:
步骤S301:将图片输入区域生产网络(RPN),生成不同的目标候选框;通过角度参数Θ随机调整部分目标候选框,使得调整后的所述目标候选框发生倾斜;其中,参数Θ为所述目标候选框底边与水平线的夹角;
步骤S302:利用ROIAlign表示全部所述目标候选框的特征;
步骤S303:使用快速区域卷积神经网络(FastR-CNN)对所述目标候选框的候选区进行分类,通过字符分割网络掩模分支(Maskbranch)对待识别的所述候选区进行字符分割;
步骤S304:基于CNN网络识别分割后的所述字符;
步骤S305:判断所述分割后的所述字符是否存在被遮挡或损坏的字符,若是,进入步骤S306,若否,进入步骤S307;
步骤S306:将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果;
步骤S307:将分割后的全部字符按序整体输出及显示。


2.如权利要求1所述的基于深度神经网络的OCR识别方法,其特征在于,角度参数Θ设置为5°,10°,15°,20°,30°,角度的设置可以丰富目标候选框的类型。


3.如权利要求1所述的基于深度神经网络的OCR识别方法,其特征在于,所述步骤S305:判断所述分割后的所述字符是否存在被遮挡或损坏的字符,若是,进入步骤S306,若否,进入步骤S307,包括:
使用两个相互结合的标准判断分割后的字符是否存在被遮挡或损坏的字符:
标准一:训练CNN模型,训练该CNN模型的训练数据为10个数字、包含大小写的52个字母、以及被遮挡的样本数据,训练模型时将所述被遮挡的样本数据归为一个类别;使用训练好的CNN模型对输入的所述分割后的所述字符进行判断,获得判断结果r1;
标准二:根据所述分割后的所述字符的像素值的差异进行判断;对所述图片共分割出n个字符,分割后每一个字符bbox部分的像素平均值依次为Q1,Q2,…Qn,bbox是一个四维向量(x,y,w,h),其中x,y表示边框的左顶点坐标,w,h表示边框的宽和长;定义被遮挡的字符候选为Qi=max{Q1,Q2,…Qn}和Qj=min{Q1,Q2,…Qn},所述判断r1表明第x个分割部分为遮挡部分或损坏部分,当x等于i或j时,则认为第x个分割部分对应的字符被遮挡或损坏;当x不等于i或j时,则通过第x个分割部分的预测概率进行判断,若预测概率P(x)大于0.5,则认为该第x个分割部分对应的字符被遮挡或损坏;否则认为该第x个分割部分对应的字符没有被遮挡或损坏;



其中,Z表示CNN网络的全连接层的输出,是一个n维向量,n表示的是网络区分的n个类别,Z={Z1,Z2,…,Zn}。


4.如权利要求1所述的基于深度神经网络的OCR识别方法,其特征在于,所述步骤S306:将所述被遮挡或损坏的字符逐一输入Bi-RNN神经网络,预测所述被遮挡或损坏的字符,显示预测结果,包括:
对于所述被遮挡或损坏的字符中的每一个,使用由两个单向RNN结合的双向RNN神经网络(Bi-RNN);
在每一时刻t,输入会同时提供给两个方向相反的RNN,输出是由这两个方向相反的RNN共同决定的;
所述双向RNN神经网络(Bi-RNN)的预期层要保存A和A'两个值,其中的A参与正向计算,A'参与反向计算:
其中,
Ai=f(WAi-1+Uxi)
A′i=f(W′A′i+1+Uxi)
oi=g(VAi+VA′i)
其中,W、U、V、W′都是共享权重;基于正向计算和反向计算,预测出所述被遮挡或损坏的字符,最终的输出取决于正向计算和反向计算的结果加和。


5.一种基于深度神经网络的OCR识别装置,其特征在于,所述装置包括:
目标候选框生成模块:用于将图片输入区域生产网络(RPN),生成不同的目标候选...

【专利技术属性】
技术研发人员:曹文明刘启凡何志权
申请(专利权)人:深圳大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1