3D重建涉及的知识体系还是挺多的,我当时是看书+项目实操这样进行的,书我当时看的是SLAM十四讲,关于slam的学习入门资源:https://zhuanlan.zhihu.com/p/137761414
然后第二部分就是好的框架或是项目,站在前人的肩膀上学习会事半功倍,我汇总了一些我们团队学校三维重建时候整理的开源项目,这样更方便快速入门:
1、Meshroom ⭐4,474
Meshroom是一款基于AliceVision摄影测量计算机视觉框架的免费开源三维重建软件。
https:// github.com/alicevision/ meshroom
2、Openmvg ⭐2,829
Openmvg库根据三维计算机视觉和结构的运动。OpenMVG提供了一个端到端的3D重建,它由图像框架组成,包含库、二进制文件和管道。
OpenMVG是用c++开发的,可以在Android、iOS、Linux、macOS和Windows上运行。
https:// github.com/openMVG/open MVG
3、Awesome_3dreconstruction_list ⭐2,261
与图像3D重建相关的论文和资源精选清单
https:// github.com/openMVG/awes ome_3DReconstruction_list
4、Awesome Point Cloud Analysis ⭐1,801
关于点云分析(处理)的论文和数据集列表
https:// github.com/Yochengliu/a wesome-point-cloud-analysis
5、Opensfm ⭐1,635
OpenSfM是一个用Python编写的运动库的结构。该库作为一个处理管道,用于从多个图像重建相机姿态和3D场景。它由运动结构的基本模块(特征检测/匹配,最小解算)组成,重点是构建一个健壮的、可伸缩的重建管道。它还集成了外部传感器(如GPS、加速计)测量,以实现地理定位和鲁棒性。提供了一个JavaScript查看器来预览模型和调试管道。
https:// github.com/mapillary/Op enSfM
6、Alicevision ⭐1,318
AliceVision是摄影测量计算机视觉框架,可提供3D重建和相机跟踪算法。AliceVision旨在通过可测试,分析和重用的最新计算机视觉算法提供强大的软件基础。该项目是学术界和工业界合作的结果,旨在为尖端算法提供鲁棒性和生产使用所需的质量。
https:// github.com/alicevision/ AliceVision
7、Openmvs ⭐1,193
OpenMVS是面向计算机视觉的库,尤其是针对多视图立体重建社区的。尽管有针对运动结构管道(例如OpenMVG)的成熟而完整的开源项目,这些管道可以从输入的图像集中恢复相机的姿势和稀疏的3D点云,但没有一个解决摄影测量链的最后一部分-流。OpenMVS旨在通过提供一套完整的算法来恢复要重建场景的整个表面来填补这一空白。输入是一组摄影机姿势加上稀疏的点云,输出是带纹理的网格。该项目涉及的主要主题是:
https:// github.com/cdcseacave/o penMVS
8、Bundler_sfm ⭐1,158
https:// github.com/snavely/bund ler_sfm
9、Bundlefusion ⭐752
使用在线表面重新整合进行实时全局一致的三维重建
https:// github.com/niessner/Bun dleFusion
10、Face_swap ⭐636
面部交换:https://github.com/YuvalNirkin/face_swap
11、Scannet ⭐678
ScanNet是一个RGB-D视频数据集,包含超过1500次扫描中的250万次视图,使用3D摄像机姿态、表面重建和实例级语义分段进行注释。
https:// github.com/ScanNet/Scan Net
12、Softras⭐540
SoftRas是一个真正的可微分渲染框架,把渲染作为一个可微分的聚合过程,融合所有网格三角形的概率贡献相对于渲染像素。
https:// github.com/ShichenLiu/S oftRas
13、Pifu ⭐474
https:// github.com/shunsukesait o/PIFu
14、Matterport ⭐460
用于RGB-D机器学习任务的非常棒的数据集。
https:// github.com/niessner/Mat terport
15、Kimera⭐456
Kimera是一个用于实时度量-语义同步定位和映射的c++库,它使用摄像机图像和惯性数据来构建环境的语义注释3D网格。Kimera是模块化的,支持ros,在CPU上运行。
https:// github.com/MIT-SPARK/Ki mera
16、Mvs Texturing ⭐421
项目可以根据图像对3D重建进行纹理处理。该项目专注于使用运动和多视图立体技术的结构生成的3D重建。
https:// github.com/nmoehrle/mvs -texturing
17、Livescan3d ⭐402
LiveScan3D是一个实时三维重建系统,使用多个Kinect v2深度传感器同时进行三维重建。产生的3D重建形式是有色点云的形式,所有Kinect的点都放置在同一坐标系中。该系统的可能使用场景包括:
https:// github.com/MarekKowalsk i/LiveScan3D
18、Voxelhashing ⭐364
大规模、实时三维重建:https://github.com/niessner/VoxelHashing
19、Layoutnet ⭐298
从单个RGB图像重建三维房间布局
https:// github.com/zouchuhang/L ayoutNet
20、Tsdf Fusion Python ⭐295
这是一个轻量级的python脚本,可将多个颜色和深度图像融合到TSDF体积中,然后可以将其用于创建高质量的3D表面网格和点云。在Ubuntu 16.04上测试效果如下图:
https:// github.com/andyzeng/tsd f-fusion-python
21、Intrinsic3d ⭐231
通过外观和几何优化以及空间变化的照明实现高质量3D重构
https:// github.com/NVlabs/intri nsic3d
22、Kimera Semantics ⭐228
从2D数据进行实时3D语义重构
https:// github.com/MIT-SPARK/Ki mera-Semantics
23、Awesome Holistic 3d ⭐209
3D重建的论文和资源清单:
https:// github.com/holistic-3d/ awesome-holistic-3d
24、3dreconstruction ⭐151
使用Python3进行SFM的3D重建
https:// github.com/alyssaq/3Dre construction
25、Structured3d ⭐121
用于结构化3D建模的大型照片级数据集
https:// github.com/bertjiazheng /Structured3D
26、Synthesize3dviadepthorsil ⭐117
通过对多视图深度图或轮廓建模来生成和重建3D形状
https:// github.com/Amir-Arsalan /Synthesize3DviaDepthOrSil
27、Msn Point Cloud Completion ⭐111
https:// github.com/Colin97/MSN- Point-Cloud-Completion
28、Cnncomplete ⭐107
用于训练体积深层神经网络以完成部分扫描的3D形状的代码
https:// github.com/angeladai/cn ncomplete
29、Reconstructiondataset ⭐95
用于进行三维重建的一组图像
https:// github.com/rperrot/Reco nstructionDataSet
30、3d Recgan Extended ⭐81
从单个深度视图进行密集的3D对象重建
https:// github.com/Yang7879/3D- RecGAN-extended
更新与10.18
补充一些移动端的三维重建应用案例(搭载LiDAR)
三维重建 |宝藏AR应用:3D Scanner Pro(iPad LIDAR扫描仪):
三维视觉、SLAM方向全球顶尖实验室汇总:
汇总 | SLAM、重建、语义相关数据集大全:
可以关注我们公众号:三次方AIRX。三次方是一家专注于培养数字化人才的在线教育平台,帮助Z时代大学生和0-5年职场人获得混合现实、游戏开发、人工智能、大数据等多项专业能力。