流程分析:
- 首先需要构建一大块空区域(不能太大,GPU放不下)
- 一般把这个大区域叫做volume
- 它有很多个小区域组成,每个角voxel(体素)
- 需要计算每个voxel的TSDF值及其权重
初始化操作:
- 一个三维的大区域(TSDF图)由LxWxH个三维小方块组成
- 其中每一个小方块的大小也是自己定义的,例如0.05mx0.05mx0.05m
- 5mx5mx5m的真实三维场景中有10^6个体素,计算量很大
- 一般都用GPU来算,CPU也可以,但是会很慢
要对每个体素计算什么呢?(一个体素的SDF值,是它到最近的表面的距离)
- x是其中的一个体素,绿色是离它最近平面
- P点是平面上离X最近的一点
- 它两之间的距离就是SDF(要计算的结果)
- 其中T表示截断的意思(太近太远的设为 定值 )
- 0表示最近,1和-1分别表示正面和反面最远

如何计算TSDF呢?
- 面到相机的深度是ds,相机采集到的深度dv,则d(x)=ds-dv
- d(x)>0说明该体素在真实的面的前面;反之则说明改体素在真实的面的后面

- 转换操作(ds,其实就是我们的深度图中的数值)

本文详细介绍了三维重建中TSDF(Truncated Signed Distance Field)的计算方法,包括初始化大块体积、计算每个体素的SDF值、转换操作以及TSDF的融合过程。通过TSDF,可以将不同视角的图像信息整合,形成连续的三维表面。这一过程涉及到深度图、体素网格、相机坐标系转换和多帧融合等关键技术。
最低0.47元/天 解锁文章
2万+





