首页 > PCL中3D特征描述子Shot详解

PCL中3D特征描述子Shot详解

上周点云公众号开始分享群友们的反馈分享,由博主分配任务,半个月甚至一个月参与学习小伙伴的反馈给群主,并在微信交流群中进行学术交流,加强大家的阅读文献能力,并提高公众号的分享效果。已经有一些开始陆续反馈中,在此期待之前参与任务的小伙伴赶紧将你们的分享发送给群主吧,同时也希望更多的同学能参与进来,参与我们下一轮学习!

SHOT概述

      SHOT(Signature of Histogram of Orientation)是一种基于局部特征的描述子,在特征点处建立局部坐标系,将邻域点的空间位置信息和几何特征统计信息结合起来描述特征点。Tombari 等人将现有三维局部特征描述方法分为两类,即基于特征的描述方法与基于直方图的描述方法,并分析了两种方法的优势,提出基于特征的局部特征描述方法要比后者在特征的描述能力上更强,而基于直方图的局部特征描述方法在特征的鲁棒性上比前者更胜一筹。

      计算3D表面之间的相似程度(表面匹配)是计算机视觉任务尤其是3D对象识别和表面对齐的关键。通过匹配3D描述符建立的局部对应关系可以用于解决更高级别的任务,例如3D对象识别。这种方法以有效地处理诸如遮挡,杂乱和视点变化等问题。

SHOT步骤

      The first category, that includes earliest works on the subject, describes the 3D surface neighborhood of a given point (hereinafter support) by defining an invariant local Reference Frame (RF) and encoding, according to the local coordinates, one or more geometric measurements computed individually on each point of a subset of the support.

         一方面,通过定义不变的局部坐标系(RF)并根据局部坐标单独编码计算一个点的支撑区域的几何特征,来描述给定点的3D表面邻域(下文称为Support)。

     On the other hand, Histogram-based methods describe the support by accumulating local geometrical or topological measurements (e.g. point counts, mesh triangle areas) into histograms according to a specific quantized domain (e.g. point coordinates, curvatures) which requires the definition of either a Reference Axis (RA) or a local RF.

         另一方面,基于直方图的方法通过根据特定的量化域(例如点坐标,曲率)将局部几何或拓扑测量(例如点数,网格三角形区域)累积到直方图中来描述支撑区域,这需要定义参考轴Reference Axis(RA)或局部RF。(local Reference Frame)

step1: 根据特征点球邻域信息建立局部参考坐标系LRF,对特征点的球邻域分别沿径向(内外球)、经度(时区)和纬度方向(南北半球)进行区域划分。通常径向划分为2,经度划分为8,纬度划分为2,总共32个小区域。

step2:分别统计每个小区域内的法向量夹角余弦值分布情况,法向量划分为11个bin。最终SHOT的长度为:32x11=352。

分解步骤1:建立坐标系

法向估计 得到Z轴一般使用的PCA

计算该点K近邻组成类似平面的XYZ方向上的特征值就是它的法线。通过主成分分析法(PCA)来计算它的方向也具有二义性,无法对整个点云数据集的法线方向进行一致性定向。

         本文中添加了一个距离参数,给邻域内较远的点分配较小的权重,协方差矩阵的构造过程和深度图中某点的法向计算类似,不同的是,该方法在构造协方差矩阵时加上了距离权重。离特征点距离近的点对协方差矩阵构造的贡献大,距离特征点远的点对协方差矩阵构造的贡献小,这样增强了局部参考系在复杂场景中的可重复性。

为了计算方便,设置特征点P为质心,设置半径为R的球形支撑区域。

另外本文还解决了法线二义性的问题,将由上式得到的特征值从大到小排列,与其对应的三个特征向量分别称为x +,y +和z +轴。

这个公式大致意思是说特征点P邻域内点Pi满足点到P的距离小于R并且该点减去特征点,与x+同向,满足这两个条件的点数较多,X+就是X轴的正向。也就是说必须使各向量的方向指向局部表面点分布的高密度方向。Y轴由Z和X叉乘得到。

分解步骤2:直方图特征描述

提出了一种3D描述符,其对基本一阶微分实体(即支撑区域内的点的法线)的直方图进行编码,与平面3D坐标相比,其更能代表表面的局部结构。

SHOT描述在纹理上的扩展

由于最初提出的SHOT描述子是不针对纹理和颜色信息的,单纯的几何信息编码影响识别的准确率,因此后来SHOT加入了颜色信息。SHOT中的颜色编码主要是LAB空间(CIELAB计算)中的颜色;直方图31级,因此颜色描述子长度32x31 = 992;添加颜色信息的SHOT描述子共1344维。

参考文献

[1] http://docs.pointclouds.org/trunk/structpcl_1_1_s_h_o_t1344.html

[2] http://www.vision.deis.unibo.it/research/80-shot

[3] https://blog.csdn.net/FireMicrocosm/article/details/78059151

[4] https://www.cnblogs.com/BellaVita/p/10019409.html

[5] F. Tombari *, S. Salti *, L. Di Stefano, "Unique Signatures of Histograms for Local Surface Description", 11th European Conference on Computer Vision (ECCV), September 5-11, Hersonissos, Greece, 2010.

[6] F. Tombari, S. Salti, L. Di Stefano, "A combined texture-shape descriptor for enhanced 3D feature matching", IEEE International Conference on Image Processing (ICIP), September 11-14, Brussels, Belgium, 2011.

[7] S. Salti, F. Tombari, L. Di Stefano, "SHOT: Unique Signatures of Histograms for Surface and Texture Description", Computer Vision and Image Understanding, May, 2014.

[8] 邓俊文,基于二值描述符的三维目标识别研究 。重庆大学硕士学位论文.

 此分享来自北京工业大学的闫同学,在此感谢她为公众号的分享,并号召大家积极分享共同营造良好的交流分享的氛围,并且此文章已经上传至github组群。同时文章中若有疑问或者错误请留言指正。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

往期线上分享录播汇总

第一期B站录播之三维模型检索技术

第二期B站录播之深度学习在3D场景中的应用

第三期B站录播之CMake进阶学习

第四期B站录播之点云物体及六自由度姿态估计

第五期B站录播之点云深度学习语义分割拓展

第六期B站录播之Pointnetlk解读

[线上分享录播]点云配准概述及其在激光SLAM中的应用

[线上分享录播]cloudcompare插件开发

[线上分享录播]基于点云数据的 Mesh重建与处理

[线上分享录播]机器人力反馈遥操作技术及机器人视觉分享

[线上分享录播]地面点云配准与机载点云航带平差

点云PCL更多活动请查看:点云PCL活动之应届生校招群

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请点击“原文阅读”获取知识星球二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:群主微信“920177957”(需要按要求备注) 联系邮箱:[email protected],欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

更多相关:

  • 标题:Voxelized GICP for Fast and Accurate 3D Point Cloud Registration作者:Kenji Koide, Masashi Yokozuka, Shuji Oishi, and Atsuhiko Banno来源:分享者代码:https://github.com/SMRT-AI...

  • 点云PCL免费知识星球,点云论文速读。标题:LIC-Fusion 2.0: LiDAR-Inertial-Camera Odometry with Sliding-Window Plane-Feature Tracking作者:Xingxing Zuo1;2, Yulin Yang3, Patrick Geneva3, Jiajun...

  • 点云PCL免费知识星球,点云论文速读。标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps作者:Daniele Cattaneo, Domenico Giorgio Sorrenti, Abhinav Valada来源:分享者...

  • 点云PCL免费知识星球,点云论文速读。标题:LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping作者:Tixiao Shan, Brendan Englot, Drew Meyers, Wei Wang, Carlo Ratti, and...

  • 前言CloudCompare是另一款开源且完善的点云处理软件,我们可以在这款软件的基础上,任意的设计成我们想要的界面,可以说是点云处理软件的最佳选择,所以我认为如果你是研究点云算法的可以使用PCL,GDAL,等其他库,如果你是做工程的需要点云的界面显示,那么cloudCompare就是不二选择,当然如果是简单的界面使用PCL和QT也...

  • (1)关于点云的配准 1.首先给定源点云与目标点云。 2.提取特征确定对应点 3.估计匹配点对应的变换矩阵 4.应用变换矩阵到源点云到目标点云的变换 配准的流程图 通过特征点的匹配步骤 (1)计算源点云与目标点云的关键点 (2)计算关键点的特征描述子(比如:FPFH等等) (3)匹配特征点计算出对应关系 (4)从特征点之间的对应...

  • 特征点的检测 图像的特征点可以简单的理解为图像中比较显著的点,如轮廓点,较暗区域中的亮点,较亮区域中的暗点等。 原图 轮廓线(可能的特征点) ORB采用FAST(features from accelerated segment test)算法来检测特征点。FAST核心思想就是找出那些卓尔不群的点,即拿一个点跟它周围的...

  • 摘要:  1.pipeline 模式     1.1相关概念     1.2代码示例  2.特征提取,转换以及特征选择     2.1特征提取     2.2特征转换     2.3特征选择   3.模型选择与参数选择     3.1 交叉验证     3.2 训练集-测试集 切分   4.spark新增SparkSession与Da...

  •   1.1算法流程  假设有m个samples,每个数据有n维。 1. 计算各个feature的平均值,计μj ;(Xj(i)表示第i个样本的第j维特征的value) μj = Σm Xj(i)/m meanVals = mean(dataMat, axis=0) 2. 将每一个feature scaling:将在不同scale上的f...

  • 本文出处:http://blog.csdn.net/xizhibei ============================= PCA,也就是PrincipalComponents Analysis,主成份分析,是个非常优秀的算法,依照书上的说法: 寻找最小均方意义下,最能代表原始数据的投影方法 然后自己的说法就是:主要用于特征...

  • 文章目录前言函数描述代码实例TCP服务器为什么调用listen 前言 根据TCP编程模型中我们可以看到之前的socket和bind接口是tcp服务器在为接收客户端的链接做准备,保证tcp的面向字节流,面向连接的可靠通信服务正常进行。接下来的listen端口则为我们进行三次握手与客户端进行链接的接口。 TCP编程模型如下...

  • 文章目录前言close函数介绍shutdown函数介绍 前言 这里在主要通过实例进行描述close函数在网络编程中的使用 TCP编程模型中客户端或者服务器只要主动通过close发起断开连接的请求,则通信连接可以中断。 可以通过在主进程中抓取通信端的断开信号,比如SIGINT,在信号处理函数中对该通信文件描述符进行关闭。...

  • 一.内存管理基本知识 1.S3C2440最多会用到两级页表:以段的方式进行转换时只用到一级页表,以页的方式进行转换时用到两级页表。页的大小有三种:大页(64KB),小页(4KB),极小页(1KB)。条目也称为"描述符",有:段描述符,大页描述符,小页描述符,极小页描述符——他们保存大页,小页,极小页的起始物理地址;粗页表描述符,细页表...