核心思想


  本文提出一种端到端的基于关键点匹配的位姿估计方法,与之前关键点匹配方法不同之处在于本文提出一种可微分的异常点剔除方法,使得整个算法能够实现端到端的训练。
在这里插入图片描述
  如图(a)所示,传统方法是手动设计特征提取关键点,并和模型关键点匹配,求解位姿,这类方法的局限在与关键点特征不是通过学习获取的,对于特征信息较少的物体,处理起来存在困难。如图(b)所示,直接方法是通过CNN根据输入图像回归得到物体位姿,虽然实现了端到端的训练,但这类方法的泛化能力较差。如图©所示,关键点回归的方法是利用神经网络取代人工设计特征的阶段,实现关键点的提取,再利用关键点匹配的方法进行位姿估计,但这类方法问题在于关键点提取和位姿估计是分阶段完成的,并不能实现端到端的学习。如图(d)所示,本文的方法利用一种可微分的位姿估计方法,使得关键点提取和位姿估计可以在同一个端到端的过程中实现。


实现过程


在这里插入图片描述
  首先,根据输入的RGB图像和由深度图像转化而来的点云数据,进行特征提取与语义分割。语义分割采用PoseCNN中的方法,也可以直接使用真实的分割掩码。分别使用PSPNet和PointNet对RGB图像和点云数据进行特征提取,并通过平均池化的方式得到全局特征,将每个点颜色特征和几何特征以及全局特征级联起来作为一个点的特征向量(与DenseFusion采用的方法一致)。
  然后,从3D模型中通过FPS方法提取




K



K


K
个3D关键点




{



m


k




}



k


=


1



K




{m_k}_{k=1}^K


{mk}k=1K
,其对应的场景中的关键点为




{



x


k




}



k


=


1



K




{x_k}_{k=1}^K


{xk}k=1K
。由于场景中的每个点既包含了颜色信息又包含了点云信息,因此可以利用神经网络直接预测场景中的点




{



s


i




}



i


=


1



N




{s_i}_{i=1}^N


{si}i=1N
和场景中的关键点




{



x


k




}



k


=


1



K




{x_k}_{k=1}^K


{xk}k=1K
之间的3D位置偏移量






v


^




k


,


i





\hat{v}_{k,i}


v^k,i
。由于预测的偏移量肯定存在较大的误差,因此需要将离群点剔除,以保证预测关键点坐标的准确性。本文为每个偏移量






v


^




k


,


i





\hat{v}_{k,i}


v^k,i
都预测了一个对应的置信度





c



k


,


i





c_{k,i}


ck,i
,并通过加权求和的方式得到预测关键点的坐标






x


^



k




\hat{x}_k


x^k

在这里插入图片描述
  得到场景中关键点的坐标






x


^



k




\hat{x}_k


x^k
和模型中对应的关键点坐标





m


k




m_k


mk
,即可以通过最小二乘法求得旋转和平移矩阵
在这里插入图片描述
上式可以利用SVD方法求得闭式解,因此可以嵌入到端到端学习过程中。
在这里插入图片描述
  由于RGB-D图像只能拍摄到一个视角,由于遮挡原因会存在部分无法观察到的关键点,使得网络无法准确预测他们的位置。这些潜在的异常点将会导致位姿估计效果得严重恶化。为了解决这个问题,本文提出一种最小求解组合(minimal
solvers bank)的方法来筛除异常点。给定三组匹配点就可以求得一个位姿估计结果,因此作者将所有的关键点每三个为一组分成





C


K


3




C_K^3


CK3
组,每一组都成为一个最小求解组合,共得到





C


K


3




C_K^3


CK3
个位姿估计结果




{




T


^



i



}



{\hat{T}_i}


{T^i}
。根据位姿估计结果,将模型中的每个点




{



p


j



}



{p_j}


{pj}
都变换到场景中,寻找到与场景中的点





s


j




s_j


sj
最接近的投影点





p



N


(



s


j



)





p_{N(s_j)}


pN(sj)
,计算二者之间的距离。将所有的点与最接近的投影点的距离累加起来,得到位姿估计






T


^



i




\hat{T}_i


T^i
对应的估计距离






d


^



i




\hat{d}_i


d^i

在这里插入图片描述
估计距离越远则说明位姿差异越大,则该位姿






T


^



i




\hat{T}_i


T^i
就更有可能是错误估计结果,因此可以根据估计距离






d


^



i




\hat{d}_i


d^i
计算得到每个位姿估计对应的权重





w


i




w_i


wi

在这里插入图片描述
对于平移矩阵





t


^




\hat{t}


t^
可以直接利用加权求和的方式计算
在这里插入图片描述
对于旋转矩阵






R


^



i




\hat{R}_i


R^i
需要先转换成四元数






q


^



i




\hat{q}_i


q^i
,进行加权求和,然后再进行归一化处理
在这里插入图片描述
则经过加权求和处理过的结果





t


^




\hat{t}


t^






q


^




\hat{q}


q^
即可作为位姿估计的初步结果,为提高位姿估计的精度还可以利用DenseFusion中的迭代优化算法对结果进行优化。
  整个网络的损失函数包含两个部分关键点偏移损失




L


o


s



s



v


e


c





Loss_{vec}


Lossvec
和位姿估计损失




L


o


s



s



p


o


s


e





Loss_{pose}


Losspose
,计算过程如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


创新点


  • 提出一种根据置信度加权计算关键点坐标的方法,提高了关键点3D坐标预测的准确性
  • 提出一种基于最小求解组合的位姿估计算法,减少了异常点对于位姿估计的影响

算法评价


  本文充分利用了加权求和的思想,将硬性的不可微分的选择过程转换成可微分的加权聚合过程,对于异常点给予较低的权重,以减少对于位姿估计的影响。整体思想还是延续了PVN3D的思路,通过预测与模型关键点对应的3D点坐标,并通过最小二乘法求解位姿。


如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述