一种基于深度学习的计算机视觉0-O识别方法技术

技术编号:20390743 阅读:19 留言:0更新日期:2019-02-20 03:11
本发明专利技术公开了一种一种基于深度学习的计算机视觉0‑O识别方法,包含以下步骤:步骤一:图片预处理,对原始数据集进行二值化、水平切割、垂直切割从而得到训练样本,并且为训练样本打标签,制作tfrecord数据集;步骤二:通过CNN网络,从每个训练样本图片提取特征向量;步骤三:将步骤二得到的神经元填充到一个SoftMax函数,输出每一个类别条件概率,用于识别0‑O。本发明专利技术准确率高且训练时间短。

【技术实现步骤摘要】
一种基于深度学习的计算机视觉0-O识别方法
本专利技术涉及一种0-O识别方法,特别是一种基于深度学习的计算机视觉0-O识别方法。
技术介绍
特征很重要。在深度学习方法出现之前,基于传统的手工设计特征(HandcraftFeatures),包括基于连通区域,以及基于HOG的检测框描述的方法是比较主流的;如通过最大稳定极值区域(MSER-MaximallyStableExtremalRegions)得到字符的候选,并将这些字符候选看作连通图(graph)的顶点,此时就可以将文本行的寻找过程视为聚类(clustering)的过程,因为来自相同文本行的文本通常具有相同的方向、颜色、字体以及形状。传统方法对于图片的一个预处理:对包含字符的图像进行处理以便后续进行特征提取、学习。这个过程的主要目的是减少图像中的无用信息,以便方便后面的处理。在这个步骤通常有:灰度化(如果是彩色图像)、降噪、二值化、字符切分以及归一化这些子步骤。经过二值化后,图像只剩下两种颜色,即黑和白,其中一个是图像背景,另一个颜色就是要识别的字符了。降噪在这个阶段非常重要,降噪算法的好坏对特征提取的影响很大。字符切分则是将图像中的字符分割成单个字符——识别的。如果字符行有倾斜的话往往还要进行倾斜校正。归一化则是将单个的字符图像规整到同样的尺寸,在同一个规格下,才能应用统一的算法。特征提取(方法多种多样例如pca、sift等等):特征是用来识别字符的关键信息,每个不同的字符都能通过特征来和其他字符进行区分。对于数字和英文字母来说,这个特征提取是比较容易的,因为数字只有10个,英文字母只有52个,都是小字符集。分类器设计、训练和实际识别:分类器是用来进行识别的,对一个字符图像,提取出特征给,输入给分类器,分类器就对其进行分类,得出这个特征该识别成哪个数字及字母。对于传统识别的方法,对于难鉴别的0和O字符,因为特征提取后分类的精度并不高。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于深度学习的计算机视觉0-O识别方法,准确率高且训练时间短。为解决上述技术问题,本专利技术所采用的技术方案是:一种基于深度学习的计算机视觉0-O识别方法,其特征在于包含以下步骤:步骤一:图片预处理,对原始数据集进行二值化、水平切割、垂直切割从而得到训练样本,并且为训练样本打标签,制作tfrecord数据集;步骤二:通过CNN网络,从每个训练样本图片提取特征向量;步骤三:将步骤二得到的神经元填充到一个SoftMax函数,输出每一个类别条件概率,用于识别0-O。进一步地,所述步骤一具体为1.1提供的原始图片不复杂,只需要进行二值化处理,并把需要的数字0和字母O从原始图片上进行垂直切割,再对切割出来的字符样本进行水平切割,切除多余的背景部分;1.2对分割出来的0-O样本图片进行标签标注并制作成tfrecord数据集。进一步地,所述1.1中垂直切割和水平切割的具体过程为基于像素点的分布,对每张二值化后的原始图片,分别从左到右扫描每一列中的上到下的每个像素点,当扫描每一列中扫描到了有像素点的变化即从无到有像素点,则对这一列的坐标进行一个标记1,再继续扫描,当又扫描到了有像素点的变化即从有到无像素点,我们再对这一列进行一个标记2,然后我们把标记1及标记2之间的区域进行分割出来,从而分割出原始图片的每个字符了,因为原始图片的字符都是单个之间有间隔的,所以不存在切割出来的有两个以上连着的字符,然后再通过之前的方法扫描像素点,对单个字符图片切除上下多余的背景。进一步地,所述步骤一中,对制作好的数据集,采用队列方式进行数据读取,读取线程源源不断地将文件系统中的图片读入到一个内存的队列中,而负责计算的是另一个线程,计算需要数据时,直接从内存队列中取,从而解决了GPU因为IO而空闲的问题;继而生成batch,然后输入到CNN网络中进行训练。进一步地,所述步骤二中CNN采用LeNet5网络结构。进一步地,所述LeNet5网络结构包含2.1输入:32*32=1024的0-O字符图片,相当于1024个神经元,字符图片包含数字0以及字母O,即2个类别的图片;2.2C1层:选择16个特征卷积核,然后卷积核大小选择5*5,得到16个特征图,然后每个特征图的大小为32-5+1=28,即神经元的个数为16*28*28=12544;2.3S2层:下采样层,使用最大池化进行下采样,池化的滤波器大小f选择(2,2),步长stride为2,得到输出大小为14*14的16张图片;2.4C3层:卷积层,选择卷积核的大小为5*5,得到大小为14-5+1=10的图片,此处采用16个卷积核,最终输出16张10*10的图片;2.5S4层:下采样层,对C3层的16张10*10的图片进行最大池化,池化的滤波器大小f选择(2,2),步长stride为2,最后S4层为16张大小为5*5的图片,至此神经元个数减少为:16*5*5=400;2.6C5层:将S4层的输出平铺为一个400的一维向量,然后用这400个神经元构建下一层,C5层有120个神经元,S4层的400个神经元与C5层的每一个神经元相连,得到全连接层,可看作一个标准的神经网络层;2.7F6层:对C5层的120个神经元再添加一个全连接层。进一步地,所述步骤三具体为将步骤二中最后得出的神经元填充到一个SoftMax函数,得到输出长度为2的向量,向量中为1的位置代表所属类别,从而判断0-O。本专利技术与现有技术相比,具有以下优点和效果:本专利技术的基于深度学习的计算机视觉0-O识别方法在特征提取方面采用了深度学习的CNN网络模型对其提取特征,再采取分类器进行训练以及测试识别,精度上有很好的提高;训练时数据的读取方式采用制作成tfrecord数据集再使用queue读取的方式,解决了在学习或工程训练过程中因训练时长导致的费时的问题,缩短了训练时间;通过实验证明,本专利技术准确率可以达到99%以上,比传统方式提高了10-20%,而且通过改变数据读取的方式也大大缩短了训练时间。具体实施方式下面通过实施例对本专利技术作进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。本专利技术的一种基于深度学习的计算机视觉0-O识别方法,包含以下步骤:步骤一:图片预处理,对原始数据集进行二值化、水平切割、垂直切割从而得到训练样本,并且为训练样本打标签,制作tfrecord数据集;我们的数据集是工业上给予的一些原始图片(500张序列号图片),数量非常少。对此对于小数据集的一个训练识别来说,我们采取了数据增强,数据清洗的方式来增加我们的数据集。比如说数据图片进行翻转变换、随机修剪、色彩抖动、平移变换、尺度变换、对比度变换、噪声扰动、旋转变换/反射变换等,每样方式增加了10张我们的样本数据集。我们就可以得到了5万张样本图片。1.1提供的原始图片不复杂,只需要进行二值化处理,并把需要的数字0和字母O从原始图片上进行垂直切割,再对切割出来的字符样本进行水平切割,切除多余的背景部分;基于像素点的分布,对每张二值化后的原始图片,分别从左到右扫描每一列中的上到下的每个像素点,当扫描每一列中扫描到了有像素点的变化即从无到有像素点,则对这一列的坐标进行一个标记1,再继续扫描,当又扫描到了有像素点的变化即从有到无像素点,本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的计算机视觉0‑O识别方法,其特征在于包含以下步骤:步骤一:图片预处理,对原始数据集进行二值化、水平切割、垂直切割从而得到训练样本,并且为训练样本打标签,制作tfrecord数据集;步骤二:通过CNN网络,从每个训练样本图片提取特征向量;步骤三:将步骤二得到的神经元填充到一个SoftMax函数,输出每一个类别条件概率,用于识别0‑O。

【技术特征摘要】
1.一种基于深度学习的计算机视觉0-O识别方法,其特征在于包含以下步骤:步骤一:图片预处理,对原始数据集进行二值化、水平切割、垂直切割从而得到训练样本,并且为训练样本打标签,制作tfrecord数据集;步骤二:通过CNN网络,从每个训练样本图片提取特征向量;步骤三:将步骤二得到的神经元填充到一个SoftMax函数,输出每一个类别条件概率,用于识别0-O。2.按照权利要求1所述的一种基于深度学习的计算机视觉0-O识别方法,其特征在于:所述步骤一具体为1.1提供的原始图片不复杂,只需要进行二值化处理,并把需要的数字0和字母O从原始图片上进行垂直切割,再对切割出来的字符样本进行水平切割,切除多余的背景部分;1.2对分割出来的0-O样本图片进行标签标注并制作成tfrecord数据集。3.按照权利要求2所述的一种基于深度学习的计算机视觉0-O识别方法,其特征在于:所述1.1中垂直切割和水平切割的具体过程为基于像素点的分布,对每张二值化后的原始图片,分别从左到右扫描每一列中的上到下的每个像素点,当扫描每一列中扫描到了有像素点的变化即从无到有像素点,则对这一列的坐标进行一个标记1,再继续扫描,当又扫描到了有像素点的变化即从有到无像素点,我们再对这一列进行一个标记2,然后我们把标记1及标记2之间的区域进行分割出来,从而分割出原始图片的每个字符了,因为原始图片的字符都是单个之间有间隔的,所以不存在切割出来的有两个以上连着的字符,然后再通过之前的方法扫描像素点,对单个字符图片切除上下多余的背景。4.按照权利要求1所述的一种基于深度学习的计算机视觉0-O识别方法,其特征在于:所述步骤一中,对制作好的数据集,采用队列方式进行数据读取,读取线程源源不断地将文件系统中的图片读入到一个内存的队列中,而负责计算的是另一个线程,计算需要数据时,直接从内存队列中取,从而解决了GP...

【专利技术属性】
技术研发人员:刘华珠林盛鑫陈雪芳赵晓芳
申请(专利权)人:东莞理工学院
类型:发明
国别省市:广东,44

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

1