稠密重建
1. 加载图像 从Scene类中将image加载到DenseDepthMatData类中。
2. 选择用于稠密重建的图像,该图像是否存在有效的邻居视图,用来计算深度信息。
("Multi-View Stereo for Community Photo Collections", Goesele, 2007) 对应于论文5.1 部分 代码Scene.cpp 470行
3. 稠密重建估计。分为 a 处理图像, b 估计深度图,c 优化深度图,d 存档四步。
a 处理图像:确定邻居图像 2 + MRF优化
b 估计深度图:
("Accurate Multiple View 3D Reconstruction UsingPatch-Based Stereo for Large-Scale Scenes") 第3部分B Depth-Map Computation SceneDensify.cpp 659行
CGAL三角剖分 直接从空间转换
c 优化深度图:包括去除斑点和间隙插值。 Accurate, Dense, and Robust Multi-View Stereopsis 拓展
d 存档:存储到对应的dmap文件当中。
4. 稠密重建过滤。分为 a 过滤深度图,b 调整深度图。
a 过滤深度图:使用置信度融合过滤
("Real-Time Visibility-Based Fusion of Depth Maps", Merrell, 2007) 4.2 SceneDensify.cpp 1044
b 调整深度图:删除旧的,保存新的。
5. 融合深度图。a 遍历Scene.image加载对应的图像深度信息,b 融合深度图
网格重建
1. 构建Delaunay tetrahedralization 四面体
2. 将alpha_vis(point)添加到图中单元格的有向边 “Multi-View Reconstruction Preserving Weakly-Supported Surfaces” 第2节 第4节
sigma σ 论文 "Exploiting Visibility Information in Surface Reconstruction to Preserve Weakly Supported Surfaces" 第3节 代码 900行
a 计算四面体每条边的权重 “Multi-View Reconstruction Preserving Weakly-Supported Surfaces” 4.2 代码 905 - 1000行
b enforce t-edges for each point-camera pair with free-space support weights
对应论文 "Exploiting Visibility Information in Surface Reconstruction to Preserve Weakly Supported Surfaces" 公式6 代码 1007 公式2
3. 图割算法 运行Graph-cut并提取网格 " Robust and efficient surface reconstruction from range data " 第2节