Intrinsic shape signatures: A shape Descriptor for 3D Object Recognition 论文阅读

Intrinsic shape signatures: A shape Descriptor for 3D Object Recognition 论文阅读

本文章肯定有错误,只是个人阅读理解该算法的大概。请结合自己阅读过程来参考,主要是读的论文涉及了ISS算法,而其他人写的说实话没有直接理解到基点,也暂时没有什么好视频讲解过这个算法,只能说奇葩的方向泥巴与黑森林太多,又不好确认自己有没有必要绕开它。

总体来讲

1作者设计了一种本质形状签名的东西来描述点云的形状特征,它的特点是不需要估计面的法向量,与点云视角无关,都是基于点云本身来设计描述子的,而且抗噪性质不错,但也有极限,能选择到的特征点也挺多,大概有全部点云的1/4。

2论文用ISS进行了位姿估计与3D匹配的的具体过程

3设计了一套快速允许对大型模型数据库进行快速准确的搜索(抄的翻译,这一句)本文章不涉及,原因是我的方向目前需要的是如何描述3D特征。

ISS算子

本来按照一般思维,手工的匹配算法介绍顺序一般是:特征点的选取,基于特征点构建特征向量,基于特征向量讨论匹配或者其他问题。但由于该算法特征点的选取与构建特征向量相关,且特征向量是先讲的。故顺序会有调换,先讲特征向量相关的东西,再去讲特征点的选择(比较简单)。

特征向量

iss(intrinsic shape signature )形状特征向量包含两个部分,一个为特征点(基点)的内在参照系(intrinsicreference frame ),一个为三维形状特征向量( 3D shape feature vector)。

( I S S ) S i = { F i , f i } (ISS)S_i=\{F_i,f_i\} (ISS)Si={Fi,fi}

按照我自己的想法,1 F i F_i Fi为构建坐标系 2 f i f_i fi 通过划分球体表面多面体作为来描述空间具体信息的箱子(切西瓜)。

第一部分构造坐标系

构建坐标系简单的来说,即基于基点构造一个加权散射矩阵COV(pi)
在这里插入图片描述
(论文是散射矩阵,协方差矩阵似乎也很符合),然后计算特征值与特征向量(一一对应的),将特征值从小到大排序,然后将最小的两个特征向量x1,x2取外积(直接理解为垂直也行)得到一个新的向量x3。如此一来,三个特征向量x1,x2,x3就能组成一个坐标系。散射矩阵的三个特征向量祖成了signature签名的一部分,或者说特征描述子的一部分。公式如下:

F i = { p i , { e i x , e i y , e i z } } F_i=\{p_i,\{e_i^x,e^y_i,e^z_i\}\} Fi={pi,{eix,eiy,eiz}}

p i p_i pi 即基点,或者说是之后讲的特征点,后面为三个轴的特征向量

实际上,还有两个问题跟一个论文上讲了的点没讲,单独拿出来讲讲。

1为什么散射矩阵可以用来建立点云的内部坐标系?

散射矩阵的特征值实际上可以表示点云的曲率,如果某处点云的曲率大,那么该点云表达的是一个变化的信号,如果某处点云曲率小,那么该点云表达的是一个不变的信号。 也就是说任何局部,或者全局点云都会有曲率这一特征,通过该特征来来建立坐标系,可以方便的对已经匹配的点计算点云变换的姿态。论文也有提到这一点,甚至搞了个聚类的说法。我个人觉得挑出匹配的特征点,做个求解旋转加变换矩阵,做一个qa分解,然后根据qa分解后的旋转矩阵去做聚类,最后选择个聚类中心,可能会有点效果。

2为什么要加权?

我个人是觉得是希望点云的多少对等面积划分的改进,论文说是对不均匀抽样的改进。

3坐标系的"模糊"

我们在计算x1,x2,x3特征向量的过程中,为了建立坐标系实际上需要正确的方向。

假设点云均位于同一个平面,那么方差最小的方向自然会垂直于平面,那假设这个方向是x3,也就是z轴,那么它是在平面的上方?还是在平面的下方? 作者通过让上面的x1,x2,x3坐标系,分别按照x轴,y轴,z轴旋转90°,构建出一共四个坐标系。也就是说,通过x1,x2,x3,以及上述的操作,实际上一个坐标系有了四个可能的真实坐标系。

第二部分 通过划分球体表面多面体作为来描述空间具体信息的箱子(切西瓜)

简单来说,这个西瓜的切法分为两个部分,一个基于极坐标以及八面体细分,围绕着球体切出66份。想象成针扎的感觉的切法。另一个部分是根据最远的点的距离平分为L份(这个L 作者没解释,我猜的,估计是错的,我是sb),这一次的切法像大树的年轮的那种感觉,基点会占着中心一块,其他的分区也各占着一块。然后这两种切法一融合,再通过计算每个切出来的box基于点云数量的权重,放到 f i f_i fi中,即完成了一个特征向量的第二部分的构建。

公式如下:

f i = ( f i 0 , . . . . f i , k − 1 ) f_i=(f_{i0},....f_{i,k-1}) fi=(fi0,....fi,k1)

k与两个切法有关 k = 1 + ( L − 1 ) ∗ N k=1+(L-1)*N k=1+(L1)N L是第二种切法,也就是树的年轮切法,即切的周数。N即第一种切法,基于八面体球面分割的原理,论文说是66(我没推算出来)。

( I S S ) S i = { F i , f i } (ISS)S_i=\{F_i,f_i\} (ISS)Si={Fi,fi} 至此,一个基点的特征描述子算是被构建出来了。

问题也是领出来讲

1 为什么是正八面体?
在这里插入图片描述

我觉得都行,看的视频有其他的切法。

2 细分方式

八面体中先挑出一个面,即一个三角,然后挑出三角形的中点,连接它们,构建出四个小正方形,然后将所有的小三角形的顶点映射到基点的外接圆上。(论文原文,将球面上的每个点分配给离它最近的顶点,形成球面的一个分区,即离散球面网格。)说实话,这一段切分我没看的很懂。 最后重复。

推荐看孔老师学生的视频:https://www.bilibili.com/video/BV1JZ4y1B7Lv/?spm_id_from=333.999.0.0&vd_source=f34caf8162d4f380f0f2a88d0025bd81

特征点/基点的选择

基点散射矩阵特征值最小的大于某个超参数值,则认为它的形状变化很大。个人觉得只要给个r半径,每个点都计算下局部曲率,或者说散射矩阵最小特征值是否大于某个阈值即可认定为特征点。

2论文用ISS进行了位姿估计与3D匹配

位姿估计

其实之前的一对匹配点就能方便的计算出位姿变换了,因为匹配的上的特征点本身的描述子就包含了两个散射矩阵特征向量相似的坐标系。比较简单以及好理解。
在这里插入图片描述

至于3D匹配也比较简单,

一个相似度,即两个点云关键点中能匹配的上的点Nc/两个点云关键点个数的积开根
在这里插入图片描述

一个误差测量 即匹配点的源点,都进行旋转加偏移变换,计算其与目标点的差距,最后除全部点的个数。
在这里插入图片描述

论文提出把二者结合,确实可以。感觉甚至能加一个超参数控制二者比例。
即也设置一个阈值来判断即可。
在这里插入图片描述

总结

说是话,没看的特别懂,以及清楚,本身这个散射矩阵以及八面体切法都不算是我涉及过的。只能说论文不是教科书,以及很多东西我真的看不懂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值