浙江大学学报(工学版), 2023, 57(11): 2179-2187 doi: 10.3785/j.issn.1008-973X.2023.11.005

机械工程

基于循环神经网络的双目视觉物体6D位姿估计

杨恒,, 李卓, 康忠元, 田兵, 董青

1. 太原科技大学 机械工程学院,山西 太原 030024

2. 重庆市农业机械化学校 机械工程学院,重庆 402160

Binocular vision object 6D pose estimation based on circulatory neural network

YANG Heng,, LI Zhuo, KANG Zhong-yuan, TIAN Bing, DONG Qing

1. College of Mechanical Engineering, Taiyuan University of Science and Technology, Taiyuan 030024, China

2. College of Mechanical Engineering, Chongqing Agricultural Mechanization School, Chongqing 402160, China

收稿日期: 2022-11-20  

Received: 2022-11-20  

作者简介 About authors

杨恒(1982—),男,副教授,博士,从事智能机械设备研究.orcid.org/0009-0004-1920-8677.E-mail:93328173@qq.com , E-mail:93328173@qq.com

摘要

针对当前物体6D位姿估计任务准确率较低的问题,提出双目数据集制作方法及物体6D位姿估计网络Binocular-RNN. 将YCB-Video Dataset中已有图像作为双目相机左摄像头捕获内容,利用Open GL将YCB-Video Dataset中相应三维物体模型进行导入,输入各物体相关参数,由虚拟双目相机右摄像头捕获合成图片. 利用单目预测网络分别对双目数据集中左、右图像的几何特征进行提取. 经过循环神经网络对几何特征进行融合,并预测物体6D位姿. 以模型点平均距离(ADD)、平均最近点距离(ADDS)、平移误差和角度误差作为评价指标,对Binocular-RNN与其他位姿估计方法进行对比. 结果表明,在利用单一物体对网络进行训练时,Binocular-RNN 的ADD或ADDS指标得分分别为PoseCNN、GDR-Net的2.66、1.15倍. 利用基于物理的实时渲染(Real+PBR)方式训练的Binocular-RNN的性能超过基于深度神经网络的迭代6D姿态匹配的方法(DeepIM).

关键词: 6D位姿 ; 单目视觉 ; 主动视觉 ; 循环神经网络 ; YCB-Video数据集

Abstract

A method for creating binocular dataset and a 6D pose estimation network called Binocular-RNN were proposed, in response to the problem of low accuracy in the current task of 6D pose estimation for objects. The existing images in the YCB-Video Dataset were used as the content captured by the left camera of the binocular system. The corresponding 3D object models in the YCB-Video Dataset were imported using Open GL, and the parameters related to each object were input to generate synthetic images captured by the virtual right camera of the binocular system. A monocular prediction network was utilized in the Binocular-RNN to extract geometric features from the left and right images in the binocular dataset, and recurrent neural network was used to fuse these geometric features and predict the 6D pose of the objects. The evaluation of Binocular-RNN and other pose estimation methods was based on the average distance of model points (ADD), average nearest point distance (ADDS), translation error and angle error. The results show that when the network was trained on a single object, the ADD or ADDS score of Binocular-RNN was 2.66 times that of PoseCNN and 1.15 times that of GDR-Net. Furthermore, the Binocular-RNN trained by the physics-based real-time rendering (Real+PBR) outperformed the DeepIM method based on deep neural network iterative 6D pose matching.

Keywords: 6D pose ; monocular vision ; active vision ; circulatory neural network ; YCB-Video Dataset

PDF (1068KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨恒, 李卓, 康忠元, 田兵, 董青. 基于循环神经网络的双目视觉物体6D位姿估计. 浙江大学学报(工学版)[J], 2023, 57(11): 2179-2187 doi:10.3785/j.issn.1008-973X.2023.11.005

YANG Heng, LI Zhuo, KANG Zhong-yuan, TIAN Bing, DONG Qing. Binocular vision object 6D pose estimation based on circulatory neural network. Journal of Zhejiang University(Engineering Science)[J], 2023, 57(11): 2179-2187 doi:10.3785/j.issn.1008-973X.2023.11.005

物体6D姿态包括三维平移及三维旋转. 三维平移指从相机坐标系原点开始沿xyz轴移动到被观察物体局部坐标系原点经历的变化,用向量t表示. 三维旋转指物体局部坐标系依次绕相机坐标轴xyz方向产生的旋转变化,一般采用3×3 矩阵R表示. 利用视觉技术对物体6D姿态进行估计被广泛应用于机器人、人机交互、物流管理等任务,其预测的准确性主要取决于网络性能. 在实际应用中物体种类、形状以及场景等因素的影响,使得对物体6D姿态估计的准确性难以保证,因此,研究者提出基于单个静态图像识别对物体姿态进行预测的单目姿态估计法,它可进一步分为直接法和间接法. 其中,直接法是通过直接回归的方式对物体6D姿势进行预测. Sundermeyer等[1]提出通过对嵌入空间的学习来得到物体位姿,在此基础上Wadim等[2]提出通过对位姿空间进行离散化的方式对物体姿态进行直接预测. 直接法虽然在一定程度上提高了预测精度,但与通过建立2D-3D对应关系估计物体6D姿态的间接法相比,准确度较低. Di等[3]为了提高端到端6D姿态估计的准确性,提出SO-Pose框架. 该框架将单个RGB图像作为输入,利用self-occlution 和 2D-3D对应关系来为3D空间中的每个对象建立2层表示,再将2个输出进行融合后,直接回归六自由度位姿参数. 由于该框架结合了跨层一致性和对应自遮挡6D姿势的性质,其在一些难度较大的数据集上的位姿估计准确性以及鲁棒性超越了其他方法. 间接法虽然能提高估计准确性,但须通过EPnP算法对物体位姿进行估计且无法与自监督学习技术进行结合. 因此,Wang等[4]将直接法与间接法相结合以提高准确度,但以单一视角对物体信息进行推测难免有失偏颇,并且对一些遮挡严重的场景,无法保证对其估计的准确性.

与静态图像识别相反,人类在判断物体位置时往往使用主动识别法,依据一定策略引导感官运动进而更好地了解周围环境,如坐在扶手椅上通过旋转观察身后的人或走到窗前观察外面的雨. 易于收集且带标签的大型图像数据集的出现,使得主动视觉技术取得了显著进展. 例如,刘城[5]在利用卷积神经网络(convolutional neural network,CNN)识别动态手势之后,采用Kalman滤波算法处理动态手势,结果发现提出的方法对动态手势的轨迹预测具有较高的精度,能达到对操作者手部主动视觉追踪的目的. 戈振鹏[6]针对夹爪在夹取物体时,夹爪遮挡以及自遮挡造成单视角估计下的误差不确定的问题,提出基于随机抽样一致算法(random sample consensus, RANSAC)的单目多视位姿估计算法(SCMV-RANSAC). 相对其他方法,该算法可以降低平均平移误差68.27%. 主动视觉可以通过多个视角对物体进行识别以提高准确度,但训练深度网络对下一个视角进行预测耗时较长.

综上所述,基于单个静态图像识别的单目姿态估计法难以对形状复杂、摆放杂乱、遮挡较多的物体的6D姿态进行准确估计,而主动识别技术虽然精度较高,但预测下一视角耗时较长.

针对上述问题,提出双目数据集制作方法及物体6D位姿估计网络Binocular-RNN. 以YCB-Video Dataset为例,提出利用已有数据集制作双目数据集的方法. 将YCB-Video Dataset中已有图像作为双目相机左摄像头捕获内容;利用Open GL导入YCB-Video Dataset中相应三维物体模型,输入各物体6D位姿及相机参数进行虚拟物体及虚拟双目相机的摆放工作;由虚拟双目相机右摄像头捕获合成图片. 另外,参考GDR-Net姿态估计网络对双目数据集中左右摄像头图像进行处理,进而提取其中间几何特征,再利用循环神经网络对卷积后维度降低的中间几何特征进行融合,最终预测物体6D位姿.

1. 双目数据集制作

现有常用6D姿态估计数据集(如YCB-Video Dataset、 LM数据集)为RGB-D型,适用于单目姿态估计网络,无法直接用于Binocular-RNN. 单目深度估计是利用物体成像大小来预测距离,物体大的距离近,小的距离远. 相机成像实际上是一个中心投影的过程,而计算图像中物体的距离,就是平衡物体的大小和距离的远近. 物体成像有近大远小的特点,因此一个近距离的小物体和一个远距离的大物体可能会在图像上呈现相同的大小,故单目深度估计会存在一定的误差. 为此,在YCB-Video Dataset基础上, 提出虚拟双目图片数据集制作方法,流程如图1所示. 通过这样的方式可以在保持原有数据集精度的基础上增加物体在另一视角的信息,综合主动视觉技术获取物体不同视角信息的优势来提高物体姿态估计时的精度. 双目测距的精度与物距和基线长度有关,当物距、基线和光轴的夹角一定时,随着基线距的增大,有效视场内的精度会提高;当物距处于景深范围内,有效视场内的精度较高. 由于实际条件的限制,双目测距在保证精度的前提下一般用于近距离的高精度测量.

图 1

图 1   双目数据集制作流程

Fig.1   Production process of binocular data set


1.1. 相机标定

双目相机的标定包含单目标定和双目标定2个内容,单目标定是为了分别确定2台相机各自的内参、外参和畸变系数;双目标定是为了确定2台相机相互之间的位置.

1.1.1. 相机单目标定

相机的成像系统中包含世界、相机、图像、像素4种坐标系. 在理想条件下(单点无畸变),世界坐标系到像素坐标系的对应的矩阵关系为

$\begin{split} s\left[ {\begin{array}{*{20}{c}} u \\ v \\ {\text{1}} \end{array}} \right] = \;&\left[ {\begin{array}{*{20}{c}} {{f_x}}&{\text{0}}&{{u_0}}&{\text{0}} \\ {\text{0}}&{{f_{{y}}}}&{{v_0}}&{\text{0}} \\ {\text{0}}&0&{\text{1}}&{\text{0}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\boldsymbol{R}}&{\boldsymbol{T}} \\ {{{ { {{0}}}}}}&{\text{1}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{X_{\text{W}}}} \\ {{Y_{\text{W}}}} \\ {{Z_{\text{W}}}} \\ {\text{1}} \end{array}} \right] =\\ \;& {{\boldsymbol{M}}_{\text{1}}}{{\boldsymbol{M}}_{\text{2}}}\left[ {\begin{array}{*{20}{c}} {{X_{\text{W}}}} \\ {{Y_{\text{W}}}} \\ {{Z_{\text{W}}}} \\ {\text{1}} \end{array}} \right].\\[-30pt] \end{split} $

式中:(XW,YW,ZW)表示某点在世界坐标系下的坐标,(u,v)表示该点对应在像素坐标系下的坐标,s为缩放系数,fxfyu0v0为相机内参数,R3×3T3×1为相机外参数.

张正友标定法是将世界坐标系的XOY平面与棋盘平面重合,由于标定板是人为规定的,每个角点的像素坐标(u,v)及在世界坐标系与其相对应的坐标(XW,YW,ZW)均为已知. 根据如下公式进行相机标定,获得相机的相关参数:

$ s\left[ {\begin{array}{*{20}{c}} u \\ v \\ {\text{1}} \end{array}} \right] = {{\boldsymbol{M}}_{\text{1}}}\left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{r}}_{\text{1}}}},&{{{\boldsymbol{r}}_{\text{2}}}},&{\boldsymbol{t}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{X_{\text{W}}}} \\ {{Y_{\text{W}}}} \\ 1 \end{array}} \right] = {\boldsymbol{H}}\left[ {\begin{array}{*{20}{c}} {{X_{\text{W}}}} \\ {{Y_{\text{W}}}} \\ {\text{1}} \end{array}} \right]. $

式中: r1r2r3 为相机坐标的3个坐标轴在世界轴中的方向矢量,t 为从世界坐标的原点到光心的平移矢量,H为物体在世界坐标和像素坐标之间的变换矩阵.

通过H=M1(r1, r2, t)即可求得相机的内参矩阵和外参矩阵. 标准的外参矩阵为 $\left[ {\begin{array}{*{20}{c}} {\boldsymbol{R}}&{\boldsymbol{T}} \\ { {{0}}}&1 \end{array}} \right]$,由于张正友标定法是将三维转化为二维计算,导致R3×3缺失了r3的信息. 不过,旋转矩阵为单位正交矩阵,可由r3=r1×r2和||r3||=1求得r3. 相机内参和外参矩阵已求得,张正友标定法只关注了径向畸变问题,畸变公式表达式为

$ \left.\begin{array}{c}{x}_{\text{1}}=x\left(1+{{k}}_{1}{r}^{2}+{{k}}_{2}{r}^{4}\right)\text{,}\\ {y}_{1}=y\left(1+{{k}}_{1}{r}^{2}+{{k}}_{2}{r}^{4}\right).\end{array}\right\} $

式中:(x, y)为无畸变图像的坐标;k1k2为系数;(x1, y1)为有畸变图像的坐标;r为像素点到图像中心点的距离,即r2=x2+y2. (x1, y1)可由标定板获得,(x, y)可利用内参和外参矩阵反向求得,最后再通过L-M算法对参数进行迭代优化. 同理,双目相机内参、外参和畸变系数均可由此方法求得.

1.1.2. 相机双目标定

假设标定板上存在某一点P,根据世界坐标系和相机坐标系的转换关系可以得到

$ \left.\begin{array}{l}{{\boldsymbol{P}}}_{\text{l}}={{\boldsymbol{R}}}_{\text{1}}{{\boldsymbol{P}}}_{\text{W}}\text+{{\boldsymbol{T}}}_{\text{1}}\text{,}\\ {{\boldsymbol{P}}}_{\text{r}}={{\boldsymbol{R}}}_{\text{r}}{{\boldsymbol{P}}}_{\text{W}}\text+{{\boldsymbol{T}}}_{\text{r}}\text{,}\\ {{\boldsymbol{P}}}_{\text{l}}={\boldsymbol{R}}_{{\rm{rl}}}{{\boldsymbol{P}}}_{\text{r}}\text+{\boldsymbol{T}}_{{\rm{rl}}}.\end{array} \right\}$

式中:PW为标定板上的某个点在世界坐标系下的坐标,P1Pr为左、右相机在世界坐标系下的坐标,RrlTrl为右相机相对于左相机的旋转和平移矩阵,R1TlP点相对于左相机光心的旋转、平移矩阵,RrTrP点相对于右相机光心的旋转、平移矩阵. 化简可以求得2个相机的位置关系:

$ \left.\begin{array}{l}{\boldsymbol{R}}_{{\rm{rl}}}={{\boldsymbol{R}}}_{\text{r}}{{\boldsymbol{R}}}_{\text{l}}^{{-1}}\text{,}\\ {\boldsymbol{T}}_{{\rm{rl}}}={{\boldsymbol{T}}}_{\text{r}}-{{\boldsymbol{R}}}_{\text{r}}{{\boldsymbol{R}}}_{\text{l}}^{-1}{{\boldsymbol{T}}}_{\text{l}}.\end{array} \right\}$

1.2. 双目数据集制作流程

为了使虚拟生成的图像和真实传感器获得的图像尽可能保持一致,按以下4个步骤制作双目数据集.

1)在研究相机位姿时,为了可视化相机在三维世界中的信息,将相机的朝向和位置保存为.obj格式. 对YCB-Video Dataset中物体6D姿态参数及三维模型文件进行处理,并将其他格式三维模型文件转换为.obj格式.

2)对Open GL虚拟环境中光照、朝向、颜色等参数进行设置. 对光源在世界坐标系中的相关参数进行设置;设置虚拟双目相机位置,导入虚拟相机参数.

3)为了增加样本的丰富性,利用如下公式改变6D参数中的旋转角度:

$ \left. \begin{array}{l} \beta = \left\{ \begin{array}{*{20}{l}} {\rm{atan}} 2\;\left( { - {r_{31}},\sqrt {r_{11}^2 + r_{21}^2} } \right),& - {90^\circ } < \beta < {90^\circ };\\ {90^ \circ }&\beta = {90^ \circ };\\ - {90^ \circ }&\beta = - {90^ \circ }. \end{array} \right.\\ \alpha= \left\{ \begin{array}{*{20}{l}} {\rm{atan}} 2\;\left( {{r_{21}}/\cos\; \beta ,{r_{11}}/\cos\; \beta } \right), &- {90^ \circ } < \beta < {90^ \circ };\\ {0^ \circ }& \beta = 90^ \circ,\;-90^ \circ. \end{array} \right.\\ \gamma= \left\{ \begin{array}{*{20}{l}} {\rm{atan}} 2\;\left( {{r_{32}}/\cos\; \beta ,{r_{33}}/\cos\; \beta } \right),& - {90^ \circ } < \beta < {90^ \circ };\\ {\rm{atan}} 2\;\left( {{r_{12}},{r_{22}}} \right),&\beta = {90^ \circ };\\ - {\rm{atan}} 2\;\left( {{r_{12}},{{r}_{22}}} \right),&\beta = - {90^ \circ }. \end{array} \right. \end{array} \right\} $

然后利用glm库中的translate及rotate函数对三维模型进行空间位置上的变化.

4)在得到不同姿态下的三维模型后,将物体投影到成像平面上,并将成像平面上图像的每个像素分配R、G、B 值后,形成RGB 彩色图像. 将此时所设置的6D姿态作为这2张图像的标签,至此双目数据集制作完成.

2. Binocular-RNN

Binocular-RNN以双目数据集为训练样本,并通过单目图像视觉数据分析法分别提取中间特征,最后利用循环神经网络综合所提取的特征估计出物体的6D姿态,如图2所示. 方法集成了单目视觉识别和主动视觉识别的优势,能在保证时间的基础上提高识别准确度. 为了估计物体相对摄像机的6D姿态P=[R|t],须给定一组对应的RGB图像和N个物体及对应的三维CAD模型.

图 2

图 2   Binocular-RNN整体框架

Fig.2   Binocular-RNN overall framework


2.1. Binocular-RNN组件选取

为了扩大网络适用范围,向网络融入单目姿态估计直接法. 单目6D位姿直接估计法通常在旋转矩阵R参数化方式、平移向量t参数化方式及6D损失函数解耦方式的3类组件选取上有所不同.

2.1.1. 三维旋转矩阵R参数化

借鉴Zhou等[7]提出的在SO(3)空间的连续六维表示R的方法,定义六维R6DR的前2列:

$ {{\boldsymbol{R}}}_{\text{6D}}=\left[{{\boldsymbol{R}}}_{\cdot 1},{{\boldsymbol{R}}}_{\cdot 2}\right]. $

给定六维向量R6D=[r1, r2],则旋转矩阵R=[R·1, R·2, R·3] 表达式如下:

$ \left.\begin{array}{c}{{\boldsymbol{R}}}_{\cdot 1}=\varphi \left({{\boldsymbol{r}}}_{1}\right)\text{,}\\ {{\boldsymbol{R}}}_{\cdot 3}=\varphi \left({{\boldsymbol{R}}}_{\cdot 1}\times {{\boldsymbol{r}}}_{2}\right)\text{,}\\ {{\boldsymbol{R}}}_{\cdot 2}={{\boldsymbol{R}}}_{\cdot 3}\times {{\boldsymbol{R}}}_{\cdot 1}.\end{array} \right\}$

式中:φ(·)为向量归一化运算.

考虑对放大后的感兴趣区域(region of interest,RoI)的后续处理,使用R6D对3D旋转进行参数化并用Ra6D[8]表示网络预测旋转R6d的异中心.

2.1.2. 三维平移的参数化

使用SITE[9]对平移向量进行参数化. 给定尺寸s0=max (w, h),wh分别为宽、高,检测到包围界面中心(cx,cy),比值r=szoom/s0缩放大小系数为szoom ,网络回归尺度不变的平移参数tSITE=[δx, δy, δz]. 根据如下公式求解三维平移:

$ \left.\begin{array}{c}{\delta }_{x}=\left({o}_{x}-{c}_{x}\right)/w,\\ {\delta }_{y}=\left({o}_{y}-{c}_{y}\right)/h,\\ {\delta }_{z}={t}_{z}/r.\end{array}\right\} $

式中:oxoy为图像物体中心xy坐标,tz为图像中心到相机的深度.

2.1.3. 解耦6D位姿损失

借鉴Wang等[4]所提出的解耦方式,无论物体如何旋转或缩放,该技术都可以准确地检测并跟踪物体中心(δxy)以及距离δz ,是解耦6D位姿损失的一种新变体.

$ {L_{{\rm{Pose}}}} = {L_{\rm{R}}}+{L_{{\rm{center}}}}+{L_{\rm{z}}}. $

$ \left.\begin{array}{l}{L}_{{\rm{R}}}=\underset{x\in M}{{\rm{avg}}}\;\;{\Vert \widehat{{\boldsymbol{R}}}_{{x}}-\overline{{\boldsymbol{R}}}_{{x}}\Vert }_{1},\\ {L}_{{\rm{center}}}={\Vert \left({\widehat{\delta }}_{x}-{\overline{\delta }}_{x},{\widehat{\delta }}_{y}-{\overline{\delta }}_{y}\right)\Vert }_{1},\\ {L}_{{\rm{z}}}={\Vert {\widehat{\delta }}_{x}-{\overline{\delta }}_{x}\Vert }_{1}.\end{array}\right\} $

式中:^和-分别表示预测值和地面真值,LPose为位置误差损失函数,LR为旋转损失函数,LcenterLz分别为2D物体中心及距离损失函数. 考虑到对称对象,当给定 $ {\boldsymbol{\bar R}} $(对称下所有可能的地面真实旋转的集合)后须对损失进行进一步扩展,进而使其能够对对称物体进行有效感知:

$ {L_{{\rm{R}},{\rm{sym}}}} = \mathop {\min }\limits_{{\boldsymbol{R}} \in \bar \Re } \;{L_{\rm{R}}}\left( {\hat {\boldsymbol{R}},\bar {\boldsymbol{R}}} \right). $

式中: LR,sym为对称物体的损失函数, ${\bar \Re } $表示矩阵R的集合 .

2.2. Binocular-RNN网络预测流程

Binocular-RNN整体网络结构框架和流程如图2所示. 整个网络包含2阶段,第1阶段由2个几何引导的直接回归网络GDR-Net[4]组成,第2阶段为利用循环神经网络对不同视角信息进行汇总并回归6D对象的姿态的BPatch-PnP模块.

在6D位姿估计时,首先向BinocularRNN喂入大小为256×256像素的RoI区域. 然后,通过GDR-Net[4]预测3个空间大小为64×64像素的中间几何特征地图,包括密集响应图(dense correspondences map) M2D-3D、表面区域注意力图(surface region attention map) MSRA及可见对象掩码图(visible object mask) Mvis. 最后,通过2D卷积BPatch-PnP模块直接对不同视角几何特征进行汇总并回归6D姿态. 其中Mvis利用L1损失函数进行归一化后可以去除M2D-3DMSRA中的无关区域,然后通过对底层密集坐标图(dense coordinates maps) MXYZ 进行估计就可以得到M2D-3D. BPatch-PnP模块由6个卷积层组成,内核大小为3×3, stride=2,卷积层后为深度学习归一化方式(group normalization)及ReLU 激活函数. 在处理完成后,由3个全连接(FC)层对数据进行扁平化处理,参考 Volodymyr等[10]提出的Recurrent models中的循环结构对几何特征进行汇总并将数据尺寸降至256像素后由2个平行的FC层输出参数为Ra6D (见式(8))的3D旋转R和参数为tSITE (见式(9))的3D平移t. 相比CNN网络,RNN结构具有较好的数据记忆特性,可以将不同视角得到的特征进行融合以提高姿态预测准确度.

使用L1损失归一化MXYZ和可见掩模Mvis,利用交叉熵损失(cross entropy loss,CE Loss)对MSRA进行处理:

$ \begin{split} {L_{{\text{Geom}}}} =\;& {\left\| {{{\bar {\boldsymbol{M}}}_{{\text{vis}}}} \odot \left( {{{\hat {\boldsymbol{M}}}_{{{XYZ}}}} - {{\bar {\boldsymbol{M}}}_{{{XYZ}}}}} \right)} \right\|_1}+{\left\| {{{\hat {\boldsymbol{M}}}_{{\text{vis}}}} - {{\bar {\boldsymbol{M}}}_{{\text{vis}}}}} \right\|_1}+ \\ \;&{\rm{CE}}\left( {{{\bar {\boldsymbol{M}}}_{{\text{vis}}}} \odot {{\hat {\boldsymbol{M}}}_{{\text{SRA}}}},{{\bar {\boldsymbol{M}}}_{{\text{SRA}}}}} \right). \\[-8pt] \end{split} $

式(13)表示element-wise乘法,只使用可见区域来对MXYZMSRA进行管理. Binocular-RNN总损失可以概括为LBin =LPose+LGeom. 所提出的Binocular-RNN可以基于任何对象检测器实现,并以端到端方式对其进行训练,无须采用三阶段训练策略[11].

3. 系统对比实验及分析

实验以Intel 3.40 GHz CPU和NVIDIA 2080Ti GPU为实验平台.

3.1. 实验设置

所有实验都使用PyTorch[12]实现. 使用Ranger优化器[13]以端到端的方式对所有网络进行训练,批处理规模为24,基本学习率为1×10−4,在网络训练到了72%后通过余弦计划(cosine schedule)[14]对其进行退火处理.

在Synthetic Sphere、LM、LM-O和YCB-Video这4个数据集上展开实验. 采用模型点平均距离(ADD)、平均最近点距离(ADDS)、平移误差和角度误差作为6D对象位姿评价指标. ADD 用于判别转换后的模型点平均偏差是否小于物体直径10% (0.1d);当对象对称时,可采用ADDS对模型点的最近平均距离误差进行测量. 并且,在将该指标用于YCB-Video时,可通过改变距离阈值来计算ADD或ADDS的曲线下面积 (area under curve,AUC). 平移误差和旋转误差[10]用于度量旋转误差是否小于n°,平移误差是否小于n cm. 此外,考虑到一些物体具有的对称性的情况,误差取值为物体所有可能地面真实姿态的最小误差[15].

3.2. LM实验

使用LM数据集[12]进行实验,为160个批次的所有对象训练一个单一的Binocular-RNN,在训练中不采取任何的颜色增强措施,使用Faster-RCNN检测图像中目标物体.

不同MSRA数量对预测结果准确性的影响情况如图3所示. 图中,NMSRA数量,Acc为精度, $\overline {{\rm{Acc}}} $表示各个指标的综合精度,ADD (S) 0.02 d表示评价标准为ADD (S)=0.02 d时对应的精度. 可以看出,在MSRA 数量较少的情况下,结果准确性较好,由此可以说明Binocular-RNN的有效性和通用性. 考虑到实际效果,本研究在其他所有实验中使用MSRA的数量为65.

图 3

图 3   MSRA数量对模型预测结果的影响

Fig.3   Effect of MSRA quantity on model prediction results


3.3. Synthetic Sphere实验

在Synthetic Sphere数据集的基础上,将Binocular-RNN网络中BPatch-PnP[16]、基于RANSAC的EPnP[17]和基于学习的PnP进行比较. 首先,利用数据集提供的姿态生成MXYZ,并将其输入到BPatch-PnP. 在训练中,对密集坐标映射的每个点随机添加高斯噪声N(0,σ2), σ∈U[0,0.03](坐标图已在[0,1.00]中归一化,选择0.03). 在测试时,对相对ADD误差及测试集中不同水平噪声和离群值的直径进行记录.

实验对比结果如图4所示. 图中,e为误差. 基于RANSAC的EPnP在噪声极小时(σ=0~0.005)较精确,但随着噪声水平的增加(σ>0.015),基于学习的PnP方法更具精确性和鲁棒性[18]. BPatch-PnP利用几何对应图,在对噪声和异常值的鲁棒性上明显高于其他方法. 当异常值为10%,噪声水平为0.05时,BPatch-PnP误差分别为EPnP、PnP的6.33%、19.38%.

图 4

图 4   PnP变体在Synthetic Sphere数据集上的影响

Fig.4   Effect of PnP variant on Synthetic Sphere dataset


3.4. Binocular-RNN与其他方法对比

选用YCB-Video Dataset与LM-O数据集进行实验,在训练中使用颜色增强[1]防止过拟合. 由于YCB-Video Dataset中对称对象的数量较多,采用逻辑回归模型. 如表1所示为Binocular-RNN与其他方法在YCB-Video Dataset上的对比结果. 表中,Ref表示是否对方法得出的结果进行优化,M表示YCB-Video Dataset中模型的数量,ts为训练单个对象的消耗时间. Binocular-RNN综合2个不同视角得到的信息,因此即使在各场景物体遮挡度较大的情况下,其预测性能较其他以单一视角对物体姿态进行检测的技术也更加优异. 具体而言,在以单一物体对网络训练时,Binocular-RNN的ADD或ADDS指标得分是PoseCNN得分的2.66倍,是GDR-Net得分的1.15倍. 循环卷积网络可以自动学习提取与重新识别相关的时空特征,可以长时间保留输入信息[21]. 同时,RNN有反馈连接,允许它随着时间重新记忆和利用信息[22]. 将Binocular-RNN网络拆解为RNN网络和CNN网络,结果表明仅使用本网络拆解下的循环网络无法完成实验. 同时将Binocular-RNN网络与不使用循环网络的CNN网络相比,Binocular-RNN网络ADD或ADDS指标得分是其的3.08倍,表明将循环网络嵌入到网络体系结构中提高了网络的性能.

表 1   Binocular-RNN与其他方法在YCB-Video Dataset上的比较

Tab.1  Comparison of Binocular-RNN with other methods on YCB-Video Dataset

方法 Ref m Acc(ADD(S))/
%
AUC/% ts/ms
ADDS ADD(S)
Only-RNN 1
Only-CNN 1 18.4 62.3 59.6 35
Only-CNN M 15.6
Binocular-RNN 1 56.7 90.8 85.2 23
Binocular-RNN M 70.5 93.4 89.6
PoseCNN[19] 1 21.3 75.9 61.3 24
GDR-Net 1 49.1 89.1 80.2 22
GDR-Net M 60.1 91.6 84.4
Single-Stage[16] M 53.9
DeepIM[19] 1 88.1 81.9 25
CosyPose[20] 1 89.8 84.5 25

新窗口打开| 下载CSV


表2所示为Binocular-RNN与其他方法在LM-O上的对比结果,数据选用指标为ADD或ADDS. 当使用“Real+syn”进行训练时,Binocular-RNN的性能与PVNet、Single-Stage、GDR-NET等网络相近. 利用每个对象训练一个网络能够轻易超越目前的技术水平. 利用“Real+PBR”训练的Binocular-RNN的性能甚至超过了基于精细化的方法DeepIM.

表 2   Binocular-RNN与其他方法在LM-O上的精确度比较

Tab.2  Comparison of Binocular-RNN with other methods on LM-O %

方法 m 训练数据 模型 MEAN
Ape Can Cat Driller Duck Eggbox Glue Holep
PoseCNN 1 Real+syn 9.6 45.2 0.9 41.4 19.6 22.0 38.5 22.1 24.9
PVNet M Real+syn 15.8 63.3 16.7 65.7 25.2 50.2 49.6 36.1 40.8
Single-Stage M Real+syn 19.2 65.1 18.9 69.0 25.3 52.0 51.4 45.6 43.3
GDR-NET M Real+syn 41.3 71.1 18.2 54.6 41.7 40.2 59.5 52.6 47.4
Binocular-RNN 1 Real+syn 49.6 78.2 40.3 67.4 50.6 45.4 60.5 68.2 57.5
M Real+syn 41.3 79.1 42.8 71.2 55.3 48.3 65.7 70.5 51.6
1 Real+pbr 48.6 82.3 51.4 73.5 61.2 58.3 70.5 72.6 64.8
M Real+pbr 50.4 85.7 58.3 76.2 68.3 62.1 75.8 74.2 68.9
DPOD 1 Real+syn 47.3
DeepIM 1 Real+syn 59.2 63.5 26.2 55.6 52.4 63.0 71.7 52.5 55.5

新窗口打开| 下载CSV


3.5. 实时性对比

在使用Yolov5探测器对图像尺寸为640×480像素的图像物体进行预测时,用GDR-Net预测单个对象需要约22 ms,同时预测8个对象需要约35 ms[4]. Binocular-RNN在预测单个对象需要约23 ms,预测8个对象需要约35ms. 但相对于主动视觉预测时间大于等于100 ms[23]的情况而言,实时性已经得到了大幅度提高.

3.6. 测量精度的对比

对双目视觉测量系统进行精度分析,相机标定精度、镜头参数和系统结构参数都对双目视觉的精度有影响. 在相机标定精度、视觉镜头参数不变的情况下,以物距u作为改进算法和已有算法精确度的指标,结果如图5所示.

图 5

图 5   物距对精确度的影响

Fig.5   Effect of distance on accuracy


4. 结 语

提出用于6D目标位姿估计的双目循环神经网络Binocular-RNN,并阐述用于6D目标姿态估计的双目数据集制作技术. 在已有RGB-D数据集基础上,利用虚拟双目摄像机制作双目数据集. 利用单目预测网络分别对双目数据集中左、右摄像头图像的中间几何特征进行提取并利用循环神经网络对其进行融合以预测物体的最终6D位姿.

实验表明该方法较GDR-Net及其他以单一视角对物体姿态进行检测的技术更加优异. 具体而言,在以单一物体对网络进行训练时,Binocular-RNN ADD或ADDS得分为PoseCNN的2.66倍,为GDR-Net的1.15倍. 利用“real+PBR”[24]训练的Binocular-RNN的性能甚至超过了基于精细化的方法DeepIM. 实时性相对主动视觉得到了大幅度提高.

网络在使用之前须耗费时间制作姿态估计数据集且只能对数据集重点物体进行识别,导致该技术使用性能下降,希望后续可以借鉴人脸识别技术添加少量样本来保证准确性. 同时,网络总体结构较复杂,希望后续可以通过对网络结构进行简化,提高网络预测实时性.

参考文献

SUNDERMEYER M, MARTON Z C, DURNER M, et al

Augmented autoencoders: implicit 3D orientation learning for 6D object detection

[J]. International Journal of Computer Vision, 2020, 128: 714- 729

DOI:10.1007/s11263-019-01243-8      [本文引用: 2]

WADIM K , FABIAN M , FEDERICO T, et al. SSD-6D: making RGB-based 3D detection and 6D pose estimation great again [C]// IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 1521–1529.

[本文引用: 1]

DI Y, MANHARDT F, WANG G, et al. SO-POSE: exploiting self-occlusion for direct 6D pose estimation [C]// International Conference on Computer Vision. Montreal: IEEE, 2021: 12396-12405.

[本文引用: 1]

WANG G, MANHARDT F, TOMBARI F, et al. GDR-NET: geometry-guided direct regression network for monocular 6D object pose estimation [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. Montreal: IEEE, 2021: 1661–16621.

[本文引用: 5]

刘城. 手腕型操作中操作者手部的主动视觉追踪方法研究[D]. 武汉: 武汉理工大学, 2020.

[本文引用: 1]

LIU Cheng. Research on active vision tracking method of operator’s hand in wrist-type operation[D]. Wuhan: Wuhan University of Technology, 2020.

[本文引用: 1]

戈振鹏. 基于主动视觉和强化学习的机械臂装配研究[D]. 成都: 电子科技大学, 2022.

[本文引用: 1]

GE Zhen-peng. Research on robotic assembly based on active vision and reinforcement learning[D]. Chengdu: University of Electronic Technology, 2022.

[本文引用: 1]

ZHOU Y, BARNES C, LU J W, et al. On the continuity of rotation representations in neural networks [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 3: 5745-5753.

[本文引用: 1]

KUNDU A, LI Y, REHG J M. 3D-RCNN: instance-level 3D object reconstruction via render and compare [C]// IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 3: 3559–3568.

[本文引用: 1]

LI Z G, WANG G, JI X Y. CDPN: coordinates-based disentangled pose network for real time rgb-based 6-DoF object pose estimation [C]// IEEE International Conference on Computer Vision. Seoul: IEEE, 2019. 1: 7678–7687.

[本文引用: 1]

VOLODYMYR M, NICOLAS H, ALEX G, et al. Recurrent models of visual attention[C]// Conference and Workshop on Neural Information Processing Systems. Montreal: [s.n.], 2014: 136–145.

[本文引用: 2]

JAMIE S, BEN G, CHRISTOPHER Z, et al. Scene coordinate regression forests for camera relocalization in RGB-D images[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Portland: IEEE, 2013: 2930-2937.

[本文引用: 1]

ADAM P, SAM G, FRANCISCO M, et al. Pytorch: an imperative style, high-performance deep learning library [C]// Advances in Neural Information Processing Systems. [s.l.]: Manning publications, 2019, 5: 8026–8037.

[本文引用: 2]

LIU L Y, JIANG H M, HE P C, et al. On the variance of the adaptive learning rate and beyond [C]// International Conference on Learning Representations. Vancouver: [s.n.], 2020.

[本文引用: 1]

WAIL M, NICOLAS P, NORBERT K. Multi-view object recognition using view-point invariant shape relations and appearance information [C]// IEEE International Conference on Robotics and Automation. Guangzhou: [s.n.], 2013: 4230–4237.

[本文引用: 1]

LI Y, WANG G, JI X Y, et al. Deepim: deep iterative matching for 6D pose estimation[C]// Proceedings of the European Conference on Computer Vision. Munich: [s.n.], 2018: 683-698.

[本文引用: 1]

HU Y L, PASCAL F, WANG W, et al. Single-stage 6D object pose estimation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Detroit: IEEE, 2020: 2930-2939.

[本文引用: 2]

VINCENT L, FRANCESC M N, PASCAL F. EPnP: an accurate O(N) solution to the PnP problem[J]. International Journal of Computer Vision, 2009, (81): 155–166.

[本文引用: 1]

吕成志. 面向复杂场景的目标六自由度姿态估计关键技术研究[D]. 广州: 华南理工大学, 2020.

[本文引用: 1]

LV Cheng-zhi. Research on key technologies of object six degree of freedom pose estimation for complex scenes[D]. Guangzhou: South China University of Technology, 2020.

[本文引用: 1]

YU X, TANNER S, VENKATRAMAN N, et al. POSECNN: a convolutional neural network for 6D object pose estimation in cluttered scenes [C]// Robotics: Science and Systems. Pittsburgh: [s.n.], 2018.

[本文引用: 2]

YANN L, JUSTIN C, MATHIEU A, et al. Cosypose: consistent multi-view multi-object 6D pose estimation [C]// European Conference on Computer Vision. Glasgow: [s.n.], 2020: 574–591.

[本文引用: 1]

刘建伟, 宋志妍

循环神经网络研究综述

[J]. 控制与决策, 2022, 37 (11): 2753- 2768

[本文引用: 1]

LIU Jian-wei, SONG Zhi-yan

Research on recurrent neural network

[J]. Journal of Computer Applications, 2022, 37 (11): 2753- 2768

[本文引用: 1]

NIALL M, JESUS M D R, PAUL M. Recurrent convolutional network for video-based person re-identification [C]// IEEE International Conference on Computer Vision. Las Vegas: IEEE, 2016: 1325-1334.

[本文引用: 1]

胡代弟, 李锐君. 基于主动视觉的机械表面疲劳损伤裂纹检测[J]. 制造业自动化, 2022, 44(5): 170-174.

[本文引用: 1]

HU Dai-di, LI Rui-jun. Mechanical surface fatigue damage crack detection based on active vision[J]. Manufacturing Automation. 2022, 44(5) : 170-174.

[本文引用: 1]

罗宇. 基于深度学习的目标姿态估计与机械臂抓取研究[D]. 广州: 广东工业大学, 2020.

[本文引用: 1]

LUO Yu. Research on target attitude estimation and manipulator grab based on deep learning[D]. Guangzhou: Guangdong University of Technology, 2020.

[本文引用: 1]

/