论文:Truncated Signed Distance Function: Experiments on Voxel Size
简称:TSDF
作者:Diana Werner等
时间:2014
相关:SDF
-
重要的一张图:
(a)中,绿色是物体表面,蓝色三角是视锥范围,黄色深度为正,红色深度为负,灰色是靠近表面的一些体素。
(b)中,以左图的蓝色射线为例,深度--tsdf的关系,距离表面的[-1000mm, 1000mm]是[-1, 1]的截断处,tsdf=0处为表面。 -
从SDF讲起:
depth(pic(x))是相机和最近物体表面(连线经过体素x)的测量深度(可由深度相机获得),cam(x)是相机与体素x的(沿光轴的)距离(相机在全局的位置已知,体素是自己定的全局中某个体素,故距离可得)。
-
而TSDF对SDF的改进,就是增加了截断,因为离表面太远的体素,我们记录下来SDF是没什么意义的,还浪费计算量和内存。
其实就是这么点事,把 sdf 根据设定的截断距离 t 归一化了,在 sdf(x)超过±t 时,tsdf(x)=±1,其他时候在 (-1 , 1) 之间。
-
上面说的是tsdf(x),那TSDF(x)是什么呢:
tsdf(x)是对体素x的第i次的单次的观测值,TSDFj(x)就是一个集大成的,对于第j∈[1, i]次观测的集合,每观测一次都更新,更新公式就是上面那个,带了权重。更新的作用是从不同角度去计算,增加准确度,并给没有过tsdf的体素一个交代。
TSDF都算出来之后,再用光线投射法(ray casting),符号的变化意味着有表面,用插值计算出精确的表面位置。