三维重建开源项目汇总

您所在的位置:网站首页 三维图像重建的软件 三维重建开源项目汇总

三维重建开源项目汇总

2024-07-13 01:13| 来源: 网络整理| 查看: 265

三维重建开源项目汇总

1、Meshroom ⭐5.7k

AliceVision是摄影测量计算机视觉框架,可提供3D重建和相机跟踪算法。AliceVision旨在通过可测试,分析和重用的最新计算机视觉算法提供强大的软件基础。该项目是学术界和工业界合作的结果,旨在提供鲁棒高质量的产品级尖端算法。

Meshroom是一款基于AliceVision摄影测量计算机视觉框架的免费开源三维重建软件。拥有便捷的GUI直接手动操作,支持Linux和Windows。

项目链接:Meshroom: https://github.com/alicevision/meshroom

                 AliceVision: https://github.com/alicevision/AliceVision

2、OpenMVG ⭐3.3k

OpenMVG(Open Multiple View Geometry)提供了一个端到端的三维重建方法, 同时是一个由库、二进制和管道三部分组成的图像框架,基于C++开发的,可以在Android、iOS、Linux、macOS和Windows上运行。

库:提供一些可重用的核心算法,如:图像处理,特征描述和匹配,特征跟踪,相机模型,多视图几何,鲁棒估计器,从运动恢复结构等算法;二进制文件:方便管道传输获取,如:管道可能需要场景初始化、特征检测/匹配和从运动重建结构,并将重建的场景导出到其它多视角双目视觉框架中以计算密集的点云或纹理网格;管道:通过链接各种二进制文件来计算图像匹配关系,求解从运动恢复结构等问题。

结构示意图如下:

源码链接:https://github.com/openMVG/openMVG

3、Awesome_3DReconstruction_list ⭐2.6k

与图像3D重建相关的论文和资源精选清单。

项目链接:https://github.com/openMVG/awesome_3DReconstruction_list

4、Awesome Point Cloud Analysis ⭐2.4k

关于点云分析(处理)的论文和数据集列表。

项目链接:https://github.com/Yochengliu/awesome-point-cloud-analysis

5、OpenSfm ⭐1.9k

OpenSfM是一个用Python编写的从运动恢复结构的库。该库作为一个处理管道,用于从多个图像重建相机姿态和3D场景。它由运动结构的基本模块(特征检测/匹配,最小化求解)组成,重点是构建一个健鲁棒的、尺度可变的重建管道。它还集成了外部传感器(如GPS、加速计)测量,以实现地理定位并增强鲁棒性。提供了一个JavaScript查看器来预览模型和调试管道。效果截图如下:

 参考链接:https://github.com/mapillary/OpenSfM

6、OpenMVS ⭐1.4k

OpenMVS(open Multi-View Stereo reconstruction library)是面向计算机视觉的库,尤其是针对多视图双目重建社区的。尽管有针对运动恢复结构的成熟完整的开源项目(例如OpenMVG),这些项目可以从输入的图像集中恢复相机的姿势和稀疏的3D点云,但没有解决摄影测量链的最后一部分-流。OpenMVS旨在通过提供一套完整的算法来恢复要重建场景的整个表面来填补这一空白。输入是一组摄影机姿势加上稀疏的点云,输出是带纹理的网格。该项目涉及的主要主题是:

稠密点云重构:获得尽可能完整,准确的点云网格重建:估计最能解释输入点云的网格表面网格细化:恢复所有精细细节网格纹理着色:用于计算清晰准确的纹理以对网格着色

效果如下:

 

项目链接:https://github.com/cdcseacave/openMVS

7、Bundler_sfm ⭐1.3k

Bundler是一个对无序图像序列(例如来自网络的图片)的SFM系统,使用C/C++编写。Bundler以一系列图像,图像特征和图像匹配作为输入,生成相机的三维重构和稀疏的场景几何作为输出。Bundler生成稀疏的点云,对于稠密重建的软件,参考 Dr. Yasutaka Furukawa的稠密多视角双目PMVS2。一个典型的流程是运行Bundler去获取相机参数,再使用被提供的Bundle2PMVS程序去转换为PMVS2的输入,然后运行PMVS2。你可能也会对Dr. Furukawa的CMVS视角聚类软件有兴趣,它对运行PMVS2前的预处理是很有帮助的。下面是Bundler的效果图:

项目链接: https://github.com/snavely/bundler_sfm

8、BundleFusion ⭐936

基于深度相机的实时在线表面重整合的全局一致三维重建,效果如下:

项目链接:https://github.com/niessner/BundleFusion

9、Face_swap ⭐700

端到端自动换脸,自动图像到图像的脸部交换方法,详见论文。有趣的是作者的实验数据都是政客(向大佬低头),效果如下:

项目链接:https://github.com/YuvalNirkin/face_swap

10、Scannet ⭐809

ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes 是一个RGB-D视频数据集,包含超过1500次扫描中的250万次视图,带有3D摄像机位姿、表面重建和实例级语义分段注释。值得注意的是该数据的获取必须要发邮件给作者申请,然后作者回复才有(有点坑)。为了收集这个数据,专门设计了一个容易使用的和尺度可变的RGB-D捕获系统,其中包含自动表面重建系统和语义注释。下面展示使用这个数据在许多3D场景理解任务获得的高性能结果,包含3D物体分类,语义像素标签和CAD模型,更多的信息参考论文:

参考链接

[1] ScanNet: https://github.com/ScanNet/ScanNet

[2] ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes: http://www.scan-net.org/

[3] 关于ScanNet数据集: https://blog.csdn.net/weixin_40766438/article/details/102969299

11、SoftRas ⭐688

"Soft Rasterizer(SoftRas): A Differentiable Renderer for Image-based 3D Reasoning" (ICCV'2019 Oral) 是一个真正的可微分渲染框架,把渲染作为一个可微分的聚合过程,融合所有相对于渲染像素的三角面片概率贡献。示意图如下:

项目链接:https://github.com/ShichenLiu/SoftRas

12、PIFu ⭐946

“PIFu: Pixel-Aligned Implicit Function for High-Resolution Clothed Human Digitization” (ICCV'2019)用于高分辨率服装人体数字化的像素对齐隐式函数,可以从单张图像进行人体三维重构,也支持任意多视角重构,同时也支持单目视屏重构。效果截图如下

项目链接:https://github.com/shunsukesaito/PIFu

13、Matterport ⭐562

"Matterport3D: Learning from RGB-D Data in Indoor Environments" (3DV'2017)用于RGB-D机器学习任务的非常棒的数据集。Matterport3D V1.0数据集包含90个属性使用Matterport Pro相机捕获。仓库中包含了若干场景理解任务数据集的原始数据,派生数据,语义注释数据,和脚本/模型。示例如下:

 

项目链接:https://github.com/niessner/Matterport

14、Kimera ⭐687

Kimera(ICRA|RSS'2019|2020)是一个用于实时度量-语义SLAM的C++库,它使用相机图像和惯性数据来构建环境的语义注释3D面片。Kimera是模块化的,支持ROS,并且在CPU上运行。Kimera包含四个模块:

一个快速精确的VIO里程计 (Kimera-VIO)基于鲁棒位姿图优化的完整SLAM实现 (Kimera-RPGO)单帧和多帧3D面片生成器 (Kimera-Mesher)一个语义注释3D面片生成器 (Kimera-Semantics)

效果如下(吐槽:最打大只能传5M,想扔CSDN鸡蛋):

项目链接:https://github.com/MIT-SPARK/Kimera

15、Mvs-Texturing ⭐508

Mvs-Texturing (ECCV'2014)可以从图像中进行带纹理的三维重构。该项目专注于从运动和多视图立体技术进行3D重建,但也不限于这些设定。效果如下:

项目链接:https://github.com/nmoehrle/mvs-texturing

16、LiveScan3d ⭐484

“LiveScan3D: A Fast and Inexpensive 3D Data Acquisition System for Multiple Kinect v2 Sensors” (3DV’2015) 是一个实时三维重建系统,使用多个AzureKinect或者Kinect v2深度传感器同时实时的进行三维重建。产生的3D重建形式是有色点云的形式,所有Kinect的点都放置在同一坐标系中。其中,点云流可以被可视化,记录或者输送到HoloLens 或者任何Unity应用中。该系统的可能应用场景包括:

同时从多个视点捕获对象的3D结构;捕获场景的“全景” 3D结构(通过使用多个传感器来扩展一个传感器的视场);将重建的点云流式传输到远程位置;让多个传感器捕获同一场景来提高单个传感器捕获的点云的密度。

效果如下:

项目链接:https://github.com/MarekKowalski/LiveScan3D

17、VoxelHashing ⭐431

"Large-Scale, Real-Time 3D Reconstruction using Voxel Hashing" [Siggraph Asia 2013]大规模、实时三维重建,效果如下:

项目链接:https://github.com/niessner/VoxelHashing

参考链接:https://www.youtube.com/watch?v=XD_UnuWSaoU&t=61s

18、LayoutNet ⭐329

"LayoutNet: Reconstructing the 3D Room Layout from a Single RGB Image"(CVPR'2018)从单个RGB图像重建三维房间布局,效果如下:

项目链接:https://github.com/zouchuhang/LayoutNet

19、Tsdf Fusion Python ⭐413

“Volumetric TSDF Fusion of RGB-D Images in Python” (CVPR'2017|2016)这是一个轻量级的python脚本,可将多个彩色和深度图像融合到TSDF中,然后可以将其用于创建高质量的3D表面网格和点云。效果如下图:

项目链接:https://github.com/andyzeng/tsdf-fusion-python

20、Intrinsic3D ⭐279

"High-Quality 3D Reconstruction by Joint Appearance and Geometry Optimization with Spatially-Varying Lighting" (ICCV'2017)基于接合点外观和几何优化的高质量空间变光三维重建,基于低成本的RGB-D传感器,能够恢复完整的几何细节和棱角分明的表面纹理,效果如下:

项目链接:https://github.com/NVlabs/intrinsic3d

21、Awesome Holistic 3D ⭐356

该项目整理了一系列3D重建的论文和数据集资源(包括场景类和检测类)清单,部分数据集如下:

 

项目链接:https://github.com/holistic-3d/awesome-holistic-3d

22、Structured3D ⭐214

"Structured3D: A Large Photo-realistic Dataset for Structured 3D Modeling" (ECCV'2020) 是一个大尺度仿真图像数据集,包含了3.5K的房屋设计。这个数据集由专业设计者创建,包含一系列的真值3D结构注释(例如语义,深度,表面法向量,和布局等),同时在不同光照和家具配置的条件下生成了一系列的仿真2D图像。注意:该数据需要申请才可以下载使用。为了公平的对比,定一了标准的训练,验证和测试划分。部分数据如下:

项目链接:https://github.com/bertjiazheng/Structured3D

23、Synthesize3DviaDepthOrSil ⭐136

"Synthesizing 3D Shapes via Modeling Multi-View Depth Maps and Silhouettes with Deep Generative Networks"(CVPR 2017):通过使用深度生成网络建模多视角深度图和轮廓来合成三维形状,效果如下:

 

项目链接:https://github.com/Amir-Arsalan/Synthesize3DviaDepthOrSil

24、Msn Point Cloud Completion ⭐183

"MSN: Morphing and Sampling Network for Dense Point Cloud Completion" (AAAI 2020):  MSN是一种为稠密深度点云补齐设计的渐变和采样网络,是一种基于学习的形状补全方法,它能保持已知结构(可以是分散稀疏的点云)并生成稠密点云。在这个工程中,基于竞拍算法(auction algorithm)实现了一种点云的推土机距离(Earth Mover's Distance, EMD),仅仅需要O(n)的内存空间复杂度。效果如下:

项目链接:https://github.com/Colin97/MSN-Point-Cloud-Completion

25、Cnncomplete ⭐116

"Shape Completion using 3D-Encoder-Predictor CNNs and Shape Synthesis" (CVPR 2017) 训练体积深度神经网络以补全合成部分扫描的3D形状。效果如下:

项目链接:https://github.com/angeladai/cnncomplete

26、ReconstructionDataset ⭐111

包含了一系列的用于做三维重建的一组图像,每一个文件夹中由一系列的图片组成,可以作为3D重构软件的输入。场景清单如下:

项目链接:https://github.com/rperrot/ReconstructionDataSet

27、3D-RecGAN-Extended ⭐96

"Dense 3D Object Reconstruction from a Single Depth View" (TPAMI 2018): 从单个深度视图进行密集的3D对象重建,也提供了相应的数据集和真值模型。效果如下:

项目链接:https://github.com/Yang7879/3D-RecGAN-extended

28、DynamicFusion ⭐259

Paper: R. A. Newcombe, D. Fox and S. M. Seitz, "DynamicFusion: Reconstruction and tracking of non-rigid scenes in real-time," 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, 2015, pp. 343-352, doi: 10.1109/CVPR.2015.7298631.

概述:DynamicFusion动态融合提出了第一个能够实时稠密重建非刚性变形场景的SLAM系统,该方法的实现是通过融合商品级RGBD传感器。在重建几何结构的同时估计稠密的体素6D运动场,该方法映射被估计的几何结构到当前帧中。类似KinectFusion,DynamicFusion系统增量处理去噪,细化,和补全重构为融合提供更多的测量数据,并实时更新展示模型。效果如下:

项目链接:https://github.com/mihaibujanca/dynamicfusion

29、ElasticFusion ⭐1.3k

Paper:

[1] Whelan, Thomas, et al. "ElasticFusion: Real-time dense SLAM and light source estimation." The International Journal of Robotics Research 35.14 (2016): 1697-1716.[2] Whelan, Thomas, et al. "ElasticFusion: Dense SLAM without a pose graph." Robotics: Science and Systems, 2015.

概述:ElasticFusion 实时稠密视觉SLAM系统能够捕捉使用RGB-D相机探测的房间尺度环境的综合稠密全局一致的基于表面的地图。效果如下:

项目链接:https://github.com/mp3guy/ElasticFusion

参考资料

[1] 三维重建开源项目汇总: https://zhuanlan.zhihu.com/p/141946874

[2] 一分钟详解三维重建学习路线: https://zhuanlan.zhihu.com/p/191200982



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3