张量投票(Tensor voting)理论快速入门
来源:互联网 发布:建设银行营销员来源码 编辑:程序博客网 时间:2024/04/29 17:31
本文内容与截图主要参考[A Computational Framework for Segmentation and Grouping,Gérard Medioni, Mi-Suen Lee and Chi-Keung Tang]
(http://download.csdn.net/detail/u010658879/8476737%20A%20Computational%20Framework%20for%20Segmentation%20and%20Grouping)
和A Perceptual Organization Approach to Computer Vision and Machine Learning
算法流程
算法流程图示:
- Input tokens: 输入点云,分三类:只包含位置信息的点、包含位置和法向信息的点、包含位置和切向信息的点。
- Encode: 参考输入信息,将输入点云参照下两幅截图图编码成张量(tensor tokens)。每个输入点都对应一个张量。如无特殊说明,后面提到“张量”,都指二阶张量。
二维张量编码参考:
比如,输入点p(x,y) 包含法向信息n(nx,ny) (即棒张量),则该点编码为张量其中S=(λ1−λ2)e^1e^T1+λ2(e^1e^T1+e^2e^T2), (λ1−λ2)=1,表棒张量显著性=1;λ2=0,表球张量显著性=0;e^1=n^
即S=n^n^T ,其他类型类似。
三维张量编码参考: Tensor Voting:
This process is similar to a convolution with a mask, except that the output consists of a tensor, instead of a scalar.每个输入点都对应一个张量,产生一个张量场,对邻域的不同点有不同的场强影响。二维棒张量场和球张量场如下图左,下右图表示
O 点产生的棒张量场可作用到领域点P 张量上。
现讨论二维张量的投票过程:先设棒张量对邻域点p 作用的张量算子FS(p) ,球张量对邻域点p 作用的张量算子FB(p) ,后面会具体提到几种张量算子的具体形式;
假设输入只有两点p1,p2 (可推广到无数个点),分别编码为下标0表示第0次投票后,S0,i=(λi,1−λi,2)e^1e^T1+λi,2(e^1e^T1+e^2e^T2)=SS0,i+SB0,i, i 取值为p1,p2 。
Stick vote.点p1 收集到的棒投票张量就是点p2 投出的棒投票张量,即FS(p1) ,一次棒张量投票后点p1 的张量变为SS1,p1=SS0,p1+(λp2,1−λp2,2)FS(p1)
Ball vote.同理有点p1 收集到的球投票张量FB(p1) ,一次球张量投票后点p1 的张量变为SB1,p1=SB0,p1+λp2,2FB(p1)
最后汇总一次投票后的各个点的张量S1,i=SS1,i+SB1,i
三维张量场如下图,三维场!!Tensor Decomposition:由于任一张量可分解为球张量、板张量、棒张量的线性组合,一次投票后,各点张量信息得到改善,再次进行张量分解为下图的形式
然后进行二次张量投票,与第一次不同的是,这一次球张量不再有投票权(加速算法的目的)。几种张量算子(Tensor kernel)
把二维棒张量作为张量投票基本算子,因为其他几类张量算子都可由棒张量算子推导获得。
显著性衰减函数
s -曲线长度,κ -曲率,c -控制曲率衰减程度,σ -投票邻域范围,l -两点间的距离
基本算子中唯一的变量就是σ ,只要O,P 两点定了其他量也恒定了。
二维球张量算子
R(θ) -旋转θ 角度的二维矩阵。为求方便,会用累加求和BSO(P)=∑i=1Kv→iv→Ti vi are the stick votes tensors with angle2πKi
三维球张量算子
三维板张量算子
~~~~~~~~~~华丽分割线~~~~~~~~~~
MATLAB代码仿真:可从github上找到,也可以从[http://download.csdn.net/detail/u010658879/8515907]下载
后来找到更好的tensor voting相关资料(包含伪代码实现,见附录2),下载地址(http://download.csdn.net/detail/u010658879/8514365)
- 张量投票(Tensor voting)理论快速入门
- Tensor(张量)
- tensor(张量)
- 张量(tensor)文献
- 结构张量structure tensor
- 张量分解 (Tensor)
- 什么是张量 (tensor)?
- 张量(tensor)的理解
- 张量(tensor)的基本概念
- tensor toolbox 处理稀疏张量
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
- #####tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构 ***********######
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
- tensorflow+入门笔记︱基本张量tensor理解与tensorflow运行结构
- TENSOR VOTING算法——续
- 张量展开与tensor tool box
- NGUI学习笔记汇总
- Android: 在WebView中获取网页源码
- final关键字的作用
- opencv中头文件详解
- jj120522的专栏 有不少界面效果实现
- 张量投票(Tensor voting)理论快速入门
- Mysql创建、删除用户
- CentOS下yum安装mysql,jdk以及tomcat
- Unity3d动画脚本 Animation Scripting
- Java内部类详解
- iOS性能优化:Instruments使用实战
- 异步I/O 设备内核对象,事件内核对象,可提醒I/O 接收I/O通知
- [Qt]解决QPushButton的toggled无法触发setvisible
- OnDisable与OnDisable的区别