当前位置: 首页 > news >正文

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值。

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

Marching Cubes等值面算法

在这里插入图片描述

http://www.lryc.cn/news/27357.html

相关文章:

  • 【Linux】孤儿进程
  • ChatGPT解答:python大批量读写ini文件时,性能很低,有什么解决方法吗,给出具体的思路和实例
  • MySql主键id不推荐使用UUID
  • 密码算法(SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算)
  • 保险行业中【内容行政系统】模块功能的实现
  • C语言入门知识——(7)VS2022的C语言基础调试
  • 数据库可视化开发工具内容介绍
  • 坚如磐石:TiDB 基于时间点的恢复(PiTR)特性优化之路丨6.5 新特性解析
  • 【云原生】K8S中PV和PVC
  • 24小时稳定性爆肝测试!国内外5款远程控制软件大盘点
  • 【Java集合框架】篇三:List接口
  • 【算法经典题集】二分(持续更新~~~)
  • 【c++】2023杭州月薪个税计算(chatGPT帮忙加注释)
  • 【TypeScript】的上手学习指南!
  • 红黑树(Insert())
  • MOV指令使用
  • 解释一下RecyclerView的适配器内部方法
  • 集合框架及背后的数据结构
  • 【强化学习】强化学习数学基础:蒙特卡洛方法
  • BI分析工具软件有哪些
  • 2023爱分析·RPA软件市场厂商评估报告:容智信息
  • 设计模式之七大原则(二)——里氏替换原则、依赖倒转原则
  • 数据库日常实操优质文章分享(含Oracle、MySQL等) | 2023年2月刊
  • 事件循环机制(Event Loop)和宏任务(macro-tast)微任务(micro-tast),详细讲解!!!
  • mysql基础操作3
  • 【Web安全】PHP安全
  • 双向链表+循环链表
  • Java程序的逻辑控制
  • BUCTOJ - 2023上半年ACM蓝桥杯每周训练题-1-A~K题C++Python双语版
  • 存储的本质-学习笔记