目录
0 我的疑问
1.三维重建在古建筑保护中能起到什么作用?就是存档,把它的3维形态给表现出来吗?可是我看了一些论文,好像就只实现了3D重建,但是没有实现最后一步纹理映射。那我的工作能在项目里面干个啥呢?不能实现最终的可视化。或者在毕业论文中把最后一步也给实现了,那这个时间好久哟,我能给项目带去什么呢?感觉他们建筑的自己用CAD软件慢慢画图,最多几个月就可以搞完了,而我要用这么久的时间实现的效果还不一定会让人家满意。害!
2.建筑学院那边能给的数据是哪些呢?应该图像、视频、excel。应该没有用三维激光扫描仪去采集到点云数据吧?这个仪器还是挺贵的。
3.3D重建方法有4种:深度图、点云、网格、体素,它们是可以互相混用吗?以我现在粗看的总结,可以通过单幅图像获取到点云数据,然后进行3D重建。然后如果要实现最后一步“纹理映射”的话,是需要用体素的,所以还需要进行点云到体素的转化。
4.做3D重建,到底需不需要好的硬件设备去采集点云,或者采集图像再生成点云。
4.现在不知道该看什么,有点混乱。
- 先不深入3D实现细节,先去关注3D重建怎么在古建筑上作用。
- 或者看其他方法在古建筑上的应用。
- 看看最终实现效果,怎么嵌入到网站、app。
1 什么是点云?
参考链接:绪论:什么是点云?
1.1 何为点云?
点云是某个坐标系下的点的数据集。
点包含了丰富的信息,包括三维坐标X,Y,Z、颜色、分类值、强度值、时间等等,不一一列举。
在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。
万物皆点云。
1.2 从何而来?
- 通过三维激光扫描仪进行数据采集获取点云数据。LiDAR(Light Detection And Ranging)中文翻译激光探测与测量,LiDAR获取的数据就是点云数据,同时也对点云数据进行处理加工以及应用。
- 通过二维影像进行三维重建,在重建过程中获取点云数据
- 通过三维模型来计算获取点云
1.3 点云有什么用?
3.1 三维重建
高精度三维点云数据通过算法拟合生成曲面,用于三维建模,精度高,细节更精细,同时,建模速度快。
3.2 行业应用
测绘、自动驾驶、农业、规划设计、考古与文物保护、医疗等。
2 深度图像、点云、体素、网格
参考链接:3D重建—深度图,网格,体素,点云
这篇文章真的特别好:基于深度学习的视觉三维重建研究总结
常见的三维重建表达方式
常规的3D shape representation有以下四种: 深度图(depth)、点云(point cloud)、体素(voxel)、网格(mesh)。
愚见:
- 点云一般用于大型数据,例如建筑群。而且需要三维激光扫描仪LiDAR这种昂贵的设备。
- 基于网格的研究可能好弄些,因为比较轻量级。
(1)深度图 depth map(越黑表示越近)
深度图其每个像素值代表的是物体到相机xy平面的距离,单位为 mm。
(2)点云 point cloud
点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标X,Y,Z、颜色、分类值、强度值、时间等等。在我看来点云可以将现实世界原子化,通过高精度的点云数据可以还原现实世界。万物皆点云,获取方式可通过三维激光扫描等。(可以详见上一节)
(3)体素 voxel
体素是三维空间中的一个有大小的点,一个小方块,相当于是三维空间中的像素。
(4)网格 mesh
三角网格就是全部由三角形组成的多边形网格。多边形和三角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如建筑、车辆、人体,当然还有茶壶等。任意多边形网格都能转换成三角网格。
三角网格需要存储三类信息:
- 顶点:每个三角形都有三个顶点,各顶点都有可能和其他三角形共享。(顶点越密集,表征能力越好)
- 边:连接两个顶点的边,每个三角形有三条边。
- 面:每个三角形对应一个面,我们可以用顶点或边列表表示面
关于三角网格的经典论文:
-
基于单幅图像的自监督三维网格重建 Self-Supervised 3D Mesh Reconstruction from Single Images(CVPR 2021)
-
基于mask-rcnn的增强网络 Mesh R-CNN(ICCV 2019)
-
用三角网格来做单张RGB图像的三维重建 Pixel2Mesh(ECCV 2018)
-
单图像三维重建、2D到3D风格迁移和3D DeepDream Neural 3D Mesh Renderer(CVPR 2018)
可能有用的论文:
- 影像三维重建的网格自适应快速优化[J]. 武汉大学学报 ● 信息科学版, 2020
3 三维重建流程
参考链接:三维重建技术概述——重建流程 图2-6显示的流程表明,对获取到的每一帧深度图像均进行前六步操作,直到处理完若干帧。最后完成纹理映射。

比较好的链接🔗
三维重建 3D reconstruction 有哪些实用算法? - 阿飞的回答 - 知乎 https://www.zhihu.com/question/29885222/answer/1242628310
曹力科的回答 - 知乎 https://www.zhihu.com/question/29885222/answer/918009389
这个小姐姐的知乎专栏挺不错的:是基于mesh三维重建论文分享的 https://www.zhihu.com/column/ontree
博客园-Lainey❤的随笔-https://www.cnblogs.com/lainey/category/1174210.html
基于深度学习的视觉三维重建研究总结 - MoonSmile的文章 - 知乎 https://zhuanlan.zhihu.com/p/79628068
4 常用三维数据集
来源于论文:《基于深度学习的三维数据分析理解方法研究综述_李海生》

5 三维重建知识点
5.1 传统的三维重建技术
基于主动视觉的三维重建技术主要包括结构光法、激光扫描、雷达技术(三角测量法、TOF 测距法)、Kinect 技术等。
被动视觉方法又可以根据相机数目、匹配方法、应用方法等不同大方向来分类。
三
维
重
建
技
术
{
主动视觉
{
结构光法
激光扫描
雷达技术
{
三角测量法
TOF测距法(激光飞行时间法[Time of Flight,TOF])
Kinect技术
被动视觉
{
相机数目
{
单目:SfM、SVO、REMODE
双目/多目
匹配方法:SIFT、ORB、BM、 SGBM
应用方法
{
神经网络
深度学习
三维重建技术\left\{\begin{array}{l} \text { 主动视觉 }\left\{\begin{array}{l} \text { 结构光法 } \\ \text { 激光扫描 } \\ \text { 雷达技术 } \left\{\begin{array}{l} \text { 三角测量法 } \\ \text { TOF测距法(激光飞行时间法[Time of Flight,TOF]) } \end{array}\right.\\ \text { Kinect技术 } \end{array}\right. \\ \text { 被动视觉 }\left\{\begin{array}{l} \text { 相机数目 } \left\{\begin{array}{l} \text { 单目:SfM、SVO、REMODE } \\ \text { 双目/多目 } \end{array}\right.\\ \text { 匹配方法:SIFT、ORB、BM、 SGBM } \\ \text { 应用方法 } \left\{\begin{array}{l} \text { 神经网络 } \\ \text { 深度学习 } \end{array}\right. \end{array}\right. \end{array}\right.
三维重建技术⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧ 主动视觉 ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧ 结构光法 激光扫描 雷达技术 { 三角测量法 TOF测距法(激光飞行时间法[Time of Flight,TOF]) Kinect技术 被动视觉 ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧ 相机数目 { 单目:SfM、SVO、REMODE 双目/多目 匹配方法:SIFT、ORB、BM、 SGBM 应用方法 { 神经网络 深度学习
上面的是从两篇2021年学位论文《电子科大_基于深度学习的单幅图像平面三维重建》、《中北大学 _基于深度学习的图像三维重建的研究》中总结出来的。(找时间且还记得的话,一定要把这两篇论文仔细看看!)
下面的是从链接🔗中粘贴过来的,这个链接挺不错的:基于深度学习的三维重建算法综述


5.2 三维数据表现形式

6 可能有用的网站
一款3D游戏:https://hubs.mozilla.com/#/
ThingJS游戏式搭建数字孪生3D园区-森园区 CampusBuilder:http://www.thingjs.com/guide/campus/
一篇英文综述分享《Single image 3D object reconstruction based on deep learning: A review》:基于深度学习的单幅图像三维物体重建综述
X 一点杂乱的文献笔记
知网文章:浅谈单图像三维重建算法 - 我爱计算机视觉的文章 - 知乎 https://zhuanlan.zhihu.com/p/482365772
[1] Hu_Self-Supervised_3D_Mesh_Reconstruction_From_Single_Images_CVPR_2021_paper
参考知乎文章:读 Self-Supervised 3D Mesh Reconstruction from Single Images
这篇文章阅读论文的3个步骤还挺好的!why(开展原因)、what(主要贡献)、how(具体步骤)
论文地址:Hu_Self-Supervised_3D_Mesh_Reconstruction_From_Single_Images_CVPR_2021_paper
作者:Tao Hu, Liwei Wang, Xiaogang Xu, Shu Liu, Jiaya Jia
发表: CVPR 2021
Github链接:https://github.com/dvlab-research/SMR
What:
- 提出一个自监督 3D Mesh 重建方法(Self-supervised Mesh Reconstruction, SMR)
- SMR只需要轮廓 mask 作为标注,就可以重建自然界的物体,比如鸟、牛、自行车
- 这个方法在多个数据集上,都提升了有监督和无监督的对2D图像进行3D重建模的效果
- 这个方法还可以迁移到其他图像合成任务上,比如新视角生成、形状转换、材质转换等等
[2] 2_2019_ 自动化学报EI _深度学习在基于单幅图像的物体三维重建中的应用
发表:自动化学报 EI 2019
get some words:
-
keywords:3D reconstruction(三维重建),single image(单幅图像)
-
纹理 (Texture)
-
CAD是计算机辅助设计,是一个制图软件。
基于单幅图像的重建可分为两类:
- 物体(Object)的重建(本文的综述重点)
- 场景(Scene)的重建
评价重建效果的标准:
- Hausdorff 距离(一些传统方法采用)
- IoU(深度学习中采用比较多)
- CD (Chamfer distance) 值(注重物体几何外形)
三维模型与二维图像相比 , 因为多了一维信息 , 所以更能将物体的真实感和细节的质感与纹理表现出来。
从基于体素表示和基于点云、网格表示两个方面介绍深度学习在三维重建中的研究现状。
[3] 3_2021_ 电子科技大学学位论文 _基于深度学习的单幅图像平面三维重建
get some words:
- keywords:Planar 3D Reconstruction(平面三维重建)
知识点:
(1)由于相机的成像过程是一个投影过程,损失了深度信息,因此根据单幅图像进行三维重建是一个不适定问题,即一张图像可以对应无穷多个三维场景。
(“深度信息”、“不适定问题”这两个词在“三维重建”相关资料中出现的频率挺高的)
为了解决该问题,传统的三维重建方法大多依赖于多张图像,利用多视图的几何原理来进行三维重建,比如:
- SfM系统:从运动中恢复结构(Structure from Motion,SfM)[11] 系统;
- SLAM系统:视觉即时定位和地图构建(Simultaneous Localization and Mapping,SLAM)[12] 系统。
然而这些方法通常依赖于手工设计的特征表达,比如:
- SIFT特征:尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)特征 [13]
- ORB:ORB (Oriented FAST and Rotated BRIEF)特征 [14] (ORB不是特征的名字,是一种完成图像间特征匹配的方法)
通过这些特征来进行特征点匹配,而这在缺少纹理和存在重复模式的场景下表现较差。
同时,这些方法需要多个视角的图像作为输入,这对硬件设备要求较高,存在计算量大,实时性较差的问题。
开始用深度学习来解决三维重建问题并取得成功。深度学习技术取得成功的原因在于:
- 神经网络能自动学习特征表达,避免手工设计特征表达。
- 同时深度神经网络具有强大的拟合能力,通过学习能够自动建模大量的先验信息。
因此,利用深度学习技术能够缓解根据单幅图像进行三维重建过程中的不适定问题,这使得基于单幅图像进行三维重建变得可能。
(2)单幅图像三维重建任务旨在根据相机拍摄的单张图像,构建出目标场景能在计算机中进行表达和处理的数学模型。