一种基于深度学习的视频检索方法

文档序号:1556688 发布日期:2020-01-21 浏览:25次 >En<

阅读说明:本技术 一种基于深度学习的视频检索方法 (Video retrieval method based on deep learning ) 是由 印鉴 陈智聪 于 2019-08-27 设计创作,主要内容包括:本发明提供一种基于深度学习的视频检索方法,该方法能通过G网络中的视频输入层以及RseNet的深度学习模型学习到视频的上下文特征,能够提取出可以表达视频类型的特征数,并且经过Hash层转换优化存储空间,使得视频特征存储所占空间极大降低。通过在相应数据集上的实验表明,本发明对比之前的视频检索方法,有较大提升,并且同样数据集占用的存储空间也有较大降低。(The invention provides a video retrieval method based on deep learning, which can learn the context characteristics of a video through a video input layer in a G network and a deep learning model of RseNet, can extract the characteristic number capable of expressing the video type, and optimizes the storage space through Hash layer conversion, so that the space occupied by video characteristic storage is greatly reduced. Experiments on corresponding data sets show that the method has great improvement compared with the prior video retrieval method, and the storage space occupied by the data sets is also greatly reduced.)

一种基于深度学习的视频检索方法

技术领域

本发明涉及计算机视觉领域,更具体地,涉及一种基于深度学习的视频检索方法。

背景技术

近年来,随着互联网的快速发展,网络已经成为人们娱乐和获取信息的主要途径,在这个过程中,互联网上积累了大量的视频数据,目前相当成熟的文字检索技术可以帮助人们获取信息,但是对于利用视频去进行检索却还有所欠缺。视频检索技术可以帮助人们查找某个视频相关的其他视频,因此视频检索技术无论是对学术界或者是工业界都表现除了极大的吸引力。

目前的检索技术常见的如文字搜索文字、图片、视频,以及图片搜索图片,但是对于以视频搜索视频的技术还并不完善。本专利基于深度学习的方法,对视频特征进行提取,然后提供给检索用。深度学习的模型在图片领域上的应用比较成熟,但是对于视频领域,由于各种原因,比如视频数据集太大、数据集质量欠缺、模型不足以提取视频特征等因素,导致视频特征提取还不是非常成熟。目前常见的视频特征提取网络有3D Convolution、Two-Stream Network、CNN+RNN等。

对于上述一些问题,通过调研后采取了3D Convolution网络,具体是3D ResNet,该模型有许多种深度,例如常见的18层、34层、50层、101层、152层等。一般来说,深度越深,越能提取视频的细节特征。但是深度越深也会带来越高的计算开销,对硬件的要求会越高。综合了个因素后,采取了18层的ResNet进行视频的特征提取。经过测试,得出了18层ResNet已经可以达到一个不错的效果了。让深度学习进行学习从而达到对视频特征提取更加敏感,这样最后的分类器的分类也就更加准确。分类更加准确,之后在进行检索的视频相关度就会更高。

发明内容

本发明提供一种基于深度学习的视频检索方法,该方法可实现降低同样数据集占用的存储空间。

为了达到上述技术效果,本发明的技术方案如下:

一种基于深度学习的视频检索方法,包括以下步骤:

S1:建立用于视频特征提取的深度学习网络模型G;

S2:对步骤S1中得到的模型进行训练与测试;

S3:利用S3中得到的弄醒建立用于提供后台接口的进程,提供检索入口以及返回检索结果。

进一步地,所述步骤S1的具体过程是:

S11:建立G网络的第一层视频向量层,将预处理后的每个视频中的每一帧照片表示成一个低纬、稠密的实数向量,在大规模标注照片上预训练好的图片模型Resnet,将整个视频表示成视频向量矩阵X=[x1,…,xt,…,xn],其中n是视频帧数,向量矩阵X的维度是照片预处理大小112*112;

S12:建立G网络的第二层ResNet层,在这一层中让模型学习到整个视频的上下文信息,对于向量X,每一帧图片是向量中的一个元素,第t个帧元素表示为xt,通过ResNet模型后提取到一组设定好的n bit长度的特征向量;

S13:建立G网络的第三层特征向量Hash层,将ResNet输出的特征向量进行Hash转化成0、1值的向量,以此减少存储空间。

进一步地,所述步骤S2的具体过程是:

S21:将数据集分为训练数据以及测试数据;

S22:整体的模型要进行训练,G网络的训练步骤如下:由G网络提取出视频特征,由损失函数L1的最小化来训练G网络模型,训练G网络的参数;

S23:模型的测试步骤为:先过第一遍测试数据集,将测试数据输入到G网络,然后由G网络生成特征,将特征存储到数据库DB1。然后进行第二遍特征mAP计算,将每一个视频的特征与DB1中数据进行距离计算,之后进行mAP计算,具体计算方式是:计算所有视频间的距离,然后按距离从小到大排序,接着判断是否属于同类视频,例如第t个视频特征,如果是则正确数加1,正确数表示为r,然后计算AP即r除以t,把所有视频的AP计算出来后进行求AP总和,并处以视频总数量n,即得到最终结果mAP。

进一步地,所述步骤S3的具体过程是:

S31:将训练后的ResNet模型保存下来;

S32:创建一个后台服务进程,预留视频输入的接口;

S33:通过访问S32中创建的接口,将视频输入进去,之后S32的后台服务进程会先对视频进行预处理,处理成S31的ResNet模型所需要的输入格式,接下来调取S31中保存的ResNet模型,将处理好的视频输入进模型,并得到n bit的特征数。然后经过Hash后调去数据库中存储的视频特征数据进行距离计算,并按小到大进行排序后返回前k个视频,即最相似的前k个视频为检索结果。

进一步地,步骤S12中,特征提取过程如下:先将ResNet模型经过Kinetics视频数据集进行预训练,然后再进行微调,每个视频经过预训练好的ResNet模型后,会生成一组k大小的特征数向量,这个k是指视频有k种分类;然后再经过一个Linear层转换成自定义的n长度的特征数。

进一步地,步骤S22中,G网络的训练过程中,采用交叉熵损失与三元组损失作为损失函数,并且损失值的大小是根据交叉熵损失与萨三元组损失的总和。训练过程中采用SGD进行优化,采用Margin设置距离间距,防止过拟合。

与现有技术相比,本发明技术方案的有益效果是:

本发明能通过G网络中的视频输入层以及RseNet的深度学习模型学习到视频的上下文特征,能够提取出可以表达视频类型的特征数,并且经过Hash层转换优化存储空间,使得视频特征存储所占空间极大降低。通过在相应数据集上的实验表明,本发明对比之前的视频检索方法,有较大提升,并且同样数据集占用的存储空间也有较大降低。

附图说明

图1为本发明的G网络流程示意图;

图2为本发明的应用流程示意图;

图3为本发明的算法模型完全图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1-3所示,一种基于深度学习的视频检索方法,包括以下步骤:

S1:建立用于视频特征提取的深度学习网络模型G;

S2:对步骤S1中得到的模型进行训练与测试;

S3:利用S3中得到的弄醒建立用于提供后台接口的进程,提供检索入口以及返回检索结果。

进一步地,所述步骤S1的具体过程是:

S11:建立G网络的第一层视频向量层,将预处理后的每个视频中的每一帧照片表示成一个低纬、稠密的实数向量,在大规模标注照片上预训练好的图片模型Resnet,将整个视频表示成视频向量矩阵X=[x1,…,xt,…,xn],其中n是视频帧数,向量矩阵X的维度是照片预处理大小112*112;

S12:建立G网络的第二层ResNet层,在这一层中让模型学习到整个视频的上下文信息,对于向量X,每一帧图片是向量中的一个元素,第t个帧元素表示为xt,通过ResNet模型后提取到一组设定好的n bit长度的特征向量;

S13:建立G网络的第三层特征向量Hash层,将ResNet输出的特征向量进行Hash转化成0、1值的向量,以此减少存储空间。

步骤S2的具体过程是:

S21:将数据集分为训练数据以及测试数据;

S22:整体的模型要进行训练,G网络的训练步骤如下:由G网络提取出视频特征,由损失函数L1的最小化来训练G网络模型,训练G网络的参数;

S23:模型的测试步骤为:先过第一遍测试数据集,将测试数据输入到G网络,然后由G网络生成特征,将特征存储到数据库DB1。然后进行第二遍特征mAP计算,将每一个视频的特征与DB1中数据进行距离计算,之后进行mAP计算,具体计算方式是:计算所有视频间的距离,然后按距离从小到大排序,接着判断是否属于同类视频,例如第t个视频特征,如果是则正确数加1,正确数表示为r,然后计算AP即r除以t,把所有视频的AP计算出来后进行求AP总和,并处以视频总数量n,即得到最终结果mAP。

步骤S3的具体过程是:

S31:将训练后的ResNet模型保存下来;

S32:创建一个后台服务进程,预留视频输入的接口;

S33:通过访问S32中创建的接口,将视频输入进去,之后S32的后台服务进程会先对视频进行预处理,处理成S31的ResNet模型所需要的输入格式。接下来调取S31中保存的ResNet模型,将处理好的视频输入进模型,并得到n bit的特征数。然后经过Hash后调去数据库中存储的视频特征数据进行距离计算,并按小到大进行排序后返回前k个视频,即最相似的前k个视频为检索结果。

步骤S12中,特征提取过程如下:先将ResNet模型经过Kinetics视频数据集进行预训练,然后再进行微调,每个视频经过预训练好的ResNet模型后,会生成一组k大小的特征数向量,这个k是指视频有k种分类;然后再经过一个Linear层转换成自定义的n长度的特征数。

步骤S22中,G网络的训练过程中,采用交叉熵损失与三元组损失作为损失函数,并且损失值的大小是根据交叉熵损失与萨三元组损失的总和。训练过程中采用SGD进行优化,采用Margin设置距离间距,防止过拟合。

本实施所采用的数据集有两个,一个是用于预训练ResNet模型用的Kinetics,另外一个是用于微调用的UCF101,这两个数据集的***都是Youtube。经过数据预处理之后,每个视频的帧数都是相同的,例如64帧。本发明所使用的数据集基本情况如下表所示:

Dataset Train Test
Kinetics-400 206245 100000
UCF101 8320 4000

G网络的构建:流程图如图1所示。

首先输入一组视频,这组视频中的每一个都会经过预处理,提取出设定的k帧照片,并且每一帧都转换到设定的大小112,即每一个视频都是一个k*112*112的矩阵。将这个矩阵输入到ResNet模型中进行学习。可以得到输出:H=[h1,…,ht,…hn]。这个输出是数据集类别的总数,例如UCF101一共有101类,那么这个输出的长度就是101。接着把这个输出经过Linear转换成设定的48长度的特征。接下来把这组视频按类别进行三元组组合,每个组合是两个同类和一个不同类的视频。最后进行损失计算,然后进行反向传播,即可训练模型。训练完后,把每个视频提取的特征经过Hash层转换后保存在数据库,以提供检索用。

模型训练的具体步骤如下:

首先是G网络的训练。每次训练,输入都是一组视频,例如是x个视频,这x个视频通过G网络得出的x个H特征向量,每个H向量的大小是y,这个y在UCF101数据集是101,然后经过Linear层后得到设定的48长度的特征向量H’,这里k是设定的每个视频预处理的帧数。然后把这x个视频进行三元组组合,接下来把组合好的三元组进行三元组损失计算。另外,这x个视频的特征矩阵H’也会进行交叉熵计算。最后将三元组损失计算结果与交叉熵损失计算结果进行加和,这个和就是最总的损失函数。采用使损失函数最小化的方式训练模型,总损失值=三元组损失函数值+交叉熵损失函数值。训练过程采用SGD优化,Margin间隔防止过拟合。

为了表现本实验的良好效果,本实验还和当前视频检索模型进行比较验证,结果评估指标为均值平均准确率(mAP,mean average precision),均值平均准确率定义为按距离从小到大排序后,计算每个检索到的视频所在位置的预测准确率,后进行总和求平均。然后把所有的查询的样本的平均预测准确率求和取平均。比方法,视频数据库总共有k个视频,一共输入10个视频进行检索计算mAP,那么计算过程为,对于这10个检索的视频,每一个视频进行都与数据库中k个视频进行距离计算,并完成从小到大的排序后,依次计算每个位置的准确率,距离最小为第1个视频,如果预测分类相同,则准确率为1/1=1,距离排序的第2个视频如果预测分类不相同,且第3个视频预测分类相同,则准确率为2/3=0.66,这里的2是到第三个为止正确的数量,3是到第三个视频为止的视频总数,然后依次计算到第k个视频,得到的所有准确率计算总和并除以正确分类的视频数量则可得到平均准确率,按这样的方法把要检索的10个视频的平均准确率都计算出来,再求和除以10,即得到均值平均准确率mAP。实验结果如下:

Figure BDA0002186079370000061

从结果可以看出我们的发明相较于以前的方法有较大的提升,本发明从视频特征距离差距所产生的检索结果影响这个角度出发,合理的利用了深度学习网络以及特征提取的思路,整体的模型示意图如附图3所示。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频推荐方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!