当前位置: 首页 > news >正文

论文阅读笔记:VI-Net: Boosting Category-level 6D Object Pose Estimation

论文阅读笔记:VI-Net: Boosting Category-level 6D Object Pose Estimation via Learning Decoupled Rotations on the Spherical Representations

  • 1 介绍
  • 2 球面上的相关性和旋转分解
  • 3 用于旋转估计的VI-Net
    • 3.1 转换为球形表示
    • 3.2 球形特征金字塔网络
    • 3.3 V-Branch
    • 3.4 I-Branch
    • 3.5 VI-Net的训练
  • 4 效果

论文:https://arxiv.org/pdf/2308.09916

代码:https://github.com/JiehongLin/VI-Net

1 介绍

由RGB-D目标观测得到6D目标位姿估计的任务是学习从标准目标系统到相机系统的变换,用3D旋转 R∈SO(3)R∈SO(3)RSO(3) 和3D平移 t∈R3t∈R^3tR3 表示。它在许多现实应用中都有需求,如机器人抓取,增强现实,自动驾驶等。

对于6D目标姿态,平移更容易被估计,例如初始化目标点的质心,而由于 SO(3)SO(3)SO(3) 的非线性,在 SO(3)SO(3)SO(3) 的整个空间中学习旋转更具有挑战性。当没有可用的CAD模型来估计未目标体的旋转时,情况变得更加复杂,以类别级的6D目标姿态估计任务为例,一种典型方法是通过 Umeyama 算法学习相机系统和标准坐标系之间的对应关系来求解位姿,以标准坐标为代替目标,而不是以物体位姿为真实目标。另一种策略师在 SO(3)SO(3)SO(3) 的空间中进行学习,从专门设计的编码器中提取旋转感知特征,但其结果不如基于对应学习。
在这里插入图片描述

最近,OVE6D将旋转 RRR 的学习空间缩小,如图1所示,将其分解成一个视点旋转 RvpR_{vp}Rvp 和一个绕着标准天顶方向(图1中的Z轴正方向)的平面内旋转 RipR_{ip}Rip,缩小了旋转 RRR 的学习空间,如图1所示,并对物体CAD模型的图像进行多种离散旋转的渲染,构建视点旋转检索的码本。然而,在真实世界的渲染应用中,物体CAD模型通常是不可用的,例如类别级的6D目标姿态估计任务上。在本文中,作者将分解旋转与球面相关联,并提出了一种新的 VI-Net 方法,该方法使用 V-Branch 和 I-Branch 两个精心设计的头分别估计 RvpR_{vp}RvpRipR_{ip}Rip,基于球面表示,而不是用对象的CAD模型。图2给出了VI-Net的示意图。

具体来说,给定一个目标观测值(以已知偏移为中心的原点),VI-Net将其逐点属性作为球面上的信号进行处理,表示为2D球面图,并构建球面特征金字塔网络。沿层级提取高层球面特征。在球面特征金字塔的基础上,V-Branch 和 I-Branch 的两个独立头分别用于学习视点旋转 RvpR_{vp}Rvp 和平面内旋转 RipR_{ip}Rip。对于 V-Branch,通过学习标准天顶方向与单位球面的交点生成 RvpR_{vp}Rvp,并在高层球面特征图上进行二分类识别。对于 I-Branch,VI-Net 通过将其球面特征图与 RvpR_{vp}Rvp 的转换来旋转目标,从而可以从标准天顶角度估计 RipR_{ip}Rip。最后,将旋转 RRR 表示为 RvpR_{vp}RvpRipR_{ip}Rip 的乘积。

另一个问题是如何构建球形FPN。为了方便,球形信号被处理为具有规则2D空间尺寸的表示形式,但这会导致边界问题。因此文本提出了一种新颖的空间球面卷积设计,称为SPA-SConv,通过简单的特征填充解决上述问题,并通过对称卷积操作提取视点等变特征,以支持 I-Branch 中的特征变换。本文的 SPA-SConv 可以通过替换卷积来灵活的适应现有的卷积结构,并构建了FPN的球形版本。

为了验证本文提出的VI - Net在旋转估计上的有效性,作者将其应用于类别级6D物体姿态估计这一具有挑战性的任务中。在基准数据集REAL275上的实验表明,与现有方法相比,本文方法在高精度上有较大的提升,例如在5° 2cm的度量上比现有的DPDN方法提高了4.0 %。消融研究也证实了本文新颖设计的有效性。

2 球面上的相关性和旋转分解

一个旋转 R∈SO(3)R∈SO(3)RSO(3) 可以定义为两个具有相同原点的欧式坐标系之间的变换,例如从标准的XYZ系统到观测的X’Y’Z’系统,如图1所示。在X’Y’Z’系统(XYZ系统的标准天顶方向)中,可以用Z轴的正方形和绕Z轴的面内旋转角度 β∈[0,2π]\beta∈[0,2\pi]β[0,2π] 来确定,这恰好是 RRR 的分解,即一个面外(视点)旋转 RvpR_{vp}Rvp 和一个2D面内旋转 RipR_{ip}Rip 的乘积:
在这里插入图片描述
在这里插入图片描述

在X’Y’Z’系统中,令 vvv 为 3×3 旋转矩阵 RRR 的最后一列,他是以单位球面 S2S^2S2 上点 (vx,vy,vz)(v_x,v_y,v_z)(vx,vy,vz) 为终点的单位向量,vvv 的方向与XYZ系统的天顶方向一致。将X’Y’Z’系统转换为球坐标系,得到 (vx,vy,vz)(v_x,v_y,v_z)(vx,vy,vz) 的球坐标 (r,φ,θ)(r,φ,\theta)(r,φ,θ)
在这里插入图片描述

其中 φ∈[0,2π]φ∈[0,2\pi]φ[0,2π]θ∈[0,π]\theta∈[0,\pi]θ[0,π] 分别为方位角和倾角。

想象一下如何要经过两次旋转将Z轴转至天顶方向?按论文中先绕Z轴转,再绕Y轴转,是不是要先绕Z轴将Y轴转至X’Y’平面得到Y’轴,然后绕着Y‘轴旋转Z轴,即可将Z轴转至天顶。
在这里插入图片描述
所以 φφφ 是原本的Y轴在 X’Z’上的投影与X’轴的夹角,也就是向量 vvv 在 X’Z’上的投影与Z’轴的夹角。

同理 θ\thetaθ 是原本的Z轴(也就是向量 vvv)在X’Y’上的投影与Y‘轴的夹角。

那么我们可以如下计算 RvpR_{vp}Rvp
在这里插入图片描述

结合(4)和(2),可以发现旋转分解 R=RvpRipR=R_{vp}R_{ip}R=RvpRipRRR 的ZYZ欧拉角 φ,θ,βφ,\theta,\betaφ,θ,β 的参数化是一致的。

基于球面上的相关性和旋转分解,本文提出将特征学习建立在球面上,并在不使用对象CAD模型的情况下,将 RRR 解耦成两部分:

  • 在球面上对点 vx,vy,vzv_x,v_y,v_zvx,vy,vz 进行搜索,得到角度 φφφθ\thetaθ,共同给出视点旋转 RvpR_{vp}Rvp

  • 通过 RvpR_{vp}Rvp 将Z′轴与Z轴对准,以较少的学习模式从标准天顶方向进行观测,然后回归面内旋转Rip。

3 用于旋转估计的VI-Net

在这里插入图片描述

3.1 转换为球形表示

给定一个点集 P∈RN×3P∈R^{N×3}PRN×3 和逐点属性 F∈RN×C0F∈R^{N×C_0}FRN×C0 (例如径向距离,RGB值,表面法线等)。首先生成定义在球面上的特征映射 S0∈RC0×H0×W0S_0∈R^{C_0×H_0×W_0}S0RC0×H0×W0,其中 N,H0×W0N,H0×W0N,H0×W0C0C_0C0 分别是点数,球面采样分辨率和属性维度(例如径向距离 C0=1C_0=1C0=1,RGB值或者表面法线 C0=3C_0=3C0=3)。

具体来说,首先在球坐标系中,W0W_0W0H0H_0H0 分别沿着方位角和倾角均匀划分,从而在空间中产生 H0×W0H_0×W_0H0×W0 个区域,如图3。在索引 (h,w)(h,w)(h,w) 的区域内,寻找径向距离最大的点,记为 ph,wmaxp_{h,w}^{max}ph,wmax,令 S0(h,w)=fh,wmax∈FS_0(h,w)=f_{h,w}^{max}∈FS0(h,w)=fh,wmaxF 对应于 ph,wmaxp_{h,w}^{max}ph,wmax,如果区域内没有点,则设定 S0(h,w)=0S_0(h,w)=0S0(h,w)=0

3.2 球形特征金字塔网络

为了处理球面输入 S0S_0S0 并对球面上的关系进行建模,本文用 Resnet18 构建了一个特征金字塔网络,将传统的2D卷积替换为新设计的空间球面卷积SPA-SConvs,得到高层语义球面特征图 S∈RC×H×WS∈R^{C×H×W}SRC×H×W。SPA-SConvs通过特征填充和对称卷积操作有效地提取了视点等变的球形特征。

什么是空间球面卷积SPA-SConvs?

将特征图建立在球面上,通过将信号构建成规则2D空间尺寸的球面特征图来进行旋转估计。然而,直接应用2D卷积无法再球体上实现连续的特征学习,从而产生边界问题,例如在特征图 S0S_0S0 上,S0(h,1)S_0(h,1)S0(h,1)S0(h,W)S_0(h,W)S0(h,W) 的距离很远,没有连接,但他们的区域实际上边界在球面上是连接的。此外,为了支持 I-Branch 中从天顶方向观察的特征变换,构成backbone的卷积也需要是视点等变的。

为了解决上述问题,提出了一种新颖的 空间球形卷积(SPAtial Spherical Convolution,简称 SPA-SConv),用于在球体上连续提取视角等变特征,并可灵活适配现有卷积网络架构。

给定输入球形特征图 Sl∈RCl×Hl×WlS_l∈R^{C_l×H_l×W_l}SlRCl×Hl×Wl 和卷积相关参数(如核大小 KKK、步长 sss、输出通道数 Cl+1C_{l+1}Cl+1),通过两步实现 SPA-SConv:

1)将 SlS_lSl 填充为 Slpad∈RCl×(Hl+2P)×(Wl+2P)S_l^{pad}∈R^{C_l×(H_l+2P)×(W_l+2P)}SlpadRCl×(Hl+2P)×(Wl+2P) ,其中 P=(K−1)/2P=(K−1)/2P=(K1)/2

2)对 SlpadS_l^{pad}Slpad 应用对称卷积操作(基于无填充的常规二维卷积),生成输出球形特征图 Sl+1∈RCl+1×Hl+1×Wl+1S_{l+1}∈R^{C_l+1×H_{l}+1×W_{l+1}}Sl+1RCl+1×Hl+1×Wl+1,其中 Hl+1=⌊Hl/s⌋H_{l+1}=⌊H_l/s⌋Hl+1=Hl/sWl+1=⌊Wl/s⌋W_{l+1}=⌊W_l/s⌋Wl+1=Wl/s
在这里插入图片描述

图3中展示了 SlS_lSlSlpadS_l^{pad}Slpad 的填充。首先,SlS_lSl 位于 SlpadS_l^{pad}Slpad 的中心,对于 ∀h=1,2,..,Hl∀h = 1,2,..,H_lh=12..Hl∀w=1,2,..,Wl∀w = 1,2,..,W_lw=12..Wl
在这里插入图片描述

接下来,沿倾角(球面坐标系中的 θ\thetaθ 轴)填充 SlS_lSl,对于 ∀p=1,2,..,P∀p = 1,2,..,Pp=12..P∀w=1,2,..,Wl∀w = 1,2,..,W_lw=12..Wl
在这里插入图片描述

最后将特征图沿着方位角(球坐标系的 φφφ 轴)进行平移,对于 ∀p=1,2,..,P∀p = 1,2,..,Pp=12..P∀h=1,2,..,hl∀h = 1,2,..,h_lh=12..hl
在这里插入图片描述

这种特殊的填充方式考虑了球形数据的特性:

  • 纬度(θ轴)方向需要对称处理

  • 经度(φ轴)方向需要循环处理(因为360度连续)

  • 避免了传统填充方法在球形数据上的边界问题

这种方法使得常规2D卷积能够有效地处理球形数据,同时保持数据的几何特性。

因此,通过使用填充的 SipadS_i^{pad}Sipad,我们可以利用2D卷积实现对称卷积操作,用于提取视点等变特征:
在这里插入图片描述

其中Conv,Flip和Max分别表示2D卷积,水平翻转和逐元素最大池化,klk_lkl 表示卷积的权重。Max作为对称函数来聚合特征,并保持视点等变性的特征。

对于多个输入信号,例如 S0(1)S_0^{(1)}S0(1)S0(2)S_0^{(2)}S0(2) 中的两个,使用多个球形深度残差网络分别处理它们,并在每个阶段将它们的特征串联起来融合,然后送入到FPN的自顶向下通路中,如图2。

3.3 V-Branch

给定球面特征映射 SSS,获取视点旋转 RvpR_{vp}Rvp 的一个简单方法是首先对全局特征应用一个大核尺寸(例如, H × W)的卷积,然后直接进行回归,这需要处理整个球面上的巨大参数的全局关系。为了缓解这个问题,作者设计了V分支,通过二分类在球面上搜索标准天顶方向。

将球面特征映射 S∈RC×H×WS∈R^{C × H × W}SRC×H×W 作为HW球面锚点。将任务进一步解耦为两个子任务,例如在方位角 φφφ 和倾斜角 θθθ 上分别进行分类,从而使任务变得更加容易,这也有效地缓解了正负球形锚点比例 (1:HW−1)( 1 : HW - 1)(1:HW1) 上的严重不平衡。图2给出了V -分支的图示。

更具体地说,用两层MLP提升 SSS 的特征通道,得到 Svp∈RCvp×H×WS_{vp}∈R^{C_{vp} × H × W}SvpRCvp×H×W 。对于方位角 φφφ 的学习,沿倾角维度对 SvpS_{vp}Svp 进行最大池化,得到 Fφ∈RCvp×WF_φ∈R^{C_{vp} × W}FφRCvp×W,将其输入到另一个MLP中,生成 WWW 个方位角锚的概率映射 Yα∈RWY_α∈R^WYαRWYαY_αYα 的每一个元素都表示锚是目标的可能性。记概率最大的元素的指数为 wmaxw_{max}wmax,则有
在这里插入图片描述

类似地,对于倾斜角 θθθ,沿着方位角的维度最大池化 SvpS_{vp}Svp,得到 Fθ∈RCvp×HF _θ∈R^{C_{vp} × H}FθRCvp×H,并通过MLP生成概率映射 Yθ∈RHY_θ∈R^HYθRH。那么 θθθ 可以按下式计算:
在这里插入图片描述

式中:hmaxh_{max}hmaxYθY_θYθ 中最大值元素的指数。最后,结合( 5 ),( 6 )和( 4 ),可得到了视点旋转 Rvp=RZ(φ)RY(θ)R_{vp} = R_Z ( φ ) R_Y ( θ )Rvp=RZ(φ)RY(θ)

3.4 I-Branch

在视点旋转 RvpR_{vp}Rvp 下,由于 RipR_{ip}RipRvpR_{vp}Rvp 比较敏感,为了降低学习难度,本文提出了IBranch,通过从标准天顶方向观察物体来学习面内旋转 RipR_{ip}Rip。第一步,对观测系统进行 RvpR_{vp}Rvp 旋转后,构造一个新的球面特征映射 Sip∈RC×H×WS_{ip}∈R^{C × H × W}SipRC×H×W,以对准两个系统的天顶方向,即对准XYZ系统的Z轴和X′Y′Z′系统的Z′轴,如图1。SSS 的视点等价性使得在特征空间中实现变换得到 RipR_{ip}Rip 成为可能。

对于分辨率为 H×WH × WH×W 的正则球面映射,将所有 HWHWHW 离散锚点的中心点表示为一个点集 G={g}G = \{ g \}G={g} .当将点集 P={p}P = \{ p \}P={p}RvpR_{vp}Rvp 旋转为 P′={p′}={RvpTp}P^′= \{ p^′\} = \{ R_{vp}^Tp \}P={p}={RvpTp} 时,SSS 的锚点也旋转为 G′={g′}={RvpTg}G^′= \{ g^′\} = \{ R_{vp}^Tg \}G={g}={RvpTg} ,记 g′g^′g 的特征为 Sg′S^{g^′}Sg。为了从标准天顶方向观察物体,需要对变换后的 p′p^′p,基于标准的定位点 GGG 构造一个新的规则球面特征 SipS_{ip}Sip。对于 SipS_{ip}Sip,利用点特征的加权插值从 SSS 中生成器在每个锚点 ggg 上的特征,记为 SipgS_{ip}^gSipg
在这里插入图片描述

其中 ai=1∣∣g−gi′∣∣2a_i = \frac{1 }{| | g-g^′_i | |^2}ai=∣∣ggi21 是以点距离度量的插值权,gi′i=1k⊂g′{ g^′_i }^k_{i = 1} ⊂g^′gii=1kggggkkk 个最近点.

就是拿距离新锚点最近的 kkk 个点的特征进行插值,插值权重为距离的倒数。

在经过( 7 )的 SSSSipS_{ip}Sip 的特征转换后,使用多个堆叠的跨步卷积来降低 SipS_{ip}Sip 的分辨率,并提取一个全局特征用于 RipR_{ip}Rip 的回归;图2也给出了说明。旋转的连续6D表示被用作回归的输出,然后转化为旋转矩阵 RipR_{ip}Rip。注意到这里的 RipR_{ip}Rip 并不局限于只有一个自由度(即( 2 )中的β角) ),而是在 SO(3)SO ( 3 )SO(3) 中学习为残余视点旋转和精确面内旋转的组合,因为V - Branch生成的 RvpR_{vp}Rvp 是精确视点旋转的粗略预测,具有离散化的方位角和倾角。

3.5 VI-Net的训练

对于V -branch,在两个二分类器的基础上使用focal loss,给定基真标签 Y∈RWY∈R^WYRWY∈RHY∈R^HYRH ,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其中 y={yi}i=1My=\{y_i\}^M_{i=1}y={yi}i=1My^={y^∈{0,1}}i=1M\hat{y}=\{\hat{y}∈\{0,1\}\}_{i=1}^My^={y^{0,1}}i=1Mα\alphaα 是权重因子,γ\gammaγ 是调制因子。

给定真值旋转 RRR,I -Branch上的最终预测 R=RvpRipR = R_{vp}R_{ip}R=RvpRip 监督如下:
在这里插入图片描述

结合(8)和(11)得到总损失:
在这里插入图片描述

λ\lambdaλ 是平衡参数。

4 效果

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/272340.html

相关文章:

  • RocketMQ安装(Windows环境)
  • 上线节点固定,项目进度紧张,如何合理压缩工期
  • NGINX系统基于PHP部署应用
  • 实验作业1+整理笔记截图
  • 实训八——路由器与交换机与网线
  • 栈题解——有效的括号【LeetCode】两种方法
  • 硬件基础------电感
  • Matplotlib-绘制训练曲线指南
  • 力扣刷题记录(c++)06
  • HTML应用指南:利用GET请求获取全国永辉超市门店位置信息
  • Unity3D iOS闪退问题解决方案
  • PyTorch仿射变换:原理与实战全解析
  • 深入理解Java虚拟机:Java内存区域与内存溢出异常
  • 【运维架构】云计算运维架构师与基础设施,技术路线,Linux证书(标准化/定制化/CNCF,公有云/混合云/私有云)
  • 【图像处理基石】如何入门图像校正?
  • (6)机器学习小白入门 YOLOv:图片的数据预处理
  • 机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘
  • Spring MVC 1
  • C++中的list的学习
  • Go语言教程-变量、常量、命名规则
  • 亚矩阵云手机破解Maio广告平台多账号风控:从“生存焦虑”到“规模化增长”的终极方案
  • 电路研究9.4——合宙Air780EP的LuatOS、CSDK跟标准AT
  • 基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量新生态构建
  • 独立服务器选择Rocky Linux还是CentOS
  • 【数据结构】顺序表(sequential list)
  • 学习中断配置的一天(第五天)
  • 安装nginx+php环境
  • OpenCV探索之旅:多尺度视觉与形状的灵魂--图像金字塔与轮廓分析
  • 无人机识别比赛记录与分析
  • Java---IDEA