基于深度学习和哈希编码的视频检索方法与流程

文档序号:11177437阅读:2240来源:国知局
基于深度学习和哈希编码的视频检索方法与流程

本发明涉及计算机视觉技术领域,特别涉及一种基于深度学习和哈希编码的视频检索方法。



背景技术:

随着科学技术的发展,当今世界已进入大数据时代,尤其是视频数据资源增长迅速,因此对大规模视频数据进行检索以满足用户需求给检索技术领域带来了新的挑战。视频可以看成是一系列连续的静态图像的集合,即由二维数字图像和时间维度构成的三维对象。针对视频检索要解决的问题是,一方面,由于检索的数据库规模较大,需要更高效的表示样本数据以满足实时性的需求以及存储开销的约束;另一方面,在用户使用静态图像来检索视频时,还需要准确度量图像和视频两种不同空间数据的距离。

现有技术中为了高效的表示视频样本数据,可以采用实数特征表示的方法或二值哈希编码表示的方法。基于实数特征表示的方法是指将视频帧图像提取的实数特征向量作为样本的表示。但是由于检索任务对于时间和存储空间的开销要求很高,这种方法往往无法胜任大规模的实时检索任务;基于二值哈希编码表示的方法的目标是把视频帧图像用二值向量来编码表示,相比于采用实数特征表示的方法,在相同长度的表示下,存储空间大幅度减少。同时,样本间的距离通过二值向量的海明距离度量,这种度量操作可以直接通过异或运算和计算机的硬件实现,速度相当之快。但是,基于二值哈希编码的方法由于信息高度压缩,因此给哈希函数模型的设计带来了困难。

另外,现有技术中在计算图像和视频的距离时,可以采用逐个计算每对图像之间的距离。这种方案存在的主要问题是距离度量时间开销大,尤其是当视频包含数千甚至上万帧图像时,这种检索方法就会变得非常低效;还有一些方法把视频作为一个整体进行建模表示,比如其中的一个代表性方法,通过协方差统计建模,但是存在计算开销过大的问题。

为了适应更大规模的视频检索需求,目前需要既能高效的表示样本数据,又能缩短样本间距离的度量时间,节省计算开销的视频检索方法。



技术实现要素:

本发明的目的是提供一种基于深度学习和哈希编码的视频检索方法,该方法能够克服上述现有技术的缺陷。

根据本发明的一个方面,提供一种基于深度学习和哈希编码的针对视频数据的网络训练方法,包括以下步骤:

步骤1)、利用深度网络提取视频样本的特征矩阵;

步骤2)、将所述步骤1)获得的视频样本的特征矩阵作为整体进行建模,获得所述视频样本的高维实值表示;

步骤3)、将所述步骤2)获得的高维实值表示利用深度网络进一步表示为二值哈希编码。

优选的,所述步骤2)采用协方差统计方法对所述视频样本的特征矩阵进行整体建模表示。

优选的,所述训练样本包括图像样本和视频样本,在训练过程中,使用目标损失函数约束图像样本与视频样本之间,视频样本与视频样本之间,以及图像样本和图像样本之间的排序关系。

优选的,所述步骤1)还包括利用静态图像数据集进行基于分类任务的参数预训练。

根据本发明的另一方面,提供一种用于对基于上述网络训练方法所建立的视频数据库进行视频检索的方法,包括:

获得一张静态图像作为待查询图像样本;

利用深度网络将所述待查询图像样本表示为二值哈希编码;

通过将所述待查询图像样本的二值哈希编码与所述视频数据库中的所有视频数据的二值哈希编码进行相似度匹配,获得查询结果。

根据本发明的另一方面,提供一种用于对基于上述网络训练方法所建立的视频数据库进行视频检索的方法,包括:

获得一段动态视频作为待查询视频样本;

利用上述任一项的网络训练方法将所述待查询视频样本表示为二值哈希编码;

通过将所述待查询视频样本的二值哈希编码与所述视频数据库中的所有视频数据的二值哈希编码进行相似度匹配,获得查询结果。

根据本发明的另一方面,提供一种用于深度网络建立的图像数据库进行视频检索的方法,包括:

获得一段动态视频作为待查询视频样本;

利用上述任一项的网络训练方法将所述待查询视频样本表示为二值哈希编码;

通过将所述待查询视频样本的二值哈希编码与所述图像数据库中的所有图像的二值哈希编码进行相似度匹配,获得查询结果。

优选的,所述相似度匹配通过计算待查询图像/视频样本的二值哈希编码与所述视频数据库/所述图像数据库存储的每个视频数据/图像数据的二值哈希编码间的海明距离实现。

根据本发明的另一方面,提供一种视频检索系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行上述任一项视频检索方法的步骤。

根据本发明的另一方面,提供一种计算机可读存储介质,包括存储在所述可读存储介质上的计算机程序,其中,所述程序执行上述任一项视频检索方法的步骤。

相对于现有技术,本发明取得了如下有益技术效果:本发明的基于深度学习和哈希编码的视频检索方法,通过使用二值哈希编码作为查询和数据库中的样本表示,降低了数据的存储开销,利用硬件的异或运算计算样本间的海明距离,加快了样本间的匹配速度;同时采用了深度神经网络对模型进行多阶段联合优化,使得图像特征提取、视频建模表示和哈希函数学习等各阶段更加兼容,从而保证模型对于视频数据特征差异的影响具有很好的鲁棒性,能够获得更精确的检索结果;另外,本发明提供的视频检索方法通过同时优化空间内和跨空间的哈希编码的判别性,使得网络模型学习到的哈希编码既可以应用到相同形式数据间(例如使用视频检索视频)的检索任务上,又可以应用到不同形式数据间(例如使用图像检索视频)的检索任务上。

附图说明

图1是本发明提供的基于深度学习和哈希编码的视频检索方法的总体流程框架示意图

具体实施方式

为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图,对根据本发明的实施例中提供的基于深度学习和哈希编码的图像检索方法进行说明。

深度学习源于人工神经网络,在图像或视频检索领域,深度学习能够组合图像或视频帧图像数据底层的特征形成更高层表示属性类别或特征,以发现图像或视频数据的分布式特征表示,从而模仿人脑机制来解释图像或视频数据;哈希编码是一种具有快速查询能力和低内存开销的算法,在图像或视频检索领域,利用哈希编码可以将图像或视频内容表达为二值的哈希序列,并用该序列来表示图像或视频的特征。

经发明人仔细研究,提出了一种联合优化图像特征学习、视频建模表示和哈希函数学习的端到端框架来进行视频检索,在前端采用深度特征提取结构提取视频/图像特征;中间的视频建模表示层对不同长度的视频进行建模表示;后端通过不同的非线性变换分别把之前得到的图像/视频表示映射到一个公共的海明空间,在此海明空间中同时优化所有来自同空间和不同空间的三元组间的排序损失,使学习到的哈希编码可以应用到不同的检索场景。

在本发明的一个实施例中,提供一种基于深度学习和哈希编码的视频检索方法,该方法主要包括特征提取、视频建模、哈希学习以及视频检索。

图1示出了本发明提供的基于深度学习和哈希编码的视频检索方法的总体流程框架示意图,如图1所示,本发明的基于深度学习和哈希编码的视频检索方法包括以下步骤:

s10.特征提取

深度网络具有很强的特征抽象能力,能够对图像/视频数据提取出富含语义信息(例如颜色、纹理或形状等)的特征表示。因此,为了使获得的哈希编码表示更具判别性,在前端采用深度特征提取模块,例如多层感知机、玻尔兹曼机、或卷积神经网络,获取图像/视频的深度特征表示。以卷积神经网络为例,前端的深度特征提取模块可以被设计为若干个卷积层,包含附带的池化层和非线性激活层,在最后一个卷积层后面附加一个全局池化层以便对特征进行向量化。

例如,对于一张静态图像,经过前端的图像特征提取模块后,可以得到对应的特征表示为fx;对于一个视频序列,经过前端的图像特征提取模块后,可以得到对应的特征表示为fy,其中,fy是由输入的视频的每一帧的特征向量构成的特征矩阵,假设视频的帧数是n,每一帧特征的长度是d,则特征矩阵fy的大小是n*d。

在本发明的另一个实施例中,为了加快网络在当前任务上训练时的收敛速度,前端的深度特征提取模块可以事先在一个静态图像数据集上进行基于分类任务的参数预训练,其中,该静态图像数据集是独立于待检索的数据库和训练所使用数据的数据集合,例如在人脸视频检索中,该静态数据集可以是lfw、casiawebface。

在本发明的另一实施例中,用户分别使用静态图像和视频进行视频检索时,如图1所示,针对数据量较大的情况,用于静态图像处理和视频序列处理的深度特征提取模块的参数可以是各自分别独立学习的;针对数据量适中的情况,由于视频可以看成是一系列连续的静态图像的集合,为了降低网络的复杂程度,用于静态图像处理和视频序列处理的深度特征提取模块的参数也可以共享。

s20.视频建模

在完成步骤s10的特征提取之后,网络得到了图像或视频的表示fx或fy。其中,fx可以直接用于欧氏空间的哈希学习,此处不再赘述;而fy是一个矩阵,并且对于不同长度的视频,fy的大小是动态变化的。因此为了使得视频的表示获取固定大小,并且能够具有区分能力,可将该视频作为一个整体进行建模表示,即对fy进行建模表示。

为了达到这个目的,可在网络的中间设计一个视频建模表示层,一般来说,可以采用多种不同的视频建模表示方法,例如协方差统计,时域上的池化,混合高斯建模等。下面以协方差统计方法为例进行说明:

假设一个视频对象经过步骤s10的深度特征提取后获得特征矩阵是fy。

利用协方差矩阵统计方法可得到的输出为:

其中,n为fy的样本维度大小,即该视频的帧数,m为视频帧的均值向量复制成的和fy等大小矩阵。

另外,输出的协方差矩阵cy的对角线元素可记录该视频帧的图像特征的每一维度的方差;其非对角元素则对应了不同特征维度之间的相关性。

通过采用上述协方差矩阵统计的方法,可将输入的待查询视频建模为一个具有固定大小的非奇异的协方差矩阵。由于哈希学习方法只能在欧氏空间中工作,而协方差矩阵cy是存在于一个特定的非欧氏的空间中,为了进行哈希编码,网络需要将cy从该非欧氏空间投影到一个高维的欧氏空间中,例如,可采用变换前后保距的矩阵对数操作,将cy表示为dy。

s30.哈希学习及网络训练

通过步骤s10和s20,网络分别得到了静态图像或动态视频的高维实值表示fy或dy。为了实现静态图像或动态视频之间的可比,需要将高维实值表示fy或dy进一步表示成可比的哈希编码。例如,可以通过将图像数据或视频数据分别学习一组哈希函数,把fy或dy投影到一个公共的海明空间中,假设图像特征表示fx的长度为lx,视频特征表示dy的长度为ly,则可将图像特征的哈希函数定义为wx(大小为lx*d),视频特征的哈希函数定义为wy(大小为ly*d),从而使得fy和dy经过各自的哈希函数映射,例如矩阵与向量的乘法操作,分别得到长度为d的可比的哈希编码表示。其中,哈希函数的实现可以通过网络后端的非线性映射操作,例如,通过神经网络的全连接层(包括附带的非线性激活函数)或者卷积层(附带的非线性激活函数)来实现,整个网络模型可以进行端到端的训练学习。在训练时,网络的输出是近似二值的,例如,使用sigmoid激活函数或者tanh激活函数进行范围约束;在网络训练结束后,将近似二值的输出进行量化,得到离散的二值哈希编码。

在本发明的另一实施例中,所述量化的阈值可以是预先定义好的,例如,0.5或0,也可以是根据给定数据进行学习得到的。

在本发明的另一实施例中,为了实现同空间(使用视频检索视频)以及跨空间(使用图像检索视频)的视频检索,在网络模型训练时,还需考虑二值哈希编码在空间内的判别性和跨空间的兼容性的目标损失。例如,所述目标损失函数可以使用三元组排序损失,假设x,y,z为三个样本,其中,x,y是同类别样本,如均为同类别的视频样本,x,z是不同类别的样本,如不同类别的视频样本和图像样本,那么三元组排序损失就是:

max{0,distance(x,y)+c-distance(x,z)}

该目标损失能够约束样本间的排序关系,使得同类样本间的距离比不同类样本间的距离更小,例如,该损失可约束同类样本间的距离比不同类样本间的距离小于一定的阈值c,否则就要有损失。

s40.视频检索

在网络训练结束后,可利用上述步骤s10-s30将视频数据库中的视频数据使用二值哈希编码进行表示,以便检索对比。

当用户给定一张静态图像进行视频检索时,首先经过步骤s10的前端图像特征提取模块得到该静态图像的高维实值特征,然后经过步骤s30的非线性哈希变换以及近似二值约束函数得到近似二值输出,并通过阈值对上述近似二值输出进行量化得到离散的二值哈希编码。

当用户给定一段视频进行视频检索时,首先经过步骤s10的前端图像特征提取模块得到该视频的所有视频帧图像的特征表示矩阵,然后经过步骤s20的视频建模表示层,得到视频的高维实值特征表示,随后经过步骤s30的非线性哈希变换以及近似二值约束函数得到近似二值输出,进一步通过阈值对这些近似二值输出进行量化得到离散的二值哈希编码。

在实际检索时,可将上述获得的待查询图像/视频样本的二值哈希编码与视频数据库中视频数据的二值哈希编码进行样本间的相似度匹配,从而完成视频检索,例如,可通过计算待查询图像/视频样本的二值哈希编码与数据库存储的每个视频样本的二值哈希编码间的海明距离,按照从小到大进行排序并把排序后的结果返回给用户。

尽管在上述实施例中,以输入静态图像或视频来进行视频检索来说明基于深度学习和哈希编码的视频检索方法,但本领域普通技术人员应理解在其他实施例中,本发明提供的方案还能满足其他同空间或跨空间之间的检索需求,以实现相同形式数据间或不同形式数据间的检索任务,例如,在网络训练结束后,可利用深度网络将图像数据库中的图像数据使用二值哈希编码进行表示,以便检索对比。当用户给定一段视频对图像数据库检索时,经过步骤s10至s30将待查询视频表示为离散的二值哈希编码,然后将上述获得的待查询视频样本的二值哈希编码与图像数据库中图像数据的二值哈希编码进行样本间的相似度匹配,从而完成检索。

相对于现有技术,在本发明实施例中所提供的基于深度学习和哈希编码的视频检索方法,通过用几十比特的二值哈希编码向量作为查询和数据库中的样本表示,使得检索时间和存储开销大幅度减少;同时采用深度神经网络对模型进行多阶段联合优化,使得图像特征提取、视频建模表示和哈希函数学习等各阶段更加兼容,从而实现了多种检索任务并保证了检索的准确性。

虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

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