一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

条码的定位和解码装置、方法、电子设备和存储介质与流程

2022-03-16 03:34:39 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种条码的定位和解码装置、方法、电子设备和存储介质。


背景技术:

2.目前条形码、二维码在传统的零售领域以及时新的交通、支付、自助设备上得到了广泛的应用,现在伴随着工业4.0的需求,和更精细的质量管控,原材料追溯,条形码、二维码越来越多地应用于工业领域。
3.工业领域的条码,由于材质、打码方式、照明角度等差异,条形码、二维码与传统的纸质条形码、二维码或者屏幕上的条形码、二维码相比,成像质量差,噪声大,对比度低,变形严重等,导致解码困难。根据统计,多数无法解码的原因是条码的检测和定位不准,或者是探测不到。如果要求可以准确探测到条码,并定位到条码的准确位置,那么对解码就会有很大提升,优化整个解码流程。


技术实现要素:

4.针对上述技术问题,本发明提供一种条码的定位和解码装置、方法、电子设备和存储介质,以解决现有技术中工业领域读码解码困难的问题。
5.为达上述目的,本发明提供一种条码的定位和解码装置,所述条码的定位和解码装置包括:微处理器;图像获取模块,用于采集具有条码的样本图像,对每个所述样本图像的条码区域以及条码类别进行标定,并基于标定后的所述样本图像建立训练图像数据集并存储;神经网络构建及训练模块,与所述图像获取模块连接,用于构建初始神经网络模型,并使用所述训练图像数据集对所述初始神经网络模型进行循环迭代训练获得训练后的多层神经网络模型;神经网络处理模块,所述神经网络处理模块内置于所述微处理器,并与所述神经网络构建及训练模块连接,所述神经网络处理模块用于部署训练后的多层神经网络模型,还用于将待识别图像输入训练后的多层神经网络模型,运行训练后的多层神经网络模型获取所述待识别图像的条码类别以及提取所述待识别图像的条码区域的目标图像;条码识别模块,与所述神经网络处理模块连接,用于对所述目标图像进行识别,并输出条码区域的识别结果。
6.优选地,所述条码包括二维码。
7.优选地,所述神经网络处理模块还包括检测单元,用于检测载入的所述待识别图像中是否存在条码,若检测到存在条码,所述检测单元还用于判断所述条码的条码类别。
8.优选地,所述循环迭代训练包括:获取当次迭代结束时多层神经网络模型中的每个神经元输出的权值参数;利用归一化模型对所述每个神经元输出的权值参数进行归一化处理得到新的权值参数,并将所述新的权值参数作为当次迭代结果;以及根据所述当次迭代结果进行下一轮的迭代训练直至满足训练结束条件时得到训
练后的多层神经网络模型。
9.本发明还提供一种条码的定位和解码方法,所述条码的定位和解码方法包括:步骤s1,采集具有条码的样本图像,对每个所述样本图像的条码区域以及条码类别进行标定,并基于标定后的所述样本图像建立训练图像数据集并存储;步骤s2,构建初始多层神经网络模型,并使用所述训练图像数据集对所述初始多层神经网络模型进行循环迭代训练,得到训练后的多层神经网络模型;步骤s3,将训练后的多层神经网络模型部署于神经网络处理模块上,所述神经网络处理模块内置于微处理器;步骤s4,将待识别图像输入训练后的多层神经网络模型,运行训练后的多层神经网络模型获取所述待识别图像的条码类别以及提取所述待识别图像的条码区域的目标图像;步骤s5,对所述目标图像进行识别,并输出所述条码区域的识别结果。
10.优选地,对每个所述样本图像的条码区域以及条码类别进行标定包括,利用打标工具用矩形框框出所述样本图像中的条码区域,并标注条码类别。
11.优选地,所述循环迭代训练包括:获取当次迭代结束时多层神经网络模型中的每个神经元输出的权值参数;利用归一化模型对所述每个神经元输出的权值参数进行归一化处理得到新的权值参数,并将所述新的权值参数作为当次迭代结果;以及根据所述当次迭代结果进行下一轮的迭代训练直至满足训练结束条件时得到训练后的多层神经网络模型。
12.优选地,所述根据所述当次迭代结果进行下一轮的迭代训练直至满足训练结束条件时得到训练后的多层神经网络模型包括:计算标定的条码的样本图像中的条码区域与多层神经网络模型预测的样本图像中的条码区域之间的误差率;当所述误差率低于预设误差率阈值时,确定满足训练结束条件得到训练后的多层神经网络模型,并将训练后的多层神经网络模型存储;当所述误差率高于所述预设误差率阈值时,根据所述误差率继续训练多层神经网络模型直至当所述误差率低于所述预设误差率阈值时,结束对多层神经网络模型的训练。
13.本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的条码的定位及解码方法的步骤。
14.本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的条码的定位及解码方法的步骤。
15.与现有技术相比,本发明条码的定位和解码装置是基于神经网络,此神经网络处理模块内置于芯片终端(微处理器),其分析能力、自学习和自适应能力,能够实现快速识别,本发明藉由神经网络处理模块中的多层神经网络模型能够直接从条码图像中提取出条码类型及条码区域,而由于多层神经网络模型已经完成了条码的检测和定位,后续的解码无需分析全图,而只需要专注于对应的条码区域和条码类型,这样大大减少了后续解码的计算量,并且在确知条码区域和条码类型的情况下,还可以对该区域进行更多的图像分析和处理,比如进行各种滤波、膨胀腐蚀、开闭操作、各种二值化等,直到解码成功。神经网络
加传统解码的后处理,可以发挥出一加一大于二的效果,从而大幅度提升工业读码的成功率。
附图说明
16.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1所示为根据本发明的条码的定位和解码装置的方框示意图;图2所示为根据本发明的条码的定位和解码方法的步骤流程图。
具体实施方式
18.为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
19.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
20.请参见图1,图1所示为根据本发明的条码的定位和解码装置的方框示意图,本发明提供一种条码的定位和解码装置,此条码的定位和解码装置是一种基于神经网络的条码的定位和解码装置,上述条码的定位和解码装置包括微处理器1、图像获取模块2、神经网络构建及训练模块3、神经网络处理模块4以及条码识别模块5。其中,此条码识别模块5可为传统的解码算法,上述条码例如为工业条码,可以是条形码或二维码。
21.其中,图像获取模块2用于采集具有条码的样本图像,对每个样本图像的条码区域以及条码类别进行标定,并基于标定后的样本图像建立训练图像数据集并存储。神经网络构建及训练模块3用于构建初始神经网络模型,其与所述图像获取模块2连接以接受来自于所述图像获取模块2获取的图像,并使用所述训练图像数据集对所述初始神经网络模型进行循环迭代训练获得训练后的多层神经网络模型。其中,上述多层神经网络模型的构建以及训练都是在计算机设备上配合显卡完成。
22.神经网络处理模块 (npu)4内置于所述微处理器1,为内嵌式npu,其与所述神经网络构建及训练模块3连接,并用于部署训练后的多层神经网络模型,亦即将训练后得多层神经网络模型部署于神经网络处理模块4上;以及还用于将待识别图像输入训练后的多层神经网络模型,并运行训练后的多层神经网络模型获取所述待识别图像的条码类别以及提取所述待识别图像的条码区域的目标图像。条码识别模块5与所述神经网络处理模块4连接,用于对所述目标图像进行识别,并输出条码区域的识别结果。
23.也就是说,在训练图像数据集建立后,在计算机设备(pc)上,配合显卡完成多层神经网络模型的构建,并使用所述训练图像数据集对所述初始多层神经网络模型进行循环迭代训练,以获取训练后的多层神经网络模型;然后再将此训练后的多层神经网络模型部署于神经网络处理模块上,并运行。
24.另外,在进行训练图像数据集的建立时,上述的样本图像需要有足够量,因为对于神经网络来说,少量的样本对于后续多层神经网络模型的训练来说是远远不够的。所以,需要采集大量或足够量的不同场景下包含条码的图像,在采集后将每张图像中的条码区域标记出来,并同时标记或记录条码区域(即条码的位置)以及条码类别。再者,为使神经网络得到充分的训练,覆盖所有可能的场景,图像场景组合可涵盖:图像部分残缺、图像大小不同、图像光照不同、图像背景不同、图像拍摄角度不同等。而且,较佳地,上述训练图像数据集来源实际工业中所使用的包括条码的图像。
25.另外,为了保证训练图像数据集的准确性,还可包括数据增强模块,用于对所采集的样本图像进行增强处理,例如利用图像旋转,图像扭曲,图像水平翻转,图像数据抖动(曝光、饱和度和色调等),图像尺寸等图像增强技术对训练图像数据集进行处理,从而扩大目前的数据集并扩展了数据集覆盖的场景。
26.此外,对每个样本图像的条码区域以及条码类别进行标定包括,利用打标工具用矩形框框出所述样本图像中的条码区域,并标注条码类别。其中,上述打标工具例如为图像标注工具via(vgg image annotator),标注矩形框的四个顶点坐标即反映条码在图像中的位置信息。
27.而且,训练后的多层神经网络模型掌握了检测和定位条码的能力,具备了一定的智能。内置有npu的微处理器作为算法载体,能够发挥npu的快速处理能力,将npu处理的结果送入微处理器中的解码算法。其中神经网络处理模块 (npu模块)是针对神经网络的特点,特殊设计的硬件运算单元,其可以快速进行神经网络计算,且功耗小。进行神经网络运算时,相对目前通用的cpu/gpu运算平台,所述内置式或嵌入式神经网络处理模块具有成本低、体积小、功耗低、能效比高、易于安装维护的特点;而且内置式或嵌入式神经网络处理模块能够高效运行深度学习算法,可以运行精度更高、泛化性更好的基于神经网络的条码的定位和解码方法,得到更准确稳定的识别结果。
28.进一步地,所述神经网络处理模块4还包括检测单元,检测单元用于检测载入的所述待识别图像中是否存在条码,若检测到存在条码,检测单元还用于判断所述条码的条码类别。
29.具体的,本实施方式中,将待识别图像送入神经网络处理模块4中训练后的多层神经网络模型,训练后的多层神经网络模型会检测待识别图像中是否有条码,条码的类型是什么以及条码区域(即条码所在的区域坐标),确定好条码类型,即可根据该条码类型进一步识别条码区域,然后将这些信息送入条码识别模块5,对条码区域的目标图像进行识别或解码,提取条码中的数据及信息。由于多层神经网络模型已经完成了条码的检测和定位,后续的识别或解码无需分析全图,而只需要专注于对应的条码区域和条码类型,这样大大减少了后续识别或解码的计算量,并且在确知条码区域和条码类型的情况下,还可以对该区域进行更多的图像分析和处理,比如进行各种滤波、膨胀腐蚀、开闭操作、各种二值化等,直到解码成功。亦即神经网络加传统解码的后处理,可以发挥出一加一大于二的效果,从而大幅度提升工业读码的成功率。
30.进一步地,上述神经网络构建及训练模块3在使用所述训练图像数据集对所述初始多层神经网络模型进行循环迭代训练获得训练后的多层神经网络模型的步骤中,所述循环迭代训练包括:
获取当次迭代结束时多层神经网络模型中的每个神经元输出的权值参数;利用归一化模型对所述每个神经元输出的权值参数进行归一化处理得到新的权值参数,并将所述新的权值参数作为当次迭代结果;以及根据所述当次迭代结果进行下一轮的迭代训练直至满足训练结束条件时得到训练后的多层神经网络模型。
31.而且,所述根据所述当次迭代结果进行下一轮的迭代训练直至满足训练结束条件时得到训练后的多层神经网络模型包括:计算标定的条码的样本图像中的条码区域与多层神经网络模型预测的样本图像中的条码区域之间的误差率;当所述误差率低于预设误差率阈值时,确定满足训练结束条件得到训练后的多层神经网络模型,并将训练后的多层神经网络模型存储;以及当所述误差率高于所述预设误差率阈值时,根据所述误差率继续训练多层神经网络模型直至当所述误差率低于所述预设误差率阈值时,结束对多层神经网络模型的训练。
32.请参见图2,图2所示为根据本发明的条码的定位和解码方法的步骤流程图。本发明提供一种条码的定位和解码方法,此一种条码的定位和解码方法是基于神经网络的条码的定位和解码方法,所述条码的定位和解码方法的具体操作包括如下步骤:步骤s1,采集具有条码的样本图像,对每个所述样本图像的条码区域以及条码类别进行标定,并基于标定后的所述样本图像建立训练图像数据集并存储;步骤s2,构建初始多层神经网络模型,并使用所述训练图像数据集对所述初始多层神经网络模型进行循环迭代训练,得到训练后的多层神经网络模型;步骤s3,将训练后的多层神经网络模型部署于神经网络处理模块上,所述神经网络处理模块内置于微处理器;步骤s4,将待识别图像输入训练后的多层神经网络模型,运行训练后的多层神经网络模型获取所述待识别图像的条码类别以及提取所述待识别图像的条码区域的目标图像;步骤s5,对所述目标图像进行识别,并输出所述条码区域的识别结果。
33.其中,上述条码的定位和解码方法例如采用上述条码的定位和解码方法来实现,在此不再赘述。
34.此外,相应于上面的方法实施例,本发明实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的条码的定位及解码方法的步骤。其中,上述电子设备可以以通用计算设备的形式表现,例如其可以为服务器设备。
35.在一些实施例中,所述处理器是所述电子设备的控制核心,利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块,以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。例如,所述处理器执行所述存储器中存储的计算机程序时实现本发明实施例中所述的条码的定位及解码方法的全部或者部分步骤。所述处理器可以包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
36.而上述条码的定位及解码装置中的各个模块可以是存储在所述存储器中的计算机程序,并由微处理器执行,从而实现所述各个模块的功能。
37.相应于上面的方法实施例,本发明实施例还提供了一种存储介质,其为计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的条码的定位及解码方法的步骤。其中,上述存储器可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。
38.综上所述,本发明条码的定位和解码装置是基于神经网络,此神经网络处理模块内置于芯片终端(微处理器),其分析能力、自学习和自适应能力,能够实现快速识别,本发明藉由神经网络处理模块中的多层神经网络模型能够直接从条码图像中提取出条码类型及条码区域,而由于多层神经网络模型已经完成了条码的检测和定位,后续的解码无需分析全图,而只需要专注于对应的条码区域和条码类型,这样大大减少了后续解码的计算量,并且在确知条码区域和条码类型的情况下,还可以对该区域进行更多的图像分析和处理,比如进行各种滤波、膨胀腐蚀、开闭操作、各种二值化等,直到解码成功。神经网络加传统解码的后处理,可以发挥出一加一大于二的效果,从而大幅度提升工业读码的成功率。
39.本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。此外,上面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献