TENSOR VOTING算法——续

这篇博文主要参考:
《range data analysis by free-space modeling and tensor voting》,By Bradford James King,主要参考第四章。http://download.csdn.net/detail/u010658879/8514365

1.完备空间、子空间、法向空间与切向空间的关系

N-D空间中,n组基张成完备空间 n1eeT (空间中任一点可由n组基线性表示)。从n组基中任选d组基,该d组基张成完备空间的子空间(子空间中任一点可由该d组基线性表示,而属于完备空间但不属于该子空间的点不可由该d组基线性表示)。
三维平面上任一点有唯一单位法向量 e1 ,该法向量 e1 可视为三维空间的一组基,该法向量张成的空间称为法向空间 e1eT1 (即三维空间的一个子空间)。
三维平面上任一点的切向是一个面(也是三维空间的一个子空间),该面可由垂直于 e1 的另外两组基 e2 e3 张成,称为切向空间,该空间表示为 e2eT2+e3eT3 。三维空间中,法向空间加切向空间构成完备空间(这一点非常重要), e1eT1+e2eT2+e3eT3=31eeT ,即三阶单位矩阵。读者可联想下三维空间中直线的切向与法向空间,进而便于理解到N-D空间中。

2.算法总流程

三维空间中,法向空间由一组基张成时,对应张量算法中的棒张量。法向空间由两组基张成时,对应张量算法中的板张量。依次类推。下图中 d 表示法向空间的维度。
TENSOR VOTING算法——续_第1张图片
输入点云默认只包含位置信息,所以初始化编码时,默认为球张量~
第一次投票只对点云位置投票,所以称作sparse voting。
第二次投票是对空间内所有位置的投票(空间内不只有点云,还有unoccupied space),称作dense voting。
最后一步是空间结构推理:面、线、交点、free space、unsure space、unseen space等

3.算法实现详述

参考:《range data analysis by free-space modeling and tensor voting》,By Bradford James King,第四章。
伪代码实现:参考附录2

4.个人对tensor voting的感受

参考《range data analysis by free-space modeling and tensor voting》,By Bradford James King的文章后,我觉得tensor voting的理论部分还是挺容易理解的。有了伪代码后,
要用C++实现tensor voting关键在于自己构建合适的数据结构。

5.tensor voting提取特征后呢~~

特征描述?,特征匹配?

你可能感兴趣的:(张量投票)