首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

openGL 基于单幅图像三维重建,该怎么解决

2012-01-02 
openGL 基于单幅图像三维重建小弟是OPENGL初学者,现在在做关于利用OPENGL的三维重建问题。前提是给定图像和

openGL 基于单幅图像三维重建
小弟是OPENGL初学者,现在在做关于利用OPENGL的三维重建问题。

前提是给定图像和图像的相机参数,然后进行三维重建。给定的图像是室内场景,主要是对墙壁和地面的分离和三维重建。
图像:









相机参数:
  fc: [1.5178e+003 1.5249e+003]
  cc: [665.0545 472.1492]
  kc: [-0.2132 -0.0949 -0.0019 0.0013 0.7279]
  alpha_c: 0
  nx: 1280
  ny: 960
  KK: [3x4 double]

参考文献是“A dynamic Bayesian network model for autonomous 3d reconstruction from a single indoor image”中的第二节。以下是小弟翻译的:
  2.背景材料
在这篇文章中,我们专注于通过移动摄像机器人看到的、有代表性的室内场景的三维重建。我们对相机作出一下假设:
1.图像以透视投影获得,使用已标定的相机,即已知标定矩阵K。因此,如图3所示,三维世界中的Q点投影于图像中像素坐标q(表示为齐次坐标))当且仅当:Q∝K-1q (这里-1是-1次方) (1)
2.图像中包含对应于N个方向的N个灭点,其中之一垂直于地面(例如,在曼哈顿世界里所有表面都是正交的,N=3。)
3.场景包含一个水平地面以及多个竖直墙面(“地面-墙”模型)。
4.该相机的垂直轴垂直于地平面,并且地板在图像比较下面的部分。
5.该相机原点在距离地面的已知的高度。
对于许多室内场景,可以使用“曼哈顿世界”假设(即只包含垂直水平的环境),并从三个灭点的位置估算相机标定参数K。此外,一个三维空间中地板平面的法相向量的精准估算可以用类似的方式获得,因此任何相机垂直轴的小偏差可以很容易的得到修正。因此,在曼哈顿世界,它仍然可能生成重建即使假设1和4是不成立的。当现场包含许多人造物体时假设2往往能近似的满足。最后[20,9]的工作表明,假设3常常会被合理的用于室内和室外场景重建。
在室内的图像中,在如上假设前提下,给出图像中每一列像素的地板边缘位置就能够完全确定整个场景的3d几何信息。这个是一个透视几何的直接结果。现在我们描述如何重建每个图像像素的三维位置



首先,通过透视投影,一个在三维场景中Qk的位置对应在图像像素qk的位置必须满足:
Qk=αk K-1qk (-1是-1次方 小k是角标) (2)
因此,Q必位于通过相机光心的该指定光线上。此外,如果水平面上的一点有法向nfloor,那我们有  
dfloor = ?nfloor ? Qk = ?αk nfloor ? (K-1qk) (3)
其中dfloor是已知的相机距地面的高度。因此,地面的像素(地面中点的位置低于地面分界线)可以准确的确定。
至于图像中位于第j列并且处于墙面部分的点qk,它的三维位置可以很容易地被确定,因为它的位置在始于已知三维点Qbj的竖直片段上,这里Qb(j)是图像中第j列的地面边缘点,只需求解如下的线性方程:这结果会处理下面的一些线性方程式:
Qb(j) + λknfloor = Qk = αkK?1qk, (-1是-1次方 小k是角标) (4)
变量和λk和αk需要我们解决求解的。这样我们就可以重建图像中所有剩余的点的三维位置。
上述过程需要已知图像上每一列的地面边缘。


我一时不知道如何入手,想请教高手。该参考些什么?做哪些工作?
如果有代码最好··
QQ:346365459 Email:346365459@qq.com


[解决办法]
光靠你提供的这点深度信息,要想重建三维图像,难度较大,而且肯定质量不好
期待楼下的高手
[解决办法]
我现在在做海量散点,进行三角化的相关项目,希望可以一起交流下!!!期待有相关经验的多提宝贵意见!!!
[解决办法]
也许你可以去“图形图像/机器视觉”版试下,那里图像人多
[解决办法]
单幅图是可以生成三维图像的,但现在的主要问题是你给的两幅深度信息太少,仅仅是几条边缘线,我没有你提供的线都可以直接从图像信息中提取出来,所以你这类图像要生成三维图像,是属于全自动2D转3D的范畴,涉及到图像分割、计算机视觉和机器识别等方面,不然按照一般图像深度信息生成很难得到理想的效果
[解决办法]
而且我以前做也是从光学、视觉等方面着手的,单单靠OpenGL是很难有结果的,毕竟这些东西需要你自己去构建出来,现有的几乎没有可以利用的工具,这是一个新兴领域,楼主可以多多关注
如果弄出来了,阿凡达的制作成本可以下降80%,现在世界做的这类最好的美国的DDD公司
www.ddd.com

热点排行