论文解读 | 基于改进点对特征的点云6D姿态估计
原创 | 文 BFT机器人

01 摘要
点对特征(PPF)方法已被证明是一种有效的杂波和遮挡下的姿态估计方法。
文章的改进方法主要包括:
(1)一种基于奇偶规则求解封闭几何的法向的方法;
(2)通过将体素网格划分为等效角度单元的有效降采样方法;
(3)基于拟合点的验证步骤。在真实杂波数据集上对该方法进行了评估,结果表明该方法在6D姿态估计方面比原PPF方法具有更好的性能和效率。
02 点对特征(PPF)方法是什么?
PPF方法是一种通过提取局部特征和投票匹配的方法对点云中自由曲面三维物体进行姿态估计的方法。

图1 点对特征方法
03 它是如何用于姿态估计的?
该算法的核心思想是从模型和场景的点对中提取由四个值组成的特征向量。这些特征描述了一对中两点之间的相对位置和方向,从而描述了局部视图中对象的表面形状。
总体而言,对象的所有点对所描述的局部特征构成了对象的全局特征。根据该方法的要求,一对中的两点不应该是交换的,即特征是不对称的。
04 改进的方法中的奇偶规则是什么?
本文提出的改进方法包括一种基于奇偶规则求解闭合几何法线方向的方法。奇偶规则是一种基于与曲面相交的边数奇偶性来确定曲面法线方向的方法。
具体来说,它包括计算与垂直于给定点的平面相交的边的数量,并使用此计数来确定法线是指向该点还是远离该点。该方法用于求解闭合几何体的法线方向,以提高6D姿态估计的性能和效率。
05 论文中如何提高6D姿态估计的性能和效率?
基于拟合点的验证步骤是改进的PPF方法中使用的一种方法,用于提高6D姿态估计的性能和效率。该步骤包括使用估计的姿势将模型拟合到场景,然后通过将其与原始点云进行比较来验证拟合。
该方法使用投票方案来确定最佳姿态估计,然后使用迭代最接近点(ICP)算法对其进行细化。这种方法通过减少误报和提高具有遮挡的杂乱场景的准确性来提高性能和效率。
06 论文原理
A. 预处理
1)正态估计
对于重构点云模型或多边形网格数据的输入数据,采用PCA算法计算法线。针对Zhao等人[1]也提到的PCA结果方向模糊的问题,提出了一种基于奇偶规则的光线投射方法,用于检测单位法向量的端点是否位于封闭几何模型内。
为此,检查从z轴方向的每个端点的射线与模型表面相交的次数。如果其中一条与奇数次相交,则根据拓扑学,法线应该在模型内部,应该倒转,如图2所示。对于场景云,所有法线可以直接统一指向视点。
f (i , j)为最外边框起始像素的图像强度。由于像素与点之间的对应关系,可以获得图像中所有分割片段的点云。



图2 射线铸造法的原理和效果。(a)偶数相交的法线(绿色)指向正方向,奇数相交的法线(红色)指向反方向。(b)不含光线投射法的PCA算法正态估计结果。(c)射线投射法PCA算法的正态估计结果。
2)下采样
首先采用RANSAC算法拟合表平面,丢弃平面下(视点对面)的点。然后分别在训练阶段和匹配阶段提出了分割体素网格的两种方法。在训练阶段,遵循Joel等人[2],对每个体素单元采用自下而上的分层聚类方法对法线夹角小于阈值的点进行聚类和平均。为了降低复杂度,考虑过滤掉元素较少的簇。然而,在匹配阶段,迭代和比较的过程可能会影响效率。为此,提出了一种角单元法,将整个球体的实体角平均划分为20个角单元。每个细胞由正二十面体的一个面法线表示(图4a)。对于体素单元中的每个点,比较其法线与20个代表性法线之间的角度,并考虑最小的一个作为它所属的角度单元(图4b)。这样大大降低了体素大小的影响,不再是影响算法效率的重要因素。

图3 一种在体素中对角度单元进行降采样的有效方法。(a) 20个angle cells除以一个正二十面体。每个cell由二十面体的面法线表示。(b)所有方向法线在球面上的投影。一个细胞中法线的投影用相同的颜色表示。
B. 配对及投票
由为了提高匹配效率,丢弃了非区分点对的特征。具体来说,如果点间距离和法线夹角都小于阈值,则对匹配的影响可能很小。设置阈值作为量化步长,可以滤除在量化过程中损失特征为零的对。Hinterstoisser等[3]提出,每个参考点的伴随点应在半径模型直径的球内,可以通过Kd-tree算法高效搜索。
然后,遵循Drost等提出的匹配方法和投票方案。在投票后,采用基于密度的带噪声应用空间聚类(DBSCAN)算法对场景参考点提出的姿态进行聚类,并根据投票的总和对它们进行排序。
C.后处理
聚类后,管道输出一组候选姿势,通过投票评估,前10%被接受为效率的妥协。根据Joel等提出的投影ICP思想,以假设姿态渲染模型点,并应用Z-buffer算法在场景视点下对模型云中的可见点进行裁剪。然后将高效的ICP算法应用于裁剪后的模型。然后,提出了基于拟合点的验证步骤。
使用Kd-tree算法寻找每个模型点最近的场景点,并考虑与最近场景点的距离在阈值内的模型点作为拟合点。如果拟合点占模型总点数的比例低于阈值,则模型被接受。最后,采用非最大抑制(NMS)算法对重叠姿态进行滤波。
D.实验效果
本文提出了一种改进的基于点对特征的点云6D姿态估计方法。该方法提出了一种PCA算法中封闭几何的法向解的方法,并引入了一种通过将体素网格划分为等效角度单元的高效采样方法。
最后,采用ICP的变体、基于拟合点的验证步骤和NMS算法进行细化和验证。实验结果表明,该方法具有较高的效率和鲁棒性,平均召回率为0.87。

图4 论文分割效果
标题:
6D Pose Estimation from Point Cloud Using an Improved Point Pair Features Method[C]
更多精彩内容请关注公众号:BFT机器人
本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。
相关文章:
论文解读 | 基于改进点对特征的点云6D姿态估计
原创 | 文 BFT机器人 01 摘要 点对特征(PPF)方法已被证明是一种有效的杂波和遮挡下的姿态估计方法。 文章的改进方法主要包括: (1)一种基于奇偶规则求解封闭几何的法向的方法; (2)通过将体素网格划分为等效角度单元的有效降采样方法; (3)基于拟合点的验证步骤。在真实杂波数据集…...
Shell脚本while循环语句应用
记录:433 场景:Shell脚本while循环语句应用。Shell脚本while循环语句应用。while do done、while : do done、while true do done。 版本:CentOS Linux release 7.9.2009。 1.while常用格式 1.1格式一:while do done while c…...
Kubernetes Dashboard + Ingress 及其 yaml 文件分析
概述 记录部署Dashboard Ingress的具体过程及其 yaml 文件分析 Dashboard Yaml # Copyright 2017 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the Li…...
【SpringCloud组件——Nacos】
前置准备: 分别提供订单系统(OrderService)和用户系统(UserService)。订单系统主要负责订单相关信息的处理,用户系统主要负责用户相关信息的处理。 一、服务注册与发现 1.1、在父工程当中引入Nacos依赖 …...
pinia状态管理 用法
Pinia是一个用于vue的状态管理库,类似于vuex,是vue的另一种状态管理工具。 Pinia 是 Vue 的存储库,它允许跨组件/页面共享状态。实际上,Pinia就是Vuex的升级版,官网也说过,为了尊重原作者,所以取名pinia&am…...
Oracle客户端版本安装
一、版本准备 Oracle版本下载官网:Instant Client for Linux x86-64 (64-bit) | Oracle 中国 进入网站下载对应的oracle版本,通常环境所用的包有:basic、sdk、sdkplus三个包。包的类型分为rpm和zip包,均可以下载,当前…...
基于Android studio二手车交易系统app
客户端: 用户注册:通过输入用户名,密码,所在地,联系地址以及电话和电子邮件等信息进行用户信息的注册。 二手车查看:用户注册登录系统后,可以查看二手车的基本信息,通过二手车的品牌…...
【LCD应用编程】绘制点、线、矩形框
之前获取LCD屏幕参数信息时了解到,LCD屏是 FrameBuffer 设备,操作 FrameBuffer 设备 其实就是在读写 /dev/fb0 文件。除此之外,LCD屏上包含多个像素点,绘制点、线、矩形框本质是在修改这些像素点的颜色。 目录 1、定义 lcd_color…...
第八篇、基于Arduino uno,获取MAX30102心率传感器的心率信息——结果导向
0、结果 说明:先来看看串口调试助手显示的结果,第一个值是原始的IR值,第二个值是实时的心跳,第三个值是平均心跳,如果是你想要的,可以接着往下看。 1、外观 说明:MAX30102心率传感器的外观如下…...
【MySQL】MySQL主从同步延迟原因与解决方案
文章目录 一、MySQL数据库主从同步延迟产生的原因二、关于DDL和DML三、主从延时排查方法四、解决方案3.1 解决从库复制延迟的问题:3.2 MySql数据库从库同步其他问题及解决方案 一、MySQL数据库主从同步延迟产生的原因 MySQL的主从复制都是单线程的操作,…...
学C的第二十二天【深度剖析数据在内存中的存储:1. 数据类型介绍;2. 整型在内存中的存储】
相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期:学C的第二十一天【初阶测评讲解:1. 计算递归了几次;2. 判断 do while 循环执行了几次;3. 求输入的两个数的最小公倍数;4. 将一句话的单词进…...
测试计划模板一
测试计划 修订历史记录 版本 日期 AMD 修订者 说明 1.0 XXXX年XX月XX (A-添加,M-修改,D-删除) 目录 1. 简介.. 4 1. 1目的... 4 1. 2背景... 4...
【利用AI让知识体系化】5种创建型模式
文章目录 创建型模式简介工厂模式抽象工厂模式单例模式建造者模式原型模式 创建型模式 简介 创建型模式,顾名思义,是用来创建对象的模式。在软件开发中,对象的创建往往比一般的编程任务更为复杂,可能涉及到一些琐碎、复杂的过程…...
Unity的UnityStats: 属性详解与实用案例
UnityStats 属性详解 UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化。本文将详细介绍 UnityStats 的每个属性值,并提供多个使用例子帮助开发者…...
TDengine集群搭建
我这里用三台服务器搭建集群 1、如果搭建集群的物理节点上之前安装过TDengine先卸载清空,直接执行以下4条命令 rmtaos rm -rf /var/lib/taos rm -rf /var/log/taos rm -rf /etc/taos2、确保集群中所有主机开放端口 6030-6043/tcp,6060/tcp,…...
Android 12.0无源码apk设置默认启动Launcher的相关属性
1.概述 在12.0的系统产品开发中,对于一些产品的需求,需要将一些无源码app的某个MainActivity作为启动Launcher页面的功能实现,由于没有源码,所以需要 利用PMS的安装解析apk的AndroidManifest.xml的时候,在判断是某个Activity的时候,设置Lancher属性来实现某些功能 2.无源…...
js深拷贝和浅拷贝
👉十分钟学会 前端面试题 js 深拷贝与浅拷贝_前端深拷贝和浅拷贝面试题_Mar-30的博客-CSDN博客 目录 背景: 概念:核心是创建新地址 方法: 浅拷贝: Object.assign() 方法:Object.assign(拷贝的对象&am…...
CANopenNode Master 配置
文章目录 CANopenNode 简介CANopenNode 主栈SDO ClientPDO 通讯参数RPDO 通讯参数RPDO 通信参数设置实例TPDO 通讯参数TPDO 通信参数设置实例 PDO 映射参数RPDO 映射参数设置实例TPDO 映射参数设置实例 CANopenNode 简介 CANopenNode 是一个开源的免费的开源 CANopen 协议栈。…...
HW之轻量级内网资产探测漏洞扫描工具
简介 RGPScan是一款支持弱口令爆破的内网资产探测漏洞扫描工具,集成了Xray与Nuclei的Poc 工具定位 内网资产探测、通用漏洞扫描、弱口令爆破、端口转发、内网穿透、SOCK5 主机[IP&域名]存活检测,支持PING/ICMP模式 端口[IP&域名]服务扫描 网…...
算法练习-2:送外卖
n 个小区排成一列,编号为从 0 到 n-1 。一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站。 给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] ,在每个小区 i 里你有两种选择: 1) 选择a:向前 a[…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
