一种基于端到端深度学习的视图地标检索方法
技术领域
本发明涉及互联网新媒体视图识别技术,尤其涉及一种基于端到端深度学习的视图地标检索方法。
背景技术
根据中国互联网络信息中心(China Internet Network Information Center,简称CNNIC)《中国互联网发展报告(2018)》指出,国内互联网的信息流,特别是热点或敏感事件,正逐渐摆脱以文字为载体为基础进行传递。尤其在各类新兴社交媒体(以两微一抖为主)上,仅凭消息文字,视频或图片中的文字难以快速查询,辨别,定位地点。执法机关以及各级政府机构难以迅速通过图片视频迅速定位热点事件发生地点,来进行舆情分析和管控。若能解决各级机关机构对快速,高精度和自动化的视频图像地标检索的需求,快速准确地找出照片的拍摄地点,则能提高对突发事件的决策效率,降低维护社会治安的成本。
当深度学习应用在地标实例搜索任务时,直接迁移使用CNN(卷积型神经网络)进行局部特征提取。这个过程相当于通过一个黑盒进行局部特征向量的提取,造成在训练CNN网络过程中,参数的优化对地标实例识别的影响方向是不可控的。而当经典图像特征提取方法应用在地标实例搜索任务时,其提取局部不变特征后编码的算法性能又没有深度学习的强大非线性表示能力,不能充分理解图像更深层次的信息,在工程化项目上也不能达到很好的精度效果。这些都是迫切需要解决的问题。
发明内容
本发明的目的是针对上述现有技术存在的问题不足,提供一种基于端到端深度学习的视图地标检索方法,以解决相关技术中地标实例数据特征限制于手工定制提取数据特征的表示能力,进一步解耦全局空间信息,使得特征提取的结果参与到深度学习中更能体现误差函数反向传播,实现了基于端到端深度学习的高鲁棒性高精度地标实例检索方法。
本发明的目的是通过以下技术方案来实现的:一种基于端到端深度学习的视图地标检索方法,包括以下步骤,采集关键地标图片,在进行标记类别和下采样置设图片尺寸的预处理操作后作为训练数据;将局部聚合描述符向量方法嵌入卷积型神经网络(CNN),构成端到端的CNN网络模型,使得经过所述端到端的CNN 网络模型提取的局部特征向量丧失了其位置特性,进一步解耦全局空间信息;将所述训练数据输入所述的端到端CNN网络模型以提取图像局部不变特征,通过误差函数训练优化所述端到端CNN网络模型,利用所述CNN端到端网络模型的非线性能力在聚合局部不变特征时,学习更好的聚合簇中心点,提高所述图像局部不变特征的表示能力;对用户需要鉴定的视频流进行提取关键帧图片操作后与需要鉴定的图片流后进行下采样操作设置图片尺寸,生成待鉴定地标数据集;将用户预处理后的所述待鉴定地标数据集输入到所述端到端CNN网络模型,进行局部不变特征向量的提取,并通过全连接层和数据输出层输出各地标类别计算结果;根据训练设置的每个关键地标类别阈值,判断所述测试数据集中的每份数据是否存在关键地标类别,若存在则输出图片源名和地标的提示。
第一步中,采集关键地表训练样本的预处理方式具体是先以300×300的分辨率下采样重新置设训练图片尺寸I,再标记每个图片中的n个关键地表名。地标种类为n。其中分别取1/3作为测试集样本I1,其余2/3作为训练集样本I2。
第二步中,嵌入局部聚合描述符向量方法的卷积型神经网络提取特征向量的具体过程为:
经过CNN的5层卷积层后得到局部聚合描述符向量池化层的输入——大小为size×20×20×512的图像特征提取数据,可视为每size都有512纬的20×20个图像特征描述子xi。
遍历所有的样本点图像特征描述子xi,利用a(x)决定图像特征描述子xi是否属于第k个聚类中心ck值为1否则为0的特性。
但要通过反向传播BP算法对参数进行优化,就必须要求对所有参数以及输入都是可微分的,为此需要把离散的a(x)变为连续的即图像特征描述子 xi通过聚合描述符向量池化层中的soft-assignment模块生成完成a(x)的连续化操作,求得连续的输出其的数学公式为:
其中N×{xi}∈RD,N表示描述子xi的类数,D表示图像特征描述子xi代表的纬度空间个数;K×{ci},K表示个聚类中心ck;α是一个正数,控制学习速率。
将与图像特征描述子xi计算相应的残差相乘,最后求和,这样得到了一个聚类中心的残差和,就是得到了V的一个行向量,长度d。
遍历k个聚类中心,得到V矩阵的k行d列。其中得到V矩阵第j行k列元
素V(j,k),其V(j,k)的数学公式为:
最后对V进行PCA降维归一正则化处理,然后进行L2正则化,得到图像特征提取的局部聚合描述符向量长度为k*d。
图像特征描述子xi通过聚合描述符向量池化层的soft-assignment模块生成布过程之前还需要通过一个卷积操作,得到卷积输出sk,再经过soft-max 分类器得到其sk的数学公式为:
其中卷积核空间大小为1×1;k为卷积核个数;D为卷积深度;wk为卷积权重系数项;bk为卷积偏置项。
嵌入局部聚合描述符向量方法的卷积型神经网络的每个卷积层步长stride 为1,填充宽度pad也为1。每次卷积层提取的特征在池化操作之前都有激活函数relu操作以提高非线性能力,减少反向传播的梯度弥漫现象,其中为了防止模型过拟合,采用了dropout操作。
第三步中,在训练集样本输入到端到端卷积型网络模型进行训练时,首先进行前向传播,设每批数据批次大小为size,则数据输出层(input)的输入数据为size ×300×300×3图像数据,图像数据经过卷积层conv1_1到conv5_3,其特征提取输出大小为20×20×512的特征提取数据,作为局部聚合描述符向量池化层 VLAD-pool的输入,经过全连接层FC_2后,数据输出层output输出每size大小为4096的特征描述符向量;再通过误差函数的反向传播,以随机梯度下降算法不断更新权重参数,训练最优解模型。
第四步中,对待检测地标的视频进行以t间隔的关键帧采集并作300×300 尺寸大小的下采样操作生成地标待鉴定图片样本集Q1;对待检测地标的图片则直接进行300×300尺寸大小的下采样操作生成地标待鉴定图片样本集Q2;并将生成的待鉴定地标数据集统一记为Q。
第五步中,各地标类别计算结果若达到训练的地标类别的预设阈值,则根据需求所预设的算法准确率以TOP-m,m>0的整数,进行输出排名前m的类别包含实际结果的地标标签名。
在用户层面上,若待鉴定地标的图片没有含有地标,则自动无视;反之,输出至用户所检索到的地点名和源图片的视图编号以及源图片的视图来源。
本发明的优点是:提供了一种基于端到端深度学习的视图地标检索方法,可以直接针对要求快速准确的地点识别任务进行端到端的训练。通过提取对复杂环境分析更全面,更紧凑的图像描述子,该算法模型不仅对光照和视角变化有一定的鲁棒性,而且会自动关注图像中的建筑物等有显著区分性的地标信息。从而获得了对特征的提取更全面,对复杂环境分析更全面更紧凑的图像特征表示。通过本发明设计的CNN模型得到的图像特征描述子表示比其他非深度学习的图像特征表示以及现有的CNN描述子得到的特征要好,使得本发明的视图地标检索方法精确率和效率提高。
本发明提供了一种可以很容易地嵌入到任何CNN(卷积型神经网络)架构的局部聚合描述符向量池化层,是一个新的广义VLAD层。VLAD指的是图像检索中的“局部聚合描述符向量”图像表示方法。该层可以很容易地嵌入到任何CNN(卷积型神经网络)架构中,并且可以通过反向传播BP算法进行训练,与CNN架构一起构成其端到端的结构。这使得局部聚合向量算法的关键操作——每个局部特征指派给离它最近的簇中心点升级为可微化操作,让提取的数据特征不限制于手工定制提取图片特征的表示能力。进一步学习并确定更好的聚合簇中心点,从而提高通过CNN模型的图像描述子向量的地标图像表示能力。
附图说明
图1为基于深度学习的端到端视图地标检索方法流程。
图2为嵌入局部聚合描述符向量方法卷积型神经网络结构图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种基于端到端深度学习的视图地标检索方法,具体包括如下步骤:
第一步:为后续模型的训练,采集各种地标图片作为训练集级数据;
(1)将若干张各自标有一个或多个关键地表名的图片进行大小为300×300 的下采样操作,并样本集记为I,地标种类为n。
(2)其中分别取1/3作为测试集样本I1,其余2/3作为训练集样本I2。
第二步:基于局部聚合特征描述子向量(VLAD)方法构建局部聚合特征描述子向量(VLAD)池化层并嵌入CNN网络模型中,VLAD池化层的可学习聚合算法具体步骤如下:
(1)经过CNN的5层卷积层后得到局部聚合描述符向量池化层的输入——大小为size×20×20×512的特征提取数据,可视为每size都有512纬的20× 20个描述子xi。
(2)遍历所有的样本点描述子xi,利用a(x)决定描述子xi是否属于第k个聚类中心ck值为1否则为0的特性。
(3)但要通过反向传播BP算法对参数进行优化,就必须要求对所有参数以及输入都是可微分的,为此需要把离散的a(x)变为连续的即描述子xi通过局部聚合描述符向量池化层的soft-assignment模块生成
(4)在局部聚合描述符向量池化层的soft-assignment模块中,描述子xi先进行卷积操作,得到卷积输出sk,其sk的数学公式为:
其中卷积核空间大小为1×1;k为卷积核个数;D为卷积深度;wk为卷积权重系数项;bk为卷积偏置项。
(5)然后卷积输出sk再经过soft-max分类器,完成a(x)的连续化操作,求得连续的输出其的数学公式为:
其中N×{xi}∈RD,N表示描述子xi的类数,D表示图像特征描述子xi代表的纬度空间个数;K×{ci},K表示个聚类中心ck;α是一个正数,控制学习速率。
(6)将与图像特征描述子xi计算相应的残差相乘,最后求和,这样得到了一个聚类中心的残差和,就是得到了V的一个行向量,长度d。
(7)遍历k个聚类中心,得到V矩阵的k行d列。其中得到V矩阵第j行k 列元素V(j,k),其V(j,k)的数学公式为:
(8)最后对V进行PCA降维归一正则化处理,然后进行L2正则化,得到局部聚合描述符向量长度为k*d。
(9)局部聚合描述符向量池化层的三个学习的训练参数为{ci},{wi},{bk};在误差反向传播BP算法中通过损失函数进行参数的迭代更新。
第三步:将采集用于训练的地标数据训练所设计的端到端卷积型网络模型模型。
(1)将地表名的图片样本集中的训练集样本输入设计的端到端卷积型网络模型进行训练。
(2)开始进行前向传播,设每批数据批次大小为size,则数据输出层(input)的输入数据为size×300×300×3图像数据,图像数据经过卷积层conv1_1到 conv5_3,其特征提取输出大小为20×20×512的特征提取数据,作为局部聚合描述符向量池化层的输入,经过全连接层FC_2后,数据输出层output输出每size 大小为4096的向量。
通过误差函数的反向传播,以随机梯度下降算法不断更新权重参数,训练最优解模型。
第四步:对用户需要鉴定的视图进行预处理操作,生成待鉴定数据集。
(1)根均所需求鉴定是否存在地标的视频和图片,对视频进行以t间隔的关键帧采集并作300×300尺寸大小的下采样操作生成地标待鉴定图片样本集Q1;
(2)对图片则直接进行300×300尺寸大小的下采样操作生成地标待鉴定图片样本集Q2;
(3)将图片和视频生成的待鉴定地标数据集统一记为Q;
第五步:将用户预处理后的待鉴定地标数据集Q输入卷积型神经网络,进行特征向量的提取,并通过全连接层和数据输出层输出各地标类别计算结果。
第六步:根据输出算法计算结果,决定是否对用户进行图片源名和地标的提示。
各地标类别计算结果若达到训练的地标类别的预设阈值,则根据需求所预设的算法准确率以TOP-m,m为大于等于1的整数,进行输出排名前m的类别包含实际结果的地标标签名。
在用户层面上,则是若待鉴定地标的图片没有含有地标,则自动无视;反之,输出至用户所检索到的地点名和源图片的视图编号以及源图片的视图来源。