三维重建开源代码汇总保持更新

Posted Ethan Li 李迎松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三维重建开源代码汇总保持更新相关的知识,希望对你有一定的参考价值。

三维重建开源代码汇总,不定期更新。

同步到Github仓库:https://github.com/ethan-li-coding/Source-Codes-3DVison

SFM

  • openmvg【3.5k stars】【Mozilla Public License Version 2.0】【https://github.com/openMVG/openMVG
    一个多视几何三维重建算法库,从无序二维影像集恢复相机的三维位姿。SFM(Structure From Motion)经典算法库。
    在这里插入图片描述

  • colmap【3k stars】【new BSD license】【https://github.com/colmap/colmap
    一个多视几何三维重建算法库,从无序二维影像集恢复相机的三维位姿(SFM)以及多视立体重建(MVS)。
    在这里插入图片描述

  • alicevision【1.8k stars】【MPL2 license】【https://github.com/alicevision/AliceVision
    一个开源的摄影测量系统框架
    在这里插入图片描述

MVS

  • openmvs【1.6k stars】【AGPLv3】【https://github.com/cdcseacave/openMVS
    一个多视立体重建开源算法库,基于带有位姿信息的图像集,重建高质量的纹理模型,效果非常出色。
    在这里插入图片描述
  • meshroom【6.5k stars】【MPL2 license】【https://github.com/alicevision/meshroom
    和OpenMVS库一样,也是基于带有位姿信息的图像集,重建高质量的纹理模型,但是效果没有OpenMVS好,速度更快些。带有图形界面,做的很漂亮。
    在这里插入图片描述

SLAM

VSLAM

  • orb-slam2【6.2k stars】【GPLv3 license】【https://github.com/raulmur/ORB_SLAM2
    非常经典的 单目/双目/RGBD-slam 算法库
  • orb-slam3【2.5k stars】【GPLv3 license】【https://github.com/UZ-SLAMLab/ORB_SLAM3
    第一个能够用单目、立体和RGB-D相机,使用针孔和鱼眼镜头模型进行视觉、视觉惯性和多地图SLAM的系统。

    单目 slam

    RGBD slam

    • KinectFusion【280+ stars】【MIT License】【https://github.com/chrdiller/KinectFusionLib
      基于KinectFusion论文实现的一个开源算法,paper:KinectFusion: Real-time dense surface mapping and tracking

    • InfiniTAM∞ v3【680+ stars】【Oxford University Innovation Academic License】【https://github.com/victorprad/InfiniTAM
      牛津大学团队做的开源多平台实时大尺度深度融合和跟踪,速度很快,在Windows、Linux、iosandroid上都可以编译运行,而且速度都还可以。
      在这里插入图片描述

    • VoxelHashing【460+ stars】【Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License】【https://github.com/niessner/VoxelHashing
      基于TSDF体素融合的经典深度融合算法,有CUDA版本,速度很快。

    • ElasticFusion【1.3k stars】【non-commercial use only】【https://github.com/mp3guy/ElasticFusion
      一个用于RGBD数据的基于Surfel的Fusion算法。适用于室内重建。
      在这里插入图片描述

    • ElasticReconstruction【480+ stars】【MIT license】【https://github.com/qianyizh/ElasticReconstruction
      一个用于RGBD数据的基于Voxel的Fusion算法。适用于室内重建。
      在这里插入图片描述

    • BundleFusion【1k stars】【non-commercial applications】【[https://github.com/niessner/BundleFusion](https://github.com/niessner/BundleFusion)】
      一个实时的全局一致的三维重建算法库,基于TSDF,效果是目前Fusion中最好的。
      在这里插入图片描述

    • badslam【400+ stars】【BSD-3-Clause License】【CVPR2019】【https://github.com/ETH3D/badslam
      一个基于RGBD数据的实时直接法BA-SLAM算法,适合室外重建,来自苏黎世联邦理工学院(ETH)团队。
      在这里插入图片描述

    • tsdf-fusion 【400+ stars】 【BSD-2-Clause License】【https://github.com/andyzeng/tsdf-fusion
      一个将多个已配准的深度图融合为TSDF体素的算法,TSDF体素可以用于Marching Cubes网格构建
      在这里插入图片描述

特征匹配

立体匹配

点云拼接

网格构建

网格处理

  • OpenMesh【BSD 3 clause license】【https://www.graphics.rwth-aachen.de/software/openmesh/
    非常经典的一个网格处理库,基于半边数据结构,效率很高,且非常稳定,有很多基础网格算法的实现。
    在这里插入图片描述
  • vcglib【560+ stars】【GPLv3.0 License】【http://vcg.isti.cnr.it/vcglib/
    和OpenMesh一样的网格处理基础算法库,也很高效和稳定,比较有名的网格处理软件MeshLib就是用的它。
    在这里插入图片描述

点云渲染

  • potree 【2.3k stars】【FreeBSD Licnese】【https://github.com/potree/potree
    一个基于WebGL的大型点云渲染工程,很有意思。
    在这里插入图片描述
  • OpenSceneGraph(OSG)【2.2k stars】【 OpenSceneGraph Public License】【https://github.com/openscenegraph/OpenSceneGraph
    一个非常成熟好用的跨平台三维数据渲染库,渲染包括点云、网格、纹理模型在内的三维数据,适合在大型软件里作为渲染引擎,还可以处理LOD数据。

以上是关于三维重建开源代码汇总保持更新的主要内容,如果未能解决你的问题,请参考以下文章

三维重建开源代码汇总保持更新

CVPR2020|图像重建(超分辨率,图像恢复,去雨,去雾,去模糊,去噪等)相关论文汇总(附论文链接/开源代码/解析)

国内外开源社区资源汇总

重建我的3D世界代码开源连载-1

重建我的3D世界代码开源连载-1

重建我周围的3D世界代码开源连载-1