骨架提取之基于模板匹配的细化方法
体素的3*3*3邻域有2^26次方种情况,这篇论文给出的方法是,给出了简单点的邻域模板,满足模板的体素就是可以删除的简单点。模板有6个方向(Up、Down、North、South、West、East),以上M1到M6是针对体素U方向的,其他方向的模板只需要把U方向的模板进行旋转获得,以UD为垂直线顺时针分别旋转90°、180°、270°得到的是East、Down、West方向的模板,前后两个方向的模板则通过另外两个方向旋转获得。
模板有4类元素:0代表没有体素、1代表有体素、黑点代表不在乎它有没有体素、X代表它们当中至少有一个体素。
这个方法还满足了下列评判标准:
- 保拓扑
- 几何上要保持结果在模型中心
- 孤立点和线要保持不变
- 2*2*2的立方体在经过操作后会发生变化
骨架上的体素分成三种类型:线端点体素(点邻居只有1个)、线中间体素(点邻居只有2个)、交叉部分体素(点邻居至少2个)。
在一些对称的地方可能会造成体素消除过度,即一条线上剩下两个体素宽,他们被同时删除,就导致了这条线上被过度消除。
对模板进行一个下标指定,有助于理解。
在论文中的验证部分,作者给出了模板的一些特点和证明这个方法合理的论述。
其中特点有:
- 所有模板下标5的一定是0
- 下标18到26一定有一个体素
- 下标2如果是1,那么下标11一定是1。(6与14、8与16、4与13也是如此)
- 如果一个体素满足所有模板,那么它的边邻居去掉点邻居的集合中的体素都不能删除
- 如果一个体素能被M2、M3、M4及其衍生模板删除,那么下标22的体素不能删除