matlab 投票法_二维解析张量投票算法研究

张量投票(Tensor voting)理论是一种经典的显著性结构特征推理理论, 最初由南加利福尼亚大学Guy等首先提出[.其基本思想源于心理学领域的Gestalt原理, 即:人类视觉系统趋于根据某种准则将所提取到的图像特征按照某种规律编组为更高层的结构[.张量投票本意在于从带有强噪声、离群点的三维点云中推理隐含的结构特征[.在随后的近20年中, 张量投票因其强大的显著性结构推理能力受到了国内外学者的广泛关注.经过不断的完善, 已成功应用于图像处理、点云处理、计算机视觉等多个领域[.具有代表性的研究成果有: Tang等应用张量投票实现了强噪声三维点云中采样点主曲率及其方向的鲁棒估计, 避免了传统曲率估计方法由于曲面拟合及求导造成的噪声敏感问题[; Tong等将张量投票用于二维图像和三维点云数据的边界结构推理中, 实现了存在离群点、噪声、方向不连续等因素下, 三维点云曲面边界、二维人脑MRI影像的边界结构推理[; 此外, Tong等还将4D张量投票用于非静态场景的对极几何参数估计[, 该方法采用一种非迭代推理机制求取对极几何参数, 避免了传统的基于优化的参数估计中初值敏感、局部极值效应、参数空间维数对优化过程影响等不利因素; Mordohai等将张量投票用于两幅静态图像的匹配, 解决了在带有离群点、缺失纹理信息情况下静态图像的可靠匹配问题[; Kim等基于张量投票提出了一种三角网格曲面$n$维特征识别方法, 实现了三角网格曲面几何属性特征和附加属性(如颜色)特征的识别等[.当前, 张量投票已成为感知分组和机器学习领域的经典理论之一[.

尽管张量投票具有强大的结构特征推理能力, 但计算效率一直是制约该理论进一步应用于工程实际最为关键的因素之一.究其根源, 造成该算法效率低的主要原因在于长期以来传统的张量投票过程一直无法得到解析形式求解表达式, 只能依赖数值计算进行近似求解, 计算过程复杂、耗时, 利用数值计算求解时, 计算精度和计算效率之间存在矛盾[.近年来, 国内外学者为解决上述问题不断进行探索, 具有代表性的研究成果有: Wu等提出了一种闭式张量投票算法(Closed-form solution to tensor voting, CFTV), 该算法通过构造新的投票关系, 将积分式整理为一个新的数学表达式, 这在投票过程中就大大节省了计算时间[.然而, Maggiori等从理论分析到实际举证两个方面均证明了CFTV算法存在本质性的错误[.

为了解决传统2D张量投票计算过程复杂、耗时, 计算精度与计算效率存在矛盾的问题, 本文基于局部坐标构架, 设计了一种二维解析张量投票新机制, 推导了二维棒张量和二维球张量投票解析表达式, 应用该表达式可实现二维棒张量和二维球张量的直接、快速、精确投票, 为二维图像、二维点集的快速、鲁棒结构推理奠定基础.需特别指出的是, 本文研究方法可进一步推广至高维张量投票, 进而用于高维数据结构的精确、鲁棒推理.

1 传统张量投票算法

利用原始张量投票(Original tensor voting, OTV)算法进行高维数据结构推理, 从本质上讲是通过邻近点之间传递(投票)张量(微分几何信息)的机制, 从大量、不可靠(含有噪声、离群点的、微分几何信息估计不准确的)推理其隐含的几何结构的一种方法.其机制类似于Hough变换, 且其应用范围更广, 可推广至$N$维.利用张量投票理论进行显著性结构推理可以描述为如下三步:张量编码、张量投票和张量分解, 如

图 1(Fig. 1)

图 1

传统张量投票算法流程

Figure 1

Flow-chart of traditional tensor voting algorithm

在张量编码阶段, 根据已知信息(位置、法向、曲率等)将输入数据(点云、三角网格曲面等)表示为一系列稀疏张量(由正定对称矩阵表示), 若原始数据中只有位置信息, 则其被编码为一系列单位矩阵; 在张量投票阶段, 分别进行稀疏投票和稠密投票, 两者投票机制完全相同, 其区别在于:稀疏投票是对原始数据集中存在数据点的位置进行投票, 以通过投票提高张量信息的准确性, 稠密投票是对数据集分布空间内的规则栅格点进行投票, 形成稠密张量场, 为后续的结构特征推理服务; 在张量分解阶段, 对投票后的各张量矩阵进行特征分解(在二维空间中, 分解为棒张量分量和球张量分量, 在三维空间中, 分解为棒张量分量、板张量分量和球张量分量), 获得各张量分量及其显著性, 进而根据张量显著性进行结构推理[.纵观整个张量投票过程, 投票阶段的精度和效率成为影响整个算法性能的关键.本文着重从投票过程入手, 研究提高张量投票算法精度和效率的方法.

${p}$进行特征推理时, 首先将其邻近点${p_1}, {p_2}, {p_3}$, $\cdots$编码为二阶对称张量${T_1}, {T_2}, {T_3}, \cdots$, 再将各张量矩阵分解为棒张量分量${T_{Si}}$和球张量分量${T_{Bi}}$, 张量分解过程如下:

图 2(Fig. 2)

图 2

二维张量投票示意图

Figure 2

Illustration of tensor voting in 2D

若${T}$是二维空间中的二阶对称张量(非负定二阶对称矩阵), 则其可分解为

$

T=\lambda_1\pmb{e}_1\pmb{e}_1^{\rm{T}}+\lambda_2\pmb{e}_2\pmb{e}_2^{\rm{T}}

$

(1)

其中, ${\lambda_1}\geq{\lambda_2}\geq0$为${T}$的特征值, ${\pmb{e}_1}$和${\pmb{e}_2}$为对应的特征向量. ${T}_S=(\lambda_1-\lambda_2)\pmb{e}_1\pmb{e}_1^{\rm T}$称为$T$的棒张量分量, $\lambda_1-\lambda_2$为棒张量分量的显著性; ${T}_B=\lambda_2(\pmb{e}_1 \pmb{e}_1^{\rm{T}}+\pmb{e}_2\pmb{e}_2^{\rm{T}})$称为$T$的球张量分量, $\lambda_2$为球张量分量的显著性.

在张量投票过程中, 邻近点${p_i}$向点${p}$投出自己的选票(张量矩阵), 两种张量分量各自投票, 点${p_i}$累计来自各邻近点的棒张量投票和球张量投票, 用于推理自身的结构特征.

1.1 二维棒张量投票

下面以二维法向张量投票为例简要介绍传统棒投票过程.设如$o$处有一个棒张量$T=\pmb{v}\pmb{v}^{\rm{T}}$, 其中, $\pmb{v}=\left[\begin{array}{cccc} 0\\ 1 \end{array}\right]$, 则该棒张量在任一点$p$处的投票为$T_{so}(p)=$ $DF$ $\times$ $\pmb{v}'\pmb{v}'^{\rm{T}}$, 其中$DF$为衰减函数, $\pmb{v}'$为用于构建棒投票张量矩阵的单位向量.由此可知, 二维空间中的棒张量投票可表示为单位向量$\pmb{v}'$的估计问题.为此, 张量投票理论提出$\pmb{v}'$应从点$p$指向连接$op$两点的密切圆弧的圆心, 因为这条圆弧能够保持曲率不变.

图 3(Fig. 3)

图 3

标准棒张量投票示意图

Figure 3

Illustration of standard stick tensor voting

由$\pmb{v}'=\left[\begin{array}{cccc}-\sin(2\theta)\\ \cos(2\theta) \end{array}\right]$.传统棒张量投票理论定义衰减函数$DF$如下:

$

DF(s, k, \theta)= {\rm e}^{-\frac{s^{2}+ck^{2}}{\sigma^{2}}}

$

(2)

其中, $s = \theta l/\sin \theta $为o

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值