A Lightweight Two-End Feature Fusion Network for Object 6DPose Estimation

摘要

目前,许多物体姿态估计方法仅使用图像或点云进行姿态估计。这导致它们在遮挡和光照不佳的情况下无法准确估计物体的姿态。其次,这些模型参数大,无法部署在移动设备上。因此,我们提出了一种轻量级的两端特征融合网络,可以有效地利用图像和点云进行准确的物体姿态估计。首先,Pointno problemNet网络用于提取点云特征。然后将提取的点云特征与像素级的图像结合起来,通过CNN提取特征。其次,将提取的图像特征与点云逐点结合。然后使用改进的 PointNet++ 网络对其进行特征提取。最后,得到一组中心点特征,并对每个特征进行位姿估计。选择置信度最高的姿势作为最终结果。此外,我们应用深度可分离卷积来减少模型参数的数量。实验表明,该方法在 Linemod 和 Occlusion Linemod 数据集上表现出更好的性能。此外,模型参数小,在遮挡和弱光情况下具有鲁棒性。

介绍

 物体的姿态估计是许多计算机视觉应用的核心任务,例如机器人自动化操作、增强现实和自动驾驶。它已成为许多研究机构的热门研究课题。物体位姿估计的主要目的是计算目标物体在相机坐标系中的旋转矩阵和平移向量。早期的方法仅使用RGB图像进行对象姿态估计。这限制了这些方法在具有遮挡、照明差、背景对比度低和无纹理对象的场景中的性能。最近,廉价RGBD相机的出现促使一些研究人员使用RGBD图像来准确估计无纹理物体的姿态。然而,这些方法不仅参数数量多、实时性低,而且没有充分利用深度信息,导致这些方法在弱光和遮挡条件下的性能较差。因此,我们认为充分利用颜色和深度信息进行姿态估计是当前研究工作的核心问题。

 核心传统的姿态估计方法一般可以分为两类:基于对应的方法和基于模板的方法。基于对应的方法首先从RGB图像中提取2D关键点,然后建立2D和3D关键点之间的对应关系,最后通过PnP算法估计对象姿态。然而,对于缺乏纹理的对象,无法准确提取二维关键点。因此,这些方法在缺乏纹理的对象上表现不佳。基于模板的方法比较真实图像和模板图像的梯度信息。可以找到最接近真实图像的模板图像。将模板图像对应的6D位姿作为当前目标物体的6D位姿。这类方法主要针对缺乏纹理的物体的位姿估计,弥补了基于对应方法的不足。然而,在遮挡的情况下,这种方法会显着降低模板匹配的性能。

随着深度学习技术的飞速发展。卷积神经网络(CNN)广泛用于图像处理任务,例如对象检测和图像分类。因此,也促使一些研究人员使用CNN来解决物体6D姿态估计问题。基于CNN的方法主要分为两类。一类使用CNN检测RGB图像中的2D关键点,解决了传统方法不适用于无纹理对象的关键点检测问题。但是,在遮挡的情况下,它并不能准确地估计物体的姿态。另一类方法是直接使用RGB图像对物体的6D位姿进行回归,如PoseNet、PoseCNN和SSD-6D。这些方法估计的物体姿态通常不准确,后期需要耗时的迭代算法(如ICP)进行姿态优化。以上两种方法只是使用RGB图像来估计物体的位姿。它们不使用深度信息或结合颜色和深度信息进行位置估计。关于遮挡问题,FractalMarkers通过检测关键点来解决遮挡下标记姿势的估计,而Body PointNet直接处理点云数据来估计3D身体形状和衣服下的姿势。这些方法可以更好地解决遮挡下的位姿估计问题。最近,Densefusion首次结合颜色和深度信息来估计物体的6D姿态,在遮挡和低照度下具有更好的性能。它分别通过CNN和PointNet提取RGB和点云特征。然后进行图像特征和点云特征的像素级融合以回归对象姿态。然而,这种方法采用单独的网络来分别提取RGB和点云信息。它在特征提取过程中并没有完全融合两种信息。其次,上述方法参数较多,不利于在移动设备上部署。

在这项工作中,我们提出了一种轻量级的两端特征融合姿态估计网络。它可以在特征提取过程中充分融合RGB和点云信息,网络参数量少,易于部署在移动设备上。该方法的核心是一个两端特征融合网络,其中点云特征和颜色特征可以在特征提取时作为另一侧的补充信息。具体来说,在CNN编码-解码过程中,CNN很难从RGB图像中提取相似对象的独特特征,但点云网络也是如此。另一方面,在黑暗或强光的情况下,图片的颜色信息会丢失。具有反射表面的物体会导致深度信息丢失。因此,我们的方法首先使用PointNet网络提取目标物体的点云特征,然后将点云特征作为RGB图像的几何补充信息进行像素级拼接,并使用CNN对目标物体进行特征提取。拼接的图像。其次,将提取的图像特征逐点组合,作为点云的颜色补充信息,采用改进的PointNet++网络进行特征提取。然后得到一组中心点特征并进行位姿估计,选择置信度最高的位姿作为最终结果。最后,我们使用姿势迭代模块来进一步提高姿势估计的准确性。此外,我们应用深度可分离卷积来减少模型参数的数量,从而促进模型在移动设备上的部署。所提出的方法在两个基准数据集Linemod和OcclusionLinemod上进行了评估,我们的方法在两个数据集上都表现出更好的性能。

总之,我们工作的贡献如下:

(1)提出了一种两端特征融合姿态估计网络,可以充分融合RGB和点云特征估计物体姿态,并且可以处理遮挡情况下的姿态估计问题。

(2)将depthwise separable convolution集成到6D位姿估计网络中,从而减少了模型存储空间,加快了模型推理,获得了更好的结果。

(3)在Linemod和Occlusion Linemod数据集上实现了更好的6D姿态估计性能。

相关工作

基于模板的方法

基于模板的方法的核心是模板匹配,它通过滑动窗口在模板数据集中搜索最佳匹配。每个模板都标有对象的确切 6D 姿势。当找到最佳模板时,对象的 6D 位姿也被确定。因此,基于模板的 6D 姿态估计问题转化为图像检索问题。 Linemod  方法是基于模板的代表性方法。它将模板图像的颜色梯度和表面法向量与真实图像的颜色梯度和表面法向量进行匹配,最终得到目标物体的6D位姿。里奥斯-卡布雷拉等人。  提出了一种实时可扩展的方法。该方法通过级联方案加快检测速度,能够快速准确地匹配大量对象。桑德迈尔等人。  提出了一种隐式模板匹配方法。它将数以万计的模板图像编码形成码本,输入真实图像进行编码,形成代码并比较码本以找到最相似的模板。然而,这些方法在遮挡情况下表现不佳。

基于对应点的方法

基于对应的方法主要是解决纹理丰富物体的位姿估计问题。该方法的核心步骤是将3D模型投影到N个角度,得到N个RGB模板图像,并记录2D像素点与3D模型点的对应关系。接下来,我们获取单个真实的 RGB 图像,并使用特征点提取算法 SURF 、ORB 、SIFT  来获取真实图像和模板图像之间的 2D 关键点对应关系。通过模板建立2D-3D关键点对应关系,最后使用PnP算法计算物体位姿。然而,传统的特征点提取算法不适用于缺乏纹理的物体。为了解决这个问题,一些研究人员使用 CNN 来提取关键点。 YoLo6D使用YOLO架构实时预测物体3D边界框投影顶点的2D图像位置,通过PnP算法得到最终位姿。 DPOD  是估计输入图像与已知 3D 模型之间的密集多类 2D-3D 对应图。根据给定的对应关系,PnP 和 RANSAC 算法用于 6D 姿态估计。胡等人。  提出了一种分割驱动的 6D 姿态估计框架,其中物体的每个可见部分以 2D 关键点位置的形式对局部姿态预测做出贡献,可以解决多个纹理较差的物体相互遮挡的问题. PVNet  提出了一种基于 RANSAC 算法的逐像素投票网络来确定关键点位置,然后使用 2D-3D 对应关系来估计对象姿态。 HybridPose  在 PVNet 框架中增加了边缘向量和对称对应,可以增强对称对象姿态估计的鲁棒性。但是,上述方法需要预先定义 3D 模型中的关键点,并且不是很实时。

基于 RGBD 的方法

传统方法从 RGBD 图像中提取手动特征,并进行相应的分组和假设验证 。 Hinterstoisser 等人提出的方法。  通过从 RGB 图像中提取梯度特征和从深度图像中提取正常特征来估计对象姿态。然而,在光照变化强烈和遮挡严重的情况下,它们的性能受到限制。一些研究人员使用 CNN 直接处理图像数据并估计对象姿势 。其中,PoseCNN使用RGB图像估计初始位姿,并通过物体点云和ICP算法优化物体位姿。 SSD6D  扩展了 SSD 检测网络以实现物体的 6D 姿态估计,并且还使用迭代算法来优化姿态。上述两种方法实时性较差,无法进行端到端的训练和物体姿态估计。李等人。 使用CNN网络提取RGB图像和深度图像特征,然后将深度图像特征拼接为RGB图像的补充通道来估计物体姿态。但是,它忽略了深度通道的内部结构,没有充分利用RGBD信息。最近,一些研究人员已经进行了深度和 RGB 图的特征融合来估计对象姿态 。其中,Densefusion是最具代表性的方法。它首先将深度图像转换为点云数据,然后使用 CNN 和 PointNet 分别从 RGB 图像和点云中提取特征。然后,设计了一种密集的像素级融合方法,融合RGB图像特征和点云特征来估计物体的位姿,可以解决遮挡下的位姿估计问题。该方法使用两种数据快速有效地估计物体姿态。 PVN3D  使用 Densefusion 架构融合 RGB 和点云信息,然后通过全像素投票网络生成 3D 关键点。最后采用最小二乘法计算6D位姿,通过检测物体的3D关键点解决遮挡下的位姿估计问题。周等人。 使用PointNet++网络处理点云和图像的融合特征,然后通过多个区域级特征估计物体位姿,解决遮挡下的位姿估计问题。但是,颜色特征和几何特征是分开提取的,两种特征在提取过程中并没有很好的融合,而且这些方法的参数很多。因此,我们提出了一个轻量级的两端特征融合网络来充分融合这两种数据。它利用数据一侧的特征提取结果作为数据另一侧的补充信息进行特征提取。这可以很好地融合两种数据来估计特征提取过程中的对象姿态。

方法

在这项工作中,我们提出了一种对象 6D 姿态估计方法,其主要任务是从 RGBD 图像中预测 3D 空间中对象的姿态。它表示物体在相机坐标系中的旋转矩阵和平移向量。我们认为,只有颜色和深度信息才能完全整合到特征提取过程中。这可以解决遮挡、光照不佳等条件下的姿态估计问题。如何有效地融合它们并减少模型参数的数量是当前研究需要面对的问题。因此,我们提出了一个轻量级的两端特征融合网络来充分融合这两个特征。我们还将深度可分离卷积集成到网络中以减少模型参数的数量。

本文提出的算法框架如图1所示,主要由三个部分组成。其中:

第一部分是RGB图像的语义分割。获取目标物体的bounding box并裁剪,只获取目标物体的颜色图和深度图,将深度图转化为点云。

第二部分是特征提取结构。

首先使用PointNet网络对目标点云进行特征提取,然后将点云特征在像素级拼接成与RGB图像几何互补的信息。然后将拼接后的图像输入 CNN 进行特征提取。

之后将得到的颜色特征逐点组合,作为点云的颜色互补信息。然后将改进的PointNet++网络用于组合点云的特征提取。

最后得到一组由像素特征、区域特征和全局特征融合而成的质心特征。

在第三部分,估计每个质心特征的位姿,置信度最高的位姿作为输出。

最后,我们参考[28]中的姿势迭代模块来提高姿势估计的准确性。

图 1. 我们的算法框架。

首先,通过语义分割得到目标物体的深度图和RGB图,将深度图转化为点云。

其次,对点云进行特征提取,将点云特征与彩色图像进行特征融合,对融合后的图像进行特征提取,再将提取的特征与点云进行特征融合

最后,将得到的一组质心特征在物体6D位姿上进行回归,选择置信度最高的位姿作为最终结果。 (为简单起见,这里不描述位姿迭代网络)。

语义分割

我们网络框架的第一个任务是语义分割。其目的是从RGBD图像中裁剪出目标物体,最终生成彩色图像和仅包含目标物体的深度图像。今天,语义分割研究已经非常成熟,例如在[44]中。语义分割框架主要由编码器和解码器组成,对彩色图像进行编码和解码,生成N+1通道的结果图。第一个通道代表图像的背景,其他N个通道代表已知目标对象的类别。因此,我们直接使用 PoseCNN 中的语义分割网络来裁剪图像。

图像特征提取与特征融合

通过语义分割网络得到一个只包含目标对象的大小为 h × w × 3 的彩色图像块。然后,利用PointNet网络从目标对象的点云中提取特征,提取的点云特征作为彩色图像像素的几何补充信息。根据深度图和彩色图的像素位置对应关系,将彩色图像和点云特征沿通道维度进行像素级拼接。最后得到一张大小为h×w×(3+dp)的图片,每个像素都有几何特征,其中dp是几何特征的通道数。为了能够使用特征提取结果与点云进行点级特征融合,我们采用了一个上采样模块,使输出特征图与输入图像大小相同。因此,我们参考文献[28]中的图像特征提取方法,构建了由ResNet[13]、PSPNet[45]和上采样模块组成的图像特征提取网络结构。其结构如图2所示。其中,ResNet网络对图像进行预处理,然后使用PSPNet网络进行多尺度特征提取,最后使用上采样模块保持输入和输出大小相同。

图 2 图像特征提取网络结构图。我们使用 ResNet 对彩色图像进行初步特征提取,并应用 PSPNet 进行多尺度特征提取。最后,上采样模块用于保持输出大小不变。

大小为h × w × (3+dp)的图像,经过ResNet网络预处理,得到大小为h1 × w1 × d1的特征图,再次得到大小为h2 × w2 × drgbp的特征图通过 PSPNet 网络的特征提取。最后通过双线性插值函数对特征图进行上采样,最终得到大小为h×w×drgbp的特征图。

点云特征提取与特征融合

该方法有两个点云特征提取网络,可以充分融合颜色信息和深度信息。在第一部分中,在提取RGB图像特征之前,将几何信息添加到每个RGB图像像素点。首先,将语义分割网络裁剪的深度图转换为点云。深度图中每个像素点的位置(u,v)根据相机参数转换为点云中的3D点(x,y,z)。具体计算为:

 其中 dt 表示像素位置 (u, v) 处的深度数据,s 是相机比例因子,(cx, cy) 表示相机的光圈中心坐标,(fx, fy) 是相机在 x 上的焦距和 y 轴。

我们使用一个简单的 PointNet 网络进行点云的初始特征提取。将大小为 N×3 的点云输入到 PointNet 中,其中 N 表示点云的数量,3 表示 3D 坐标。最终的网络输出为:

其中 Ip 表示大小为 N × dp 的点云特征,dp 表示特征向量大小,h 表示共享多层感知器 (MLP) 网络,MAX 是最大池化函数,⊕ 表示点级拼接。最终生成的点云特征具有逐点特征和全局特征。将提取的点云特征作为彩色图像的几何补充信息进行像素级融合,得到尺寸为h×w×(3+dp)的彩色图像。然后,通过CNN对包含几何特征的图像进行特征提取,最终生成大小为n×(3+drgbp)的特征图。

第二部分是利用上述CNN提取的特征作为点云的颜色补充信息,与点云进行点级融合。最终生成大小为 n × (3+drgbp) 并具有颜色特征的点云。为了能够更充分地提取点云特征和特征融合,我们使用改进的PointNet++网络对带有颜色信息的点云进行处理。最基本的PointNet++网络采用分层特征提取的思想,主要由多个抽象层组成。每个抽象层可以分为采样层、分组层和PointNet层。其中,采样层采用最远点采样(FPS)算法,从相对密集的点云中提取一些均匀分布的点。具体来说,我们假设 A 是选定点的集合,B 是未选定点的集合,并且每次从 B 中选择离集合 A 中的点最远的那些点,使用欧几里得距离为指标。分组层以采样层输出的点集为中心点,然后使用球查询法构造局部区域点集。具体地,通过遍历半径为r的球面内的所有点,选择离中心点最近的k个点作为一组点集。球查询法的使用保证了固定的区域尺度,使得区域特征在空间上更具普适性,更有利于局部特征的提取。 PointNet层对每个局部区域点集进行编码,最终形成一个中心点特征向量。而改进后的PointNet++网络结构如图3所示,由多个抽象层组成,在最后一个抽象层之后增加了一个最大池化层,以获得点云的全局特征。然后,通过短路连接获得中间局部区域特征。最后,通过对全局特征、中间局部区域特征和最后一个抽象层输出的特征进行拼接,可以得到一组中心点特征。

图 3. 改进的 PointNet++ 点云特征提取网络结构。

将大小为 n × (3+drgbp) 的点集输入到抽象层以提取特征。具体计算过程如下:

其中 Fsample 和 Fgroup 分别代表采样层和分组层。采样分组后得到 ń × K × (3+dp)大小的点集,K表示局部区域点集的个数。 Fp代表PointNet layer,它对每个局部区域点集进行编码,最终形成一个大小为ń×(3+dcenter)的中心点特征。中心点特征Icenter被送到下一个抽象层继续提取特征。每一层的中心点是前一层中心点的子集。

我们采用多个抽象层来组成点云特征提取层。随着层数的加深,中心点的数量减少,但每个中心点的特征越来越丰富。最后,利用最大池化功能和短路连接,为每个中心点特征添加全局特征和中间局部区域特征。特征融合的过程是:

 其中 I 表示最终融合的质心特征。 Icenter 是最后一个抽象层的中心点特征。中间代表中间抽象层的中心点特征,Fmax指最大池化函数,Fmlp代表共享的多层感知器网络,⊕是连接操作。

姿势估计和姿势优化

通过上述特征提取和特征融合,得到一组中心点特征。然后将这组中心点特征输入到神经网络中进行姿态估计,并对每个中心点特征进行回归旋转、平移和置信度。回归网络由三个完全相同的小网络组成,每个小网络由四层一维卷积组成。参考[28]的方法,为每个中心点设置网络损失函数。对于设置为:

对于设置为的对称对象:

 其中Lpi表示真实位姿中对象模型的采样点与预测位姿中对应点之间的平均距离。 G表示采样点的个数,xj表示第j个采样点,[R, t]表示物体的真实位姿,表示第i个中心点特征回归的位姿。我们将整个网络的损失函数设置为:

其中,N表示中心点特征的个数,w是超参数,ci表示每个中心点特征回归位姿的置信度,置信度越大,回归位姿越准确。

在获得位置估计的结果后,我们进行位置优化。常用的ICP优化方法耗时长,不能满足实时性要求。因此,我们使用基于 CNN 的优化方法,可以快速稳定地优化姿势。迭代网络在结构上与姿态估计网络相似。它将融合的特征通过最大池化层形成全局特征进行姿态估计,迭代网络每次输出一个残差姿态。位姿优化过程如图4所示。根据位姿估计网络的输出,对点云进行逆变换。然后将转换后的点云和原始颜色特征作为输入。得到迭代网络输出的残差位姿后,再次对输入点云进行逆变换,得到的点云作为下一次迭代的输入。经过多次迭代,将预测的残差位姿与原始位姿连接起来,得到最终的位姿估计结果。

图 4. 姿势迭代网络。预测的残差位姿变换输入点云。

位姿优化原理如图5所示。物体在相机坐标系中的真实位姿为T = [R, t],预测位姿为T^ = [R^, t^],位姿差设置为ΔT = [ΔR,Δt]。经过n次迭代,整个姿态估计网络的最终预测姿态为:

其中 T 表示对象的真实姿态,T0 是姿态估计网络的初始姿态输出,T1 到 Tn 是迭代网络的残差姿态输出。假设初始物体坐标系与相机坐标系重合,物体真实位姿为T,则Pc=T × Po。其中,Pc和Po分别表示点云在相机坐标系和物体坐标系中的坐标。基于姿态估计网络输出的初始姿态T0,对点云进行反演得到:

图 5 位姿迭代网络示意图。点云根据预测位姿和残差位姿进行变换。

将逆变换后的点云P1c作为迭代网络的输入,网络预测残差位姿T1。然后再次对点云 P1c 进行逆变换,我们可以得到:

使用倒置点云 P2c 作为迭代网络的输入,网络预测残差位姿 T2。经过多次迭代,我们可以得到:

 因此,经过n次迭代,物体姿态估计网络最终输出的姿态为Tn×Tn−1×······×T2×T1×T0。在点云的变换过程中,由于点云与颜色特征的像素对应关系保持不变,因此每次都使用相同的颜色特征与变换后的点云进行特征融合。

减少模型参数的数量

为了减少网络模型参数量和占用内存空间,可以部署在移动设备上,比如小型移动机器人。因此,我们采用深度可分离卷积来代替图像特征提取网络中的标准卷积。其计算过程如图6所示。假设输入特征图大小为Hin×Win×M,输出特征图大小为Hout×Wout×M,卷积核大小为Dk×Dk。那么标准卷积的参数量为Dk × Dk × M × N,计算量为Dk × Dk × M × Hout × Wout × N。 Depthwise separable convolution分为depthwise convolution和pointwise convolution。其中逐点卷积是负责一个通道的卷积核,逐点卷积增加了特征通道的数量。因此,它的参数数为 Dk × Dk × M+M × N,计算量为 Dk × Dk × M × Hout × Wout +M × Hout × Wout × N。当标准卷积和深度可分离卷积保持相同时特征提取结果。 depthwise separable convolution 与标准卷积的参数之比为:

图 6.depthwise separable convolution 的计算过程示意图。

它们的计算量之比为:

因此,我们使用depthwise separable convolution 来代替标准卷积,以​​减少模型参数的数量和占用的内存空间。今天,MobileNetv2 [46] 网络已经成功地在移动设备中应用了深度可分离卷积。因此,我们沿用MobileNetv2的网络结构,将初步的特征提取模块ResNet替换为MobileNetv2,可以大大减少模型参数的数量。 

实验

数据集

(1) Linemod 数据集:Linemod 数据集是用于对象姿态估计的基准数据集。该数据集包含 13 个弱纹理对象的视频帧图像。它具有场景杂乱、光照变化、物体纹理弱的特点。它使对象姿态估计算法在该数据集上更具挑战性。

(2) Occlusion Linemod 数据集:Occlusion Linemod 数据集是通过对 Linemod 数据集的每个场景添加注释来创建的,并且每个图像都有不同程度的遮挡。严重遮挡的物体姿态估计是该数据集的挑战。

评估指标

我们采用平均距离 ADD 和 ADD-S 来评估物体姿态估计方法的准确性。对于非对称物体,使用平均距离 ADD 进行评估。它计算目标模型点云在真实姿态[R*,t*]和估计姿态[R,t]两种状态下的对应点对之间的平均距离。 ADD 定义如下:

其中G表示目标模型点云的点集,x表示点云G中的一个点,N表示点云G中的点数。对于对称物体,一个状态有多个位姿。因此,使用到最近点 ADD-S 的平均距离作为对称物体的评价指标。 ADD-S 定义如下: 

 如果平均距离小于设定的阈值,则认为满足要求,否则不满足。通常,设置的阈值是目标物体 3D 模型直径的 10%。

4.3.实施细节

点云在数据集加载阶段被归一化,向图像添加随机噪声。有利于网络学习点云和颜色特征,增加网络的鲁棒性。 32维点云特征通过PointNet网络输出。点云特征和RGB图像沿通道维度拼接,形成35通道图像。通过CNN对35通道的图像进行特征提取,输出大小为h×w×64的特征图,再次将64通道颜色特征与点云结合。最后形成大小为n×(3+64)的点云数据。然后将组合点云输入改进的 PointNet++ 网络。最终输出是一组 1664 维的中心点特征。这包括 128 维中间局部特征、最后一个抽象层输出的 512 维局部特征和 1024 维全局特征。最后,将姿势和置信度回归到每个中心点特征向量。迭代网络由三个全连接层组成。它从融合的全局特征中预测残余位姿。我们的方法在训练期间使用 2373 张图像作为 Linemod 数据集进行训练,并使用 13404 张图像进行测试。对于 Occlusion Linemod 数据集,180 幅图像用于训练,1034 幅图像用于测试。每个时期重复 20 次。首先训练姿态估计骨干网络直到收敛,然后根据设定的阈值自动训练迭代网络。训练后得到最佳参数:batch size为8,学习率为0.0001,学习率衰减率为0.35,开始训练迭代网络的阈值为0.012,训练的最大epoch数为600,随机噪声range 为 0.037,损失函数的超参数 w 为 0.016,w 的衰减率为 0.37,学习率和 w 的衰减阈值为 0.015,迭代网络的迭代次数为 4。

基准数据集的结果

为了评估我们的姿势估计算法的性能,设计了几组实验,结果如下所示。

Linemod 数据集上的结果

图 7. Linemod 数据集结果的可视化,我们旋转和平移点云模型并将其投影到图像上。

表 1. 根据 Linemod 数据集上的 ADD(-S) 指标,我们的方法与基准方法相比的准确性。其中 per 代表每像素,iter 代表迭代。

图 8. 不同光照条件下的姿态估计结果,我们将点云模型在旋转和平移后投影到图像上。

Occlusion Linemod 数据集的结果

表 2 显示了使用 ADD(-S) 评估指标在 Occlusion Linemod 数据集上提出的方法的结果。使用 ResNet18 + PSPNet 网络作为图像特征提取网络。我们的方法达到了 86.8% 的准确率。它比 Densefusion [28] 高 5.4%,比 ANDC [40] 高 3.2%。表明我们的方法采用像素级融合特征,对每个特征向量进行位姿回归,最终选择最佳位姿,可以更好地处理严重遮挡和背景杂波。我们的方法比仅使用 RGB 图像的 PoseCNN [23] 高 8.8%。这表明在严重遮挡的情况下,CNN 无法从彩色图像中提取更多特征。需要彩色图像和深度图像的特征融合来有效解决严重遮挡下的物体位姿估计问题。我们的方法在两个较小的对象猿和鸭子上的性能分别比 Densefusion 高 6.2% 和 17.3%。这表明我们的方法可以充分整合颜色和深度信息。此外,为每个中心点特征引入了中间局部区域特征和全局特征,在遮挡情况下可以表现出更好的鲁棒性。 Occlusion Linemod 数据集结果的可视化如图 9 所示。其中一些被严重遮挡,但所提出方法的性能也非常出色。

 图 9. Occlusion Linemod 数据集结果的可视化,我们在旋转和平移后将点云模型投影到图像上。

表 2. 根据 ADD(-S) 度量,我们的方法的准确性与 Occlusion Linemod 数据集上的基准方法进行了比较。

噪音实验

当 RGBD 相机在真实环境中拍摄图像时,噪声对深度图像的影响更大。深度图像中每个像素的数据是物体到相机的距离,以毫米为单位。因此,我们将随机噪声添加到 Linemod 数据集的深度图像中,以验证我们的姿态估计模型对噪声的鲁棒性。表 3 显示了我们的模型在随机噪声增加的情况下的性能。这里的随机噪声就是给深度图的每个像素加上随机数,随机数范围是(-v, v)。由于我们的模型在训练阶段对深度图像添加了随机噪声,并对每个特征向量的位姿进行回归,然后选择置信度最高的位姿作为最终结果。因此,我们的模型在(-30.0,30.0)范围内随机噪声的情况下也可以具有良好的准确性。 

 4.5.消融实验

我们进行了一系列消融实验。分析了不同的图像特征提取网络结构对整个姿态估计网络性能的影响。

表 4 显示了我们的方法与 Densefusion [28] 方法在不同结构下的比较。第一个结构是由ResNet18和PSPNet组成的图片特征提取网络。其中,ResNet18 为初始特征提取,PSPNet 进行多尺度特征提取。我们的方法在使用和不使用迭代方法的情况下分别达到了 98.1% 和 99.5%,均优于 Densefusion。为了减少模型参数的数量和模型的内存占用,我们将深度可分离卷积集成到网络中。因此,我们使用MobileNetv2和PSPNet组成图片特征提取网络。我们的方法在使用和不使用迭代方法的情况下分别达到了 98.0% 和 99.1% 的准确率,均优于 Densefusion。实验表明,我们的两端特征融合网络可以充分融合颜色和深度信息,在减少网络参数量的同时,也能表现出良好的性能。

表 5 显示了我们模型在不同图像特征提取网络结构下的内存空间、推理速度、模型训练时间、模型参数和 Linemod 数据集精度的比较。随着ResNet网络层数的增加,模型参数量和占用内存空间急剧增加,推理速度和训练速度变慢。但是姿态估计精度并没有提高,虽然当我们使用MobileNetv2+PSPNet作为图像特征提取网络结构时,整个模型的内存空间为49.3 MB,比使用ResNet18+的内存空间少了44.3 MB PSPNet 网络结构。此外,推理表达和训练速度更快,参数数量减少。实验表明,我们的模型可以在减少参数数量和占用内存空间的同时保持良好的准确性。此外,模型参数小,易于部署在移动设备上。

结论

在本文中,我们提出了一种轻量级的两端特征融合网络。主要用于估计RGBD图像中已知物体的6D位姿。该方法首先从对象点云中提取特征。然后将点云特征作为RGB图像的几何补充信息进行像素级拼接。对拼接后的图像进行特征提取。提取的颜色特征作为点云的颜色补充信息进行逐点组合。然后对组合点云进行特征提取。最后,通过融合局部特征和全局特征得到一组质心特征,然后我们使用每个中心点特征来估计物体的位姿。这种融合方法可以有效地结合深度和颜色信息,并在两个基准数据集上表现出最佳性能。实验表明,我们的方法可以准确地估计物体在严重遮挡、背景杂乱和光照不足的情况下的姿态。我们的模型对噪声也很鲁棒,并且在减少模型参数数量的同时保持了良好的性能。总而言之,我们的方法为目标姿态估计方法在移动设备上的应用提供了新的思路。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
MQTT Essentials - A Lightweight IoT Protocol by Gaston C. Hillar English | 14 Apr. 2017 | ASIN: B01MS9I105 | 280 Pages | AZW3 | 6.19 MB Key Features Make your connected devices less prone to attackers by understanding practical security mechanisms Dive deep into one of IoT's extremely lightweight machines to enable connectivity protocol with some real-world examples Learn to take advantage of the features included in MQTT for IoT and Machine-to-Machine communications with complete real-life examples Book Description This step-by-step guide will help you gain a deep understanding of the lightweight MQTT protocol. We'll begin with the specific vocabulary of MQTT and its working modes, followed by installing a Mosquitto MQTT broker. Then, you will use best practices to secure the MQTT Mosquitto broker to ensure that only authorized clients are able to publish and receive messages. Once you have secured the broker with the appropriate configuration, you will develop a solution that controls a drone with Python. Further on, you will use Python on a Raspberry Pi 3 board to process commands and Python on Intel Boards (Joule, Edison and Galileo). You will then connect to the MQTT broker, subscribe to topics, send messages, and receive messages in Python. You will also develop a solution that interacts with sensors in Java by working with MQTT messages. Moving forward, you will work with an asynchronous API with callbacks to make the sensors interact with MQTT messages. Following the same process, you will develop an iOS app with Swift 3, build a website that uses WebSockets to connect to the MQTT broker, and control home automation devices with HTML5, JavaScript code, Node.js and MQTT messages What you will learn Understand how MQTTv3.1 and v3.1.1 works in detail Install and secure a Mosquitto MQTT broker by following best practices Design and develop IoT solutions combined with mobile and web apps that use MQTT messages to communicate Explore the features included

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值