一种用于区块链存储的商品指纹特征压缩的方法与流程

文档序号:21848035发布日期:2020-08-14 17:15阅读:400来源:国知局
一种用于区块链存储的商品指纹特征压缩的方法与流程

本发明涉及信息压缩、编解码技术领域,具体地说是一种用于区块链存储的商品指纹特征压缩的方法。



背景技术:

区块链技术已经从概念切实的发展到了大规模应用的技术,鉴于其本质是一个不可伪造、全程留痕、可以追溯、公开透明的分布式数据库,它奠定了坚实的信任基础,创造了可靠的合作机制,具有广阔的运用前景。

许多商品由于产地不同,制造时间、工艺不同,存在冒名顶替、制假掺假、过期变质、掉包等问题。例如,大闸蟹、普洱茶饼。它们由于每个个体都有自己独特的纹路、外观等具有区分度的特征,因此这些特征可以被看做商品的指纹。当消费者收到商品后,可以通过特定方法提取商品的指纹信息进行比对,鉴别真伪,或得到该商品的来源、生产日期等。而这种商品的指纹由于其不得篡改的特性,非常适合放到区块链上进行存储。

商品指纹提取的方法可以使用计算机视觉中的局部特征提取,如sift、surf、orb等,也可以使用基于深度学习的lift、pn-net、hardnet。由于提取到的特征通常较复杂,占用存储空间较大,因此还需要进行进一步压缩。



技术实现要素:

本发明的技术任务是解决现有技术的不足,提供一种用于区块链存储的商品指纹特征压缩的方法。

本发明解决其技术问题所采用的技术方案是:

一种用于区块链存储的商品指纹特征压缩的方法,该方法通过局部特征提取算法,生成商品独特的指纹信息;然后基于自编码器的神经网络结构,使用gdn激活函数,进行降维,并结合量化和熵编码进行原始商品指纹信息的压缩,最终存储到区块链中。

可选地,具体步骤包括如下:

s1、使用局部特征提取算法,对原始商品进行特征提取,得到商品独特的指纹信息,

s2、使用自编码器的思想,将商品指纹信息用于训练自编码器网络;

s3、使用训练好的编码器(encoder)将商品指纹生成一个特征图(featuremap),

s4、然后通过量化(quantize)降低数据的存储空间;

s5、再用熵编码(entropycoding)将量化后的数据进行进一步压缩。

可选地,商品信息解码的时候,使用相反的流程,将保存的熵编码数据解码并反量化,并通结构相反的解码器(decoder)进行解码,从特征图恢复为原始商品指纹信息,然后再将待对比的商品提取相同的指纹信息,从而进行比较。

可选地,步骤s1中具体包括如下步骤:

s101、先对商品图像进行预处理:包括降噪、目标定位、分割;

s102、然后提取局部特征:对处理完的商品提取局部特征,每个商品提取到的特征点数不固定,但每个特征点维度一样;

s103、将所有特征点保存为m*n的特征矩阵,其中m是单张图像提取到的特征点个数,n是单个特征点的维度;

s104、将特征矩阵量化。

可选地,步骤s102中商品的局部特征为商品的外观信息,包括商品的纹理、材质、形状,商品局部特征提取的方法采用sift、surf、orb经典的计算机视觉算法、或使用基于深度学习的lift、pn-net、hardnet。

可选地,步骤s104中,将特征矩阵由float量化为int类型。

可选地,通过步骤s4、s5,对特征图进行量化和熵编码后,得到一个压缩后的二进制的商品指纹信息上传至区块链数据库中。

可选地,所述自编码器的神经网络结构至少应包括一组通过设置strides降采样的卷积层,一组设置strides上采样的反卷积层和一组用于量化和熵编码的方法;卷积层的激活函数使用gdn(generalizeddivisivenormalization)。

可选地,商品信息解码的时候,需要将原始商品指纹特征从区块链数据库中取出,并通过熵解码,反量化,和自编码器的decoder部分,恢复出特征矩阵并从当前商品的图像提取局部特征进行比对,设定阈值,当匹配点数超过阈值即认为是同一个商品。

本发明的一种用于区块链存储的商品指纹特征压缩的方法与现有技术相比所产生的有益效果是:

本发明使用基于自编码器的方法对商品指纹降维和压缩,自编码器的特性使它可以通过无监督学习来得到数据的高效表示,得到低维的表示后,对其进行量化来进一步压缩,因为使用精度较高的浮点数会占用大量储存空间,但对实际任务并没有很大益处,量化后数据的冗余就被很大程度地去除了,因此再辅以熵编码将数据压缩逼近信息论极限,最终经过多步压缩之后,商品指纹信息就比较小了,因此可以使用区块链技术进行存储。

该方法可应用于区块链分布式存储、商品追踪溯源等领域,通过对已有的商品进行特征提取和特征压缩,成倍的减少存储空间,减少在区块链中的存储成本。压缩的原始商品特征信息主要用于与新得到的商品进行比对,从而达到溯源和鉴别的效果。相比于传统方法简单对比防伪标签的特征码来说,直接比较商品的特征更加准确可信,且基于区块链进行存储更加安全可靠。

与传统方法相比,该方法不是简单地通过防伪标签进行验证,因为防伪标签仍可以被掉包、修改、毁坏。而是通过人工智能算法提取商品的纹理、材质、形状等外观信息,这些信息是独一无二的,只与当前商品对应。将其保留到区块链上,更是进一步增加了安全性和可靠性。

附图说明

为了更清楚地描述本发明一种用于区块链存储的商品指纹特征压缩的方法的工作原理,下面将附上简图作进一步说明。

附图1为本发明一种用于区块链存储的商品指纹特征压缩的方法的的流程图;

附图2为本发明自编码器的神经网络结构的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

结合附图1,一种用于区块链存储的商品指纹特征压缩的方法,该方法通过局部特征提取算法,生成商品独特的指纹信息;然后基于自编码器的神经网络结构,使用gdn激活函数,进行降维,并结合量化和熵编码进行原始商品指纹信息的压缩,最终存储到区块链中。

具体步骤包括如下:

s1、使用局部特征提取算法,对原始商品进行特征提取,得到商品独特的指纹信息,

s2、使用自编码器的思想,将商品指纹信息用于训练自编码器网络,为了获得较好的压缩效果,通常需要大量数据进行训练;

s3、使用训练好的编码器(encoder)将商品指纹生成一个特征图(featuremap),

s4、然后通过量化(quantize)降低数据的存储空间;

s5、再用熵编码(entropycoding)将量化后的数据进行进一步压缩。

其中商品信息解码的时候,使用相反的流程,将保存的熵编码数据解码并反量化,并通结构相反的解码器(decoder)进行解码,从特征图恢复为原始商品指纹信息,然后再将待对比的商品提取相同的指纹信息,从而进行比较。

其中步骤s1中具体包括如下步骤:

s101、先对商品图像进行预处理:包括降噪、目标定位、分割;

s102、然后提取局部特征:对处理完的商品提取局部特征,每个商品提取到的特征点数不固定,但每个特征点维度一样;

s103、将所有特征点保存为m*n的特征矩阵,其中m是单张图像提取到的特征点个数,n是单个特征点的维度;

s104、将特征矩阵由量化。

其中步骤s102中商品的局部特征为商品的外观信息,包括商品的纹理、材质、形状,商品局部特征提取的方法采用sift、surf、orb经典的计算机视觉算法,也可以使用基于深度学习的lift、pn-net、hardnet等。由于提取到的特征通常较复杂,占用存储空间较大,因此还需要进行进一步压缩。

其中步骤s104中,将特征矩阵由float量化为int类型。

其中通过步骤s4、s5,对特征图进行量化和熵编码后,得到一个压缩后的二进制的商品指纹信息上传至区块链数据库中。

结合附图2,其中所述自编码器的神经网络结构至少应包括一组通过设置strides降采样的卷积层,一组设置strides上采样的反卷积层和一组用于量化和熵编码的方法;卷积层的激活函数使用gdn(generalizeddivisivenormalization),经验证对数据压缩和降维的任务有较好的效果。

其中商品信息解码的时候,需要将原始商品指纹特征从区块链数据库中取出,并通过熵解码,反量化,和自编码器的decoder部分,恢复出特征矩阵并从当前商品的图像提取局部特征进行比对,设定阈值,当匹配点数超过阈值即认为是同一个商品。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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