论文阅读笔记: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)R∈SO(3) 和3D平移 t∈R3t∈R^3t∈R3 表示。它在许多现实应用中都有需求,如机器人抓取,增强现实,自动驾驶等。
对于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}Rvp 和 RipR_{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}Rvp 和 RipR_{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)R∈SO(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=RvpRip 与 RRR 的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}P∈RN×3 和逐点属性 F∈RN×C0F∈R^{N×C_0}F∈RN×C0 (例如径向距离,RGB值,表面法线等)。首先生成定义在球面上的特征映射 S0∈RC0×H0×W0S_0∈R^{C_0×H_0×W_0}S0∈RC0×H0×W0,其中 N,H0×W0N,H0×W0N,H0×W0 和 C0C_0C0 分别是点数,球面采样分辨率和属性维度(例如径向距离 C0=1C_0=1C0=1,RGB值或者表面法线 C0=3C_0=3C0=3)。
具体来说,首先在球坐标系中,W0W_0W0 和 H0H_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,wmax∈F 对应于 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}S∈RC×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}Sl∈RCl×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)}Slpad∈RCl×(Hl+2P)×(Wl+2P) ,其中 P=(K−1)/2P=(K−1)/2P=(K−1)/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+1∈RCl+1×Hl+1×Wl+1,其中 Hl+1=⌊Hl/s⌋H_{l+1}=⌊H_l/s⌋Hl+1=⌊Hl/s⌋, Wl+1=⌊Wl/s⌋W_{l+1}=⌊W_l/s⌋Wl+1=⌊Wl/s⌋。
图3中展示了 SlS_lSl 到 SlpadS_l^{pad}Slpad 的填充。首先,SlS_lSl 位于 SlpadS_l^{pad}Slpad 的中心,对于 ∀h=1,2,..,Hl∀h = 1,2,..,H_l∀h=1,2,..,Hl 和 ∀w=1,2,..,Wl∀w = 1,2,..,W_l∀w=1,2,..,Wl :
接下来,沿倾角(球面坐标系中的 θ\thetaθ 轴)填充 SlS_lSl,对于 ∀p=1,2,..,P∀p = 1,2,..,P∀p=1,2,..,P 和 ∀w=1,2,..,Wl∀w = 1,2,..,W_l∀w=1,2,..,Wl :
最后将特征图沿着方位角(球坐标系的 φφφ 轴)进行平移,对于 ∀p=1,2,..,P∀p = 1,2,..,P∀p=1,2,..,P 和 ∀h=1,2,..,hl∀h = 1,2,..,h_l∀h=1,2,..,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}S∈RC×H×W 作为HW球面锚点。将任务进一步解耦为两个子任务,例如在方位角 φφφ 和倾斜角 θθθ 上分别进行分类,从而使任务变得更加容易,这也有效地缓解了正负球形锚点比例 (1:HW−1)( 1 : HW - 1)(1:HW−1) 上的严重不平衡。图2给出了V -分支的图示。
更具体地说,用两层MLP提升 SSS 的特征通道,得到 Svp∈RCvp×H×WS_{vp}∈R^{C_{vp} × H × W}Svp∈RCvp×H×W 。对于方位角 φφφ 的学习,沿倾角维度对 SvpS_{vp}Svp 进行最大池化,得到 Fφ∈RCvp×WF_φ∈R^{C_{vp} × W}Fφ∈RCvp×W,将其输入到另一个MLP中,生成 WWW 个方位角锚的概率映射 Yα∈RWY_α∈R^WYα∈RW。Yα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}hmax 为 Yθ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}Rip 对 RvpR_{vp}Rvp 比较敏感,为了降低学习难度,本文提出了IBranch,通过从标准天顶方向观察物体来学习面内旋转 RipR_{ip}Rip。第一步,对观测系统进行 RvpR_{vp}Rvp 旋转后,构造一个新的球面特征映射 Sip∈RC×H×WS_{ip}∈R^{C × H × W}Sip∈RC×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=∣∣g−gi′∣∣21 是以点距离度量的插值权,gi′i=1k⊂g′{ g^′_i }^k_{i = 1} ⊂g^′gi′i=1k⊂g′ 是 ggg 的 kkk 个最近点.
就是拿距离新锚点最近的 kkk 个点的特征进行插值,插值权重为距离的倒数。
在经过( 7 )的 SSS 到 SipS_{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^WY∈RW 和 Y∈RHY∈R^HY∈RH ,如下:
其中 y={yi}i=1My=\{y_i\}^M_{i=1}y={yi}i=1M 和 y^={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 效果