CVPR2021 | 国防科大:基于几何稳定性分析的物体位姿估计方法

本文主要是介绍CVPR2021 | 国防科大:基于几何稳定性分析的物体位姿估计方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载自机器之心。

物体6D姿态估计是机器人抓取、虚拟现实等任务中的核心研究问题。近些年来,随着深度学习技术和图像卷积神经网络的快速发展,在提取物体的几何特征方面出现了许多需要改善的问题。国防科技大学的研究人员致力于通过将几何稳定性概念引入物体 6D 姿态估计的方法来解决问题。

物体 6D 姿态估计的目的是确定物体从模型坐标系到相机坐标系的刚性变换矩阵。现有方法通常通过求解观测物体与物体三维模板模型的对应关系或使用深度神经网络回归的方法计算物体位姿。得益于图像卷积神经网络的发展,现有位姿估计方法大多依赖于对物体图像特征的提取,而忽略了物体的几何特征。当处理无纹理物体或者物体的纹理特征不够显著时,问题图像特征的提取往往非常困难,这也导致基于 RGB 特征的方法不能够处理无纹理、弱纹理物体的位姿估计问题。值得注意的是,在人类对三维物体的感知过程中,通常优先关注物体的几何形状。例如,在抓握物体时,人类往往只关注物体的形状,而忽略物体的纹理和颜色。使用物体的几何形状特征实现物体位姿估计,有望减少或消除物体纹理带来的影响,提升对无纹理物体的位姿估计算法性能。

近些年来,随着深度传感技术的快速发展,以 PPF 特征匹配算法为代表非学习方法和以 3DMatch 为代表的深度学习几何特征提取方法逐渐在位姿估计问题中崭露头角。这些方法虽然在多个公开数据集中取得了不错的效果,但是没有显式地约束几何特征提取和物体位姿的关系,因此制约了方法的可解释性和泛化性。

针对这一问题,国防科技大学的研究人员将几何稳定性概念引入了物体 6D 姿态估计,并提出了利用物体表面几何稳定(Geometrically stable)的面片组合(Patch group)预测物体姿态的方法 StablePose。StablePose 物体位姿估计模块的输入只有物体的深度信息,不包括 RGB 图像,能够有效处理无纹理、弱纹理物体的位姿估计问题。实验表明,StablePose 在多个实例位姿估计和类别位姿估计数据集上取得了最佳性能,能够处理物体间遮挡,具有良好的泛化性。论文的主要创新点包括:

  • 将几何稳定性概念引入到物体 6D 姿态估计问题;

  • 提出了基于几何稳定面块组合回归物体位姿的深度网络;

  • 提出了用于处理对称物体、有遮挡的物体以及新颖物体的机制,增强了方法的稳定性。

论文地址: https://arxiv.org/abs/2102.09334

几何稳定性分析与位姿估计

在现有工作中,几何稳定性分析主要被用于三维物体分割和三维点云配准。在三维点云配准任务中,几何稳定性分析旨在选择具有代表性的点云子集,这个子集可被用于实现快速、稳定的 ICP(Iterative closest point)点云配准。受到该思想的启发,StablePose 将几何稳定性引入物体 6D 位姿估计任务,其核心是提取物体表面几何稳定的面片组合。

几何稳定的面片组合是能够确定全部六个自由度物体位姿的面片集合,通常由三个以上面片构成。StablePose 位姿估计问题中的面片通过对观测点云数据平面和圆柱提取得到。根据几何稳定性分析理论,三个及三个以上满足一定空间关系的平面或圆柱面片能够确定物体位姿的全部六个自由度,因此在几何上是稳定的。

图2 面片组合的几何稳定性分析

如图所示,(d)中由三个互相垂直的平面组合能够确定物体位姿的全部六个自由度,构成几何稳定的面片组合,而(a)、(b)、(c)中的平面组合能够在某些自由度上滑动,在几何上不稳定,不能构成几何稳定的面片组合。利用几何稳定的面片组合进行物体姿态估计的目的非常直观:首先,面片是介于单个空间点和完整物体之间的几何模型,既包括局部几何特征,也包括全局语义特征,具有很好的表达能力;其次,几何稳定的面片组合在包括用于确定物体位姿全部自由度有效信息的同时,也去除了次要信息的影响,构成了对三维模型的精简表示。这样做不仅能够实现网络的快速训练,也能够提高方法的抗遮挡能力。为了估计物体的位姿,除了确定几何稳定的面片组合,还需计算观测面片与三维模型面片之间的对应关系。StablePose 使用深度网络学习这一对应关系并估计物体位姿。

位姿估计网络

StablePose 的计算流程如图所示。给定单视图 RGB-D 图像,StablePose 首先检测和分割其中的物体,然后使用相机内参得到目标物体的三维点云模型。使用 CAPE 算法对物体点云进行过分割处理,提取平面和圆柱面片。接着从平面和圆柱面片中筛选得到一系列几何稳定的面片组合。

如 StablePose 网络结构图所示,对于每个几何稳定面片组合,使用三维卷积神经网络提取特征并进行位姿估计。StablePose 使用的三维卷积神经网络以 PointNet++ 作为 backbone 提取面片的特征,并采用 Relation networks 进一步提取面片组合的全局特征。网络预测模块分成两个子任务:

Group pose prediction:将各面片特征和面片组合全局特征进行拼接,预测物体的位姿,损失函数(Point-to-point pose loss)约束物体位姿的全部自由度,具体形式为: ,其中,为预测位姿,为位姿真值,为物体三维模型表面采样点;

Patch pose prediction:将每一个面片特征分别单独与面片组合全局特征进行拼接,预测物体的位姿,损失函数(Point-to-patch pose loss)只约束物体位姿的部分自由度。以平面面片为例,其损失函数为:,其中,为预测位姿,为位姿真值,为面片中心点,为面片法向量。

该损失函数的含义是:不要求物体位姿的全部6个自由度都被预测正确,只要求当前面片分别按照预测位姿矩阵变换与位姿矩阵真值变换后的两个面片“共面”。

在上述方法中,子任务 2 是子任务 1 的辅助任务,可以提升网络的收敛速度和方法性能。此外,针对解决反射和旋转对称物体位姿不唯一的问题,StablePose 采用三类不同的损失函数分别对无对称物体、反射对称物体和旋转对称物体进行优化。这样做可以解决物体对称性带来的最优解不唯一的问题。

实验结果

为了验证 StablePose 的性能,文章分别在两个实例级位姿估计数据集 T-LESS、LineMod-O 和两个类别级位姿估计数据集 NOCS-REAL275、ShapeNetPose 上进行测试。实验结果表明,在无纹理数据集 T-LESS 上,StablePose 不仅达到了最佳性能,而且使用的训练数据量较之前 SOTA 方法更少,训练时间更短,推理时间更快。在遮挡较为严重的 LineMod-O 数据集上,相比于现有算法,StablePose 在使用最少量训练数据的情况下取得了次佳性能。,StablePose 不仅能在实例级的数据集上表现优异,也能够实现跨实例的位姿预测,StablePose 在 NOCS-REAL275 和作者提出的大型合成数据集 ShapeNetPose 上获得最佳性能,这得益于几何稳定面片组合带来的方法泛化性能的提升。

T-LESS 数据集实验结果

LineMod-O 数据集实验结果

ShapeNetPose 数据集实验结果

StablePose 位姿预测结果可视化

相关工作

基于 RGB 的物体位姿估计最常见的解决方案是从 RGB 图像检测并匹配关键点并求解 PnP。近些年来,这种方法已经被大量工作研究,并取得了较好的效果。但是当处理无纹理、弱纹理物体时,物体表面关键点难以被检测和匹配,因此性能较差。

基于物体几何形状的位姿估计方法大体包括以下几种:利用物体点云信息,使用 ICP 算法对初始估计位姿进行优化;将深度图或点云作为位姿估计深度网络的额外输入通道,将几何形状特征与颜色问题特征融合共同估计位姿;直接从深度图、点云或者体素提取几何形状特征,通过关键点匹配、投票算法或者使用深度网络估计位姿。

几何稳定性分析也被称作滑移性分析,是分析物体形状的经典工具。几何稳定性分析可被用于从一个点集中提取子集,以提高 ICP 算法的稳定性和有效性。这是通过过滤掉多余的点,同时为每个对齐自由度保留足够的点实现的。几何稳定性分析的另一个应用是从物体表面提取可滑动部件,以实现物体分割和物体特征提取。

END

备注:6D

6D位姿计算交流群

扫码备注拉你入群。

OpenCV中文网

微信号 : iopencv

QQ群:805388940

微博/知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

这篇关于CVPR2021 | 国防科大:基于几何稳定性分析的物体位姿估计方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706776

相关文章

Springboot请求和响应相关注解及使用场景分析

《Springboot请求和响应相关注解及使用场景分析》本文介绍了SpringBoot中用于处理HTTP请求和构建HTTP响应的常用注解,包括@RequestMapping、@RequestParam... 目录1. 请求处理注解@RequestMapping@GetMapping, @PostMappin

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Nginx 访问控制的多种方法

《Nginx访问控制的多种方法》本文系统介绍了Nginx实现Web访问控制的多种方法,包括IP黑白名单、路径/方法/参数控制、HTTP基本认证、防盗链机制、客户端证书校验、限速限流、地理位置控制等基... 目录一、IP 白名单与黑名单1. 允许/拒绝指定IP2. 全局黑名单二、基于路径、方法、参数的访问控制

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4