一种基于自监督学习的姿态估计方法

文档序号:33116379发布日期:2023-02-01 02:56阅读:27来源:国知局
一种基于自监督学习的姿态估计方法

1.本发明涉及图像识别的技术领域,特别是涉及一种基于自监督学习的姿态估计方法。


背景技术:

2.姿态估计和部分整体关系发现都是计算机视觉中长期存在的挑战,也是人工智能认知理解现实3d世界的重要过程。传统的计算机视觉领域主要关注在2d图像上视觉理解,如图像识别、目标检测、语义分割等任务。随着自动驾驶、机器人等领域的发展,人工智能对于现实3d世界的理解也逐渐受到关注。也有研究者关注通过能够获取现实3d世界的传感器,如深度相机、lidar等方法,生成具有深度信息的rgb-d图像或者点云信息,来进一步用作人工智能对现实3d世界的理解。但是研究发现,人类往往能够只通过2d图像及其关于现实世界的3d先验,得到准确的对现实3d世界的认知理解。与多数人工智能方法不同,人类的这种能力是具有较强的泛化性的。即是说人类即使没有见过某种类别的物体,但仍可以通过2d图像,提取出对目标对象的3d理解。这种理解可以被解释为人类认知世界时的一种自底向上的过程,通过将目标对象中的部分和已知对象中的部分对照,从而形成一种对目标对象的组合性方式的认知理解。这种思路启发了一类计算机视觉中的方法,称之为组合性方法。组合性方法大多基于图像的部分(像素级别或是块级别)特征,通过引入组合性的模型来对图像中像素间关系进行建模,从而形成对目标的抽象概念认知或是部分整体关系的认知。
3.而传统的机器学习常常因其输入数据的本身形式而受限,例如传统的计算机视觉方法需要通过手工设计的特征提取器来将图像数据转化为机器学习子系统的输入;然而深度学习则是一些基于多级别表示的表示学习方法,通过将简单但非线性的模块组合,将某个级别的特征转化成为更高阶,抽象的特征。从这个角度看,深度学习方法也是一种隐式的组合性方法,通过学习得到不同级别的特征,进一步用作下游任务。
4.尽管得益于深度学习,计算机视觉仍然受限现实部署中需要考虑的安全性和鲁棒性。研究发现在部分遮挡等强对抗性场景下,计算机视觉模型可能无法得到很好的泛化,导致可能发生的致命后果。目前的视觉模型存在如下缺陷:(1)、对于目标部分整体关系或是姿态估计的标注相较于常规的视觉任务如分类等,需要更复杂的标注过程;例如需要引入目标的3d cad模型后,人工调整3d cad模型对齐图像中的目标;对于特定的敏感目标,更是难以获得cad模型进行标注,因此缺乏足量相关的标注数据,存在数据集标注不足的问题;(2)、当前的计算机视觉的深度学习主干模型均是基于图像标签作为监督信号的预训练的网络模型;图像标签作为一种粗粒度的监督信号,对应预训练得到的骨干网络模型难以为下游的一些更具细粒度的任务,如目标部分整体关系发现和姿态估计均需细粒度高且具有区分度的特征。
5.因次,本发明希望构筑鲁棒及可解释的计算机视觉模型来应对这些强对抗性场景;希望通过引导模型对部分整体关系的发现,从而使其能够类似人类认知事物一样得到
视觉理解,得到直观上更鲁棒的模型;希望通过基于学习的目标部分整体关系发现,进而完成更进一步的图像理解任务,如姿态估计。


技术实现要素:

6.本发明提供一种基于自监督学习的姿态估计方法,能够提取适用于细粒度下游任务如姿态估计、部分分割的图像像素级别特征,并且可以通过部分分割结果进行体现其具有的可解释性,同时可直接为姿态估计任务提供关键点和标定视角特征,减少了数据标注复杂度和工作量,得到有效的姿态估计,更好地完成图像理解任务。
7.本发明的技术方案如下:
8.一种基于自监督学习的姿态估计方法,包括以下步骤:
9.s1、使用公开的图片数据集,基于对比性方法的自监督学习算法预训练得到视觉主干模型,视觉主干模型输出图像特征;
10.s2、使用图像特征,基于部分整体关系约束的自监督训练得到部分分割网络,部分分割网络输出部分响应图;
11.s3、以标注了关键点的图片及其对应的标定视角特征作为学习目标,将部分响应图的特征点作为输入,再通过回归学习训练得到一个网络作为关键点估计器,关键点估计器输出图片对应的关键点图和标定视角特征图;
12.s4、将目标图片输入训练好的视觉主干模型,得到目标图片的图像特性,然后将目标图片的图像特性输入训练好的部分分割网络,得到目标图片的部分响应图,之后将目标图片的部分响应图输入训练好的关键点估计器,得到目标图片的关键点图和标定视角特征图;
13.s5、获取目标图片的深度图,并将目标图片的关键点图通过非极大值抑制算法筛选出多个关键点,提取得到多个关键点坐标,再使用关键点坐标,提取得到多个关键点在标定视角特征图和深度图上对应位置的标定视角特征qi和深度值di;
14.s6、结合深度值di和关键点坐标,得到多个关键点在相机坐标系统下的三维坐标pi,将相机坐标系统与世界坐标系统之间的转换关系表示为一个相似变换,该相似变换由标量s∈r
+
、旋转矩阵r∈so(3)、及平移t进行参数化表示,并通过最小化下列目标函数得到:
[0015][0016]
式中wi∈[0,1],表示信任分数,n1表示关键点数量;
[0017]s★
,r

,t

是最小化目标函数后得到的最优参数化表示,s

,r

,t

即为目标图片的姿态估计结果。
[0018]
本发明使用公开的大规模公开的图像数据集形成训练样本,然后基于对比性方法的自监督学习算法预训练得到视觉主干模型,视觉主干模型主要提供下游任务的关键点估计器和部分分割网络的图像特征;其中部分分割网络通过部分整体关系约束,在无需标注的数据集上进行进一步的自监督学习训练,最终得到一个能够得到一个以部分分割为输出的部分整体关系发现模型,通过部分分割结果进行体现其具有的可解释性;而关键点估计
器则基于上述的训练好的视觉主干模型和部分分割网络,通过回归学习训练得到,关键点估计器可直接为姿态估计任务提供关键点和标定视角特征,减少了数据标注复杂度和工作量。得到视觉主干模型、部分分割网络及关键点估计器后,进行目标图片的预测,先将目标图片依次通过视觉主干模型、部分分割网络及关键点估计器获取关键点图和标定视角特征图,然后结合图片本身的深度图,提取得到多个关键点在标定视角特征图和深度图上对应位置的标定视角特征和深度值,根据深度值与关键点坐标,得到多个关键点在相机坐标系统下的三维坐标,然后进行相机坐标系统与世界坐标系统之间的相似变换,即可得到目标图片的姿态估计结果。
[0019]
进一步,步骤s1中所使用的图片数据集包括imagenet-1k或imagenet-21k。
[0020]
进一步,步骤s1中基于对比性方法的自监督学习算法预训练得到视觉主干模型的具体过程如下:
[0021]
引入基于像素级别的代理任务,代理任务涉及两个部分,一个是像素传播模块,一个是非对称的结构设计,结构设计的其中一个分支生成正常的特征图,另一个分支则结合像素传播模块,非对称的结构设计仅需正样本对的一致性,无需对负样本对谨慎调试;
[0022]
对于每个像素特征,通过像素传播模块计算得到其平滑变换后的向量,该向量是通过传播同一图像ω上的所有像素特征至当前像素特征得到的,如下式所示:
[0023]
yi=σ
j∈ω
s(xi,xj)
·
g(xj)
[0024]
式中,xi是第i个像素特征,xj是第j个像素特征,i是第i个像素特征经平滑变换后的向量;
[0025]
其中s(
·
,
·
)是一个相似函数,定义如下:
[0026]
s(xi,xj)=(max(cos(xi,xj),0))
γ
[0027]
其中γ是一个控制相似函数的尖锐度指数,并被默认设定到2;
[0028]
g(
·
)是一个变换函数,通过若干个含有批归一化和线性整流函数的线性层进行实例化;
[0029]
在非对称的结构设计中,有两个不同的编码器:一个是加载了像素传播模块用来后处理产生平滑特征的传播编码器,另一个是没有像素传播模块的动量编码器;两个增强视角都被传入两个编码器中,不同编码器产生的特征被鼓励保持一致:
[0030][0031]
其中,表示像素传播损失,i和j是两个在增强视角下基于阈值分配规则的正像素对;x
i’是经过动量编码器增强的第i个像素特征,x
′j是经过动量编码器增强的第j个像素特征,yj是第j个像素特征经平滑变换后的向量;该损失在所有正样本对的每个图像平均计算,之后再在每个批数据中平均计算用以表示学习。
[0032]
进一步,步骤s2中基于部分整体关系约束的自监督训练得到部分分割网络的具体过程如下:
[0033]
采用几何集中损失、等价性损失、语义一致性损失、前后景区分损失的自监督约束,进行自监督学习训练,最终得到一个能够以部分分割为输出的部分整体关系发现模型,即部分分割网络。
[0034]
进一步,几何集中损失的定义过程如下:
[0035]
同一目标部分的像素会在同一张图片上的空间上更为集中,并且在没有遮挡或者多实例的情况下形成一个连通分量,基于此,几何集中是形成部分分割的重要性质,因此,使用一个损失项来鼓励同一部分在空间上分布的集中;
[0036]
对于轴u上的某部分k的部分中心有:
[0037][0038]
对于轴v上的某部分k的部分中心有:
[0039][0040]
其中是归一化项,用来将部分响应图转化成为一个空间上的概率分布函数,之后,定义几何集中损失为:
[0041][0042]
而且这个损失是可导的,这个损失函数鼓励每个部分形成几何上的集中,并尝试最小化空间概率分布函数r(k,u,v)/zk的方差。
[0043]
进一步,等价性损失的定义过程如下:
[0044]
对于每张训练图像,使用一个限定参数范围的随机的空间变换ts(
·
)和外观变异ta(
·
),对于输入图像和变换后的图像,分别得到对应的部分相应图z和z’,根据这两个部分相应图,分别计算出部分中心和后,等价性损失定义为:
[0045][0046]
其中d
kl
(
·
)是kl散度距离,是均衡系数;
[0047]
上式第一项对应的是部分分割的对等约束,上式第二项对应的是部分中心的对等约束。
[0048]
进一步,语义一致性损失的定义过程如下:
[0049]
神经网络的中间层信息具有目标和部分的语义信息,因此,使用一种约束语义一致性的损失函数,来利用imagenet预训练的神经网络特征蕴含的隐藏信息,从给定的预训练分类特征中找到代表性的特征聚类,使之与不同部分分割对应;
[0050]
形式化地有,给定c-维分类特征希望能找到k个代表性的部分特征向量dk∈rd,k∈{1,2,

,k},同时希望学到部分分割结果和对应的部分特征向量字典,使得分类特征与dk接近,那么有如下的语义一致性损失:
[0051][0052]
其中v(u,v)是空间位置(u,v)上的特征向量,通过语义一致性损失的约束,可以学到被不同目标实例所共享的部分基向量wk组成的语义字典{wk},保证了跨实例的语义一致性,从而保证了相同的部分响应会对应预训练分类特征空间中相似的语义特征;
[0053]
在训练语义一致性损失的时候,存在不同的部分基对应相似的特征向量的可能,
因此,引入对部分基向量wk的额外的正交约束,使得不同基向量之间相区分开,令表示每行为归一化后的部分基向量形式化地将正交约束作为一个作用于上的损失函数:
[0054][0055]
其中是f-范数,iik是大小为k
×
k的单位矩阵;通过这种约束,最小化不同基向量的互相关性,得到更准确的部分基向量,从而得到更好的部分分割结果。
[0056]
进一步,前后景区分损失的定义过程如下:
[0057]
利用在其他训练集上预训练得到的显著性检测模型生成显著性图,利用显著性图,得到背景损失函数有:
[0058][0059]
其中,d∈[0,1]h×w是显著性图,h表示矩阵行数,w表示矩阵列数,d(u,v)是显著性图在空间位置(u,v)上的显著性值,r(0,u,v)是背景的分割结果。
[0060]
进一步,使用多个损失函数训练部分分割网络和语义部分基,得到的目标函数是多个损失函数的线性组合:
[0061][0062]
式中,λ
con
、λ
eqv
、λ
sc
、λ
bg
分别为对应损失函数的均衡系数。
[0063]
进一步,步骤s3中通过回归学习训练得到关键点估计器的具体过程如下:
[0064]
使用分割网络得到的部分响应图z(k)h×w,k取1,2,

,k,,对于每个部分响应图使用非极大值抑制法提取出一系列特征点,将这一系列特性点作为关键点估计器的输入,关键点估计器是一个多层感知机,输出同样得到一个热力图,使用非极大值抑制处理热力图得到一系列关键点
[0065]
记归一化后的标注关键点为kpi=(ai,bi),ai∈[0,1],bi∈[0,1],估计的关键点为那么有回归损失:
[0066][0067]
本发明的有益效果如下:
[0068]
1)对于当前的目标部分整体关系发现算法,通常使用基于监督学习的预训练模型得到图像特征,而这种监督学习提取得到的特征通常是基于类别的粗粒度监督信号,不足以达到目标整体关系发现算法的需要。而本发明利用基于对比性方法的自监督学习算法预训练得到视觉主干模型,能够提取适用于细粒度下游任务如姿态估计、部分分割的图像像素级别特征,可以达到目标整体关系发现算法的需要。
[0069]
2)对于当前的目标姿态估计算法,通常需要复杂的人工标注过程。而本发明引入自监督的视觉主干模型和部分分割网络,能够在少量数据样本标注的情况下,微调训练得到关键点估计器,并利用关键点估计器,直接为姿态估计任务提供关键点和标定视角特征,
可有效减少人工标注工作量和数据标注复杂度,得到有效的姿态估计,更好地完成图像理解任务。
附图说明
[0070]
图1为本发明一种基于自监督学习的姿态估计方法的流程示意图。
具体实施方式
[0071]
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本专利的限制。
[0072]
实施例1:
[0073]
已有的部分整体关系发现算法研究可分为三类:基于胶囊网络的方法、基于组合性模型的方法及基于部分的方法,它们都基于图像特征使用不同的方法来进行部分整体关系概念发现。本发明采用的方法为基于自监督方法生成的像素级别特征的自监督方法,与之前的基于某种监督信号进行学习的部分整体关系发现方法产生区别。
[0074]
基于部分的方法则常被应用于细粒度目标识别当中。在细粒度目标识别中,由于同类别的目标经常有共有的外观,只在局部位置有差异。因此,定位目标的部分并提取部分的标志性信息这种范式经常在细粒度目标识别的任务中发挥重要作用。
[0075]
而自监督学习是相对于监督学习的一种算法类别。自监督学习不需要数据具有标注信息,而是通过在大量的未标注数据上优化预定义的代理任务,以数据本身的信息作为监督信号,从而学习到对下游任务有意义的表征。由于不需要标注数据,自监督学习也就能够利用更多的数据进行训练,这也是自监督学习相较于监督学习的优势。自监督学习的方法可以根据其代理任务的形式,分为两类:
[0076]
(1)对比性的方法:这类方法通过对数据本身进行增强处理或是随机采样,得到正样本或是负样本;再通过损失函数,最小化正样本间的相似度距离,最大化负样本间的相似度距离;例如计算机视觉领域中的moco(momentum contrastive)等方法,通过对图片进行数据增强得到正样本对,随机采样数据集中的其它图片作为负样本对,学习得到具有语义的表示用到下游任务中,如图像分类、目标检测、语义分割等;
[0077]
(2)生成性的方法:利用数据本身信息的上下文等分布信息,生成补全代理任务规定的分布,从而达到提取未标注数据中信息的目的;常见的代理任务有:实例判别、聚类判别、图像重构、完形填空等;例如自然语言处理领域中的经典模型bert(bidirectional encoder representation from transformers),通过对句子中的单词进行随机掩码处理,以完形填空作为代理任务,令模型能够学习到单词间的上下文信息。
[0078]
基于此,如图1所示,本发明提出一种基于对比性方法的自监督学习的姿态估计方法。其部分整体关系发现的过程与现有的三种方法不完全一致,可以通过部分分割结果进行体现其具有的可解释性。
[0079]
具体过程如下:
[0080]
s1、使用公开的图片数据集,基于对比性方法的自监督学习算法预训练得到视觉
主干模型,视觉主干模型输出图像特征;
[0081]
s2、使用图像特征,基于部分整体关系约束的自监督训练得到部分分割网络,部分分割网络输出部分响应图;
[0082]
s3、以标注了关键点的图片及其对应的标定视角特征作为学习目标,将部分响应图的特征点作为输入,再通过回归学习训练得到一个网络作为关键点估计器,关键点估计器输出图片对应的关键点图和标定视角特征图;
[0083]
s4、将目标图片输入训练好的视觉主干模型,得到目标图片的图像特性,然后将目标图片的图像特性输入训练好的部分分割网络,得到目标图片的部分响应图,之后将目标图片的部分响应图输入训练好的关键点估计器,得到目标图片的关键点图和标定视角特征图;
[0084]
s5、获取目标图片的深度图,并将目标图片的关键点图通过非极大值抑制算法筛选出多个关键点,提取得到多个关键点坐标,再使用关键点坐标,提取得到多个关键点在标定视角特征图和深度图上对应位置的标定视角特征qi和深度值di;
[0085]
s6、结合深度值di和关键点坐标,得到多个关键点在相机坐标系统下的三维坐标pi,将相机坐标系统与世界坐标系统之间的转换关系表示为一个相似变换,该相似变换由标量s∈r
+
、旋转矩阵r∈so(3)、及平移t进行参数化表示,并通过最小化下列目标函数得到:
[0086][0087]
式中wi∈[0,1],表示信任分数,n1表示关键点数量;
[0088]s★
,r

,t

是最小化目标函数后得到的最优参数化表示,s

,r

,t

即为目标图片的姿态估计结果。
[0089]
本发明使用公开的大规模公开的图像数据集形成训练样本,然后基于对比性方法的自监督学习算法预训练得到视觉主干模型,视觉主干模型主要提供下游任务的关键点估计器和部分分割网络的图像特征;其中部分分割网络通过部分整体关系约束,在无需标注的数据集上进行进一步的自监督学习训练,最终得到一个能够得到一个以部分分割为输出的部分整体关系发现模型,通过部分分割结果进行体现其具有的可解释性;而关键点估计器则基于上述的训练好的视觉主干模型和部分分割网络,通过回归学习训练得到,关键点估计器可直接为姿态估计任务提供关键点和标定视角特征,减少了数据标注复杂度和工作量。得到视觉主干模型、部分分割网络及关键点估计器后,进行目标图片的预测,先将目标图片依次通过视觉主干模型、部分分割网络及关键点估计器获取关键点图和标定视角特征图,然后结合图片本身的深度图,提取得到多个关键点在标定视角特征图和深度图上对应位置的标定视角特征和深度值,根据深度值与关键点坐标,得到多个关键点在相机坐标系统下的三维坐标,然后进行相机坐标系统与世界坐标系统之间的相似变换,即可得到目标图片的姿态估计结果。
[0090]
在本实施例中的步骤s1中,使用公开的大规模的图片数据集如imagenet-1k、imagenet-21k等作为训练集,基于对比性方法的自监督学习算法预训练得到视觉主干模型,具体过程如下:
[0091]
引入基于像素级别的代理任务——用于传播的像素一致性(pixel-to-propagation),它能够在自监督表示学习的过程中,同时提取得到表示的空间敏感性和空间平滑性;这种代理任务主要涉及两个部分,一个是像素传播模块,一个是非对称的结构设计,结构设计的一个分支生成正常的特征图,另一个分支则结合像素传播模块;非对称的结构设计可以仅需正样本对的一致性,无需对负样本对谨慎调试;
[0092]
对于每个像素特征,通过像素传播模块计算得到其平滑变换后的向量,该向量是通过传播同一图像ω上的所有像素特征至当前像素特征得到的,如下式所示:
[0093]
yi=σ
j∈ω
s(xi,xj)
·
g(xj)
[0094]
式中,xi是第i个像素特征,xj是第j个像素特征,i是第i个像素特征经平滑变换后的向量;
[0095]
其中s(
·
,
·
)是一个相似函数,定义如下:
[0096]
s(xi,xj)=(max(cos(xi,xj),0))
γ
[0097]
其中γ是一个控制相似函数的尖锐度指数,并被默认设定到2;
[0098]
g(
·
)是一个变换函数,通过若干个含有批归一化和线性整流函数的线性层进行实例化;
[0099]
在非对称的结构设计中,有两个不同的编码器:一个是加载了像素传播模块用来后处理产生平滑特征的传播编码器,另一个是没有像素传播模块的动量编码器;两个增强视角都被传入两个编码器中,不同编码器产生的特征被鼓励保持一致:
[0100][0101]
其中,表示像素传播损失,i和j是两个在增强视角下基于阈值分配规则的正像素对;x
i’是经过动量编码器增强的第i个像素特征,x
′j是经过动量编码器增强的第j个像素特征,yj是第j个像素特征经平滑变换后的向量;该损失在所有正样本对的每个图像平均计算,之后再在每个批数据中平均计算用以表示学习。
[0102]
在本实施例的步骤s2中,基于部分整体关系约束的自监督训练得到部分分割网络的具体过程如下:
[0103]
采用几何集中损失、等价性损失、语义一致性损失、前后景区分损失的自监督约束,进行自监督学习训练,最终得到一个能够以部分分割为输出的部分整体关系发现模型,即部分分割网络。
[0104]
几何集中损失的定义过程如下:
[0105]
通常而言,同一目标部分的像素会在同一张图片上的空间上更为集中,并且在没有遮挡或者多实例的情况下形成一个连通分量;基于此,几何集中是形成部分分割的重要性质;因此,使用一个损失项来鼓励同一部分在空间上分布的集中;
[0106]
对于轴u上的某部分k的部分中心有:
[0107][0108]
对于轴v上的某部分k的部分中心有:
[0109]
[0110]
其中是归一化项,用来将部分响应图转化成为一个空间上的概率分布函数,之后,定义几何集中损失为:
[0111][0112]
而且这个损失是可导的,这个损失函数鼓励每个部分形成几何上的集中,并尝试最小化空间概率分布函数r(k,u,v)/zk的方差。
[0113]
等价性损失的定义过程如下:
[0114]
本发明希望得到的部分整体关系是对于目标的外观和姿态变化具有鲁棒性的,所以对于每张训练图像,使用一个限定参数范围的随机的空间变换ts(
·
)和外观变异ta(
·
),对于输入图像和变换后的图像,分别得到对应的部分相应图z和z’,根据这两个部分相应图,分别计算出部分中心和后,等价性损失可以定义为:
[0115][0116]
其中d
kl
(
·
)是kl散度距离,是均衡系数;
[0117]
上式第一项对应的是部分分割的对等约束,上式第二项对应的是部分中心的对等约束。
[0118]
语义一致性损失的定义过程如下:
[0119]
尽管等价性损失已经使部分分割结果对于一些外观、姿态变化鲁棒,但是这些合成性的变换仍然不能充分地保证不同实例间的一致性;例如,图像间外观和姿态的变化往往不能通过人工的变换来建模;为了鼓励不同目标实例间的语义一致性,需要显式地在损失函数中体现这一点;
[0120]
神经网络的中间层信息具有目标和部分的语义信息,因此,可以使用一种约束语义一致性的损失函数,来利用imagenet预训练的神经网络特征蕴含的隐藏信息,可以从给定的预训练分类特征中找到代表性的特征聚类,使之与不同部分分割对应;
[0121]
形式化地有,给定c-维分类特征希望能找到k个代表性的部分特征向量dk∈rd,k∈{1,2,

,k},同时希望学到部分分割结果和对应的部分特征向量字典,使得分类特征与dk接近,那么有如下的语义一致性损失:
[0122][0123]
其中v(u,v)是空间位置(u,v)上的特征向量,通过语义一致性损失的约束,可以学到被不同目标实例所共享的部分基向量wk组成的语义字典{wk},保证了跨实例的语义一致性,从而保证了相同的部分响应会对应预训练分类特征空间中相似的语义特征;
[0124]
在训练语义一致性损失的时候,存在不同的部分基对应相似的特征向量的可能,特别是当k较大或是子空间的秩比k小的时候,相似的部分基可能会导致部分分割结果的噪声,例如多个部分实际上对应相同的部分分块;因此,引入对部分基向量wk的额外的正交约束,使得不同基向量之间相区分开,令表示每行为归一化后的部分基向量形式化地将正交约束作为一个作用于上的损失函数:
[0125][0126]
其中是f-范数,∏k是大小为k
×
k的单位矩阵;通过这种约束,最小化不同基向量的互相关性,得到更准确的部分基向量,从而得到更好的部分分割结果。
[0127]
前后景区分损失的定义过程如下:
[0128]
除了上述的一些损失来提取目标的部分整体关系,还需要额外引入损失函数来使得模型能够区分图片中的目标整体和背景部分;为此,利用在其他训练集上预训练得到的显著性检测模型生成显著性图,利用显著性图,可以得到背景损失函数有:
[0129][0130]
其中,d∈[0,1]h×w是显著性图,h表示矩阵行数,w表示矩阵列数,d(u,v)是显著性图在空间位置(u,v)上的显著性值,r(0,u,v)是背景的分割结果。
[0131]
综上,使用多个损失函数训练部分分割网络和语义部分基,得到的目标函数是多个损失函数的线性组合:
[0132][0133]
式中,λ
con
、λ
eqv
、λ
sc
、λ
bg
分别为对应损失函数的均衡系数。
[0134]
在本实施例的步骤s3中,通过回归学习训练得到关键点估计器的具体过程如下:
[0135]
使用分割网络得到的部分响应图z(k)h×w,k取1,2,

,k,,对于每个部分响应图使用非极大值抑制法提取出一系列特征点,将这一系列特性点作为关键点估计器的输入,关键点估计器是一个多层感知机,输出同样得到一个热力图,使用非极大值抑制处理热力图得到一系列关键点
[0136]
记归一化后的标注关键点为kpi=(ai,bi),ai∈[0,1],bi∈[0,1],估计的关键点为那么有回归损失:
[0137][0138]
通常而言,进行姿态估计所需的数据是一个包含目标图片、图片上的关键点、关键点对应的标定视角特征、深度图的四元组。关键点对应的标定视角特征即是图片上的2d关键点在3d标定坐标空间下对应的3d坐标点。深度图是一个和图像大小一致的灰度图,灰度值对应深度。利用之前预训练好的视觉主干模型和部分分割网络,得到部分分割结果。进一步地,在使用少量的标注了关键点的目标图片及其对应的标定视角特征作为学习目标,通过部分分割结果的具体数值为输入,再通过回归学习训练得到一个网络作为关键点估计器。那么,通过上述的在少样本上微调得到的关键点估计器,可以简化数据采集和标注过程,四元组中的目标图片、对应的深度图直接通过传感器即可采集得到,而图片上的关键点、关键点对应的标定视角特征都可以通过少样本上微调得到的关键点估计器生成得到,因而有效减少了数据标注复杂度和工作量。
[0139]
在进行姿态估计时,本实施例参考姿态估计的经典工作,发表于eccv2018的
《starmap for category-agnostic keypoint and viewpoint estimation》。该工作对每一张输入图像预测三个分量:关键点图(starmap),标定视角特征,深度图,其中starmap是一个单通道的热图,其局部最大值将图像的对应点的位置进行编码。相较于该工作中利用starmap得到类别无关的关键点,本发明将上述关键点估计器的输出作为starmap及其对应的标定视角特征,进而可以进一步结合深度图估计得到目标姿态。
[0140]
给定关键点在图像中的坐标,对应的标定视角特征,深度图,可以通过优化的方法输出得到对输入图像相较于标定视角的视角估计结果(姿态估计结果)。
[0141]
记pi=(ui–cx
,vi–cy
,di)是关键点归一化前的3d坐标,其中(c
x
,cy)是图像中心;记qi为对应在标定视角下的对应部分。记每个关键点在热图上的值为wi∈[0,1],表示一个信任分数。希望求解相机坐标系统和世界坐标系统间由标量s∈r
+
,旋转矩阵r∈so(3),和平移t参数化的相似变换,即可以通过最小化下列目标函数得到:
[0142][0143]
式中wi表示信任分数,n1表示关键点数量;
[0144]s★
,r

,t

是最小化目标函数后得到的最优参数化表示,s

,r

,t

即为目标图片的姿态估计结果。
[0145]
上式存在显式解,即有:
[0146][0147]
其中uσv
t
=m是奇异值分解,是pi,qi的均值。
[0148]
本发明利用基于对比性方法的自监督学习算法预训练得到视觉主干模型,能够提取适用于细粒度下游任务如姿态估计、部分分割的图像像素级别特征,可以达到目标整体关系发现算法的需要。本发明引入自监督的视觉主干模型和部分分割网络,能够在少量数据样本标注的情况下,微调训练得到关键点估计器,并利用关键点估计器,直接为姿态估计任务提供关键点和标定视角特征,可有效减少人工标注工作量和数据标注复杂度,得到有效的姿态估计,更好地完成图像理解任务。
[0149]
实施例2:
[0150]
以下通过具体的示例用于对上述实施例1中的基于自监督学习的姿态估计方法进行说明。
[0151]
1、基于像素级别代理任务的自监督学习的视觉主干模型训练:
[0152]
采用广泛应用的imagenet-1k数据集进行特征预训练,该数据集包含约128万张训练图片。采用resnet-50[30]作为骨干网络,两个分支使用不同的编码器,其中一个使用常规的骨干网络和常规的投影头,另一个使用常规骨干网络进行移动平均参数更新方法得到的动量网络和投影头。像素传播模块(ppm)被应用到常规分支上。采用常规的数据增强策略,即有同一图像上的独立采样得到的两个切片,重缩放到224
×
224的尺寸,并进行随机的水平翻转、颜色失真、高斯模糊和过曝。跳过了没有重合的切片对的损失计算,即是只有全部切片当中的小部分被计算。
[0153]
使用400个周期作为训练长度。在训练中,使用基础学习率为1.0,余弦学习率作为规划的lars优化器,并且学习率通过lr=lr
base
×
#bs/256进行对批大小的线性缩放。权值衰减设为1e-5。总的批大小设为1024,分配到8个v100 gpu进行优化。对于动量编码器,动量值从0.99逐渐增长至1。在训练时还使用了同步的批归一化。
[0154]
2、部分分割网络的训练:
[0155]
使用多个损失函数训练部分分割网络和语义部分基,其中包括几何集中损失等价性损失和语义一致性损失以及前后景区分损失最后得到的目标函数是上述损失函数的线性组合:
[0156][0157]
空间变换采用随机的旋转、平移、缩放、薄板样条插值;颜色变换采用亮度、对比度、饱和度、色度的随机扰动。之后通过深度学习优化器,对部分分割网络和视觉主干模型采用不同的学习率(部分分割网络学习率大于视觉主干模型)同时进行自监督目标部分整体关系上的微调。
[0158]
3、姿态估计的训练:
[0159]
此处需要2d关键点的标注,及其对应的深度和标定视角下的3d定位来训练混合表示。而这样的训练数据是可得的并且向公众开放的,每张图像的2d关键点标注可以直接恢复,并且广泛可用。给定一个交互式的3d用户界面,例如meshlab,标注cad模型的3d关键点也并不困难。cad模型的标定视角可以被定义为目标3d包围框最大的维度缩放到[-0.5,0.5]的前向视角。注意到只需要标注每个类别中的一些3d cad模型即可。因为关键点配置的变化程度远小于图像外观的变化程度。给定一组图像和一小系列对应类别的cad模型,人类标记人员将选出与图片内容最接近的cad模型,在pascal3d+和objectnet3d上作类似的操作。通过拖拽选中的cad模型与图像外观对齐,可以得到一个粗略的视角。总之,所有的用以训练的混合表示的标注都相对容易获取。假设starmap方法对于深度估计和标定视角特征的估计都是可迁移的,那么在公开数据集上获得了相关标注后,能够使用公开数据集上训练的模型,微调得到其他的cad模型未知的目标的估计模型。
[0160]
通过自监督学习得到的部分分割网络,可以得到目标的部分整体关系。部分整体关系以部分分割的形式体现,提取得到每个部分分割的部分中心,聚合得到starmap,从而免去了在其他的cad模型未知的目标上标注关键点的需要。
[0161]
姿态估计网络需要标定视角特征和深度图。标定视角特征提供了关键点在标定视角下的3d定位。在实现中,使用三个通道来表示标定视角特征,即有,在部分分割网络中得到部分中心作为关键点,在三个频道中的值对应有标定坐标系统下的对应像素的3d位置。当考虑标定空间下的关键点配置空间,很容易就找到目标姿态和图像外观(缩放,平移,旋转,光照)下不变,对目标形状微小变化(例如不同车辆的左前轮总会在车辆的左前方),及对目标类别微小变化的特征(不同类别的前轮总会在底部靠前的位置),尽管标定视角特征只提供3d定位,仍然可以利用这点,通过使用类别级别的关键点模板的最近邻关联来分类关键点。
[0162]
常规的姿态估计网络训练过程如下,视之为姿态估计网络的预训练过程:对模型的三个输出分量全部作监督学习。训练具体通过有监督的热力图回归完成,例如,在输出的
五通道热图上最小化它们与真值之间的l2距离。注意到对于标定视角特征和深度图,只关注其在尖峰位置上的输出,无视其非峰值位置上的输出,而并不强制归零。此时可以通过对网络输出和真值乘上一个掩码矩阵,之后再使用标准的l2损失来训练。
[0163]
在之后的应用中,对预训练得到的姿态估计网络,替换掉starmap为部分整体关系发现算法得到的部分分割中心作为关键点,引入自监督学习提取得到的信息,达到在无关键点标注的目标物上的视角估计结果(姿态估计结果)。
[0164]
实施例3:
[0165]
本发明还提供一种基于对比性方法的自监督学习的姿态估计系统,用于实现上述实施例1中的一种基于对比性方法的自监督学习的姿态估计方法。
[0166]
系统包括与控制器通信连接的视觉主干模型单元、部分分割网络单元、关键点估计器单元、姿态估计单元;
[0167]
所述视觉主干模型单元使用公开的图片数据集,基于对比性方法的自监督学习算法预训练得到视觉主干模型,并通过视觉主干模型输出图像特征;
[0168]
所述部分分割网络单元使用图像特征,基于部分整体关系约束的自监督训练得到部分分割网络,并通过部分分割网络输出部分响应图;
[0169]
所述关键点估计器单元以标注了关键点的图片及其对应的标定视角特征作为学习目标,将部分响应图的特征点作为输入,再通过回归学习训练得到一个网络作为关键点估计器,并通过关键点估计器输出图片对应的关键点图和标定视角特征图;
[0170]
将控制器中所需进行评估的目标图片依次经过所述视觉主干模型单元、部分分割网络单元、关键点估计器单元进行处理,得到目标图片的关键点图和标定视角特征图,然后控制器通过传感器直接得到目标图片的深度图,控制器将目标图片的关键点图、标定视角特征图和深度图输入所述姿态估计单元;
[0171]
所述姿态估计单元将目标图片的关键点图通过非极大值抑制算法筛选出多个关键点,提取得到多个关键点坐标,再使用关键点坐标,提取得到多个关键点在标定视角特征图和深度图上对应位置的标定视角特征qi和深度值di;之后结合深度值di和关键点坐标,得到多个关键点在相机坐标系统下的三维坐标pi,然后将相机坐标系统与世界坐标系统之间的转换关系表示为一个相似变换,该相似变换由标量s∈r
+
、旋转矩阵r∈so(3)、及平移t进行参数化表示,并通过最小化下列目标函数得到:
[0172][0173]
式中wi∈[0,1],表示信任分数,n1表示关键点数量;
[0174]s★
,r

,t

是最小化目标函数后得到的最优参数化表示,s

,r

,t

即为目标图片的姿态估计结果,最后姿态估计单元输出姿态估计结果反馈给控制器;
[0175]
控制器将结果通过显示屏进行显示。
[0176]
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的
保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1