• 3DPointCloudReconstruction(3D点云重构)


      本科时候做的东西了,3D点云重构。目前点云在游戏界应该用的挺少,关键算法还不够成熟,运算量非常大。但是在学术界和电影界就挺活跃的,指环王的模型就是用点云生成的。我这个算是个成败参半的项目。最近决定拿出来晒晒,一来从这个项目自己学到很多东西,拿来复习下,二来也从失败的经验学到教训,三来很多公司要作品链接,顺便发上来。

      从软件工程角度说,无疑非常失败的。一是用了XNA作为3D的API,这是最失败一步。由于XNA是面向开发小游戏的,做3D图形研究非常不适合,一来速度受到限制,二来没有GPU的接口,三来由于其基于C#.net平台,无法利用已有的3D图形开源资源(因为3D绝大部分学术资源都是用C++写的,像cgal,meshlab,vtk,还有很多数学库等等),而且还只有我自己一个人做,这样意味着所有琐碎的东西你都要自己写,根本没有足够精力去处理3D点云的优化算法。

      不过从学习理论的角度讲,它算是对我来说非常成功的项目。因为所有的细节都要自己处理,包括camera,所有数据结构,八叉树等等,所以扎实了很多3D图形学的知识。没有数学库,自己就所有把《数值分析》上面所有算法都自己写了一遍,包括QR算法,用来求任意实的非奇异矩阵的全部特征值;反冥法求出已知协方差权重矩阵的最小特征值的特征向量;高斯法求解方程组;最小二乘法等等。然后初步实现了Marc Alexa,“point set surfaces”这篇paper的点云投影算法。后来也因为其具有一定的理论性,得到了我们学校1%名额评选的优秀毕业作品。

      先截图,技术细节以后有空再详细分解下。

      图1原始南瓜点云模型

    图2用八叉树组织的南瓜模型

    图3用八叉树组织的南瓜模型

    图4局部投影结果,黑色部分为法向

    图5原始南瓜的渲染结果

    图6投影后的南瓜渲染结果

  • 相关阅读:
    常用端口号
    linux java 和jmeter 环境变量配置文件笔记(原)
    部署个人wordpress 笔记
    locust安装及其简单使用----基于python的性能测试工具
    JMeter配置好环境变量后无法启动---翻车笔记
    Jmeter常见问题(转)
    机器学习环境配置系列三之Anaconda
    机器学习环境配置系列二之cuDNN
    机器学习环境配置系列一之CUDA
    准确率、精确轨、召回率等
  • 原文地址:https://www.cnblogs.com/bester/p/3255809.html
Copyright © 2020-2023  润新知