14

CVPR2020 | 通过可微的代理投票损失进行6DoF对象位姿估计

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzU1MjY4MTA1MQ%3D%3D&mid=2247486187&idx=1&sn=e18a3036d5520f7c449dbd07b0338c31&chksm=fbff21dfcc88a8c9a7e763e0aa2f3652eb6ff9f4f6e3ada5a8a7449ae540428d812b07545332&token=1955067221&lang=zh_CN
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CVPR2020 | 通过可微的代理投票损失进行6DoF对象位姿估计

原创 康斯坦奇 3D视觉工坊 3月15日
收录于话题
#姿态估计

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

图片

原文链接:https://arxiv.org/pdf/2002.03923v1.pdf摘要由于遮挡或无纹理外观,从单个图像估计6DOF对象位姿非常具有挑战性。基于向量场的关键点投票已经证明了其在解决这些问题上的有效性和优越性。但是,矢量场的直接回归忽略了像素和关键点之间的距离也极大地影响了假设点的偏差。换句话说,当像素远离关键点时,方向矢量的小误差可能会产生严重偏离的假设点。在本文中,本文旨在通过合并距离来减少此类误差,像素和关键点之间的距离成为本文的目标。为此,本文提出了一个简单而有效的可微代理投票损失(DPVL),该损失模拟了投票过程中的假设点的选择。通过利用本文的投票损失,本文能够以端到端的方式训练本文的网络。在被广泛使用的数据集(即LINEMOD和Occlusion-LINEMOD)上进行的实验表明,本文的DPVL显着提高位姿估计性能,并加快训练收敛速度。简介物体位姿估计的目的是获得物体相对于摄像机的旋转和平移,并且它在许多应用中也起着关键作用,例如机器人拾取和虚拟现实。对于目标物体可能遭受严重的遮挡,不同的光照条件或背景混乱的情况,从RGB图像估计其位姿(包括3D旋转和3D平移)非常困难,最近研究者对此引起了极大关注。传统的位姿估计方法利用手工制作的特征来建立输入图像和3D模型之间的对应关系,然后估计对象位姿。但是,手工制作的功能通常无法适应变化,例如不同的光照条件,背景混乱和遮挡。结果,他们可能无法准确估计位姿,甚至无法将对象定位在杂乱的背景中。因此,非常需要区分特征表示来解决那些变化。受益于深度神经网络的强大特征表示,最近提出了基于深度学习的对象位姿估计方法[Xiang等,2017;Kehl等,2017;Peng等,2019]。几种方法利用大量的训练数据直接从输入图像中回归对象的位姿或坐标。由于严重的遮挡,预测的位姿或对象坐标可能不准确。为了提高遮挡的鲁棒性,投票策略是旨在定位关键点或坐标[Xiang等,2017;Hu等人,2019; Peng等,2019]。具体来说,关键点是根据向量场中投票数最高的假设点进行定位的。通过这种方式,可以将不可见的关键点,甚至可以从可见像素推断出来。考虑到一些像素距离关键点很远,并且它们的方向向量表现出较小的误差,因此先前的方法可能会产生与关键点偏差较大的假设。如图1所示,与由较大的误差α引起的d2相比,较小的误差β导致较大的偏差d3。
640?wx_fmt=png
图1 本文提出的可微代理投票损失(DPVL)的图示假设方向矢量的估计误差相同(例如,α),则像素与关键点之间的距离会影响假设点与关键点之间的接近度。DPVL最小化了代理假设fk(p⋆)与关键点ki之间的距离d⋆,以实现关键点投票的准确假设。本文提出了代理投票损失以实现准确的矢量场表示,其中考虑了像素和关键点之间的距离,以减少由不正确的方向矢量引起的假设偏差。由于投票过程(例如RANSAC [Fischler andBolles,1981])涉及抽样和内部搜索,因此它们通常是不可微的。因此,很难将投票的关键点及标定的关键点作为监督来以端到端的方式训练网络。本文没有在训练中使用投票获得的关键点,而是为每个像素建立了代理假设,以近似估计投票关键点(即投票最高的假设点)与其标定关键点之间的偏离距离。具体来说,本文将相对于由像素及其估计方向矢量生成的线,通过标定的关键点的垂足,作为本文的代理假设。这样,每个像素都会针对标定的关键点产生一个近似的假设点。请注意,计算关键点的垂足是可微的,并且关键点和代理假设点之间的距离会考虑像素的估计方向向量及其到关键点的距离。通过强制代理假设接近其相应的关键点,我们可以通过以端到端的方式训练我们的网络来获得准确的矢量场表示。通过这样做,我们减少了假设的偏差,从而以较高的概率准确地估计了关键点。在广泛使用的标准数据集上进行的实验还表明,与基于RGB的最新姿态估计方法相比,我们提出的损失不仅显着提高了姿态估计性能,而且还加快了训练收敛速度。相关工作在本节中简要回顾基于RGB图像的6DoF位姿估计方法。传统方法:常规的对象位姿估计方法主要利用局部特征/关键字匹配。从2D图像中提取的局部特征描述符(例如SIFT [Lowe,2004]),对视点,照明,旋转和比例变化具有较强的鲁棒性。将提取的局部特征与3D模型上的点相关联后,可通过“透视点”(PnP)问题解决物体的位姿[Lepetit等,2009]。但是,这些方法只能处理可检测局部特征的纹理对象。除了局部特征,还使用了图像模板[Hinterstoisser et al。,2011b;Gu and Ren,2010;Rios-Cabrera和Tuytelaars,2013;Zhu et al。,2014]和图像边缘[Hinterstoisser et al。,2011a;Liu等,2010]也被用于位姿估计。基于深度模型的方法:由于深度神经网络具有强大的特征表示能力,基于深度学习的方法在对象位姿估计方面已展示出令人印象深刻的结果[Kehl等人,2017;Xiang等,2017; Peng等,2019]。某些方法,例如视点和关键点[Tulsiani和Malik,2015]和CNN的渲染[Su等,2015],通过离散化位姿空间,然后为对象分配离散的位姿标签,将3D位姿估计公式化为分类任务。根据最新的图像检测方法[Liu等,2016;Ren等,2015],设计了位姿估计方法根据3D边界框的估计,在定位对象的同时预测其视点[Kehl等,2017;Rad和Lepetit,2017;Tekin等人,2018],感兴趣的特征[Xiang等人,2017;Peng等人,2019年]或坐标图[Zakharov等人,2019年;Wang等,2019; Kiru等,2019]。SSD6D[Kehl等人,2017]扩展了2D目标检测的思想,并对具有离散位姿的局部对象进行了分类,而YOLO6D [Tekin等人,2018]则对目标的3D边界框进行回归。BB8[Rad和Lepetit,2017年]首先为对象生成2D分割掩模,并根据2D掩模预测3D边界框。CPDN[Zhigang等人,2019],DPOD [Zakharov等人,2019]和Pix2Pose[Kiru等人,2019]对图像中3D对象模型的2D/ 3D坐标进行回归。在获得2D-3D对应关系后,PnP会估计对象的位姿。对于直接回归3D点的2D投影是不可靠的,PoseCNN [Xiang et al。,2017]首先估计从对象像素指向对象中心的矢量场,然后使用霍夫投票来确定中心。对象的平移和旋转随后通过子网回归。PVNet [Peng et al。,2019]不仅对质心进行了估计,还对几个感兴趣的特征进行了投票,而Segdriven[Hu et al。,2019]对每个分割网格的3D边界框进行了投票。由于采用了投票策略,估计的2D投影的位置对于遮挡更为稳健。但是,向量场的较小误差可能导致假设点的较大偏差。位姿优化:深度图像用于优化估计位姿。例如,PoseCNN使用深度信息和迭代最近点(ICP)[Besl和McKay,1992]来完善估计的位姿。同时,DeepIM[Li等人,2018]和DPOD [Zakharov等人,2019]利用光学流,通过最小化3D模型的对象外观和2D投影之间的差异来修改初始位姿估计。请注意,这些方法在初始位姿接近其真实情况时有效。因此,产生准确的初始位姿在位姿修正过程中也起着关键作用。拟议方法在本文中,本文专注于获得准确的初始位姿估计。特别是,本文的方法旨在精确定位和估计对象的平移和旋转,而无需进行任何改进。对象位姿由从对象坐标系到相机坐标系的刚性变换(R,t)表示,其中R和t分别表示3D旋转和平移。基于投票的方法[Xiang等人,2017;Peng等人,2019]证明了它们对遮挡和视图变化的鲁棒性,因此本文遵循基于投票的位姿估计流程。具体来说,本文的方法首先从矢量场中选出对象关键点的2D位置(如图2中的绿色箭头所示),然后通过PnP算法来估计6自由度位姿。先前的工作通过L1损失使逐像素矢量场回归。但是,矢量场中的小误差可能会导致假设点的较大偏差误差,因为损失并未考虑像素与关键点之间的距离。因此,本文提出了一种可微代理投票损失(DPVL),以通过模拟投票过程中的假设点选择来减少此类错误。此外,得益于本文的DPVL,本文的网络能够更快地拟合。
640?wx_fmt=png
图2 本文方法示意图在这里,本文仅强调本文提议的可微代理投票损失(DPVL), 为简单起见,省略了矢量场回归损失和分割损失。3.1 关键点矢量场为了估计物体的姿态,本文首先定位给定物体的2D关键点。对于对象的大小差异很大的问题,本文选择为每个关键点估计一个矢量场,而不是根据图像预测它们的关键点位置。向量场由从像素指向某个关键点的单位方向向量组成。与从图像局部补丁中提取的特征关键点不同,我们的方向矢量是由深度神经网络估计的,该神经网络具有覆盖大部分对象的更大的感受野。以这种方式,即使关键点不可见,也可以从对象的可见部分推断出关键点。受前人启发[Xiang et al。,2017;Peng et al。,2019],本文的网络同时输出对象和关键点矢量场的分割掩模,如图2所示。具体来说,如果像素p属于对象,则其分割掩码将分配为1。否则,其分割掩码将分配为0。从像素p指向关键点k的单位方向向量u_k(p)表示为u_k(p) = (k − p)/||k − p||2。
640?wx_fmt=png
3.2可微的代理投票损失给定图像I和对象的关键点位置K= {ki},i = 1,···,N,1,其中N表示所选关键点的数量,当本文的网络生成估计的矢量场时,标定的关键点矢量场很容易被导出。然后,使用光滑的ℓ1损失[Girshick,2015]来对标定的方向向量进行回归,其中:vk(p)表示估计的方向向量,M表示目标掩模,I(·)是指示函数,a表示标量。如前所述,估计的单位方向向量中的小误差可能导致假设点的较大偏差(如图1中的d2和d3所示),未集中的假设点将导致关键点不准确,从而降低位姿估计的性能。与先前的方法不同,本文考虑了假设点的分布,并强制所有假设点接近标定关键点。假设一个对象包含M个像素,将有M(M− 1)个假设。 尽管有一个封闭形式的解决方案可以从两个像素获得两个方向矢量来获得假设,但计算所有假设点都会导致对深层网络的训练效率低下,尤其是在对象分辨率非常高的情况下。由于关键点和直线上的点之间的距离没有上界而有下界,因此本文选择使用相对于从像素p的方向向量指定的直线的关键点的垂足一个假设。注意,距离d(在图2中)是关键点和直线之间的下限距离。这样,本文只需要计算M个垂直线,而不是M(M-1)个假设,就可以大大减少计算量。更重要的是,相对于像素p的方向向量vk(p),关键点k与垂直线fk(p)的对应脚之间的距离具有近似形式的解,并且也是可微的。因此,本文将距离最小化,作为可微的代理投票损失(DPVL)Lpv,以迫使代理假设接近关键点,如下所示:
640?wx_fmt=png
其中vk(p)=(vkx,vky),p=(px,py),k=(kx,ky),上标x,y分别表示水平坐标和垂直坐标。由于vk(p)是直接从本文的网络估算的,因此它可能不是单位矢量,因此等式中存在归一化操作(2)。本文提出的损耗Lpv不仅使方向向量vk(p)指向关键点,而且对像素位置也很敏感。换句话说,像素的方向向量中的小误差远离关键点将受到更严厉的惩罚以产生更集中的假设。3.3网络架构和训练策略为了证明本文提出的损失的有效性,本文采用了与PVNet相同的架构[Penget al。,2019],如图2所示。 具体来说,本文的网络建立在经过预训练的ResNet18主干网上(He等,2016),具有三个后续的上采样层,并输出分割预测s(p)∈[0,1]和关键点的矢量场。本文的总体目标表示为:640?wx_fmt=png其中Lseg = −Pp∈Mlog(s(p))是分割损失,权重α和β用于平衡性能在分割和向量域估计之间。在训练过程的开始,由于对向量场的估计不正确,Lpv通常会表现出很大的损失。因此,本文将权重β设置为较小的值1e-3,然后将β逐渐增加至1e-2,每个时期增加1.5倍。在本文的方法中,对象分割和矢量场估计都很重要。本文观察到,随着训练的进行,本文的代理投票损失Lpv远大于细分损失Lseg。这将使本文的网络在生产时专注于矢量场估计任务细分结果不准确。为了平衡这两个任务,本文将每个时期的α逐渐增加1.1倍,并将α限制为10。

3.4 DPVL作为正则化器

由于本文提出的DPVL旨在获得偏差很小的假设点,因此不能直接迫使估计的矢量场接近于真实情况。因此,本文删除了等式中的回归损失Lvf3,检查DPVL是否可以用作独立损失。本文发现,仅通过使用DPVL来估计矢量场,本文的网络无法融合。注意,方向向量及其反向向量将导致相同的损失。如果不采用向量场回归,本文的网络将遭受这种歧义,并且在以下情况下无法产生一致的向量场最小化DPVL。换句话说,DPVL不能用作独立损失,它需要矢量场回归损失来减少歧义。因此,本文提出的DPVL被用作精确矢量场估计的正则化项。3.5实施细节为了与基线方法PVNet进行公平比较,本文通过在3D模型上运行最远的点采样算法为每个对象选择8个关键点。[Peng et al。,2019]之后,本文渲染了10,000张图像,并通过“剪切和粘贴”为每个对象合成了10,000张图像。数据扩充(包括随机裁剪,调整大小,旋转和颜色抖动)可防止过度拟合。在训练本文的网络时,本文将批处理大小设置为16,并使用初始学习率为1e-3的Adam优化器。每5个周期学习速率下降到1e-5倍。本文的最大训练周期设置为100个周期,而PVNet需要200个纪元。在测试中,使用Hough投票来定位关键点,然后使用EPnP [Lepetit等人,2009]解决6DOP位姿。与PVNet相似,本文的方法还使用GTX1080 Ti GPU在480×640测试图像上以25fps的速度运行。实验在本节中,本文将对两个流行的,广泛使用的数据集进行实验,这些数据集旨在评估6DOF位姿估计方法。4.1数据集LINEMOD [Hinterstoisser et al。,2012]是事实上的6DOF位姿估计基准,包括13个对象的15783张图像(每个对象约1200个实例)。还提供了这些对象的CAD模型。LINEMOD面临许多挑战,包括混乱的场景,无纹理的物体和照明变化。遮挡LINEMOD [Brachmann等人,2014]在LINEMOD图像的子集上提供了附加注释。每个图像包含多个带注释的对象,由于场景混乱,这些对象被严重遮挡,这给位姿估计带来了极大的挑战。4.2评估指标本文通过使用两个常用指标来评估6DOF估计的性能:2D投影误差和ADD评分[Hinterstoisseret al,2012]。2D投影误差使用地面真实性和估计的位姿来测量3D模型的投影之间的平均距离。如果平均距离小于5个像素,则估计的位姿被认为是正确的。因此,2D投影误差表示使用估计的位姿在图像中的对象与其3D模型的投影之间的接近度。ADD得分用于测量由地面真实位姿变换的3D模型点与估计的位姿之间的平均3D距离。当距离小于3D直径的10%时在模型中,估计的位姿被认为是正确的。对于对称对象,采用ADD(-S),其中3D距离是根据最近的点距离来计算的。4.3 与STOA的比较由于本文的方法着重于根据RGB图像提供准确的初始位姿估计,因此本文不采用任何位姿修正方法来进一步提高估计性能。此外,正如在论文[Li et al。,2018]中提到的那样,位姿优化的性能也高度依赖于良好的初始位姿估计。因此,在本节中,本文将与不使用任何位姿修正的基于RGB图像的最新位姿估计方法进行比较。LINEMOD的比较:本文将本文的算法与BB8 [Rad和Lepetit,2017],SSD6D[Kehl等,2017],YOLO6D [Tekin等,2018],DPOD[Zakharov等,2019],Pix2Pose [Kiru]进行了比较等人,2019],CDPN[Zhigang等人,2019],PoseCNN [Xiang等人,2017]和PVNet[Peng等人,2019]中的ADD(-S)得分(表1)和2D投影误差(表2)。BB8,SSD6D和YOLO6D通过回归定位关键点,而DPOD,Pix2Pose和CDPN回归3D对象坐标。PoseCNN首先通过霍夫投票对对象中心进行定位,然后通过回归估计位姿。PVNet和本文的方法采用表决机制来定位位姿估计的所有关键点。注意,BB8和SS6D需要进行必要的改进才能获得令人满意的结果。因此,本文细心地报告了他们的结果,所有结果均来自原始论文。 由于某些方法没有报告其2D投影错误,因此本文不在表2中列出。如表1和表2所示,本文的方法优于这两个指标的最新方法。图3说明了本文的定性结果。
640?wx_fmt=png
图3 LINEMOD数据集上可视化本文的定性结果其中绿色的3D边界框表示真实的位姿,蓝色的表示本文的预测。更重要的是,与基线方法PVNet相比,本文的方法在所有对象上的ADD(-S)得分均具有更好的性能,并且性能提高了5.23%。除了一类,本文的方法在二维投影误差方面也优于PVNet。
640?wx_fmt=png
表1 LINEMOD数据集上的姿态估计性能 ADD(-S)分数
640?wx_fmt=png
表2 LINEMOD数据集的2D投影误差的姿势估计性能如表1所示,很难通过PVNet估计无纹理物体(例如“猿”和“鸭”)的准确矢量场。相反,本文的方法能够更准确地估计矢量场,从而获得比PVNet更好的位姿估计性能。特别是,根据ADD(-S)分数,本文的方法分别将“猿”和“鸭”的准确度提高了25.43%和10.89%。遮挡LINEMOD的比较:遵循先前的方法(即YOLO6D,PoseCNN,Oberweger[Oberweger等人,2018],Pix2Pose,DPOD和PVNet),本文将在LINEMOD数据集上训练的模型应用于职业LINEMOD数据集。通常在此数据集上报告ADD(-S)分数,而表3给出了最新方法的比较结果。与最新技术相比,本文的方法可获得最佳性能。在图4中,本文演示了从一张图像中所有对象(“ Benchvise”除外)的估计结果。本文的方法的定性结果如图5所示。此外,正如预期的那样,本文的方法优于第二好方法PVNet,从而证明了本文提出的DPVL的有效性。注意,由于严重的遮挡,不正确的分割(即,对象定位)是导致错误的位姿估计的重要原因。因此,提高分割性能需要本文将来的工作。
640?wx_fmt=png
表3 Occlusion LINEMOD数据集上的姿态估计性能 ADD(-S)分数
640?wx_fmt=png
图4 OcclusionLINEMOD数据集上可视化本文的定性结果估计一幅图像中所有可见对象的位姿(“ Benchvise”除外)。绿色的3D边界框表示真实的位姿,其他颜色的边界表示本文的预测。
640?wx_fmt=png
图5 可视化遮挡本文的定性结果LINEMOD数据集。这些对象来自不同的图像。绿色的3D边界框表示实际情况,蓝色的表示本文的预测。4.4消融研究通过合并本文提出的DPVL,本文的方法能够获得更准确的位姿估计并改善训练收敛性。由于本文的网络体系结构和训练数据(合成图像和渲染图像是由PVNet 2的作者提供的代码生成的)与PVNet相同,因此明显的性能改进显然受益于本文建议的损失,如表1所示,表2和表3。在图6中,本文证明了通过使用DPVL,本文的方法可以获得关键点和代理假设之间的较低距离误差。这表明本文的方法在DPVL的帮助下收敛更快。因此,本文只需要训练100个纪元即可实现收敛而PVNet需要200个纪元。图6也暗示了本文的方法产生的假设分布更加集中,因为代理假设和关键点之间的平均距离更小。这使本文的方法可以在轻松投票关键点时达成共识。
640?wx_fmt=png
图6 两个对象的训练曲线的比较而不使用本文的DPVL,误差由Lpv度量

结论

在本文中,本文提出了一种新颖的可微代理投票损失(DPVL),以通过模拟测试阶段的假设投票来实现准确的矢量域估计。本文的DPVL考虑到了像素和关键点之间的距离,并迫使远离关键点的像素不容忍不正确的方向矢量估计。通过这种方式,本文的方法可以获得更准确的矢量场,从而带来更好的位姿估计。此外,DPVL能够加快本文网络在训练中的融合。因此,本文的方法在训练中需要较少的迭代,但可以获得更好的测试性能。在两个标准位姿估计数据集上的大量实验证明了本文的改进方法的优越性。本文由【3D视觉从入门到精通】星球嘉宾康斯坦奇原创~

上述内容,如有侵犯版权,请联系作者,会自行删文。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK