一种自学习字符识别方法与流程

文档序号:24486274发布日期:2021-03-30 21:10阅读:203来源:国知局
一种自学习字符识别方法与流程

本发明属于字符识别技术领域,具体涉及一种自学习字符识别方法。



背景技术:

目前的监控系统中广泛了字符识别功能,字符识别提供了监控场景中深层语义的理解。监控场景下,一般的字符识别工作流程是通过相机拍摄物件上的标记图像信息,然后通过识别装置中的算法进行图像中的字符识别,但是可以识别的字符种类是有限的,在系统运行过程中,如果出现了新的字符就会出现错误识别的情况。

现有的字符识别方法包括模板匹配、深度学习网络识别等方法。其中模板匹配通过在已有数据中标注一个模板区域,然后在待分类的图像中检测目标字符的位置和类别,这种方法简单易用,出现新的字符的时候可以通过快速标定模板来实现新增字符的识别,但是模板匹配在复杂环境非标准字符识别中存在准确率低的问题,这是由于模板匹配算法的泛化能力较弱。

深度学习网络识别是一种端到端的方法,可以同时实现字符定位和类别分类,泛化性能较好,但是深度学习网络需要大量的数据进行训练才能使用,不能实时的响应新增的字符识别需求。并且由于端到端的深度学习网络中的目标检测和分类之间存在特征冲突问题,识别准确率仍然存在提高的空间。



技术实现要素:

本发明的目的在于提供一种自学习字符识别方法,解决了监控管理系统中,目标物体字符识别中出现新字符识别率低的问题。

本发明的实现过程如下:

一种自学习字符识别方法,包括如下步骤:

(1)图像预处理

通过相机获取图像数据,将图像数据进行预处理;

(2)训练服务器

训练服务器包括数据集、模型训练、标签、位置检测、字符检测模型、分类模型,步骤(1)中通过相机获取图像数据同时上传数据集,当数据集的样本数量大于预设阈值时,进行模型训练,当模型训练结束后更新字符检测模型和分类模型,在使用过程中,位置检测辅助字符检测模型和分类模型;

(3)字符检测

将步骤(1)预处理之后的图像输入字符检测算法中,同时调取字符检测模型的数据从全图中检索出字符所在的位置,然后从全图中截取出字符所在的像素区域;同时将从全图中截取出字符所在的像素区域备份在更新模板库中;

(4)特征提取

将步骤(3)得到的字符所在的像素区域中每个像素区域分别送入特征提取算法中,输出每个字符对应的特征向量;

(5)分类器处理

将步骤(4)得到的每个字符对应的特征向量输入分类器算法中,同时调取分类模型的数据进行分类,输出每个字符对应的类别信息和置信度;

(6)置信度判断

逐个检查步骤(5)所检测出来的字符的置信度;

当置信度大于预先设置的阈值时,则该字符是识别正确的字符,该字符的类别就是检测出来的类别,得到识别结果;

(7)模型训练,结果识别

将步骤(6)的识别结果通过训练服务器中的模型训练传输到数据集中,其中传输的数据包括图像和字符标签。

进一步,步骤(1)中,所述预处理指的是对图像大小进行调整、对图像按照百分比剪裁、对图片的亮度进行处理、对图像添加标记框或直方图均衡。

进一步,步骤(6)中,当置信度小于预先设置的阈值时,则该字符是识别错误的字符;这时需要启用模板匹配算法识别,然后将识别结果通过训练服务器中的模型训练传输到数据集中,其中传输的数据包括图像和字符标签。

进一步,所述模板匹配算法识别的具体过程为:将步骤(6)检测出来的置信度小于预先设置的阈值的像素区域经过模板匹配算法进行识别,输出识别的分类结果和误差值;当误差值小于预先设置的阈值时,则认为该字符是模板库中的对应类别。

进一步,在启用模板匹配算法识别过程中,当误差值大于预先设置的阈值时,需要手工标记该字符为新类别,并将步骤(3)备份的字符所在的像素区域更新为新类别加入更新模板库中。

进一步,模板匹配算法的计算过程为:

模板库中的模板是一个h×w的矩阵,将检测到的字符图像区域的尺寸使用双线性变换转变为h×w,然后通过下面的公式计算类别和误差:

上式中的k取值从1到n,表示模板库中的n个模板,将待识别的字符和模板库中的所有字符逐个比对之后,取误差值e最小的模板对应的类别作为识别的结果,t是一个模板矩阵,k是模板数量,p是从原图中截取出来的矩阵,i和j代表二维矩阵的两个方向上的索引。

进一步,步骤(3)中,字符检测算法使用深度学习中端到端的yolov3算法,训练字符位置检测模型,首先收集多种字符数据,进行数据标注和数据增强,然后使用基于均方误差的梯度下降算法进行模型训练,训练完成之后将算法封装成二进制的模型文件,在推理过程加载该二进制的模型文件进行字符检测。

进一步,步骤(4)中,特征提取算法使用hog特征作为字符图像的描述,通过hog将字符图像映射为特征向量,以这个特征向量作为分类器算法的分类器的输入。

进一步,步骤(5)中,分类器算法是将特征提取算法中的特征向量作为输入,通过神经网络进行分类操作,其中神经网络的输出是一个概率分布向量,其中概率值最大的位置所对应的类别就是该字符的类别,其中最大的概率值就是本次识别的置信度。

进一步,训练服务器中训练字符检测模型使用字符检测算法,训练分类模型使用分类器算法。

本发明的积极效果:

(1)本发明方法将模板匹配和深度学习结合起来,并且将端到端的字符识别网络拆分开,独立训练字符检测和识别分类两个模型,本发明可以快速响应新增字符识别需求,并且随着数据积累识别准确率不断提升。

(2)本发明方法中引入位置检测功能,提高了程序的执行的准确性。

(3)结合模板匹配算法,从待识别的图像中提取若干特征向量与模板对应的特征向量进行比较,计算图像与模板特征之间的距离,用最小距离发判定所属类别,从而增强图像中字符识别的准确率。

附图说明

图1为本发明方法的步骤流程图;

图2为实施例1中图像预处理后示意图;

图3为实施例1中字符位置检测示意图;

图4为实施例1中从全图中截取出字符所在的像素区域示意图。

具体实施方式

下面结合实施例对本发明做进一步说明。

实施例1

本实施例自学习字符识别方法,见图1,包括如下步骤:

(1)图像预处理

通过相机获取图像数据,将图像数据进行预处理,见图2;所述预处理指的是对图像大小进行调整、对图像按照百分比剪裁、对图片的亮度进行处理、对图像添加标记框或直方图均衡。

(2)训练服务器

训练服务器包括数据集、模型训练、标签、位置检测、字符检测模型、分类模型,步骤(1)中通过相机获取图像数据同时上传数据集,当数据集的样本数量大于预设阈值时,进行模型训练,当模型训练结束后更新字符检测模型和分类模型,在使用过程中,位置检测辅助字符检测模型和分类模型;

(3)字符检测

将步骤(1)预处理之后的图像输入字符检测算法中,同时调取字符检测模型的数据从全图中检索出字符所在的位置(见图3),然后从全图中截取出字符所在的像素区域(见图4);同时将从全图中截取出字符所在的像素区域备份在更新模板库中;

(4)特征提取

将步骤(3)得到的字符所在的像素区域中每个像素区域分别送入特征提取算法中,输出每个字符对应的特征向量;

(5)分类器处理

将步骤(4)得到的每个字符对应的特征向量输入分类器算法中,同时调取分类模型的数据进行分类,输出每个字符对应的类别信息和置信度;

(6)置信度判断

逐个检查步骤(5)所检测出来的字符的置信度;

当置信度大于预先设置的阈值时,则该字符是识别正确的字符,该字符的类别就是检测出来的类别,得到识别结果;

当置信度小于预先设置的阈值时,则该字符是识别错误的字符;这时需要启用模板匹配算法识别,然后将识别结果传输到训练服务器中的数据集,其中传输的数据包括图像和字符标签。所述模板匹配算法识别的具体过程为:将步骤(6)检测出来的置信度小于预先设置的阈值的像素区域经过模板匹配算法进行识别,输出识别的分类结果和误差值;当误差值小于预先设置的阈值时,则认为该字符是模板库中的对应类别。在启用模板匹配算法识别过程中,当误差值大于预先设置的阈值时,需要手工标记该字符为新类别,并将步骤(3)备份的字符所在的像素区域更新为新类别加入更新模板库中。

(7)模型训练,结果识别

将步骤(6)的识别结果通过训练服务器中的模型训练传输到数据集中,其中传输的数据包括图像和字符标签。

本实施例中涉及的几种算法详述如下:

(一)模板匹配算法的计算过程为:

模板库中的模板是一个h×w的矩阵,将检测到的字符图像区域的尺寸使用双线性变换转变为h×w,然后通过下面的公式计算类别和误差:

上式中的k取值从1到n,表示模板库中的n个模板,将待识别的字符和模板库中的所有字符逐个比对之后,取误差值e最小的模板对应的类别作为识别的结果,t是一个模板矩阵,k是模板数量,p是从原图中截取出来的矩阵,i和j代表二维矩阵的两个方向上的索引。

(二)字符检测算法使用深度学习中端到端的yolov3算法,训练字符位置检测模型,首先收集多种字符数据,进行数据标注和数据增强,然后使用基于均方误差的梯度下降(minibatchgd)算法进行模型训练,训练完成之后将算法封装成二进制的模型文件,在推理过程加载该二进制的模型文件进行字符检测。

(三)特征提取算法使用hog特征作为字符图像的描述,通过hog将字符图像映射为特征向量,以这个特征向量作为分类器算法的分类器的输入。

(四)分类器算法是将特征提取算法中的特征向量作为输入,通过神经网络进行分类(svm)操作,其中神经网络的输出是一个概率分布向量,其中概率值最大的位置所对应的类别就是该字符的类别,其中最大的概率值就是本次识别的置信度。

本实施例的训练服务器中训练字符检测模型使用字符检测算法,训练分类模型使用分类器算法。

模板匹配可以实时响应新增的字符识别需求,但是准确率较低。深度学习端到端的识别方案中存在特征冲突问题,准确率比模板匹配高,但是需要大量数据积累才能训练。本专利结合以上两种方法,将深度学习的端到端的识别过程拆分为两部分,第一部分为字符位置检测,第二部分为字符分类识别,在新增字符的时候启用模板匹配识别过程,并且将新增的结果存入数据集中,当新增的数据集数量新增到一定数量,在远程服务器上启用自动训练过程,将新增字符识别能力加入检测模型中,然后远程下发模型。本发明方法的整个程序处理流程完全区别于传统流程,首次引入位置检测,提出并实施模板库概念和模板匹配识别;处理过程中引入模板匹配算法,首次使用端到端的yolov3算法,首次结合模板匹配算法。

以上内容是结合具体的优选实施方式对本发明所作出的进一步详细说明,不能认定本发明的具体实施仅限于这些说明。对于本发明所属领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以作出若干简单推演或替换,都应该视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1