ScalableFusion:完全基于网格的RGB-D重建。 能够存储大型重建图而不会浪费GPU内存

  • t3_754443
    了解作者
  • 559.4KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-11 05:55
    上传日期
可扩展融合: 基于网格的RGB-D重建管线,可进行大规模重建。 与基于surfel或tsdf的方法相比,优点在于,它可以将颜色信息存储在任意分辨率的纹理中。 几何分辨率和颜色分辨率之间的耦合被破坏了。 它还具有一种将数据从GPU卸载到系统内存的机制。 警告整个事情还远远没有完成,我们不建议在当前状态下使用它。 我们目前遇到的问题: 随机崩溃(尤其是在整合新颖的几何图形期间) 极其脆弱的跟踪。 内存泄漏 非功能性多线程模式 参见论文:可扩展融合:基于网格的高分辨率实时3D重构( ) 安装 安装所需的库 mkdir构建 光盘制作 cmake .. 使-j8 所需的图书馆 CUDA 10以上 Eigen3新开发版本(高于3.3.5),因此可与CUDA 10一起使用 穿山甲:(用于使用thatmp3家伙提供的cudaicp内容) Ceres 1.13及更高版本使用本征特性的新版本进
ScalableFusion-master.zip
内容介绍
# ScalableFusion: A mesh based RGB-D reconstruction pipeline which enables large-scale reconstructions. The advantage over surfel or tsdf based methods is that this allows to store color information in textures of arbitrary resolution. Coupling between geometrical and color resolution is broken up. It also features a mechanism which offloads data from the GPU to system memory. **Warning** This whole thing is far from being finished, we don't recommend using this in its current state. Issues we are currently encountering: * random crashes (especially during integration of novel geometry) * extremely brittle tracking. * memory leaks * Nonfunctional multithreading-mode See paper: ScalableFusion: High-resolution Mesh-based Real-time 3D Reconstruction (https://ieeexplore.ieee.org/document/8793654) ### Installation * Install the required libraries * mkdir build * cd build * cmake .. * make -j8 ### Required Libraries * CUDA 10 and up * Eigen3 the new development build (newer than 3.3.5) so it works with CUDA 10 * Pangolin: (for using the cudaicp stuff from thatmp3 guy) * Ceres 1.13 and up compiled with new version of eigen * Sophus: (for cudaicp) * Radical (https://github.com/taketwo/radical): Photometric calibration * OpenCV 3.1 (min) * GLFW3.2 (to create the opengl context) * PCL * hope to get rid of this dependency ### Usage Right now the library only supports the TUM format of datasets (https://vision.in.tum.de/data/datasets/rgbd-dataset). It has some extensions though: Instead of reading from a associations.txt file there is the option to read from a associations_ids.txt file. IDS is the supplier of the high-res camera used in these new HD datasets (See HD command line flag). ### Current state: ##### Implemented: * The meshing within one frame * Texturing within one frame * Stitching between frames * Standard deviation texturing * There is a bug though that lets the texture and geometry degrade at patch borders. ##### About to be implemented: * nothing! ##### Missing: * Tracking is not working properly! Something like DSO might be great. * Sergeys exposure control and HDR texturing * at least a proper integration of it * Removal of triangles * Simplification of patches * Merging of patches ### Possibilites: * Accumulating Semantic Segmentation * Maybe a new kind of object detection based on the ease with which we can create models. * Articulate non-rigid objects and optimize pose based on a course skeleton of triangle shaped bones. * Model Wires, ropes, pens and fabric which do not have geometry at higher distance but are detectable. * Estimate reflectiveness and other parameters of surfaces by using any variational or non-vvariational method. * Superresolution ### Parameters * **help** Guess what! it creates the help message * **input,i <DIRECTORY>** Set the directory to read the TUM dataset. * **groundtruth,t** By activating this flag, the odometry is taken from the **groundtruth.txt** file. * **multithreaded,m** Setting this flag enables the multithreaded mode, the frames are read in the same speed as they are captured (assuming 30fps). Is the machine too slow frames are skipped. DON'T USE ITS NOT STABLE YET. * **skipFrames,s <VALUE>** Integer value of the number of frames which should be skipped at the beginning of the trajectory. * **HD** Flag to enable reading frames as given by the associations_ids.txt. * **headless,h** Flag to deactivate any window output. * **output,o** Folder in which all the captured geometry will be stored at the end of the reconstruction. (NOT IMPLEMENTED) * **coarse <FILENAME>** File (**.ply**) in which the coarse reconstruction is stored at the end of the track. * **detailed <FILENAME>** File (**.ply**) in which the fine reconstruction is stored at the end of the track. * **scaleDepth <VALUE>** The depth usually is given in a 16bit png file such that 1 unit equals to 1mm. If this is different, change this scale factor. * **scaleGroundtruth <VALUE>** Somethimes the trajectories are not created in correct scale. This is where you could change this. * **invertGroundtruth <VALUE>** You might have inverted all of your coordinates.... if so then i advise you to set this flag. JB? * **autoquit,q** When running in windowed mode this flag autoquits the app when all the frames in the dataset are processed.
评论
    相关推荐
    • scala-unsigned
      无标的 这是Scala的无符号整数的实现。 这项工作仍在进行中。 它的大部分内容是作为学习Scala的练习而写的。 该库提供: UInt 乌龙 字节数 美国hort ... 重构代码以删除冗余的ULong代码。 更多测试。
    • scalafix:Scala重构和整理工具
      Scala克斯 Scala的重写和整理工具 用户文件 前往这里: : 球队 当前的维护者(可以合并拉取请求的人员)是: 布莱斯·贾格林- 加布里埃· - 纪尧姆·马塞(GuillaumeMassé)- ÓlafurPállGeirsson- Meriam...
    • triemap:Scala集合库中并发trie哈希映射实现的Java端口
      如今,它已经被重构为对Java 8友好,并且无法通过重构来进行一些原始的断言。 在Aleksandar Prokopec撰写的这些报告中可以找到想法+实现技术: 这是对Ctries的很好的介绍,并带有正确性证明 描述快照操作的最新...
    • scala插件最新版
      编码辅助(突出显示,完成,格式化,重构等)。 导航,搜索,有关类型和含义的信息。 与sbt和其他构建工具集成。 测试框架支持(ScalaTest,Specs2,uTest)。 Scala调试器,工作表和Ammonite脚本。
    • scalogno:Scala中的原型逻辑编程
      斯卡洛尼奥 APLAS'19( )中介绍的Scalogno。 4.3示例:表格图形评估 4.3范例 4.4定语从句语法(DFG) ... 仍然需要进行工作以将组合重构为可组合的模块,并...在最短的路径之外找到杀手级应用。 :)
    • sbt-errors-summary:sbt插件以显示编译消息摘要
      在进行重构时,我发现它很有用:我遇到了很多编译错误,并且在查看错误行时可以立即看到问题所在时,我浪费大量时间在文件之间切换以及在错误消息中查找行号。 概述 该插件可通过汇总每个文件的所有错误来提供帮助...
    • univeq:Scala更安全的通用等效项(==)
      UnivEq ScalaScala.JS的更安全的通用等效项。... 重构数据后,有效比较将变得无效。 调用一个方法,该方法期望通用等式拥有不包含的数据类型(例如,在幕后使用Set的方法)。 这是臭虫的温床。 但是Scalactic /
    • 2048-Scala:Scala 中的 2048 实现
      我对它进行了大量调整,但很可能缺少大量单元测试,可以使用重构等。 基本思想是调用 REST 服务,该服务在 1 步中计算整个游戏板。 例如像这样的网格板 - 1、2、3、4 1, 2, 7, 8 9、7、4、5 8、5、4、3 向上...
    • scala学习文档
      Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。
    • birthday-greetings-kata-scala:Scala中的重构和OOFP设计练习
      这是进行的重构练习的Scala移植。 其背后的原始想法是教您有关依赖性反转原理(DIP)和依赖性注入(DI)的知识。 有关更多信息,请查看。 但是,Scala是OOP / FP混合语言的事实为另一种有趣的宏重构打开了大门:从...