3D Implicit Transporter for Temporally Consistent Keypoint Discoveryhttps://github.com/zhongcl-thu/3D-Implicit-Transporter基于关键点的表示被证明在计算机视觉和机器人领域的各种应用中具有优势。但现有的2D和3D关键点检测方法主要依靠几何一致性来实现空间对齐,而忽略了时间一致性。为了解决这个问题,针对 2D 数据引入了“搬运器”(Transporter) 方法,该方法从源帧重建目标帧以合并空间和时间信息。然而,由于3D点云和2D图像的结构差异,将“转运器”方法直接应用于3D点云是不可行的。因此,我们提出了第一个3D版本的搬运器,包括混合3D表示、交叉注意力机制和隐式重建方法。我们将这种新的表达方式应用于3D铰接物体(刚性物体)和动物(人类和啮齿动物,非刚性),充分验证了我们的方法得到的关键点是时空一致的。此外,我们提出了一种闭环控制策略,利用学习到的关键点操作铰链物体(包括旋转关节或平移关节),在PartNet-Mobility数据集中几乎所有类别的物体上的操作成功率都领先于原有的方法,并且在未见过的物体类别上仍有很好的效果,证明其不俗的泛化能力。本文所提出的3D隐式搬运器的总体框架如图1所示。我们的网络由三个组件组成:关键点检测模块(Keypoint Module),3D特征搬运模块(3D Feature Transporter)和隐式重建模块(Implicit Function)。2D Transporter [1]中特征搬运要求数据统一(例如 2D 图像),对于不规则格式的点云来说是不可行的。在多将点云转换为统一的 3D 体素网会引入量化误差,破坏 3D 数据的固有几何模式(例如等距性);高分辨率的体积表示虽然可以弥补这种信息损失,但计算成本和内存开销都会呈立方上升,而基于点的模型[2-3]由于其稀疏表示可以显著减少内存开销。因此,我们利用基于点的主干从稀疏点中提取局部特征,然后利用基于体素的模型来搬运局部特征。当人类被要求在成对的帧之间找到移动的物体时,会采用迭代过程来检查和筛选两个帧中的多个暂定区域。受到这一做法的启发,使用交叉注意力模块来聚合两个帧的几何特征来定位关键点。交叉注意力通过以下方式实现:其中分别为从源点云输入和目标点云输入提取的特征。该模块的输出是输入特征和关注特征的串联,然后,我们使用PointNet++ 解码器对其进行上采样以获得密集特征,并通过投影和 3D UNet将这些密集点特征转换为关键点显着性体积,然后,我们可以沿三个正交轴边缘化显着性体积,以提取3D 关键点。与 2D 搬运器类似,我们将目标状态下物体的特征信息转移到源状态物体中,同时擦除源状态物体的特征信息。由于2D 搬运器在传输特征后不会改变数据结构,因此可以轻松地通过基于 CNN 的解码器重建输入图像。这对于不规则的3D数据不可行,受近期隐式神经表达的工作的启发[4-6],我们的3D搬运器利用隐式神经表示来重建目标的基础形状,而不是原始点云。基于传输后的信息,我们通过占据隐式场重建目标状态下的物体几何形状。由于3D 搬运器关键点的长期一致性,我们的方法非常适合处理3D操作任务。为了证明这一点,我们选择铰接式对象操作作为基准。该任务在 UMPNET[6] 中被定义为:给定目标状态Og,带有末端执行器的机器人旨在生成一组动作,通过这些动作可以将铰接的物体从当前状态Oc到目标状态Og。在本文中,物体的每个状态都是点云的形式,而不是RGB-D图像。在实验中,和UMPNET一样,我们使用吸盘作为机械臂末端以拉动/推动铰链物体。我们的控制策略十分简单且有效:设想我们已有初始状态和目标状态的对应的关键点,将对应的关键点连线即可得到稀疏的关节运动流。可以想象,对于旋转关节的铰链物体,初始状态到目标状态的运动距离越短(夹角越小),关键点的连线越接近铰链物体运动的圆弧轨迹,因此,我们的操作是通过多个步骤生成一系列动作来逐渐改变关节状态。为了实现上述目标,我们采用闭环控制系统,依靠反馈来调整当前的动作。具体来说,我们根据对象的当前状态和目标状态来预测下一步动作。与之前使用恒定移动距离的方法不同,我们利用关节运动流的大小来动态调整移动距离。受PID控制器的启发,我们采用如下公式控制当前状态下的运动:其中,等式左边是控制动作(操作力,矢量),右侧是关节运动流乘以给定的比例系数。由于我们的方法是基于对应关键点之间连线的操作,可以设想,这样生成的控制轨迹对于平移关节和旋转关节都是适用的。因此,在操作过程中,我们不需要辨别关节的类型。图2详细地展示了我们如何利用关键点操作铰链物体。其中,Q是全部的查询,Prob是隐式解码器输出的概率,Probgt是目标帧的真实值:如果q来自于输入的目标点云,Probgt为1,否则为0。此外,我们引入了一个额外的损失项 Locc_s,以促进源帧重建以获得更好的感知结果,公式如下:对于操作任务,除了表面重建损失函数外,我们还引入了两个损失函数,分别是关键点一致性损失函数和运动关节连续性损失函数。由于铰链物体的运动是刚性运动,因此同一物体上的关键点的旋转量和平移量应当一致。我们引入如下关键点一致性损失函数:此外, 在关节运动过程中,我们注意到某个关节在不同状态下的轴方向应该保持相同或平行。给定铰链物体运动过程,我们可以通过罗德里格斯的旋转公式计算其轴方向μ和角度θ。我们惩罚特定关节在不同时间步长的轴方向差异:我们在PartNet-Mobility数据集(仿真数据集)上进行了定量和定性实验,并验证了我们的闭环控制策略,分别如下所示:我们同样在真实环境中验证了我们方法的关键点的时空连续性,感知结果如下:同样,我们在真实环境中搭建了6自由度机械臂操作平台,如下图所示:我们在该操作平台上验证了我们基于时空连续关键点的闭环控制策略的有效性,实验结果如下:我们在人类(ITOP数据集)和啮齿动物(Rodent3D数据集)上验证了我们的方法对非刚性物体仍然有有效,实验结果如下:我们的工作提出了 3D 隐式搬运器,这是一种从点云序列中发现时间对应的3D关键点的自监督方法。我们引入了三个新颖的组件,将2D搬运器扩展到3D领域。广泛的评估表明,我们的关键点在时间上是一致的,并且可以推广到看不见的对象类别。此外,我们为下游任务开发了一种利用关键点的闭环控制策略,并证明它们适合3D操作任务。1、Tejas D Kulkarni, Ankush Gupta, Catalin Ionescu, Sebastian Borgeaud, Malcolm Reynolds, Andrew Zisserman, and Volodymyr Mnih. Unsupervised learning of object keypoints for perception and control. In NeurIPS, 2019.2、Haoqiang Fan, Hao Su, and Leonidas J Guibas. A point set generation network for 3d object reconstruction from a single image. In CVPR, 2017.3、Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In NeurIPS, 20174、Chengliang Zhong, Peixing You, Xiaoxue Chen, Hao Zhao, Fuchun Sun, Guyue Zhou, Xiaodong Mu, Chuang Gan, and Wenbing Huang. Snake: Shape-aware neural 3d keypoint field. In NeurIPS, 2022.5、Jeong Joon Park, Peter Florence, Julian Straub, Richard Newcombe, and Steven Lovegrove. Deepsdf: Learning continuous signed distance functions for shape representation. In CVPR, 20196、Zhenjia Xu, He Zhanpeng, and Shuran Song. Umpnet: Universal manipulation policy network for articulated objects. In RA-L, 2022.—END—高效学习3D视觉三部曲第一步 加入行业交流群,保持技术的先进性目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。
|