1.背景知识

  一个典型的基于局部特征的三维物体识别系统由三个主要阶段组成:

图1 TOR的三个阶段

  三维特征点检测:将包含丰富信息的三维点作为特征点(也称为关键点),并检测出每个特征潜在的尺度参数。

  局部表面特征描述:一般将特征点附近一定范围的区域作为局部表面,我们需要对局部表面的几何信息进行描述,最后编码成独一无二的特征描述子。

表面配准:使用相同的特征点检测算子与局部表面特征描述算子对三维场景和三维模型库进行描述,将两者提取的特征两两进行匹配,进而产生一组特征对应以及相应的变换猜想,下一步是验证特征匹配对的正确性,得出最终的模型到场景的变换,推断出场景中物体的身份(类别)与姿态(位置,方向)。

2.主体思想

  根据特征描述子的构建方法,我们将现有的特征描述子的构建方法分为三个比较宽泛的类别:基于签名的方法,基于直方图的方法,以及基于变换的方法。而我们今天要讲的Splash描述子是一种基于签名的方法。基于签名的方法是通过在特征点领域子集范围内单独计算一种或多种集合指标,进而描述特征点。Splash的大体思想是:首先获取关键点 P 的测地半径 r 内的环形切片,然后通过点的法向量和 P 点所在的切平面构造一个局部参考坐标系LRF,在局部参考坐标系下,计算关键点 P 处的法向量与邻域环形切片内所有点的法向量的角度距离,最后形成一个三维的向量($\phi,\psi,\theta$),接着用直线段拟合这个三维曲线,接着将三维线段的曲率与扭转角编码成“Splash”描述子。

  我们重点关注三维物体表面的两个方面:平滑的局部表面块(亦可为平滑,自由形状的三维表面),不连续的线(深度和方向都不连续),打个比方,我们描述一个立方体,可以用立方体的12条边构成的轮廓线以及六个平面来表示。这里的平滑局部表面块,用Splash描述子来描述,不连续的线则用3-D Curve表示。下一节,我们会具体介绍3-D Curve和Splash,给出Splash描述子写成3-D Curve的形式的证明。

3.具体介绍

A. Splash

  一滴牛奶落入水中,形成了如图2(a)所示的画面,飞溅的水滴形成了一个环状的形态,我们可以将环的中心视为某一个特征点 P,环的半径ρ作为邻域的大小,飞溅起来的水滴柱可以视作环上采样点的法向量 n,这样就构成了一个如图2(b)所示的Splash描述子,取不同的邻域半径,我们便可以得到多个Splash,这些 Splashes 编码成 Super-Splashes,于是就描述了局部表面块。图2 (a)中的参数含义,ρ为测地半径,p为特征点的位置向量,n 为 p 的法向量,以△$\theta$为步长角,在测地环上采样 m 个点,记这些点的法向量为n$\theta$。

  参考坐标系的定义分三步进行:

  (1)定义特征点 P 处的法向量 n 的方向为 Z 轴方向。

(2)P(位置向量)与 n 确定一个平面 EX 轴 为平面 E 内垂直于n的直线。

  (3)右手坐标系下,Y 轴垂直于 X 轴与 Z 轴。

图2 (a)牛奶滴   (b)Splash

  

  参考法线与采样点法线之间关系的定义:splash描述子可以用一个三维空间中参数曲线($\phi,\psi,\theta$)来表示。

B. 3-D Curve(三维曲线)

  对于某些物体,例如多面体,一般用边来表示,由此启发,在描述一个物体时,可以通过提取物体表面上深度和方向不连续的点,这些点构成三维线段。我们考虑用多边形来近似表示这些曲线,这里引入一个定义,super-segment,表明由多条线段组成的超线段。我们在这里计算超线段的曲率(Ki)与绕率(ti),它们的定义如下:

  最后,我们对含有 n 个线段的SS的Super-Segment进行编码:

  最后,我们用下面的流程图来总结一下Splash特征的提取过程:

  

 

参考文献:F. Stein and G. Medioni, “Structural indexing: Efficient 3D object recognition,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 14, no. 2, pp. 125–145, Feb. 1992.

[持续更新中]

转载于:https://www.cnblogs.com/KeepRunningHard/p/4871042.html

Splash特征描述子相关推荐

  1. PCL:点云特征描述子3D_object_recognition_(descriptors)

    PCL官网:https://pointclouds.org/ 翻译自该网站:http://robotica.unileon.es/index.php/PCL/OpenNI_tutorial_4:_3D ...

  2. BRIEF 特征描述子

    FROM:http://www.cnblogs.com/ronny/p/4081362.html Binary Robust Independent Elementary Features www.c ...

  3. 特征描述子提取公用接口

    OpenCV封装了一些特征描述子提取算法,使得用户能够解决该问题时候方便使用各种算法.这章用来计算的描述子提取被表达成一个高维空间的向量 vector.所有实现 vector 特征描述子子提取的部分继 ...

  4. 自编码器深度分析+定制特征描述子构建初探

    1. 关于tailored 特征描述子 自从深度学习的繁荣,利用自编码器.孪生网络.对抗网络采用数据驱动的形式设计tailored 特征描述子 成为了计算机视觉领域发展的重要推动力, 这不仅大大削弱了 ...

  5. sift计算描述子代码详解_浅谈SIFT特征描述子

    SIFT是我接触最早的图像局部特征描述子之一,其实最初,始终觉得局部特征描述子是些非常玄虚的东西.对于SIFT,这种感觉更是尤为强烈,"尺度空间""拉普拉斯高斯算子(Lo ...

  6. image.merge图像有什么变化_图像特征工程:HOG特征描述子介绍

    介绍 在机器学习算法的世界里,特征工程是非常重要的.实际上,作为一名数据科学家,这是我最喜欢的方面之一!从现有特征中设计新特征并改进模型的性能,这就是我们进行最多实验的地方. 世界上一些顶级数据科学家 ...

  7. SIFT算法特征描述子构建---关键点定位原理及代码

    0.引言 sift针对局部特征进行特征提取,在尺度空间寻找极值点,提取位置,尺度,旋转不变量,生成特征描述子. 总共分四个步骤: 尺度金字塔生成 关键点/极值点提取 生成梯度直方图 特征描述子构建 s ...

  8. 傅里叶描述子、HOG特征描述子原理及matlab代码

    一.傅里叶描述子 傅里叶描述子的作用是用来描述图像的轮廓信息,具有平移.旋转.尺度不变性特征. 对于一幅图像,通过傅里叶描述子获得其图像轮廓信息,其本质就是空间.频域变换问题.通过将图像中的像素点进行 ...

  9. 【特征匹配】BRIEF特征描述子原理及源码解析

    相关:Fast原理及源码解析 Harris原理及源码解析 SIFT原理及源码解析 SURF原理及源码解析 转载请注明出处: http://blog.csdn.net/luoshixian099/art ...

  10. 三维计算机视觉(五)--特征描述子

    PPF 机器人视觉中有一项重要人物就是从场景中提取物体的位置,姿态.图像处理算法借助Deep Learning 的东风已经在图像的物体标记领域耍的飞起了.而从三维场景中提取物体还有待研究.目前已有的思 ...

最新文章

  1. 软件质量保证与测试文档怎么写,软件质量保证与测试整理版.pdf
  2. JVM中线程是否可以并行执行
  3. [专栏目录]-Android专栏目录
  4. linux grep查找命令使用示例
  5. linux nona怎么用_nano命令_Linux nano 命令用法详解:字符终端文本编辑器
  6. 织梦task_do.php,织梦20160906更新后栏目空白问题
  7. 【机器学习】高斯过程python包安装过程
  8. ES 11 - 配置Elasticsearch的映射 (mapping)
  9. 抗滑桩弹性计算方法_抗滑桩设计与计算99147
  10. 拖拽上传技术-----html5[转载]
  11. lua 日期的一些函数
  12. microsoft visual c++与microsoft visual net 版本对应关系
  13. 山西好点的计算机专科学校排名及分数线,2019-2020山西专科学校排名及分数线(理科+文科)...
  14. NfcA/NfcB/NfcF/NfcV/IsoDep/Ndef/Mifare/Felica/Pboc/ISOxxxx 标签格式及标准
  15. 如何用photoshop做24色环_photoshop制作漂亮色环的教程(2)
  16. 把自己录制的mp3音乐分享到朋友圈
  17. 缓存路由关联的两个生命周期activated和deactivated
  18. Vben Admin 安装依赖l 安装报错:Error: command failed: c: \WINDOWS\system32\cmd.exe /s /c autoreconf -ify 解决办法
  19. 设计师常用的7款界面设计工具!
  20. 【资源】什么是原生广告 What Is Native Advertising?

热门文章

  1. python mysql传入多个参数
  2. sklearn 自定义函数转化器FunctionTransformer使用
  3. sklearn2pmml模型转化实践
  4. Python下opencv(图像的阈值处理)
  5. 2021-06-13并发线程控制方法3种
  6. Java之数组(上)
  7. C++ std :: fill()函数
  8. FISCO BCOS源码(2)启动顺序
  9. thinkphp5引入调用外部类
  10. springboot学习笔记2106版