Lecture 13 Surface Reconstruction
建模:设计与重建
- 曲面设计(Design)
- 不存在的物体:通过人工交互凭空设计出新的物体
- CAGD (NURBS)、mesh modeling
- 存在的物体:通过人工交互编辑修改构建出新的物体
- Editing, deformation
- 不存在的物体:通过人工交互凭空设计出新的物体
- 曲面重建(Reconstruction)
- 存在的物体:对其采集并进行数字化构建
- 也称为:逆向工程、扫描重建
- Reverse engineering, scanning
曲面重建的基本路线:
数据采集
医学图像处理:从截面出发
更多的处理:从表面出发
- 输入单张图片,只考虑局部光照,反向求渲染方程 Shape from shading (SFS)
多视角重建(输入多张图片,基于多视角几何)
- 难点:相机之间的同步问题
Structured light (结构光/白光)重建
结构光3D扫描仪:多用于CAD建模
SfM & SLAM
SLAM主要流程:
- Laser Radar (激光雷达测距)
Depth Images 深度图片
深度相机原理:
Time of flight, TOF
Kinect
Shape from Silhouette/Contours(剪影/轮廓的形状)
Probing(探针,机械方式,可能划伤物体表面)
image-20241114103321319 全景相机(Panorama)
- 多张图片拼接而成(拟三维:非真三维)
- 千亿像素图片
配准
需要解决的问题:用多个视点进行扫描,每个视点得到分片3D数据,如何将这些分片数据合并成一个整体数据?
问题建模:
对准的误差:
先验知识的误差:
全局优化/用图像做配准:
整合
数据并不完美,需要对数据进行优化
整合的目的:
常见方法:
去噪
重采样
补全
重建
重建存在很多限制:
重建方法大体可分为两大类:
逼近法:构建连续函数,通常涉及散乱数据插值方案
NURBS(非均匀有理B样条)曲面:一种常用的曲面建模技术。
带符号距离(Signed distances):由Hoppe等人在1992年提出,用于表示点到表面的有符号距离。
径向基函数重建(Radial basis function reconstruction):由Carr等人在2001年提出,使用径向基函数进行表面重建(类似距离场,隐式函数方法,法向非常重要)。
泊松重建(Poisson reconstruction):由Kazhdan等人在2006年提出,利用散乱数据点的颜色和位置信息进行表面重建。
Marching Cube:基于体素求解
离散法:点和点连接起来,直接构建三角形网格(离散方法需要假设点的采样足够密集)
中轴:
Voronoi图可以用来逼近中轴:
Crust(Amenta & Bern,1998):提出了一种基于Voronoi图的表面重建算法。
Power-crust(Amenda et al. 2001):一种基于Voronoi图的表面重建方法,用于生成更平滑的表面。
Cocone(Dey & Giesen 2001):一种基于Voronoi图的表面重建方法,用于生成具有特定属性的表面。
Cazals & Giesen(2006):提出了一种改进的表面重建算法。
......
基于字典学习的曲面重建
- Xiong et al. Robust Surface Reconstruction via Dictionary Learning. Siggraph Asia 2014.
- 不逼近也不用原来的点构建网格,而是重新采样得到网格
- 交替迭代法
- 度量误差:
Hybrid Methods
- 演化模型:
- 双向演化模型:
后处理
Repairing, denoising, smoothing, simplification…
- Filling Holes in Meshes:
- Robust Repair of Polygonal Models
- Context‐based Surface Completion
- Example‐based Surface Completion
- Atomic Volumes for Mesh Completion
- Geometry Completion by Texture Synthesis
- More…
动态物体的3D重建
多一个时间维度
3D动态重建的困难性:
- 数据量大
- 数据采集困难
- Single‐Camera
- Multi‐Camera
- 数据结构复杂
- Geometry
- Color
- Topology
- 硬件需求高
- ......
General Pipeline:
动态物体的3D重建分为离线和在线,在线对计算速度要求较高,常见技巧是用上一帧的结果稍做改变去fit下一帧内容。