TSDF学习记录

【唐宇迪】三维重建-TSDF通俗解读 人工智能入门教程

水泡动画模拟(Marching Cubes) - 算法小丑 - 博客园 (cnblogs.com)

TSDF

流程分析

  1. 首先需要构建一大块空区域
  2. 采用体素网格来存储该区域
  3. 需要计算每个体素的TSDF值及其权重

原理简述

SDF值:它到最近的表面的距离

  • X是其中一个体素,绿色是离它最近的平面
  • P点是平面上离X最近的一点
  • PX的模即为SDF
  • 其中T表示为截断的意思,例如大于1记为1,小于-1记为-1。

计算流程:如何计算TSDF呢?

  • 面到相机的深度是ds,相机采集到的深度是dv,则d(x) = ds - dv;

  • d(x) > 0说明该体素在真实的面的前面;反之则说明在真实的面的后面。
    在这里插入图片描述

坐标转换

  1. 遍历每一个体素,计算其在世界坐标系中的位置
  2. 根据初始“大块”时设置的极点位置和体素大小决定
  3. 再将其在世界坐标中的值转换成其在相机坐标系中的位置(其到相机坐标原点的距离就是dv)
  4. 再根据相机内参,转换到像素坐标(因为我们由深度图,得到像素坐标就能得到其深度值)

TSDF组合

每个体素的值是增量更新的,每一帧图像都会更新体素的TSDF值。

例如第二帧是由其结果与第一帧组合得到,第三帧是组合了第二帧。
t s d f ( t ) = g ( t s d f ( t − 1 ) , t s d f ( t ) ) , t ≥ 1 tsdf(t) = g(tsdf(t - 1),tsdf(t)),t ≥ 1 tsdf(t)=g(tsdf(t1),tsdf(t)),t1

Marching Cubes等值面算法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值