FlyBytes项目日记(1)
2016-07-23 15:32
169 查看
从照片三维重建
这是我在大学以来第一次作为主导者来做一个这样的项目。从一开始其实是存有很大的迷茫的,VR和3D倒是听说了不少,也常常听到学设计的、动画制作的,还有学工程的会用3Dmax来做一些3维模型,但是,从照片中提取出3D的模型,这可就听的很少了。
这里有几个很明显的难点在我眼前:
(1)一张单独的照片是没有任何深度信息的,我们要用到的是围绕物体多角度的多张照片。在一张照片上没有任何可以直接对应着现实的坐标的数据,我们能从照片上得到的数据,只有我们所关注的物体?
(2)没有比较多的参考资料,至少在一段时间之前我们看到的对于三维重建的资料和软件都是不多的。
(3)参考资料很注重于算法的理论的讲解,在实现上其实没有指导过程。
所以最开始的时候最让人难受的是迷茫的感觉。我们尝试着看过算法的理论,尝试着现有的几款三维重建软件(123D catch Autodesk公司;3Dcloud网上在线3维重建)。
在软件的使用中我们事实上感受不到任何有益处的东西,他们虽然效果神奇,重建出了很棒的东西,但是对于我们来说这些软件没有提供任何实现上的启发,他们是黑盒子,是让我们使用的工具。
很庆幸的是在对于软件的相关的资料搜索的时候我们看到了曙光。我们使用的这些软件,都有一个特点,他们都是把照片在云服务器上处理的,这些照片到底在服务器上发生了什么?经过了怎样的处理?在一篇文章中我们看到了这些照片在云服务器上是经过了怎样的流程。他们:第一步,先进行了特征点识别;第二步,进行了相机参数的标定,并产生物体表面的稀疏点云;第三步,生成密集点云,这一步基本上就已经达到了将物体的表面描述完整的目的;第四步,将点云生成面。
初看可能这几步觉得云里雾里,只有一个思路,但具体用什么完成每一步呢,这每一步可都是说着简单细想起来却还无头绪的。事实上我们在资料中也找到了继续做下去的方向。
开源算法,开源软件:
sift,bundler,pmvs/cmvs,meshlab,visualSFM。这些软件都是有源代码下载的。贴几个网站, grail.cs.washington.edu/software http://ccwu.me/vsfm/
接下来的研究过程,我会在之后的博客中进行介绍~~~~
这是我在大学以来第一次作为主导者来做一个这样的项目。从一开始其实是存有很大的迷茫的,VR和3D倒是听说了不少,也常常听到学设计的、动画制作的,还有学工程的会用3Dmax来做一些3维模型,但是,从照片中提取出3D的模型,这可就听的很少了。
这里有几个很明显的难点在我眼前:
(1)一张单独的照片是没有任何深度信息的,我们要用到的是围绕物体多角度的多张照片。在一张照片上没有任何可以直接对应着现实的坐标的数据,我们能从照片上得到的数据,只有我们所关注的物体?
(2)没有比较多的参考资料,至少在一段时间之前我们看到的对于三维重建的资料和软件都是不多的。
(3)参考资料很注重于算法的理论的讲解,在实现上其实没有指导过程。
所以最开始的时候最让人难受的是迷茫的感觉。我们尝试着看过算法的理论,尝试着现有的几款三维重建软件(123D catch Autodesk公司;3Dcloud网上在线3维重建)。
在软件的使用中我们事实上感受不到任何有益处的东西,他们虽然效果神奇,重建出了很棒的东西,但是对于我们来说这些软件没有提供任何实现上的启发,他们是黑盒子,是让我们使用的工具。
很庆幸的是在对于软件的相关的资料搜索的时候我们看到了曙光。我们使用的这些软件,都有一个特点,他们都是把照片在云服务器上处理的,这些照片到底在服务器上发生了什么?经过了怎样的处理?在一篇文章中我们看到了这些照片在云服务器上是经过了怎样的流程。他们:第一步,先进行了特征点识别;第二步,进行了相机参数的标定,并产生物体表面的稀疏点云;第三步,生成密集点云,这一步基本上就已经达到了将物体的表面描述完整的目的;第四步,将点云生成面。
初看可能这几步觉得云里雾里,只有一个思路,但具体用什么完成每一步呢,这每一步可都是说着简单细想起来却还无头绪的。事实上我们在资料中也找到了继续做下去的方向。
开源算法,开源软件:
sift,bundler,pmvs/cmvs,meshlab,visualSFM。这些软件都是有源代码下载的。贴几个网站, grail.cs.washington.edu/software http://ccwu.me/vsfm/
接下来的研究过程,我会在之后的博客中进行介绍~~~~
相关文章推荐
- Web service是什么?
- android最佳学习路线,学习心得
- 软件工程(C编码实践篇)学习总结
- 【CS50】写在学习前
- 关于这段时间的心历路程
- 第一次写博客
- 《C和指针》学习心得(第一章)
- 个性和共性,对共性的封装。新的语言是如何诞生的
- 我的单片机学习--写给我的一个网友
- c语言面试题总结
- C语言中为什么会出现UL?
- C语言——关键字
- C语言——标识符
- 关于scanf_s的学习
- windows驱动开发学习笔记一双向链表LIST_ENTRY
- 心得分享:关于对Android的理解,知识点梳理
- OSG 基础 学习心得
- android学习总结篇
- 黑马程序员_编程学习心得
- Android 开发学习心得(一)。pull解析xml文件_天气预报