一种具有平衡相似性的余弦度量监督深度哈希算法的制作方法

    专利2022-07-08  125


    本发明设计图像检索领域,具体涉及一种具有平衡相似性的余弦度量监督深度哈希算法。



    背景技术:

    随着多媒体处理技术的快速发展,大规模的图像搜索已经广泛应用于我们的日常生活中。作为最有效的技术之一,哈希技术因其存储和计算的优势,越来越受到学术界和工业界的关注。它的目的是将高维图像映射到紧凑的二进制代码,同时保留图像的相关性。特别是,深度监督哈希可能通过端到端学习,在整合图像特征和哈希编码的过程中提高检索性能。

    哈希嵌入一般用离散优化来实现,这是一个标准的np-hard问题。深度监督哈希方法大多采用连续松弛法,用近似连续嵌入代替离散编码。在此过程中不可避免地会带出近似误差和量化误差。现有的几种深度监督哈希方法采用连续松弛与平方损失或内积损失来保持原始空间与汉明空间的语义相似性。深度监督哈希(dsh)采用欧几里得距离的对立损失来衡量样本相似度。而且它对实值网络输出施加了一个正则器,以接近所需的哈希码。深度量化网络(dqn)利用对偶余弦损耗保留了相似性,并利用乘积量化损耗降低了量化误差。使用内积交熵损失,内积很有可能落入sigmoid函数的饱和区域,可能导致不理想的消失梯度。大多数建立在欧几里得或基于内积的度量方法可能会受到视觉表征尺寸的巨大影响,从而产生不理想的近似误差和量化误差。而余弦度量法在测量图像相似度时,不受图像特征大小影响的干扰。

    另外,在有监督信息的相似度矩阵上,相似的图像对比不相似的图像对少得多。这将导致正/负和难/易的不平衡问题。pos/neg是指正负样本对的不平衡。在这个问题上,网络优化主要依靠优势样本。另一方面,如果通过一般的判别策略很难(容易)将一对样本相互推(拉)开,它们就是难(容易)样本对。易样本对在模型训练中贡献的梯度很小,模型从中获益不大。相比之下,更应该关注难对。但是,一般来说,易样本对的规模要大于难样本对。虽然一个容易样本对对全局梯度的贡献比难样本对小,但大量的容易样本对的总贡献是累积起来的,可能超过少量的难样本对。这种现象使得模型收敛缓慢,可能陷入局部最优,甚至在一定程度上降低了检索性能。针对这一点,hashnet和hashgan关注了数据不平衡问题,根据错误分类该对的重要性对训练对进行加权。focalloss主要是为了解决单阶段目标检测中pos/neg和hard/easy的严重不平衡问题。在其启发下,cmhh在贝叶斯学习框架下设计了一个指数焦点损失和一个指数数量损失来解决硬/易的不平衡问题。



    技术实现要素:

    为了解决以上问题,我们发明了一种深度哈希算法,将对立余弦相似性和余弦距离熵量化相结合。它可以保留原有的语义分布,同时减少量化误差。同时,我们设计了一种具有余弦度量熵的加权相似度测量方法。它自适应地降低了相似度保存嵌入中不平衡数据的影响。

    本发明的具体步骤如下:

    步骤1,建立图像对的相似性矩阵s和图像预处理:将数据集同一类的图像视为相似,不同类的图像不相似,得到相似性矩阵s。对输入图像进行预处理,预处理的步骤遵循当前深度哈希算法的统一设定。

    步骤2,建立深度网络模型:选择深度网络模型,本实施例使用alexnet,用哈希层替换最后的分类层用以获得哈希码。

    步骤3,损失函数设计:为了保留图像对的相似性信息,解决数据的不均衡与难易问题和量化损失问题,损失函数包括图像对的相似性损失、生成哈希码的量化损失。

    步骤4,训练模型:将预处理好的图片输入网络模型,对每一批次的图片的哈希层的输出成对计算损失函数,使用随机梯度下降优化对模型参数进行学习。

    步骤5,生成图像哈希码:将数据库的图像输入到步骤4训练好的模型中,得到对应的哈希码。

    本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步:

    本发明提出了一种深度哈希算法,将成对余弦相似性和余弦距离熵量化相结合。它可以保留原有的语义分布,同时减少量化误差。并且,本发明还设计了一种具有余弦度量熵的加权相似度测量方法。它自适应地降低了相似度保持嵌入中不平衡数据的影响。同时,降低了难易样本的不平衡问题。

    附图说明

    图1为本发明的算法流程图。

    图2为本发明的网络结构图。

    具体实施方式

    本发明提出了一种具有平衡相似性的余弦度量监督深度哈希算法。本发明的整体结构如图1所示。本发明实施例在win10和matlab环境下进行仿真。该发明的具体实现步骤如下:

    步骤1:建立图像对的相似性矩阵s和图像预处理,将图像训练集中有相同类别的标签图片视为相似,完全不同类的图片视为不相似。图像预处理遵循当前深度哈希算法的统一设定。

    步骤2:建立深度网络模型,本实施例采用alexnet,去除最后的分类层,并添加哈希层,用以获得哈希码。哈希层是一个全连接层,其输出维度为哈希码的维度。哈希层后不需要使用tanh激活函数进行约束。

    步骤3:损失函数设计,为了保留图像对的相似性信息,解决数据的不均衡与难易问题和量化损失问题,损失函数包括图像对的相似性损失、生成哈希码的量化损失。

    步骤4:训练模型:将预处理好的图片按批次输入网络模型,对每一批次的图片的哈希层的输出成对计算步骤3的损失函数,使用随机梯度下降优化对模型参数进行学习。

    步骤5,生成图像哈希码:将数据库的图像输入到步骤4训练好的模型中,得到对应的哈希码。

    在所述的步骤1中,建立图像对的相似性矩阵s,遵循当前深度哈希算法的统一设定,将训练集中具有相同类别的图像对视为相似图像。当图像xi和图像xj相似时,其相似性标签sij=1;当图像xi和图像xj不相似时,其相似性标签sij=0。对于单标签数据集中,同一类别的图像就是相似图像,不同类别的图像就是不相似图像。对于多标签的数据集中,只要图像xi和图像xj有一个相同的类别,就被视为相似,sij=1;当图像xi和图像xj没有一个类别是相同的,就被视为不相似,sij=0。图像预处理同样遵循当前深度哈希算法的统一设定,对训练集图像统一缩放至256x256像素大小、随机裁剪224x224像素大小、随机翻转、标准归一化;对测试集及数据库全体图像统一缩放至256x256像素大小、中心裁剪224x224像素大小并进行标准归一化。

    在所述的步骤2中,本实施例采用alexnet。alexnet是一个标准的baseline网络模型。本实施例去除最后的分类层,并添加哈希层,用以获得哈希码。哈希层是一个全连接层,其输出维度为哈希码的维度。由于本发明使用余弦度量,所以哈希层后不需要使用tanh激活函数进行约束。另外本发明对基础的baseline网络没有特别的限制。

    在所述的步骤3中,损失函数包含两项,余弦相似性损失和余弦距离熵量化损失。

    余弦相似性损失:

    其中,i和j对应图像i和图像j,为余弦相似性的度量,k为所需哈希码的维度,一般使用16,32,48,64等,ui和uj为哈希层的输出向量,<ui,uj>代表内积运算,‖ui‖代表取模运算;m是一个边界阈值参数,取值范围是[-1, 1],本发明推荐值为0;sij为图像i和图像j的相似性标签,已由步骤1求得;eps=10-7,为防止负无穷的常数值。wij为样本对相似性平衡权重,对于每一批次,针对相似样本对,其为样本对数量总和除以相似样本对数量,针对不相似样本对,其为样本对数量总和除以不相似样本对数量。因此,wij可以解决相似与不相似的数量不平衡问题。γ为解决难易样本问题的余弦度量熵的超参数,在1至3范围取值,本发明推荐值为2。

    余弦相似性损失使用成对余弦相似性来约束哈希,以达到相似性保存的目的。构建的余弦相似度损失用于编码语义相似的图像更近,编码不相似的图像更远。余弦相似性可以在汉明空间中和内积相似性等价,且余弦相似性的范围为(-1, 1),所以不需要使用tanh激活函数进行约束。

    为了解决数据的类别不均衡和难易问题,余弦相似性损失还嵌入了带有余弦度量熵的加权相似度测量方法来降低数据不平衡的影响。同时,余弦度量熵可以解决难易样本问题,对困难样本使用更大的权重,使得网络更专注于困难样本。超参数γ可以控制余弦度量熵的学习速度。

    余弦距离熵量化损失:

    其中,bi为离散二值化的ui。

    余弦距离熵量化损失控制连续松弛的量化误差,缩小余弦相似度和汉明距离之间的差距。量化损失中加入了余弦距离熵,可以针对当前哈希实数值与离散哈希码的距离,进一步使量化函数更快地收敛。

    最终的损失函数为:

    l=ls αlq

    其中,α为量化损失函数的超参数。

    在所述的步骤4中,将图片按批次输入网络,通过每一批次的图像对的相似性信息监督哈希码的生成。对每一批次的图片的哈希层的输出成对计算损失函数。使用随机梯度下降优化对模型参数进行学习,批大小为64,权值衰减为5×10-4,初始学习率一般在0.01至0.0001之间,本示例学习率为0.001;在1至3之间取值,本示例推荐为2;α可以取50,100,150,200,本示例推荐为100。学习率在每50迭代周期后下降10倍;网络训练,直到损失函数振荡且不再明显下降,迭代周期一般为150,训练完成后保存模型参数。

    在所述的步骤5中,将数据库中的图像使用步骤5中获得的模型获得输出后,将其使用符号函数二值化即为离散的哈希码。在进行图像检索时,同样将查询图像输入模型获得对应的哈希码并与数据库中的哈希码比较,按照汉明距离从小到大的顺序返回数据库的图像。


    技术特征:

    1.一种具有平衡相似性的余弦度量监督深度哈希算法,其特征在于包括以下步骤:

    步骤1,建立图像对的相似性矩阵s和图像预处理:将数据集同一类的图像视为相似,不同类的图像不相似,得到相似性矩阵s;数据预处理采用当前深度哈希算法的统一设定;

    步骤2,建立深度网络模型:选择深度网络模型,使用alexnet,用哈希层替换最后的分类层用以获得哈希码;

    步骤3,损失函数设计:为了保留图像对的相似性信息,解决数据的不均衡与难易问题和量化损失问题,损失函数包括图像对的相似性损失、生成哈希码的量化损失;

    步骤4,训练模型:将预处理好的图片输入网络模型,对每一批次的图片的哈希层输出成对计算损失函数,使用随机梯度下降优化对模型参数进行学习;

    步骤5,生成图像哈希码:将数据库的图像输入到步骤4训练好的模型中,得到对应的哈希码。

    2.根据权利要求1所述的方法,其特征在于:在所述步骤1中,建立图像对的相似性矩阵的具体方法为:将图像训练集中同一类图像视为相似,当图像xi和图像xj相似时,其相似性标签sij=1;当图像xi和图像xj不相似时,其相似性标签sij=0;数据预处理采用当前深度哈希算法的统一设定;具体方法分为缩放、裁剪、翻转、标准归一化。

    3.根据权利要求1所述的方法,其特征在于:在所述步骤2中,使用alexnet,去除其分类层,并添加哈希层以生成哈希码。

    4.根据权利要求1所述的方法,其特征在于:在所述步骤3中,损失函数包含两项损失,余弦相似性损失和余弦距离熵量化损失;

    4.1余弦相似性损失

    使用成对余弦相似性来约束哈希,以达到相似性保存的目的;构建的余弦相似度损失用于编码语义相似的图像更近,编码不相似的图像更远;为了解决数据的类别不均衡和难易问题,余弦相似性损失还嵌入了带有余弦度量熵的加权相似度测量方法来降低其影响;余弦相似性损失为:

    其中,i和j对应图像i和图像j,为余弦相似性的度量,k为所需哈希码的维度,一般使用16,32,48,64等,ui和uj为哈希层的输出向量,<ui,uj>代表内积运算,‖ui‖代表取模运算;m是一个边界阈值参数,值为0;sij为图像i和图像j的相似性标签,已由步骤1求得;eps=10-7,为防止负无穷的常数值;wij为样本对相似性平衡权重,对于每一批次,针对相似样本对,其为样本对数量总和除以相似样本对数量,针对不相似样本对,其为样本对数量总和除以不相似样本对数量;因此,wij可以解决相似与不相似的数量不平衡问题;γ为解决难易样本问题的余弦度量熵的超参数,值为2;

    4.2余弦距离熵量化损失为:

    其中,bi为离散二值化的ui;

    则损失函数为:

    l=ls αlq

    其中,α为量化损失函数的超参数;α为100。

    5.根据权利要求1所述的方法,其特征在于:在所述步骤4中,根据步骤2所使用的深度神经网络,将预处理的图片按批次输入,对每一批次的图片的哈希层的输出成对计算步骤3的损失函数,利用随机梯度下降优化对模型进行训练,保存训练好的模型。

    6.根据权利要求1所述的方法,其特征在于:在所述步骤5中,使用步骤4得到的网络参数,将数据库的图片输入到网络,将哈希层的输出二值化即为哈希码;在进行图像检索时,同样将查询图像输入模型获得对应的哈希码并与数据库中的哈希码比较,按照汉明距离从小到大的顺序返回数据库的图像。

    技术总结
    一种具有平衡相似性的余弦度量监督深度哈希算法属于图像检索领域。深度监督哈希具有存储成本低、计算效率高等优势。然而,相似性保持、量化误差和不平衡数据仍然是深度监督哈希中的巨大挑战。本发明提出了一种成对相似性保持的深度哈希方案,解决上述问题。本方法使用深度网络作为基础模型来提取特征,并用哈希层替换最后的分类层使其输出哈希码。本方法设计了一种损失函数,能在训练过程中有效地保持语义相似性、处理类别不均衡和难易以及量化损失的问题。本发明方法获得的哈希码,用于图像检索时,对极度不均衡数据集能有效提高检索的准确率。

    技术研发人员:毋立芳;陈禹锟;胡文进;简萌
    受保护的技术使用者:北京工业大学
    技术研发日:2020.12.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18861.html

    最新回复(0)