本技术涉及深度学习,尤其涉及一种解码方法、装置、设备、介质及产品。
背景技术:
1、条形码在生活中的应用十分广泛,几乎囊括了所有商业产品。随着经济的发展,产品产量逐渐增加,对于条形码读码速度和读码准确的需求也逐渐提升。
2、目前,条形码传统解码算法有红外识别解码和图像识别解码两种路线。红外识别解码通过红外线波段对条形码黑条白条的反射波长进行区别,从而进行解码;图像识别技术通过对采集的图像,根据像素值的大小区分出条形码的条空信息,再根据解码规则进行解码。
3、传统算法是在清晰码图像的基础上根据各个码制的解码规则逐个字符翻译得到解码内容。一旦码图像模糊、有噪点、形变等情况都会影响解码结果。虽然传统算法能够快速的根据码制规则进行解码,但是实际应用场景中,能获得清晰的码图像是困难的。快速移动、光照不均等情况都会造成条形码图像质量下降,从而导致解码失败,解码率较低。
4、因此,有必要提出一种提高条形码在复杂场景下的解码率的解决方案。
技术实现思路
1、本技术的主要目的在于提供一种解码方法、装置、设备、介质及产品,旨在提高条形码在复杂场景下的解码率。
2、为实现上述目的,本技术提供一种解码方法,所述方法包括:
3、获取待解码图像;
4、基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果;
5、对所述模型推理结果进行译码操作,得到所述待解码图像对应的解码结果;
6、所述基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果的步骤包括:
7、加载所述神经网络模型两次并进行模型初始化,得到初始化后的神经网络模型;
8、读取所述待解码图像,对所述待解码图像进行前处理,得到前处理结果图像;
9、对所述前处理结果图像进行翻转,得到翻转结果图像;
10、开启双线程并运行所述初始化后的神经网络模型,分别对所述前处理结果图像及翻转结果图像进行推理,得到所述模型推理结果。
11、在一实施例中,所述方法应用于移动端,所述基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果的步骤之前还包括:
12、获取量化数据集,以及,初始化神经网络环境;
13、加载开放神经网络交换模型及所述量化数据集,通过所述神经网络环境进行模型转换,得到并导出所述神经网络模型;
14、将所述神经网络模型部署至所述移动端。
15、在一实施例中,所述获取量化数据集的步骤包括:
16、基于预设数据库生成码制图像;
17、对所述码制图像进行加扰处理,得到加扰图像,其中,所述加扰处理包括模糊、加噪声、旋转以及调节对比度中的至少一项;
18、对所述加扰图像进行前处理,得到样本图像矩阵,其中,所述前处理包括灰度化、裁剪以及归一化处理;
19、将所述样本图像矩阵保存为单一数据数组格式文件,构成所述量化数据集。
20、在一实施例中,所述导出所述神经网络模型的步骤之后还包括:
21、加载所述神经网络模型,以及,初始化神经网络芯片模拟环境;
22、获取验证测试图像,并将所述验证测试图像输入所述神经网络模型进行推理解码,得到验证测试推理结果;
23、对所述验证测试推理结果进行结果后处理,得到验证测试解码结果,并根据所述验证测试解码结果确定是否结束验证测试流程。
24、在一实施例中,所述根据所述验证测试解码结果确定是否结束验证测试流程的步骤包括:
25、判断所述验证测试解码结果与所述验证测试图像对应的内容信息是否一致;
26、若所述验证测试解码结果与所述验证测试图像对应的内容信息不一致,则通过排查所述前处理和/或后处理的代码逻辑是否正确,确定是否执行代码修改和/或重新执行模型转换;
27、若所述验证测试解码结果与所述验证测试图像对应的内容信息一致,则结束验证测试流程。
28、在一实施例中,所述模型推理结果包括概率序列,所述对所述模型推理结果进行译码操作,得到所述待解码图像对应的解码结果的步骤包括:
29、将所述概率序列输入预设的编码器;
30、通过所述编码器根据解码字典进行字符解码及码制分类匹配,得到预测字符,并根据所述预测字符确定码制信息和解码内容;
31、对所述码制信息和解码内容进行结果校验,判断所述码制信息和解码内容是否校验通过;
32、若所述码制信息和解码内容校验通过,则输出所述码制信息和解码内容作为所述待解码图像对应的解码结果。
33、此外,为实现上述目的,本技术还提出一种解码装置,所述解码装置包括:
34、获取模块,用于获取待解码图像;
35、推理模块,用于基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果;
36、译码模块,用于对所述模型推理结果进行译码操作,得到所述待解码图像对应的解码结果;
37、所述基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果包括:
38、加载所述神经网络模型两次并进行模型初始化,得到初始化后的神经网络模型;
39、读取所述待解码图像,对所述待解码图像进行前处理,得到前处理结果图像;
40、对所述前处理结果图像进行翻转,得到翻转结果图像;
41、开启双线程并运行所述初始化后的神经网络模型,分别对所述前处理结果图像及翻转结果图像进行推理,得到所述模型推理结果。
42、此外,为实现上述目的,本技术还提出一种解码设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的解码方法的步骤。
43、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的解码方法的步骤。
44、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的解码方法的步骤。
45、本技术提出的一个或多个技术方案,至少具有以下技术效果:
46、通过获取待解码图像;基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果;对所述模型推理结果进行译码操作,得到所述待解码图像对应的解码结果,通过神经网络模型对待解码图像进行处理,得到模型推理结果,并对模型推理结果进行译码操作,得到待解码图像对应的解码结果,所述基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果的步骤包括:加载所述神经网络模型两次并进行模型初始化,得到初始化后的神经网络模型;读取所述待解码图像,对所述待解码图像进行前处理,得到前处理结果图像;对所述前处理结果图像进行翻转,得到翻转结果图像;开启双线程并运行所述初始化后的神经网络模型,分别对所述前处理结果图像及翻转结果图像进行推理,得到所述模型推理结果,该方案能够在复杂场景下对待解码图像进行解码,提升复杂场景下的解码率。
1.一种解码方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述方法应用于移动端,所述基于预设的神经网络模型,对所述待解码图像进行处理,得到模型推理结果的步骤之前还包括:
3.如权利要求2所述的方法,其特征在于,所述获取量化数据集的步骤包括:
4.如权利要求2所述的方法,其特征在于,所述导出所述神经网络模型的步骤之后还包括:
5.如权利要求4所述的方法,其特征在于,所述根据所述验证测试解码结果确定是否结束验证测试流程的步骤包括:
6.如权利要求1所述的方法,其特征在于,所述模型推理结果包括概率序列,所述对所述模型推理结果进行译码操作,得到所述待解码图像对应的解码结果的步骤包括:
7.一种解码装置,其特征在于,所述装置包括:
8.一种解码设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至6中任一项所述的解码方法的步骤。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的解码方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的解码方法的步骤。