三维重建开源项目汇总
推荐:将 NSDT场景编辑器 加入你的3D开发工具链。
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/openMVG
3、Awesome_3dreconstruction_list ⭐2,261
与图像3D重建相关的论文和资源精选清单
https://github.com/openMVG/awesome_3DReconstruction_list
4、Awesome Point Cloud Analysis ⭐1,801
关于点云分析(处理)的论文和数据集列表
https://github.com/Yochengliu/awesome-point-cloud-analysis
5、Opensfm ⭐1,635
OpenSfM是一个用Python编写的运动库的结构。该库作为一个处理管道,用于从多个图像重建相机姿态和3D场景。它由运动结构的基本模块(特征检测/匹配,最小解算)组成,重点是构建一个健壮的、可伸缩的重建管道。它还集成了外部传感器(如GPS、加速计)测量,以实现地理定位和鲁棒性。提供了一个JavaScript查看器来预览模型和调试管道。
https://github.com/mapillary/OpenSfM
6、Alicevision ⭐1,318
AliceVision是摄影测量计算机视觉框架,可提供3D重建和相机跟踪算法。AliceVision旨在通过可测试,分析和重用的最新计算机视觉算法提供强大的软件基础。该项目是学术界和工业界合作的结果,旨在为尖端算法提供鲁棒性和生产使用所需的质量。
https://github.com/alicevision/AliceVision
7、Openmvs ⭐1,193
OpenMVS是面向计算机视觉的库,尤其是针对多视图立体重建社区的。尽管有针对运动结构管道(例如OpenMVG)的成熟而完整的开源项目,这些管道可以从输入的图像集中恢复相机的姿势和稀疏的3D点云,但没有一个解决摄影测量链的最后一部分-流。OpenMVS旨在通过提供一套完整的算法来恢复要重建场景的整个表面来填补这一空白。输入是一组摄影机姿势加上稀疏的点云,输出是带纹理的网格。该项目涉及的主要主题是:
-
密集的点云重构,以获得尽可能完整,准确的点云
-
网格重建,用于估计最能解释输入点云的网格表面
-
网格细化可恢复所有精细细节
-
网格纹理,用于计算清晰准确的纹理以对网格着色
https://github.com/cdcseacave/openMVS
8、Bundler_sfm ⭐1,158
https://github.com/snavely/bundler_sfm
9、Bundlefusion ⭐752
使用在线表面重新整合进行实时全局一致的三维重建
https://github.com/niessner/BundleFusion
10、Face_swap ⭐636
面部交换:https://github.com/YuvalNirkin/face_swap
11、Scannet ⭐678
ScanNet是一个RGB-D视频数据集,包含超过1500次扫描中的250万次视图,使用3D摄像机姿态、表面重建和实例级语义分段进行注释。
https://github.com/ScanNet/ScanNet
12、Softras⭐540
SoftRas是一个真正的可微分渲染框架,把渲染作为一个可微分的聚合过程,融合所有网格三角形的概率贡献相对于渲染像素。
https://github.com/ShichenLiu/SoftRas
13、Pifu ⭐474
https://github.com/shunsukesaito/PIFu
14、Matterport ⭐460
用于RGB-D机器学习任务的非常棒的数据集。
https://github.com/niessner/Matterport
15、Kimera⭐456
Kimera是一个用于实时度量-语义同步定位和映射的c++库,它使用摄像机图像和惯性数据来构建环境的语义注释3D网格。Kimera是模块化的,支持ros,在CPU上运行。
https://github.com/MIT-SPARK/Kimera
16、Mvs Texturing ⭐421
项目可以根据图像对3D重建进行纹理处理。该项目专注于使用运动和多视图立体技术的结构生成的3D重建。
https://github.com/nmoehrle/mvs-texturing
17、Livescan3d ⭐402
LiveScan3D是一个实时三维重建系统,使用多个Kinect v2深度传感器同时进行三维重建。产生的3D重建形式是有色点云的形式,所有Kinect的点都放置在同一坐标系中。该系统的可能使用场景包括:
-
同时从多个视点捕获对象的3D结构,
-
捕获场景的“全景” 3D结构(通过使用多个传感器来扩展一个传感器的视场),
-
将重建的点云流式传输到远程位置,
-
通过让多个传感器捕获同一场景来提高单个传感器捕获的点云的密度。
https://github.com/MarekKowalski/LiveScan3D
18、Voxelhashing ⭐364
大规模、实时三维重建:
https://github.com/niessner/VoxelHashing
19、Layoutnet ⭐298
从单个RGB图像重建三维房间布局
https://github.com/zouchuhang/LayoutNet
20、Tsdf Fusion Python ⭐295
这是一个轻量级的python脚本,可将多个颜色和深度图像融合到TSDF体积中,然后可以将其用于创建高质量的3D表面网格和点云。在Ubuntu 16.04上测试效果如下图:
https://github.com/andyzeng/tsdf-fusion-python
21、Intrinsic3d ⭐231
通过外观和几何优化以及空间变化的照明实现高质量3D重构
https://github.com/NVlabs/intrinsic3d
22、Kimera Semantics ⭐228
从2D数据进行实时3D语义重构
https://github.com/MIT-SPARK/Kimera-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/3Dreconstruction
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/cnncomplete
29、Reconstructiondataset ⭐95
用于进行三维重建的一组图像
https://github.com/rperrot/ReconstructionDataSet
30、3d Recgan Extended ⭐81