一种训练和计算相似性哈希码的神经网络方法技术

技术编号:27846700 阅读:19 留言:0更新日期:2021-03-30 12:56
本发明专利技术涉及计算机处理技术领域,具体涉及一种训练和计算相似性哈希码的神经网络方法,旨在解决现有技术中在实际情况中效果不佳的问题,其技术要点在于:包含以下步骤:S1:使用一个神经网络将一个高维空间的向量z映射为低维空间的向量x;S2:确定该神经网络的参数θ;S3:使用神经网络f(*|θ)计算相似性哈希码,即强迫输出的值只取0/1二值。本申请所提供的一种训练和计算相似性哈希码的神经网络方法,解决了只采用线性变换时效果不佳的问题,适用范围更加广泛,不只局限于图像,处理图像时不依赖于手工设计的SIFT或SURF特征,速度更快,而且可以使用GPU进一步加速。且可以使用GPU进一步加速。且可以使用GPU进一步加速。

【技术实现步骤摘要】
一种训练和计算相似性哈希码的神经网络方法


[0001]本专利技术涉及计算机处理
,具体涉及一种训练和计算相似性哈希码的神经网络方法。

技术介绍

[0002]2010年以色列研究学者发表的论文”The Video Genome”首次提出了视频基因的概念。该论文提出了对于一张图片(或者图像帧)首先提取它的SIFT特征,SIFT特征是一个128维的向量。通过对大量的图像抽取SIFT特征就可以得到大量的SIFT特征点数据,然后利用这些SIFT特征数据通过聚类算法找到 2048个聚类中心,将聚类中心作为量化中心点。
[0003]然后对于任意一副图像,都可以将SIFT特征向量量化到其中一个聚类中心点。论文中提出将图像分为左上、右上、左下、右下四个区域,在每一个区域中,对落入每一个聚类中心点的SIFT特征进行计数就可以得到2048维的特征向量,四个区域合起来可以得到2048*4=8192维的特征向量,这个特征向量就称为图像的基因码。
[0004]下一步计算相似性哈希码是最为关键的一步。作者提出要将该8192维的高维特征向量降低为64维相似性哈希码,所谓相似性哈希码是指如果两幅图像是相似的,那么它们俩的相似性哈希码应之间的汉明距离应小于d0,如果两幅图像不相似它们的哈希码的汉明距离应大于d0。论文作者提出的方法是用一个线性变换将8192维向量降低至64维向量,如下面公式所示:
[0005]x=sign(Az+b)
ꢀꢀꢀ
(1)
[0006]其中z表示8192维的高维特征向量,x表示64维的相似性哈希码,哈希码的取值只有0或1,sign表示符号函数,当输入值大于等于零时取1,当输入值小于零时取0。于是问题的关键就在于怎么取A和b这两个参数了。论文中提出了A和b参数的设置应使得下面的目标函数最小。
[0007][0008]其中d
A,b
(x,x
/
)表示在A,b参数下计算x和x
/
之间的汉明距离。但是,实际操作过程中,较难确定公式(1)的A和b两个参数,且同时由于采用的是简单的线性变换,所以在实际情况中效果不佳。

技术实现思路

[0009]因此,本专利技术要解决的技术问题在于克服现有技术中在实际情况中效果不佳的缺陷,从而提供一种训练和计算相似性哈希码的神经网络方法。
[0010]本专利技术的上述技术目的是通过以下技术方案得以实现的:
[0011]一种训练和计算相似性哈希码的神经网络方法,包含以下步骤:
[0012]S1:使用一个神经网络将一个高位空间的向量z映射为低维空间的向量x;
[0013]S2:确定该神经网络的参数θ;
[0014]S3:使用神经网络f(*|θ)计算相似性哈希码,即强迫输出的值只取0/1二值。
[0015]优选的,所述S2中包含以下公式:
[0016][0017]其中,
[0018][0019]公式中:表示对向量x的所有纬度求和得到一个标量。将输出的p作为向量z和z
/
是否相似的概率;所述α是一个常数,用来调控sigmoid函数在0附近的斜率;
[0020]训练公式(3)所示的神经网络,采用交叉熵加正则化函数作为目标函数,即:
[0021][0022]当z和z
/
是相似的,则q=1,若z和z
/
不相似,则q=0。
[0023]其中
[0024]1‑
mean(abs(x

0.5)+abs(x
′‑
0.5))
ꢀꢀꢀ
(6)
[0025]为正则化项,经过训练,最优参数为
[0026][0027]优选的,所述S3中sign(f(*|θ)

0.5)。
[0028]本申请所提供的一种训练和计算相似性哈希码的神经网络方法,解决了只采用线性变换时效果不佳的问题,适用范围更加广泛,不只局限于图像,处理图像时不依赖于手工设计的SIFT或SURF特征,速度更快,而且可以使用GPU 进一步加速。
附图说明
[0029]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为本专利技术的一种实施方式的一种训练和计算相似性哈希码的神经网络方法中的神经网络映射图的结构示意图;
[0031]图2为本专利技术的一种实施方式的一种训练和计算相似性哈希码的神经网络方法中S2中的网络示意图。
具体实施方式
[0032]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0033]一种训练和计算相似性哈希码的神经网络方法,包含以下步骤:
[0034]S1:如图1所示,使用一个神经网络将一个高位空间的向量z映射为低维空间的向量x。
[0035]所述z的纬度远远大于x的纬度,具体的,在一实施方式中,如果z表示 256*256大小的灰度图片,那么z的纬度就是65536维,x的纬度一般是32或 64维。
[0036]所述神经网络的具体形式可以为多层感知器、CNN(卷积神经网),LSTM (长短期记忆网络)等具体形式。如果该网络的形式是线性变换,那么再加上符号函数就等价于公式所描述的情况。令该神经网络的参数为θ,其函数记为 f(*|θ)。
[0037]S2:确定该神经网络的参数θ。
[0038]具体的,在一实施方式中,请参阅图2,图2中所表述的网络可以用公式表述为:
[0039][0040]其中
[0041][0042]其中表示对向量x的所有纬度求和得到一个标量。我们将输出的p作为向量z和z
/
是否相似的概率。其中α是一个常数,用来调控sigmoid函数在0附近的斜率。
[0043]训练图2所示的神经网络,采用交叉熵加正则化函数作为目标函数,即:
[0044][0045]当z和z
/
是相似的,则q=1,若z和z
/
不相似,则q=0。
[0046]其中
[0047]1‑
mean(abs(x

0.5)+abs(x
′‑
0.5))
ꢀꢀꢀ
(6)
[0048]为正则化项,这是因为我们希望f(*|θ)输出向量的每一项都要么接近0,要么接近1,因为只有当f(*|θ)的输出只取0/1二元值的时候
[0049][0050]才等价于x和x
/
之间的汉明距离。
[0051]经过训练,最优参数为
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种训练和计算相似性哈希码的神经网络方法,包含以下步骤:S1:使用一个神经网络将一个高维空间的向量z映射为低维空间的向量x;S2:确定该神经网络的参数θ;S3:使用神经网络f(*|θ)计算相似性哈希码,即强迫输出的值只取0/1二值。2.根据权利要求1所述的训练和计算相似性哈希码的神经网络方法,其特征在于:包含以下公式:其中,公式中:表示对向量x的所有纬度求和得到一个标量。将输出的p作为向量z和z
/
是否相似的概率;所述α是一个常数,用来调控sigmoid函数在0附近的斜率;训练公式(3)所示的神经网络,采用交叉熵作为目标函数,即:当z和z...

【专利技术属性】
技术研发人员:张勇朱立松
申请(专利权)人:央视国际网络无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1