一种多标签图像的哈希码生成方法和系统与流程

文档序号:24052126发布日期:2021-02-23 23:05阅读:187来源:国知局
一种多标签图像的哈希码生成方法和系统与流程

[0001]
本发明属于人工智能图像检索领域,更具体地,涉及一种多标签图像的哈希码生成方法和系统。


背景技术:

[0002]
相似性哈希码由于其轻量级的存储(紧凑的二进制码)和有效的比较(异或)而被广泛用于大规模图像检索。对于经典的图像哈希,从图像中正确识别对象是提高检索精度的重要因素。但是,对于每个图像包含更多对象的多标签图像检索来说,正确识别对象变得更具挑战性。
[0003]
现有解决方法技术存在以下问题:
[0004]
1、目标依存关系不明确:如何构建理想的拓扑结构以及应该表达什么样的依存关系并不确定。
[0005]
2、不能建立使用拓扑信息的端对端的训练方式:使用拓扑信息通过末端学习哈希任务中的图像表示端到端的方式非常困难。


技术实现要素:

[0006]
针对现有技术的缺陷和改进需求,本发明提供了一种多标签图像的哈希码生成方法和系统,其目的在于利用改进的mfb代替dp,在图卷积网络获得的多标签相关性特征下,通过mfb将其与图像特征相融合,再通过柯西损失函数,训练端到端的哈希模型,通过多标签相关性的信息,提高了哈希方法的正确性。
[0007]
为实现上述目的,按照本发明的第一方面,提供了一种多标签图像的哈希码生成方法,该方法包括以下步骤:
[0008]
s1.统计多标签图像集合中所有标签,将每种标签映射为一个标签词向量,得到多标签图像集合对应的标签词向量矩阵,计算任意两种标签之间的共现概率,得到多标签图像集合对应的标签共现相关性矩阵;
[0009]
s2.采用卷积神经网络提取多标签图像集合中各个多标签图像的图像特征向量,采取图卷积网络对标签词向量矩阵和标签共现相关性矩阵进行卷积,得到多标签图像集合对应的标签共现嵌入特征向量;
[0010]
s3.采用基于注意力机制的多模态双线性分别融合各个图像特征向量和标签共现嵌入特征向量,得到各个多标签图像的融合特征向量;
[0011]
s4.将各个多标签图像的融合特征向量分别输入哈希激活层,生成对应的哈希码;
[0012]
s5.基于柯西分布,计算整个多标签图像集合生成所有哈希码的总损失值;
[0013]
s6.根据总损失值调整卷积神经网络、图卷积网络、基于注意力机制的多模态双线性和哈希激活层的参数,使得总损失值最小化;
[0014]
s7.重复步骤s2-s6,直至满足停止条件,得到训练好的多标签图像的哈希码生成模型和该多标签图像集合的哈希码库。
[0015]
有益效果:本发明通过以条件概率的形式对标签相关性依赖性进行建模,使用图卷积方式对标签的相关性信息进行提取,实现了确定目标的图标签相关性特征的目的;基于改进的柯西分布的哈希函数可以解决传统的s形函数在较短的汉明距离内带来相似样本的聚集度低的问题,并且可以取得更好的效果。同时由于考虑了标签之间的相关性,使得多目标的识别得到了提升,获得更加准确的哈希模型。
[0016]
优选地,步骤s1中,以条件概率的形式对标签相关性依赖性进行建模,即
[0017][0018]
其中,t
j
表示多标签图像集中标签r
j
出现的次数,t
ij
表示两个对象同时出现的次数。
[0019]
有益效果:本发明通过以条件概率的形式对标签相关性依赖性进行建模,基于条件概率的方式对标签的相关性进行描述,准确反映了各表签之间的相关性,从而达到准确描述标签相关性的目的。
[0020]
优选地,步骤s2中,卷积神经网络采用预训练的resnet-101。
[0021]
有益效果:本发明在图像特征提取过程中通过对不同预训练卷积神经网络模型的对比,在多种预训练模型中达到了效果与训练速度的平衡。
[0022]
步骤s3中,对于第i个标签,i=1,2,

,r,r为标签词向量矩阵中标签词向量个数,多模态双线性模型如下:
[0023][0024]
其中,z
i
是第i个标签特征对应的融合特征,是图像特征向量,e是标签共现嵌入特征向量,k是分解矩阵的潜在维数,u
i
、v
i
是第i个标签特征对应的可训练参数,是第i个标签特征对应的可训练参数,是第i个标签特征对应的可训练参数,是维度为k的all-one向量,是hadmard乘积,即两个向量的逐元素相乘,函数d(
·
)表示取维数。
[0025]
有益效果:利用hadmard乘积和求和池化而不是dp来增加不同形式之间矢量元素的交互,从而提高了精度。另一方面,它通过求和池化减少了因增加交互作用而导致的过拟合和参数爆炸,从而加快了模型收敛。
[0026]
优选地,步骤s4中,哈希激活层之前有一个全连接层,融合特征向量先进入该全连接层,再进入哈希激活层,所述全连接层和哈希激活层的节点个数相同。
[0027]
有益效果:全连接层本身不容易训练,但是单独的哈希全连接层的参数容量较小,不容易学习到复杂的变换,通过在哈希层前面增加全连接层扩大了参数容量,但是过多的全连接层不利于训练,这里我们经过试验,选取了一个全连接层加激活层的方式,得到了效果与训练的平衡。
[0028]
优选地,步骤s5中,总损失函数
[0029]
l=λl
cce
+(1-λ)l
cq
[0030]
柯西交叉熵误差
[0031][0032]
柯西量化误差
[0033][0034]
其中,λ是柯西交叉熵误差的权重,是训练样本对{(x
i
,x
j
,s
ij
)}的权重,s
ij
是多标签图像x
i
和x
j
的相似关系,s
ij
=1表明相似,s
ij
=0表明不相似,s是相似关系的集合,s
s
={s
ij
∈s:s
ij
=1}是相似对集合,s
d
={s
ij
∈s:s
ij
=0}是不相似对合集,|
·
|是取集合元素个数的运算符,h
i
,h
j
∈{-1,1}
k
分别表示输入为x
i
,x
j
时全连接哈希层的对应的输出,δ(h
i
,h
j
)是h
i
,h
j
的汉明距离,γ是柯西分布参数,n是多标签图像集合的多标签图像数量,k是哈希码长度。
[0035]
优选地,汉明距离的计算方式如下:
[0036]
有益效果:本发明通过汉明距离去正则化柯西损失函数中的柯西距离,同时为了方便计算,并未采取汉明距离原有的定义进行计算,而是提出了近似计算的方式,以得到更好的模型性能表现。
[0037]
优选地,该方法应用于图像多标签检索领域。
[0038]
有益效果:本发明通过对于现有哈希生成的方法进行多处改进,基于mfb的引入和改进的柯西损失的使用,得到了优秀的哈希码生成方案,并在生成哈希码后检索中达到了现有最佳的表现。
[0039]
为实现上述目的,按照本发明的第二方面,提供了一种多标签图像的哈希码生成系统,包括:计算机可读存储介质和处理器;
[0040]
所述计算机可读存储介质用于存储可执行指令;
[0041]
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行第一方面所述的多标签图像的哈希码生成方法。
[0042]
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0043]
本发明首先结合卷积神经网络(cnn)和图卷积网络(gcn)分别生成图像表示和标签共现嵌入,然后采用mfb融合这两个模态矢量,最后通过基于柯西分布的损失函数学习哈希模型。通过标签集合中对象的共现概率探索对象之间的相互依赖性,并采用基于注意力机制的多模态双线性(mfb)合并共现特征与图像特征,提升哈希码度量数据间对象关系的依赖性的能力,进而提升哈希码的性能。使用共现关系和mfb不仅可以提高哈希码的准确性,而且也加速了哈希学习。该方法在公共数据集上进行的广泛实验表明:该方法可以达到现有的最新的检索结果;我们使用共现关系和mfb不仅可以提高哈希码的准确性,达到当前最好的表现,同时在此基础上加速了哈希学习。
附图说明
[0044]
图1为本发明提供的一种多标签图像的哈希码生成方法流程图。
具体实施方式
[0045]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0046]
如图1所示,本发明提供了一种多标签图像的哈希码生成方法,该方法包括以下步骤:
[0047]
步骤s1.统计多标签图像集合中所有标签,将每种标签映射为一个标签词向量,得到多标签图像集合对应的标签词向量矩阵,计算任意两种标签之间的共现概率,得到多标签图像集合对应的标签共现相关性矩阵。
[0048]
优选地,步骤s1中,以条件概率的形式对标签相关性依赖性进行建模,即
[0049][0050]
其中,t
j
表示多标签图像集中标签r
j
出现的次数,t
ij
(等于t
ji
)表示两个对象同时出现的次数。
[0051]
例如,图1所示的多标签图像包含四种标签{人,足球,球场,球门},将每种标签映射为一个标签词向量,得到四个标签词向量[00]、[01]、[10]、[11]。
[0052]
为了规避罕见样本造成的长尾现象,使用阈值τ对矩阵a进行二值化:
[0053][0054][0055]
其中,是二进制相关矩阵,q∈(0,1)。
[0056]
步骤s2.采用卷积神经网络提取多标签图像集合中各个多标签图像的图像特征向量,采取图卷积网络对标签词向量矩阵和标签共现相关性矩阵进行卷积,得到多标签图像集合对应的标签共现嵌入特征向量。
[0057]
优选地,步骤s2中,卷积神经网络采用预训练的resnet-101。
[0058]
本实施例中,通过预训练深度模型,对目标图像数据进行采样,获得了一个2048
×
14
×
14维的特征向量,之后引入全局最大池化层生成图像水平的特征其中,θ表示cnn的参数且
[0059]
通过图卷积函数f
gcn
完成对特征的提取,将标签集中的单词描述转换为向量v(r),其中,v
c
∈r
r
×
d(v(r))
表示第c层的输入d(v(r))代表v(r)的维数。关系的输入为相关矩阵a∈r
r
×
r
,更新后的节点特征表示为v
c+1
∈r
r
×
d(v(r))

。每个gcn层传播功能描述为:
[0060][0061]
其中,
[0062]
本实施例中使用了两个gcn层,即e(r)=v
c+2
,经过实验,两层结构达到了提取特征的目的同时保证训练速度。
[0063]
步骤s3.采用基于注意力机制的多模态双线性分别融合各个图像特征向量和标签共现嵌入特征向量,得到各个多标签图像的融合特征向量。
[0064]
优选地,步骤s3中,对于第i个对象的特征,具有两个低秩矩阵的多模态双线性模型如下:
[0065][0066]
其中,是图像特征向量,e(r)是标签共现嵌入特征向量,k是分解矩阵的潜在维数,u
i
是可训练参数,v
i
是可训练参数,是维度为k的all-one向量,是hadmard乘积,即两个向量的逐元素相乘,d(
·
)表示取维数函数。
[0067]
采用两个平行的k维fc层分别完成此变换,相乘过后引入池化,得到:
[0068][0069]
其中,和函数表示使用尺寸为的一维非重叠窗口对*进行求和合并。
[0070]
步骤s4.将各个多标签图像的融合特征向量分别输入哈希激活层,生成对应的哈希码。
[0071]
优选地,步骤s4中,哈希激活层之前有一个全连接层,融合特征向量先进入该全连接层,再进入哈希激活层,所述全连接层和哈希激活层的节点个数相同。
[0072]
通过损失函数对深度网络进行拟合,最后两层分别为全连接层和全连接哈希层,将得到的矩阵z作为输入,得到预测的哈希码,获得最终的哈希算法模型。
[0073]
步骤s5.基于柯西分布,计算整个多标签图像集合生成所有哈希码的总损失值。
[0074]
优选地,步骤s5中,总损失函数
[0075]
l=λl
cce
+(1-λ)l
cq
[0076]
柯西交叉熵误差
[0077][0078]
柯西量化误差
[0079][0080]
其中,λ是柯西交叉熵误差的权重,是训练样本对{(x
i
,x
j
,s
ij
)}的权重,s
ij
是x
i
和x
j
的相似关系,s
ij
=1表明相似,s
ij
=0表明相似,s是相似关系的集合,s
s
={s
ij
∈s:s
ij
=1}是相似对集合,s
d
={s
ij
∈s:s
ij
=0}是不相似对合集,|
·
|是取集合元素个数的运算符,h
i
,h
j
∈{-1,1}
k
分别表示当全连接哈希层的输入为x
i
,x
j
时x
i
,x
j
对应的输出,δ(h
i
,h
j
)是h
i
,h
j
的汉明距离,γ是柯西分布参数,n是输入的大小,k是哈希码长度。
[0081]
优选地,汉明距离的计算方式如下:
[0082]
步骤s6.根据总损失值调整卷积神经网络、图卷积网络、基于注意力机制的多模态双线性和哈希激活层的参数,使得总损失值最小化。
[0083]
本实施例采用梯度下降优化方法调整各模块的参数,使得总损失值最小化。
[0084]
步骤s7.重复步骤s2-s6,直至满足停止条件,得到训练好的多标签图像的哈希码生成模型和该多标签图像集合的哈希码库。
[0085]
优选地,步骤s7中,采用汉明距离小于设定阈值作为停止条件,本实施例中,设定阈值为2。也可使用达到指定迭代次数作为停止条件。
[0086]
优选地,该方法应用于图像多标签检索。
[0087]
例如,应用于云相册检索时,多标签图像集中包含用户的所有相片,每个相片中可包括多个标签,所述标签为图像中包含的对象种类,例如,人、狗、桌子等等。输入要查询的图片,经过卷积神经网络提取到图片特征向量后,与多标签图像集合对应的标签共现嵌入特征向量共同输入mfb中,经过哈希激活层后得到哈希码,与哈希码库中哈希码进行比对,将相似度处于设定阈值范围的近似图片作为检索结果返回,可以用户云相册中相似的图片,确定用户的拍照喜好,或确定用户的相册中是否含有极为相似图片,以删除节省云存储空间。
[0088]
例如,应用于商品图像检索时,多标签图像集中包含该商品数据库中所有商品图片,每个相片中可包括多个标签,所述标签为图像中包含的对象种类,例如,某品牌包、某品牌汽车、某品牌电脑等等。输入要查询的商品图片,经过卷积神经网络提取到图片特征向量后,与多标签图像集合对应的标签共现嵌入特征向量共同输入mfb中,经过哈希激活层后得到哈希码,与哈希码库中哈希码进行比对,将相似度处于设定阈值范围的近似图片作为检索结果返回,该图片则对应该商品,实现以图检索商品的目的。
[0089]
本发明提供了一种多标签图像的哈希码生成系统,包括:计算机可读存储介质和处理器;
[0090]
所述计算机可读存储介质用于存储可执行指令;
[0091]
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行上述多标签图像的哈希码生成方法。
[0092]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1