一种基于深度学习的视频GIS数据检索方法与流程

文档序号:14940994发布日期:2018-07-13 20:46阅读:158来源:国知局

本发明涉及一种基于深度学习的视频gis(geographicinformationsystem,地理信息系统)数据检索方法,属于计算机视觉技术领域。



背景技术:

视频gis是地理视频与gis融合产生的一种新视频,该视频的检索给政府管理和人民生活带来了巨大的便利。随着应用广度和深度的持续增强,视频gis相关产业已经成为新的产业增长点。同时,随着智慧城市建设的发展和城市安防要求的提高,如何从视频gis大数据中准确发现和获取用户所需的数据面临一系列瓶颈问题。一方面我们已经积累了巨量视频gis数据,并且还在继续投巨资生产数据,另一方面,大量视频gis数据受制于庞大的体量和缺乏有效的分析,限制了其应用的广度和深度。因此,对这些数据加以分析利用便成为关键,如何从这些视频gis数据中快速有效的检索出自己所需要的数据成为了最近研究的热点。

传统的视频检索方式是基于文本关键词的视频检索和基于内容的视频检索(content-basedvideoretrieval,cbvr)。由于描述能力有限、主观性强和工作量大等原因,基于文本关键词的视频检索对于上述典型应用无能为力,不能满足视频gis数据深度检索的需求。基于内容的视频检索(cbvr)就是根据用户输入的内容(图像等),在视频数据库中检索到与之相同或相似的视频片段或关键帧的过程。在基于内容的视频检索中,检索的对象往往不再局限于视频数据的本身,而是基于视频“内容”描述的数据,例如颜色特征和纹理特征。

视频检索一般分为视频预处理、特征提取两个步骤。视频预处理最为关键的是关键帧的提取。关键帧是描述一个视频镜头的关键内容的图像特征,从关键帧中可以提取颜色、纹理、形状等底层特征,以作为视频摘要和数据库索引的数据源。若提取视频的每一帧,数据量庞大,而且存在重复和冗余的视频帧,因此关键帧的提取对建立视频索引是非常重要的。

在特征提取方面,传统的视频检索特征提取算法(颜色特征、纹理特征和形状特征等)对特征的描绘需要很高的领域知识,而深度学习模拟人类大脑的结构,利用卷积神经网络的卷积层、池化层和全连接层等基本结构,就可以让网络结构自己学习和提取相关特征。因此,采用深度学习提取特征能够对视频gis图像有更加精准的描绘程度,使得视频gis数据检索的范围大大缩小,从而达到准确且快速的检索目的。

现有技术中为了高效的表示视频特征数据,可以采用实数特征表示的方法或者二值哈希编码表示的方法。基于实数特征表示的方法是指将视频帧图像提取的实数特征向量作为表示,但是由于这种表示方法在检索时相当的耗时以及占存储空间,不能满足大规模的视频gis数据检索的需求;基于二值哈希编码表示的方法是将视频帧图像用二值编码向量来编码表示,相较于采用实数特征表示的方法,在相同长度的表示下,存储空间大幅度减少。例如,在原始空间中,如果一个视频特征向量占1024个字节,那么一亿个视频特征就需要100g的存储空间,而如果每个视频特征用128比特的哈希编码表示的话,所有视频哈希的存储空间只需要1.6g。同时,相似的视频帧图像具有相似的二值码,然后使用汉明距离度量二值码之间的相似性,速度相当之快。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种基于深度学习的视频gis数据检索方法,以解决视频gis数据检索中难以获得精准的检索结果、存储空间消耗大、检索速度慢的问题。

要实现上述发明内容,必须要解决几个核心问题:(1)针对视频gis库中存在重复与冗余的视频gis帧的问题,设计一种高效的关键帧提取方法;(2)针对现有技术中对视频gis图像底层特征表达能力不强的问题,利用深度学习方法,实现基于深度卷积神经网络的特征提取算法;(3)针对检索速度的问题,设计一种分层检索的视频gis数据检索方法,在检索速度、精度等方面满足大规模视频gis数据的检索需求。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种基于深度学习的视频gis数据检索方法,其特征在于,包括以下步骤:

a.关键帧提取

为了保证关键帧的有效性(即关键帧的数量足以代表视频镜头)和视频gis数据检索的效率,并且反映了视频的时间特性,本发明在对视频进行空间和时间采样下,计算视频gis帧帧差的欧式距离,并对视频镜头进行关键帧提取;

其中相邻帧之间帧差的计算采用了欧式距离,一般情况下,同一镜头内的视频gis帧之间帧差在平均值上下波动,且变化较小。假定相邻帧之间的帧差为(d1,d2,……,dn-1,n表示镜头的总帧数),而视频gis帧是彩色图像,需要将其转换成灰度图像,假设转换的帧是(x[1],x[2],...,x[n]),则公式1为镜头内所有视频gis帧之间的帧差计算公式。

需要特别指明的是,由于视频gis数据是高清数据,关键帧像素比较高,导致后续提取时得到的关键点过多,特征匹配速度慢,影响视频gis数据检索效率,因此本发明在保存关键帧之前,对镜头进行了采样处理,在尽可能保证关键帧信息完整的情况下降低了关键帧的像素。

b.深度特征提取

建立由卷积层、激活层和池化层交替构成的深度卷积神经网络模型,输入的视频gis帧图像在网络中进行层层映射,得到各层对于视频gis帧图像不同的表示形式,实现视频gis帧图像的深度特征表示;

c.分层检索

所述检索过程包括粗检索和精检索:首先将深度网络模型学习到的高维特征向量转化成二值码,然后使用汉明距离度量二值码之间的相似性,得到候选相似关键帧的候选池;然后将待检索的视频gis帧图像与候选池中的视频gis帧图像用欧式距离度量它们之间的相似性,最终得到前m个相似的检索结果。

进一步的,所述a.关键帧提取具体包括:

输入:视频镜头v={v1,v2,...vn},选取的关键帧数:k;

输出:视频的关键帧;

a1.采用欧式距离来计算相邻关键帧的帧差,设置循环变量i从1到n-2,n表示镜头的总帧数;

a2.当i=n-2时,表示镜头的所有视频gis帧已经遍历结束,输出视频gis帧差的欧式距离,结束循环,否则继续执行a1;

a3.计算帧差欧式距离的极值、最大值、最小值及中间值;

a4.若极值>中间值,则筛选出极值,否则删除小于等于中间值的极值点;

a5.若选取的关键帧数k>筛选的极值点的个数,则选取筛选的极值作为关键帧,否则,选取筛选的极值中前k帧作为关键帧。

进一步的,所述b.深度特征提取具体包括:

b1.训练前统一图像的尺寸:采用居中裁剪(centercrop)的方法将尺寸统一到224*224,即先按照最小边缩放到224的比例系数,然后进行整体缩放,接着对长边以中心为基准向两边分别做等长裁剪,保留224长度,这样基本可以保证图像不变形的同时突出图像的主体;

b2.建立深度卷积神经网络模型:包括5段卷积和3个全连接层,每段卷积内有2-3个卷积层,同时每段卷积尾部会连接一个最大池化层来缩小图片的尺寸;每个卷积层有3*3的过滤器,然后使用激活函数为修正线性单元(rectifiedlinearunit,relu),由激活函数完成非线性变换,增强本模型对特征的学习能力;

b3.损失函数及优化方法:在上述模型构建后,我们需要训练模型,其中损失函数选用多类的对数损失(categorical_crossentropy)函数,通过随机梯度下降法进行参数寻优以最小化损失函数,其中学习率为0.1,衰减项1e-6,动量0.9,使用牛顿动量(nesterov)最优梯度优化算法;

b4.基于模型提取特征:在提取特征时,通过b1.将图像缩放到一个统一的尺寸,并将图像输入上述模型中进行计算,同时训练卷积神经网络,最终得到高维的特征向量;在初始化阶段,首先对视频gis关键帧库进行特征提取操作,生成高维实值特征,从而构造一个特征数据库;当进行视频gis数据检索时,对待检索的视频gis帧图像进行特征提取操作,生成待检索特征。

进一步的,所述深度卷积神经网络具体包括:

第一段:包括2个卷积层和一个池化层,输入为224×224×3图像数据,经过64个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为224×224×64,经过池化层进行最大池化2*2的核,步长为2,得到112×112×64的数据;

第二段:包括2个卷积层和一个池化层,输入数据112×112×64,经过128个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为112×112×128,经过池化层进行最大池化2*2的核,步长为2,得到56×56×128的数据;

第三段:包括3个卷积层和一个池化层,输入数据56×56×128,经过256个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为56×56×256,经过池化层进行最大池化2*2的核,步长为2,得到28×28×256的数据;

第四段:包括3个卷积层和一个池化层,输入数据28×28×256,经过512个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为28×28×512,经过池化层进行最大池化2*2的核,步长为2,得到14×14×512的数据;

第五段:包括3个卷积层和一个池化层,输入数据14×14×512,经过512个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为14×14×512,经过池化层进行最大池化2*2的核,步长为2,得到7×7×512的数据;

第六段:输入数据7×7×512,全连接,得到4096个特征,然后进行relu激活函数处理,输出特征为4096,经过dropout处理(防止模型过拟合),最后得到4096数据;

第七段:输入数据4096,全连接,得到4096个特征,然后进行relu激活函数处理,输出特征为4096,经过dropout处理,最后得到4096数据;

第八段:输入数据4096,全连接,得到1000个特征数据。

进一步的,所述第一层粗检索具体包括:

为了进行高效的视频gis数据检索,将由深度网络模型学习到的高维特征向量转化成二值码,然后使用汉明距离度量二值码之间的相似性,得到候选相似关键帧的候选池。

为了同时学习获得特征表示和得到一组哈希函数,在预训练好的卷积神经网络的第七段和第八段之间,插入一个新的全连接层,这个层使用sigmoid激活函数(s型生长曲线)将模型第七段输出的特征向量转化成二值码;其中,深度卷积神经网络的初始参数是从imagenet数据集(一个现有的图像数据库)上训练所得到的,而对于新的全连接层初始参数,采用随机投影变换的方式来构建哈希值;

对于待检索的视频gis帧,首先提取的是新的全连接层的输出的特征,通过对激活的阈值二进制化后得到二值码;最后将待检索的视频gis帧的二值码与特征数据库中的二值码之间的汉明距离小于给定阈值的那些视频gis帧图像放入到候选池中。

进一步的,所述第二层精检索具体包括:

在粗检索中,将二值哈希码之间的汉明距离小于给定阈值的那些视频gis帧图像放入到候选池中,为了得到更精准的检索结果,在粗检索的基础上进一步采用精准检索的方法。

对于待检索的视频gis帧图像和粗检索中得到的候选池图像,根据从卷积神经网络的第七段提取的特征,具体用欧式距离来计算它们之间的相似度,来确定从候选池中视频gis帧图像的前m个检索结果。欧式距离越小,两幅图像的相似度就越高,这样就确定了前m个相似的检索结果。

有益效果:本发明提供的一种基于深度学习的视频gis数据检索方法,相对于现有技术,具有以下优点:1、由于采用基于帧差的欧式距离的关键帧提取方法,很好地解决了视频gis库中存在重复和冗余的视频gis帧的问题,减少了内存的占用,加快了视频的索引;2、由于采用深度卷积神经网络进行特征提取,这样的特征向量对视频gis帧图像具有更精准的描绘程度,具有较好的实验效果,实现大规模视频gis数据中各关键帧的特征提取;3、在分层检索时,利用二值哈希的思想在保证精度的条件下提高了检索的速度,做到了又快又准,满足大规模视频gis数据的检索需求。

附图说明

图1为本发明一种基于深度学习的视频gis数据检索方法的流程图;

图2为本发明中a.关键帧提取的流程图;

图3为本发明中深度卷积神经网络模型的结构图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

如图1所示为一种基于深度学习的视频gis数据检索方法,主要包括以下步骤:

a.关键帧提取

针对视频gis数据,视频gis数据中有很多重复和冗余的信息,如果不对它进行预处理,那么视频gis数据量会相当大,检索的效率将会大大降低。例如,在视频gis数据中可能会出现静止的画面,若提取视频的每一帧,那么就会存在重复或者冗余的视频gis帧。因此,首先我们需要对视频gis数据进行预处理,对镜头进行分割,选取有价值的信息,代表视频镜头的主要内容,即关键帧。

同时,由于视频gis数据是高清数据,关键帧像素比较高,导致后续提取时得到的关键点过多,特征匹配速度慢,影响视频gis数据检索效率,因此本发明在保存关键帧之前,首先对镜头进行了采样处理,在尽可能保证关键帧信息完整的情况下降低了关键帧的像素。在关键帧提取时,需要将彩色的视频gis帧图像转换为灰度图像,然后计算相邻帧差之间的欧氏距离,从而得到视频gis数据的关键帧,构建关键帧库。

图2表示关键帧提取的流程图,具体步骤如下:

输入:视频镜头v={v1,v2,...vn},选取的关键帧数:k=5;

输出:视频的关键帧;

a1.采用欧式距离来计算相邻关键帧的帧差,设置循环变量i从1到n-2,n表示镜头的总帧数;

a2.当i=n-2时,表示镜头的所有视频gis帧已经遍历结束,输出视频gis帧差的欧式距离,结束循环,否则继续执行a1;

a3.计算帧差欧式距离的极值、最大值、最小值及中间值;

a4.若极值>中间值,则筛选出极值,否则删除小于等于中间值的极值点;

a5.若选取的关键帧数k>筛选的极值点的个数,则选取筛选的极值作为关键帧,否则,选取筛选的极值中前k帧作为关键帧。

b.深度特征提取

深度网络具有很强的特征抽象能力,能够对视频gis数据提取富含语义信息的特征表示。因此,为了使获得的哈希编码更具有判别性,采用深度特征提取,以获取视频gis数据的深度特征表示。

本发明用vggnet(深度卷积神经)网络架构来描绘视频gis帧图像的特征,深度特征提取方法被设计为5段卷积,包含附带的池化层和非线性激活层,在最后一个卷积层后面附加一个全局池化层以便对特征进行量化,如图3所示。具体包括:

b1.训练前统一图像的尺寸:采用centercrop的方法将尺寸统一到224*224,即先按照最小边缩放到224的比例系数,然后进行整体缩放,接着对长边以中心为基准向两边分别做等长裁剪,保留224的尺寸;

b2.建立深度卷积神经网络模型:包括5段卷积和3个全连接层,每段卷积内有2-3个卷积层,同时每段卷积尾部连接一个最大池化层来缩小图片的尺寸;每个卷积层有3*3的过滤器,然后使用激活函数relu,由激活函数完成非线性变换,增强本模型对特征的学习能力;

b3.损失函数及优化方法:在上述模型构建后,我们需要训练模型,其中选用categorical_crossentropy损失函数,通过随机梯度下降法进行参数寻优以最小化损失函数,其中学习率为0.1,衰减项1e-6,动量0.9,使用nesterov最优梯度优化算法;

b4.基于模型提取特征:在提取特征时,通过b1.将图像缩放到一个统一的尺寸,并将图像输入上述模型中进行计算,同时训练卷积神经网络,最终得到高维的特征向量;在初始化阶段,首先对视频gis关键帧库进行特征提取操作,生成高维实值特征,从而构造一个特征数据库;当进行视频gis数据检索时,对待检索的视频gis帧图像进行特征提取操作,生成待检索特征。

其中,所述深度卷积神经网络模型具体包括:

第一段:包括2个卷积层和一个池化层,输入为224×224×3图像数据,经过64个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为224×224×64,经过池化层进行最大池化2*2的核,步长为2,得到112×112×64的数据;

第二段:包括2个卷积层和一个池化层,输入数据112×112×64,经过128个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为112×112×128,经过池化层进行最大池化2*2的核,步长为2,得到56×56×128的数据;

第三段:包括3个卷积层和一个池化层,输入数据56×56×128,经过256个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为56×56×256,经过池化层进行最大池化2*2的核,步长为2,得到28×28×256的数据;

第四段:包括3个卷积层和一个池化层,输入数据28×28×256,经过512个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为28×28×512,经过池化层进行最大池化2*2的核,步长为2,得到14×14×512的数据;

第五段:包括3个卷积层和一个池化层,输入数据14×14×512,经过512个过滤器、窗口大小为3*3的卷积层处理,然后进行relu激活函数处理,输出特征为14×14×512,经过池化层进行最大池化2*2的核,步长为2,得到7×7×512的数据;

第六段:输入数据7×7×512,全连接,得到4096个特征,然后进行relu激活函数处理,输出特征为4096,经过dropout处理,最后得到4096数据;

第七段:输入数据4096,全连接,得到4096个特征,然后进行relu激活函数处理,输出特征为4096,经过dropout处理,最后得到4096数据;

第八段:输入数据4096,全连接,得到1000个特征数据。

c.分层检索

检索过程分为两个层面,粗检索和精检索。第一层是用哈希方法和汉明距离进行粗检索;第二层把第一层粗检索的结果进行过滤,实现从候选池中视频gis帧图像的前m个精检索。

1)一种用哈希方法和汉明距离的粗检索

为了进行高效的视频gis数据检索,首先由本模型学习到的高维特征向量转化成二值码,然后使用汉明距离度量二值码之间的相似性,得到候选相似关键帧的候选池。

为了同时学习获得特征表示和得到一组哈希函数,在预训练好的卷积神经网络的第七段和第八段之间,插入一个新的全连接层,这个层使用sigmoid激活函数(s型生长曲线)将模型第七段输出的特征向量转化成二值码;其中,深度卷积神经网络的初始参数是从imagenet数据集上训练所得到的,而对于新的全连接层初始参数,采用随机投影变换的方式来构建哈希值;

对于待检索的视频gis帧,首先提取的是新的全连接层的输出的特征,通过对激活的阈值二进制化后得到二值码,其中阈值为0.5;最后将待检索的视频gis帧的二值码与特征数据库中的二值码之间的汉明距离小于给定阈值的那些视频gis帧图像放入到候选池中。

2)一种从候选池中视频gis帧图像的前m个精检索

在粗检索中,将二值哈希码之间的汉明距离小于阈值的那些视频gis帧图像放入到候选池中,为了得到更精准的检索结果,在粗检索的基础上进一步采用精准检索的方法。

对于待检索的视频gis帧图像和粗检索中得到的候选池图像,根据从卷积神经网络的第七段提取的特征,具体用欧式距离来计算它们之间的相似度,来确定从候选池中视频gis帧图像的前m个检索结果。欧式距离越小,两幅图像的相似度就越高,这样就确定了前m个相似的检索结果。

相对于现有技术,在本发明中所提供的基于深度学习的视频gis数据检索方法,采用视频gis帧的帧差来提取关键帧,使得检索的效率大大地提高;采用深度卷积神经网络模型进行训练,提取更高层次的特征表示;同时,利用二值哈希的思想在保证精度的条件下提高了检索的速度,使得检索时间和存储开销大幅度减少。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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