基于全卷积神经网络的高速维码定位识别系统的制作方法

文档序号:20205397发布日期:2020-03-31 10:03阅读:225来源:国知局
基于全卷积神经网络的高速维码定位识别系统的制作方法
本发明涉及一二维码识别
技术领域
,特别涉及一种基于one-stage策略全卷积神经网络的高速维码定位识别系统。
背景技术
:在日常生活和工业应用中,一二维码的使用越来越广泛,现有技术的一二维码识别方法通过全图搜索定位一维码的起始位置或者二维码的定位图案。然而对于较大尺寸的图像,如快递单、自然场景或文档等,因为一二维码在整副图像中占比较小,并且因为扫码环境的特殊性,反光、光线暗淡等情况均会影响一二维码的识别准确率和识别速度,遗漏或者检测不到一二维码特征点,进而影响到一二维码的识别速度和结果。技术实现要素:本发明提出一种基于one-stage策略全卷积神经网络的高速维码定位识别系统,旨在将卷积神经网络应用于一二维码识别系统,提高一二维码检测的实时性和准确性。为实现上述目的,本发明提出的基于one-stage策略全卷积神经网络的高速维码定位识别系统,应用于一维码和二维码的定位识别,包括:数据准备模块,用于准备训练和校验图片集;数据增强模块,用于对所述训练和校验图片集进行增强处理,扩大其目前的数据集并扩展数据集覆盖的场景;学习训练模块,用于设置神经网络的训练参数和管理神经网络的自动化训练过程;一二维码检测定位识别模块,用于通过多层卷积网络充分提取各种输入的一二维码的特征,输出特征提取图,并在输出的特征提取图上回归预测输入的一二维码的位置和类别。优选地,所述一二维码检测定位识别模块设置一特征提取网络和一位置类别检测网络;所述特征提取网络设置为多个卷积层和池化层的组合,每个卷积层包含多个卷积核滤波器用来提取输入的一二维码的特征并输出特征提取图;所述位置类别检测网络包括一卷积层,所述卷积层包含多个卷积核滤波器来对所述特征提取图的特征进行检测,并得到输入的一二维码的位置和类别。优选地,所述位置类别检测网络采用k-means算法预先对所述训练和校验图片集中的所有一二维码的尺度与宽高比例进行统计分析,得到最合适的n个匹配框,并且,在对所述特征提取图的特征进行检测时,对每一个输出特征都做n个匹配框的预测,从而预测得到输入的一二维码的位置和类别,其中n为自然数。优选地,所述位置类别检测网络采用k-means对所述训练和校验图片集中的所有一二维码的尺度与宽高比例进行统计分析,得到占比最高的10个匹配框。优选地,所述特征提取网络设置为6个卷积层和5池化层的组合,每2个卷积层中间设置有1池化层,并且,每个池化层步长为2。优选地,所述特征提取网络和位置类别检测网络的结构设置为以下表格:序号类型滤波器尺寸输入输出激活函数1卷积层163x3/1288×288×1288×288×16relu2池化层2x2/2288×288×16144×144×16relu3卷积层323x3/1144×144×16144×144×32relu4池化层2x2/2144×144×3272×72×32relu5卷积层323x3/172×72×3272×72×32relu6池化层2x2/272×72×3236×36×32relu7卷积层643x3/136×36×3236×36×64relu8池化层2x2/236×36×6418×18×64relu9卷积层1283x3/118×18×6418×18×128relu10池化层2x2/218×18×1289×9×128relu11卷积层2563x3/19×9×1289×9×256relu12卷积层351x1/19×9×2569×9×35liner优选地,所述特征提取网络和位置类别检测网络的结构设置为以下表格:序号类型滤波器尺寸输入输出激活函数1卷积层163x3/1352×352×1352×352×16relu2池化层2x2/2352×352×16176×176×16relu3卷积层323x3/1176×176×16176×176×32relu4池化层2x2/2176×176×3288×88×32relu5卷积层323x3/188×88×3288×88×32relu6池化层2x2/288×88×3244×44×32relu7卷积层643x3/144×44×3244×44×64relu8池化层2x2/244×44×6422×22×64relu9卷积层1283x3/122×22×6422×22×128relu10池化层2x2/222×22×12811×11×128relu11卷积层2563x3/111×11×12811×11×256relu12卷积层351x1/111×11×25611×11×35liner优选地,所述训练和校验图片集经过所述数据增强模块进行增强处理后,所述学习训练模块对其数据集顺序随机打乱,然后按8:2分为训练数据集和测试数据集。优选地,所述学习训练模块采用小批量梯度下降法训练神经网络。优选地,所述学习训练模块在采用小批量梯度下降法训练神经网络时,设置训练参数的批量值为64,动量配置为0.9,权值设置为0.0005,训练最大迭代次数为160000,初始学习率设置为0.001,使在迭代次数为120000和130000时分别衰减为原来的10%。与现有技术相比,本发明的有益效果是:1、本发明通过一二维码检测定位识别模块设置一特征提取网络和一位置类别检测网络,通过多层卷积网络充分提取各种输入的一二维码的特征,输出特征提取图,并在输出的特征提取图上回归预测输入的一二维码的位置和类别,可以实现对一、二维码快速,高效的识别,实现工业级应用的要求;解决了工业应用的各种复杂场景下(光照、曝光、色调、倾斜、畸变、抖动等)的条形码、二维码实时定位、检测困难的问题。2、通过数据增强模块,对所述训练和校验图片集进行增强处理,扩大其目前的数据集并扩展数据集覆盖的场景,提高了本发明的对于各种条码、二维码及复杂环境的的泛化能力,并减少了检测定位阶段图形预处理所带来的时延。3、特征提取网络设置为6个卷积层和5池化层的组合,每2个卷积层中间设置有1池化层,并且,每个池化层步长为2,充分提取训练集和测试集中任一图片上维码的特征信息,得到图片上维码的特征图;位置类别检测网络设置一卷积层,所述卷积层包含多个卷积核滤波器来对所述特征提取图的特征进行检测,并得到输入的一二维码的位置和类别。根据网络模型的测试效果来自动调整、重构下一个待测试卷积神经网络的识别系统配置,增强实时性。4、通过设置特征提取网络和位置类别检测网络的结构,使输入图片大小为288×288×1,即被检测图片先变为长宽都为288的灰度图,然后输入本发明的高速维码定位识别系统,在输入的灰度图中,图片中无论有单个或多个一二维码的类别及其位置坐标都会被同时检出;如此,构建出了优化的一二维码特征提取网络;使本发明高速维码定位识别系统可以获得>95%较高的检测识别精度,并达到了<5ms/帧或>200帧/秒的工业级的检测速率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。图1为本发明高速维码定位识别系统示意图;图2为本发明高速维码定位识别系统学习训练方法流程图;图3为本发明学习训练模块构建神经网络的方法流程图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式本发明提出一种基于one-stage策略全卷积神经网络的高速维码定位识别系统,应用于一维码和二维码的定位识别,如图1所示,包括:数据准备模块,用于准备训练和校验图片集;其中,数据准备模块准备训练和校验图片集,即采集大量各种场景下,不同光照、大小的包含一个或者多个一二维码的图片;并且,在采集后生成训练和校验数据集,即将训练和校验图片集中的每一张图片中的一二维码标记出来,生成一个对应的label文件,记录此张图片中一二维码的位置和类别。为使神经网络得到充分的训练,覆盖所有可能的场景,所述数据准备模块收集图片上的维码组合类型包括:单个一维码、单个二维码、多个一维码、多个二维码、单个一维码和多个二维码、多个一维码和单个二维码、多个一维码和多个二维码;图片场景组合涵盖:图片部分残缺、图片大小不同、图片光照不同、图片背景不同、图片拍摄角度不同。数据增强模块,用于对所述训练和校验图片集进行增强处理,扩大其目前的数据集并扩展数据集覆盖的场景;其中,数据增强模块主要是对训练数据使用:图像旋转、图像扭曲、图像水平翻转,图像数据抖动(曝光、饱和度和色调等),图像尺寸等图像增强技术对训练和校验集进行处理,扩大了目前的数据集并扩展了数据集覆盖的场景。提高了被训练的卷积神经网络的泛化能力和鲁棒性。所述训练和校验图片集经过所述数据增强模块进行增强处理后,所述学习训练模块对其数据集顺序随机打乱,然后按8:2分为训练数据集和测试数据集。本实施例中数据准备模块收集5000张不同场景、带有不同种类维码组合的图片,数据增强模块对图片进行多次图像旋转、图像扭曲、图像水平翻转、图像数据抖动处理,拓展数据集中覆盖场景和数量。例如,将图片进行三次水平旋转、两次图像扭曲、两次水平翻转、三次图像数据抖动处理(例如:曝光、饱和度和调色处理),将5000张图片采用数据增强技术10倍拓展至50000张图片,得到40000张图片的训练数据集和20000张图片的测试数据集。一二维码检测定位识别模块,用于通过多层卷积网络充分提取各种输入的一二维码的特征,输出特征提取图,并在输出的特征提取图上回归预测输入的一二维码的位置和类别。所述一二维码检测定位识别模块设置一特征提取网络和一位置类别检测网络;所述特征提取网络设置为多个卷积层和池化层的组合,每个卷积层包含多个卷积核滤波器用来提取输入的一二维码的特征并输出特征提取图;所述位置类别检测网络包括一卷积层,所述卷积层包含多个卷积核滤波器来对所述特征提取图的特征进行检测,并得到输入的一二维码的位置和类别。本实施例中,所述特征提取网络设置为6个卷积层和5池化层的组合,每2个卷积层中间设置有1池化层,并且,每个池化层步长为2,实现图片的2倍下采样,进一步抽象一二码的高级特征,得到特征提取效果更全面的特征提取图。如表1所示,为特征提取网络和位置类别检测网络的其中一结构设置,其中,前1-11项为特征提取网络结构,第12项为位置类别检测网络结构。表1序号类型滤波器尺寸输入输出激活函数1卷积层163x3/1352×352×1352×352×16relu2池化层2x2/2352×352×16176×176×16relu3卷积层323x3/1176×176×16176×176×32relu4池化层2x2/2176×176×3288×88×32relu5卷积层323x3/188×88×3288×88×32relu6池化层2x2/288×88×3244×44×32relu7卷积层643x3/144×44×3244×44×64relu8池化层2x2/244×44×6422×22×64relu9卷积层1283x3/122×22×6422×22×128relu10池化层2x2/222×22×12811×11×128relu11卷积层2563x3/111×11×12811×11×256relu12卷积层351x1/111×11×25611×11×35liner所述位置类别检测网络采用k-means算法预先对所述训练和校验图片集中的所有一二维码的尺度与宽高比例进行统计分析,得到最合适的n个匹配框,并且,在对所述特征提取图的特征进行检测时,对每一个输出特征都做n个匹配框的预测,从而预测得到输入的一二维码的位置和类别,其中n为自然数。由于特征提取图上每个网格都需做多次回归,若匹配框集合过大,会影响检测速度;若匹配框集合集合太小,特征提取图未能被全面覆盖,又会影响检测的精度和召回率。优选地,位置类别检测网络选取占比最高的10个匹配框构成预测候选集,在优化重构网络过程中再最终确定采用的匹配框子集。学习训练模块,用于设置神经网络的训练参数和管理神经网络的自动化训练过程。其中,本发明还提供了一种应用于高速维码定位识别系统的学习训练方法,如图2所示,在通过数据准备模块采集收集到的图片,通过数据增强模块进行图片增强处理并拓展,然后按8:2分为训练数据集和测试数据集,其中,将训练数据集输入学习训练模块进行学习训练,通过学习训练模块中存储的神经网络模型进行学习训练,并且,在学习训练后,评估学习训练所使用的神经网络模型的性能,判断其loss是否过高并欠拟合,如果是的话,则需要重新构建神经网络模型,构建的神经网络模型重新判断其loss是否过高并欠拟合,直至其判断为否;如果判断结果为否,则输入测试数据集,校验所使用的网络模型的性能,看其性能是否优于一个所使用的神经网络模型,是,则对该网络模型进行存储,如果否,则继续重新构建神经网络模型,直至其遍历全部训练过程后结束。其中,所述学习训练模块在进行学习训练时,是采用小批量梯度下降法来训练神经网络。具体地,所述学习训练模块在采用小批量梯度下降法训练神经网络时,设置训练参数的批量值为64,动量配置为0.9,权值设置为0.0005,训练最大迭代次数为160000,初始学习率设置为0.001,使在迭代次数为120000和130000时分别衰减为原来的10%。并且,在上述应用于高速维码定位识别系统的学习训练方法的基础上,本发明还提供了一种集自动化训练、校验、重构于一体的神经网络构建方法,该方法应用于在学习训练后,评估学习训练所使用的神经网络模型的性能时,判断其loss是过高并欠拟合时,用于重新构建神经网络模型。具体地,本神经网络构建方法执行步骤如下:a.系统自动设置一初始网络模型,本实施例中按照表1中的方式设置网络模型的特征提取网络和位置类别检测网络。初始网络模型批量读取训练集中图片信息,开始训练。训练过程中,神经网络识别定位系统自动评估当前神经网络性能,判断其loss是否过高并欠拟合;若评估结果为是,则增加特征提取网络的网络层数、滤波器个数或网络模型输入图像尺寸来优化重构网络模型,并用优化重构网络模型继续进行训练;若评估结果为否,则保留重构网络模型于模型库中,并将当前网络模型用测试数据集进行校验。在采用测试数据集对网络模型进行校验之前,还需判断当前网络模型是否过拟合,本发明设置拟合门限为3%,即测试集的检测精度低于训练集的检测精度3%为过拟合。若过拟合则减少所述初始网络模型的网络层数、滤波器个数、加入batchnormal层,并用优化重构网络模型继续进行训练。其中batchnormal层为神经网络的一种通用层,对神经网络的每一层输入数据x(k)做归一化处理,用于防止过拟合。归一化处理公式如下:其中:e[x(k)]为输入数据均值;sqrt(var[x(k)])为标准差。b.采用测试数据集对网络模型进行校验时,其具体执行为:检测网络模型的检测速度和检测精度,并将其与神经网络识别定位系统中上一个存储网络模型的检测速度和检测精度进行对比;当其检测精度低于所述存储网络模型时,增大模型输入图像尺寸、增加网络层数、滤波器个数,并用优化重构网络模型继续进行训练;当其检测精度高于所述存储网络模型时,减小模型输入图像尺寸、增加网络层数、滤波器个数,并用优化重构网络模型继续进行训练;当其检测精度达到预设标准,并且,其检测速度高于或低于所述存储网络模型时,减少初始网络模型的网络层数、滤波器个数或减小模型输入图像尺寸来优化重构网络模型,并用优化重构网络模型继续进行训练;在将当前优化重构的网络模型与模型库中存储的网络模型进行对比时,当其检测速度高于所述存储网络模型,或其检测精度高于所述存储网络模型时,还分别将前优化重构的网络模型配置(即网络结构)及其训练好的权重参数存储于所述模型库中。c.取所述模型库中储存的效果较优的若干优化重构网络模型,对每一优化重构网络模型取不同的匹配框集继续训练,选取检测精度和召回率最高的网络模型作为最优网络模型。如表2和表3所示,分别为训练过程中两种重构网络模型的特征提取网络和位置类别检测网络结构。表2序号类型滤波器尺寸输入输出激活函数1卷积层163x3/1224×224×1224×224×16relu2池化层2x2/2224×224×16112×112×16relu3卷积层323x3/1112×112×16112×112×32relu4池化层2x2/2112×112×3256×56×32relu5卷积层323x3/156×56×3256×56×32relu6池化层2x2/256×56×3228×28×32relu7卷积层643x3/128×28×3228×28×64relu8池化层2x2/228×28×6414×14×64relu9卷积层1283x3/114×14×6414×14×128relu10池化层2x2/214×14×1287×7×128relu11卷积层2563x3/17×7×1287×7×256relu12卷积层351x1/17×7×2569×9×35liner表3序号类型滤波器尺寸输入输出激活函数1卷积层163x3/1288×288×1288×288×16relu2池化层2x2/2288×288×16144×144×16relu3卷积层323x3/1144×144×16144×144×32relu4池化层2x2/2144×144×3272×72×32relu5卷积层323x3/172×72×3272×72×32relu6池化层2x2/272×72×3236×36×32relu7卷积层643x3/136×36×3236×36×64relu8池化层2x2/236×36×6418×18×64relu9卷积层1283x3/118×18×6418×18×128relu10池化层2x2/218×18×1289×9×128relu11卷积层2563x3/19×9×1289×9×256relu12卷积层351x1/19×9×2569×9×35liner如表4所示,模型i至模型ⅴ分别为现有技术中yolov3神经网络、yolov3tiny神经网络、表1、表2和表3五种网络模型。表4根据表4中的检测效果判断,模型ⅴ为最优网络模型,即在测试图片长宽分别为640和480、图片为灰度图的情况下,网络模型输入288×288×1(长×宽×通道数)的特征图,检测效果最优,即检测图片要先变为长、宽都为288的灰度图,然后通过网络模型定位、识别条码特征图,图片中无论有单个或多个一二维码的类别及其位置坐标都会被同时检出,检测识别精度>95%,检测速度<5ms/帧。相比于现有技术中的yolov3神经网络,模型ⅴ检测速度相比于现有技术中的yolov3神经网络要快40多倍、yolov3tiny神经网络要快近10倍。其中yolov3神经网络需106层网络结构,占用200多mb存储空间,yolov3tiny神经网络需23层网络结构,也需占用35mb存储空间,本发明模型ⅴ结构简单,只有2mb左右,占用储存空间少,非常适用工业检测设备中的多网络、多功能、分布式检测的布局。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的
技术领域
均包括在本发明的专利保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1