基于深度度量学习的目标精确检索方法与流程

文档序号:12733969阅读:364来源:国知局
基于深度度量学习的目标精确检索方法与流程

本发明涉及计算机视觉技术,具体涉及一种基于深度度量学习的目标精确检索方法。



背景技术:

目标精确检索一直是计算机领域中的至关重要的问题,同时也是对象跟踪、行为分析等应用分析的基础。精确检索(同时也称细粒度识别),旨在精细地区分不同种视觉上相似的物体类别。例如,细粒度车辆识别可以识别出图片内特定的汽车模型,比如“奥迪A62015款”。近年来,随着计算机大规模并行计算能力的突飞猛进以及深度卷积神经网络的成功应用,人们在大量细粒度图像分类的垂直领域投入了更多研究,比如识别不同品种的动物、植物、车辆、衣服、行人的身份等。

目标精确检索的目的在于将某个特定查询目标从一系列具有相似外表的参考对象数据集中识别出来。识别的过程是一个相似度比对的过程,依据与查询图像的相似度得分从高到低排序。相似度得分的产生过程通常包含三个步骤:提取特征、做相应变换、相似度度量。

对于查询目标和参考对象,常见的提取特征有颜色、纹理、以及尺度不变特征等,这些特征再经过某种数学模型进行变换或融合,再选取适当的距离度量生成特征之间的相似度得分并排序。

细粒度图像识别的难点在于类间的相似性和类内的多样性。一方面,不同的细粒度类别对象本身属于某一个大类别(如:奥迪A6和奥迪A8都属于奥迪车),其具有类间相似性,使得提取出的特征也非常相似导致难以区分。另一方面,同一细粒度类别的对象由于不同的视角,姿态和光照条件会呈现出极大的差异性,称为类内多样性。

为了减轻在细粒度物体识别过程中类间相似性和类内差异性带来的负作用,为此,通过基于局部部件的方法被用来捕捉细微的局部特征,区分不同类别物体,减小由于视角和姿势变化导致的特征上的差异。例如,细粒度鸟类识别中学习鸟头和身体的局部特征模型,在局部部件之间加入几何约束。

但是,基于局部部件的方法依赖于精确的部件定位,当缺少大量视角变化时性能低下。

最近业内人士提出了基于度量学习的方法,这种方法旨在最大化类间距离同时最小化类内距离,以降低类间相似性和类内多样性的影响。基于度量学习方法中使用的目标检索算法大多依赖手工设计的特征,如:HOG、LBP、SIFT等,然后主要研究两幅图像之间的距离度量方法。



技术实现要素:

鉴于上述问题,本发明提出了克服上述问题或者至少部分地解决上述问题的一种基于深度度量学习的目标精确检索方法。

为此目的,第一方面,本发明提出一种基于深度度量学习的目标精确检索方法,包括:

深度神经网络结构的迭代训练中,对提取的同类目标对象的多张图片的特征进行处理过程中,使得相同类别的目标对象的特征距离减小,不同类别的目标对象的特征距离增加,具有不同类别标签的目标对象的特征距离大于预设距离,且属于同一类别的个体的特征分布中,具有相似属性的类内个体之间的特征距离减小,具有不同属性的类内个体之间的特征距离大于预设距离,以获得训练后的深度神经网络模型;

采用训练后的深度神经网络模型对待查询图片与预设的参考图片分别提取各自的特征,并获取查询图片与参考图片之间特征的欧式距离,对该距离进行从小到大的排序,获得精确检索的目标。

可选地,所述深度神经网络模型为根据选择对象的属性信息能够区分不同对象类别的网络模型;

和/或,

迭代训练之前的深度神经网络结构为通用的深度卷积神经网络结构。

可选地,深度神经网络结构的迭代训练中,还用于执行前向传播计算损失,并通过反向传播算法回传网络中各个层对应的输出误差,通过梯度下降算法调整深度神经网络结构中的权重值,使得训练后的深度神经网络结构中损失收敛。

可选地,所述深度卷积神经网络的最后一层全连接的输出有两个分支,一个分支连接Softmax归一化指数损失函数,另一分支连接融入类内多样性的均值三元组损失函数;

迭代训练中执行前向传播计算的损失为:Softmax损失函数和融入类内多样性的均值三元组损失函数根据各自的权重值确定的损失。

可选地,在深度卷积神经网络迭代训练过程中,融入类内多样性的均值三元组损失函数的损失确定方式如下:

采用Kmeans(K均值)聚类算法对类内的所有特征点进行聚类,得到类内的若干分组;

将一个类别中所有样本均值作为该类内均值点;以及

根据聚类得到的类内若干分组,在一个类内计算组内均值,作为组内均值点;根据所有样本的类别标签和每一类内的组别标识,获取所有正样本、负样本分别到类内均值点和各自分组后的组内均值点的距离,并计算融入类内多样性的均值三元组损失函数。

可选地,迭代训练中执行前向传播计算的损失为:Softmax损失函数和融入类内多样性的均值三元组损失函数根据各自的权重值确定的损失,包括:

根据LGS-TRS=ωLsoftmax+(1-ω)LICV-triplet确定前向传播计算的损失LGS-TRS

其中,ω是加权权重,Lsoftmax为Softmax损失函数的损失,LICV-triplet为融入类内多样性的均值三元组损失函数的损失。

可选地,采用Kmeans聚类算法对类内的所有特征点进行聚类,得到类内的若干分组,包括:

使用对类内的所有特征点进行聚类,得到类内的若干分组;

其中,f(x)是提取的图像的特征,G是组数,代表聚类族的数目,Np,g是在组Sc,g内的样本数量,μg是聚类中心。

可选地,将一个类别中所有样本均值作为该类内均值点,包括:

若一个包含Np个类内样本集Xp为1≤i≤Np,则该类内样本集的类内均值参考点cp为:

可选地,根据聚类得到的类内若干分组,在一个类内计算组内均值,作为组内均值点,包括:

若一个包含Np个组内样本集Xp为1≤i≤Np,则组内均值参考点cp为:

可选地,根据所有样本的类别标签和每一类内的组别标识,获取所有正样本、负样本分别到类内均值点和各自分组后的组内均值点的距离,并计算融入类内多样性的均值三元组损失函数,包括:

根据公式一获取融入类内多样性的三元组损失函数的损失值;

公式一:

其中,cp代表类别c中所有样本的均值中心,cp,g代表类别c的组g中所有样本的均值中心;每一个类别c有一个类中心cp和G个组中心cp,g

代表两个取自不同组的同类样本。对于类间关系,是正样本,是负样本;

α1是类中心与不同类别样本距离的间隔,α2是类内组中心与不同组别样本距离的间隔;

反向传播的偏导数:

正样本对损失的偏导数为:

负样本对损失的的偏导数为:

由上述技术方案可知,本发明的基于深度度量学习的目标精确检索方法,能实现类内个体具有相似属性的距离更接近,相比传统的三元组损失函数训练的模型,检索的准确率得到了极大的提高;通过多损失函数联合优化的模型产生的特征更加鲁棒,检索性能比单一损失函数优化的模型更高。

附图说明

图1为本发明一实施例提供的同类样本在模型优化过程中相应的特征分布的示意图;

图2为现有技术中基于聚类方法产生的车辆图像的类内分组示意图;

图3为本发明一实施例提供的以VGGM为基本网络结构的训练阶段示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

结合图1所示,本发明实施例的基于深度度量学习的目标精确检索方法,包括:

步骤A01、深度神经网络结构的迭代训练中,对提取的同类目标对象的多张图片的特征进行处理过程中,使得相同类别的目标对象的特征距离减小,不同类别的目标对象的特征距离增加,具有不同类别标签的目标对象的特征距离大于预设距离,且属于同一类别的个体的特征分布中,具有相似属性的类内个体之间的特征距离减小,具有不同属性的类内个体之间的特征距离大于预设距离(如图1中的(a)、(b)所示),以获得训练后的深度神经网络结构。

应说明的是,结合图1中的(a)、(b),该步骤中,训练后的深度神经网络结构可使得相同类别的目标对象相互靠近,不同类别的目标对象相互远离,具有不同类别标签的目标对象的特征距离大于预设距离;相应地,属于同一类别的个体的特征分布中,具有相似属性的类内个体之间的特征距离相互靠近,具有不同属性的类内个体之间的特征距离大于预设距离。

步骤A02、采用训练后的深度神经网络模型对待查询图片与预设的参考图片分别提取各自的特征,并获取查询图片与参考图片之间特征的欧式距离,对该距离进行从小到大的排序,获得精确检索的目标。

在具体应用中,上述的深度神经网络结构可为根据选择对象的属性信息能够区分不同对象类别的网络结构。

在本实施例中,迭代训练之前的深度神经网络结构优选为通用的深度卷积神经网络结构。

上述实施例的目标精确检索方法属于计算机视觉领域,可,适用于基于视频处理的智能交通和智能监控技术。由此,可解决垂直领域的精确检索问题,即给定一个查询图片,需要在一个大型的垂直领域的数据库(如:车辆的数据集)中查找相同的对象目标或类别。

需要说明的是,本实施例中,深度神经网络结构的迭代训练中,还用于执行前向传播计算损失,并通过反向传播算法计算到各个层对应的损失,再根据梯度下降算法更新深度神经网络结构中的权重值,使得训练后的深度神经网络结构中损失收敛。

也就是说,深度卷积神经网络的最后一层全连接的输出有两个分支,一个分支连接Softmax归一化指数损失函数,另一分支连接融入类内多样性的均值三元组损失函数;

迭代训练中执行前向传播计算的损失LGS-TRS为:Softmax损失函数和均值三元组损失函数根据各自的权重值确定的损失。

例如,可根据LGS-TRS=ωLsoftmax+(1-ω)LICV-triplet确定前向传播计算的损失LGS-TRS

其中,ω是加权权重,Lsoftmax为Softmax损失函数的损失,LICV-triplet为均值三元组损失函数的损失。

也就是说,三元组损失网络使用相似度距离学习而不是选择超平面,这种网络对特征的判别能力可以通过在学习目标中加入分类损失(Softmax损失)来显著提升性能。

因此,上述方法通过多任务学习的方法联合优化融入类内多样性的均值三元组损失和Softmax损失。在网络的前向传播计算损失的过程中,使用线性加权的方法实现这两种损失的结合。本发明实施例中,优化这个多损失函数可以实现有力的细粒度分类性能和提取有区分度的细粒度检索特征。

上述实施例中目标精确检索的方法,在距离度量的优化过程创新性的中融入了类内多样性的表达。利用该方法训练的模型提取出的图片特征表达,可以较好的保留细粒度类别类内的多样性,在精确检索时拥有相同或相似的类内属性的图片可以在检索结果中得到较高的排名。不同对象图片的相似度时表现为两幅图像生成的特征之间的欧式距离,距离越近越相似。如图1所示,为同类样本在模型优化过程中相应的特征分布。

图1(a)示出的是现有传统的三元组损失示意图,图1(b)示出的是本发明的加入类内多样性(ICV)的均值三元组损失的特征分布示意图。在图1(a)和图1(b)中可以看出,本发明的损失函数在模型优化过程中,同类对象会聚集在一起,同时同类对象内部具有相似属性的对象会在类内聚集成更小的团。

另外,在深度网络训练阶段,输入是正负样本集合,正样本集合包含同一个对象或类别但是拍摄自不同摄像头的多张图片,负样本集合包含不同对象或类别的多张图片,图片的数目没有特殊限制。每一个对象除了本身的类别信息,还拥有一个类别内的组别信息。前者是根据类别定义界定的不同类别标签,后者是在一个细粒度类别内进行划分的组别,划分的依据是通过Kmeans算法聚类得到。所有的输入图片经过相同的深度神经网络被映射到一个高维欧式空间,优化目标是在欧式空间中相同类别的的对象尽可能靠近,不同类别的对象尽可能远离,同时在类内的特征分布上,拥有相似属性的同一个组别的对象尽可能接近,不同组别的对象保持一定的距离间隔。

为此,在深度卷积神经网络迭代训练过程中,融入类内多样性的均值三元组损失函数的损失确定方式如下步骤B01至步骤B04:

B01、采用Kmeans(K均值)聚类算法对类内的所有特征点进行聚类,得到类内的若干分组;

举例来说,使用对类内的所有特征点进行聚类,得到类内的若干分组;

其中,f(x)是提取的图像的特征,G是组数,代表聚类族的数目,Np,g是在组Sc,g内的样本数量,μg是聚类中心。

B02、将一个类别中所有样本均值作为该类内均值点。

可理解的是,如果一个包含Np个类内样本集Xp为1≤i≤Np,则该类内样本集的类内均值参考点cp为:

B03、根据聚类得到的类内若干分组,在一个类内计算组内均值,作为组内均值点;

若一个包含Np个组内样本集Xp为1≤i≤Np,则组内均值参考点cp为:

B04、根据所有样本的类别标签和每一类内的组别标识,获取所有正样本、负样本分别到类内均值点和各自分组后的组内均值点的距离,并计算融入类内多样性的均值三元组损失函数。

即根据公式一获取融入类内多样性的三元组损失函数的损失值;

公式一:

其中,cp代表类别c中所有样本的均值中心,cp,g代表类别c的组g中所有样本的均值中心;每一个类别c有一个类中心cp和G个组中心cp,g

代表两个取自不同组的同类样本。对于类间关系,是正样本,是负样本;

α1是类中心与不同类别样本距离的间隔,α2是类内组中心与不同组别样本距离的间隔;

反向传播的偏导数:

正样本对损失的偏导数为:

负样本对损失的的偏导数为:

下面将对具体对用于目标精确检索的方法进行详细描述:

在深度网络训练阶段,输入是正负样本集合,正样本集合包含同一个对象或类别但是拍摄自不同摄像头的多张图片,负样本集合包含不同对象或类别的多张图片,图片的数目没有特殊限制。每一个对象除了本身的类别信息,还拥有一个类别内的组别信息。

1.类内组别划分

为了表现类内多样性,需要将相同类别的样本进行分组。不同于类别标签,类内数据的内在属性特征非常抽象,难以精确表述。

为此,本发明中使用无监督的方法给每个类别中的对象进行分组。

首先,用一个在ImageNet数据集上做过1000类分类任务的VGG_CNN_M_1024(VGGM)深度神经网络作为特征提取器;

接着,对所有的训练图像提取网络最后的全相连层的输出作为特征,并用主成员分析(PCA)进行特征降维;

最后,使用K-means方法聚类:

这里f(x)是提取的图像的特征,G是组数,代表聚类族的数目,Np,g是在组Sc,g内的样本数量,μg为聚类中心。每个图片实例在聚类后都有一个组标签,并且划分在一个组内的对象成员往往有相似的性质如颜色、拍摄视角,背景等。

2.均值三元组损失

当前现有技术在正样本中,三元组的参考点通常是随机选取的。为了降低不恰当参考点选择带来的负影响,本发明实施例中使用通过计算所有正样本平均值的方法选择参考点,并建立均值三元组损失。

例如,给定一个包含Np个样本的正样本集和包含Nn个从其他类选取的样本的负样本集这样,均值参考点可以被表述为:

其中1≤i≤Np,1≤j≤Nn。区别于使用随机选取的参考点,均值三元组损失表述为:

这里是最接近均值参考点cp的样本。虽然损失函数只用到了作为正样本均值的参考点,但在反向传播过程中涉及到所有正样本。

如果用所有正样本计算得到的均值参考点不满足约束所有的正样本都需要反向传播,正样本对损失的偏导数为:

关于正样本对损失的偏导数为:

关于负样本对损失的的偏导数为:

可理解的是,下面的融入类内多样性的均值三元组损失是在上述三元组损失的基础上进一步优化的。本实施例可以选择上述1和2实现,也可以选择1和3实现。本发明不对其进行限定。

3.融入类内多样性的均值三元组损失

为了保存与类内属性相似的样本相对距离更近,本发明在提出的均值三元组损失中加入了类内多样性。

令cp代表类别c中所有样本的均值中心,cp,g代表类别c的组g中所有样本的均值中心。每一个类别c有一个类中心cp和G个组中心cp,g

对于类内多样性,令代表两个取自不同组的同类样本。

对于类间关系,是正样本,是负样本。

将类内方差加入三元组中,约束为:

这里α1是类中心与不同类别样本距离的间隔,α2是类内组中心与不同组别样本距离的间隔。因此,加入类内多样性的均值三元组损失可表示为:

以下以监控场景下的车辆精确检索为例进行说明。

本实施例着重介绍如何将本发明应用在车辆的精确检索问题上。需要注意的是,本实施例针对的问题是针对车牌识别失效的场景如无牌、套牌、遮挡牌照等情况,利用车辆本身的细节特性进行卡口车辆精确检索。车辆本身的细节包括车辆上的喷绘,年检表、纸巾盒,装饰性图案、喷漆等。

现有技术中在模型训练阶段,对训练图像进行聚类获得类内的组别信息,如图2所示,现有技术中的针对同一款捷豹车的聚类效果图。图2为现有基于聚类方法产生的车辆图像的类内分组示意图。对车辆数据集进行组内划分,同一分组下的图像体现了相似的属性,如:角度,颜色等,其中聚类中心K=5。

图3为本实施例的以VGGM为基本网络结构的训练阶段示意图。该网络结构的损失函数由两部分组成,分别是Softmax损失函数和融入类内多样性的均值三元组损失函数。

本实施例的深度神经网络结构图如图3所示,此处以VGG_M神经网络为例。网络的训练过程是一个多损失函数的优化过程包括Softmax损失函数与本发明中提出的融入类内多样性的均值三元组损失函数。两个损失函数均连接在网络的最后一层全连接层FC7之后,在VGG_M网络中,FC7层的网络输出是1024维。在特征进入融入类内多样性的均值三元组损失之前需经过L2归一化层。

关于标签,每个训练样本均标注一个类别标签和组别ID。对于Softmax损失函数,需要提供类别标签,对于融入类内多样性的均值三元组损失函数需要提供类别标签与类内的组别ID。

在实际的测试阶段,可以将训练的网络中的损失函数层都除去,测试图片送入网络前向传播并提取FC7层的输出向量作为图片的特征表达。图片之间的相似度只需计算特征向量之间的欧式距离。在检索过程中,依次比较查询图片与数据库中的参考图片之间的特征之间的欧氏距离,按从小到大排序寻找与查询图像最像的目标对象。

由此,本发明中提出的融入类内多样性的均值三元组损失函数,能实现类内个体具有相似属性的距离更接近,相比传统的三元组损失函数训练的模型,检索的准确率得到了极大的提高;通过多损失函数联合优化的模型产生的特征更加鲁棒,检索性能比单一损失函数优化的模型更高。

本领域技术人员可以理解,实施例中的各步骤可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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