一种二维码修复方法、装置、电子设备及存储介质与流程

文档序号:36403681发布日期:2023-12-16 09:18阅读:70来源:国知局
一种二维码修复方法与流程

本发明涉及图像处理,具体而言,涉及一种二维码修复方法、装置、电子设备及存储介质。


背景技术:

1、二维码技术广泛应用在生产生活的各个方面。在实际应用场景下,二维码容易受各种自然不可抗力以及人为因素影响、产生破损、脏污、模糊等缺陷,导致无法读取缺陷二维码。

2、目前,主要采用三种二维码修复方法来修复缺陷二维码。第一种二维码修复方法是在二维码中添加纠错码,对于缺陷二维码,利用纠错码这一冗余信息进行解码,第一种二维码修复方法仅适用于修复缺陷面积较小的二维码,不适用于修复缺陷面积较大致使无法识别纠错码的二维码;第二种二维码修复方法是利用滤波等数字图像处理技术对缺陷二维码的图像进行处理得到清晰二维码,第二种二维码修复方法的修复效果取决于图像质量,当缺陷二维码的图像质量较差时,第二种二维码修复方法容易失效无法修复缺陷二维码;第三种二维码修复方法是基于生成对抗神经网络来修复缺陷二维码,第三种二维码修复方式需要同时使用两个神经网络,处理复杂成本高,且只能将缺陷二维码修复为视觉上清晰的二维码,并不能保证修复的二维码与原二维码一致。可见,应用现有的二维码修复方法仍难以高效修复各种缺陷二维码。


技术实现思路

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、其中,l1loss为所述第一网络损失,gtk为所述正常二维码图像对应的特征图上的第k维度特征值,prek为所述缺陷二维码图像对应的特征图上的第k维度特征值,k=1,2,...,k,k为特征图的特征维度数;

27、所述第二网络损失为:

28、或者,

29、

30、其中,l2loss为所述第二网络损失,gtl为所述正常二维码图像中模拟缺陷区域上的第l个像素值,prel为所述修复二维码图像中缺陷区域上的第l个像素值,l=1,2,...,l,l为图像缺陷区域上的像素个数;

31、所述第三网络损失为:

32、或者,

33、

34、其中,l3loss为所述第三网络损失,gtm为所述正常二维码图像中二维码功能区域上的第m个像素值,prem为所述修复二维码图像中二维码功能区域上的第m个像素值,m=1,2,...,m,m为图像二维码功能区域上的像素个数;

35、所述第四网络损失为:

36、或者,

37、

38、其中,l4loss为所述第四网络损失,gtn为所述正常二维码图像中信息编码区域上的第n个像素值,pren为所述修复二维码图像中信息编码区域上的第n个像素值,n=1,2,...,n,n为图像信息编码区域上的像素个数。

39、在上述实现过程中,通过按照上述计算方式计算第一网络损失、第二网络损失、第三网络损失和第四网络损失,能够快速确定初始二维码修复模型的四种网络损失,进一步高效修复各种缺陷二维码。

40、进一步地,所述根据所述网络损失更新所述编码器网络、所述解码器网络和所述注意力网络的参数,具体包括:

41、对所述第一网络损失、所述第二网络损失、所述第三网络损失和所述第四网络损失加权求和后进行反向传播,更新所述编码器网络、所述解码器网络和所述注意力网络的参数;

42、重复执行训练操作,直至在最新的所述第一网络损失、最新的所述第二网络损失、最新的所述第三网络损失、最新的所述第四网络损失均达到对应的预设阈值,得到更新后的所述编码器网络、更新后的所述解码器网络和更新后的所述注意力网络。

43、在上述实现过程中,通过结合第一网络损失、第二网络损失、第三网络损失和第四网络损失更新编码器网络、解码器网络和注意力网络的参数,能够保证二维码修复模型快速准确地修复二维码的缺陷区域和无缺陷区域,进一步高效修复各种缺陷二维码。

44、进一步地,在所述基于所述二维码修复模型,对获取的二维码图像进行修复处理,得到目标二维码图像之前,还包括:

45、采用目标检测技术,根据初始二维码图像定位缺陷二维码,得到缺陷二维码的定位位置;

46、根据所述缺陷二维码的定位位置,在所述初始二维码图像中截取区域图像作为所述二维码图像。

47、在上述实现过程中,通过采用目标检测技术定位初始二维码图像中的缺陷二维码,在初始二维码图像中截取缺陷二维码所在区域的图像作为二维码图像,能够使二维码修复模型直接根据二维码图像精准修复缺陷二维码,进一步高效修复各种缺陷二维码。

48、第二方面,本发明实施例提供一种二维码修复装置,包括:

49、模型建立模块,用于按照编码器-解码器结构建立初始二维码修复模型,并训练所述初始二维码修复模型,得到二维码修复模型;

50、二维码修复模块,用于基于所述二维码修复模型,对获取的二维码图像进行修复处理,得到目标二维码图像。

51、第三方面,本发明实施例提供一种电子设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序;所述存储器与所述处理器耦接,且所述处理器执行所述计算机程序时实现如上所述的二维码修复方法。

52、第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上所述的二维码修复方法。

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