这学期我还参加了一门计算机视觉课,其中的练习并不复杂,但是却很有实践性,可以比较好的看到所学的理论的应用。
这里放上的是我第五次作业的效果图。
这次作业的主要任务是使用已知的对应点集和控制点集分别在投影空间和欧式空间进行三维重建。
在投影空间的重建过程:计算基础矩阵F,进而推导出两个投影矩阵P1P2(此处采用最简单的配置模式),使用线性三角测量方法(linear triangulation method)计算出对应点集在投影空间的坐标–这也就是投影空间的三维重建。
在欧式空间的重建过程:使用投影空间重建的结果,并计算控制点集在投影空间的坐标。对控制点计算从投影空间坐标到欧式空间坐标的对应,并应用到所有的投影空间点,从而得到在欧式空间的三维重建。
用MATLAB写了简单的程序,大家可以看看我做的文档:)
Homework 5. of Photogrammetric Computer Vision – 3D Reconstruction


13 条评论
很高兴看到你的同济大学经历,我也是同济大学的,最近也有个和你 Homework 5. of Photogrammetric Computer Vision – 3D Reconstruction 相似的任务。不知可否参考一下你的程序还有数据?还有参考那些文献了?希望你能回信。
已经给你回信了,请查收。如果来信能把问题描述清楚一些会更好。
你好。。我也正在做三维重建~~已经标定了摄像机的内外参数。。图像匹配点也已经找到。。正在求图像特征点的三维坐标,并实现三维重建。。
看了你的作业的效果图,和我做的很类似。。希望可以和你讨论讨论。。能否参考一下你的程序,还有数据呢~~
主要算法就在pdf文档里面,你可以下载来看看的:)
我需要你的试验数据,可以传一份给我吗?
非常感谢
sorry,这个由于一些原因不能提供
你好,我是个机器视觉业余爱好者,我标定了摄像机的内外参数t,R,u0,v0,f,计算了基础矩阵F,可是在重建的时候出现了麻烦,由于标定出的焦距f两个相差很大,重建不出结果,能够得到你的指点吗?QQ758377336
您好学长,我看过了您写的计算机视觉作用了,我有一些问题不明白,就是我不太明白您的程序里所说的控制点是什么意思,能否给我传一下您的原始数据吗,好像是bh.dat和pp.dat这两个数据文件吗,给您添麻烦啦!
你的问题我不是很理解,如果是标定误差,估计需要事先消除才能进行重建。也可以考虑是否需要重建的控制点选择都在一些极端状态导致方程无解。
控制点(control point)就是在用来重建时已知的点,这些点需要知道在实际空间坐标系的坐标以及在图像上的坐标。
你好,非常感谢您的帮助,我几经实现了在欧式空间下的重建,但是重建点好像都集中在一起了,只有在特定的角度下才能看清大致相貌,现在我的左右匹配点对各有3000个,那么控制点(control point)还需要3000个吗,在程序中pp矩阵是不是用来存放控制点的矩阵,他应该是几维的,如3*3000吗?还有一个问题就是用来存放控制点的矩阵PP,如果pp里面存放空间坐标,那么对应的图像坐标应该存放在哪个矩阵中呢?麻烦您啦!
你好~我最近也在做不许相机标定的人脸三维重建~想问下你的控制点至少要多少个?对应的三维坐标是现实中真实测量的,还是人为假定的呀?谢谢啦~
1.控制点的数量取决于使用的计算方法,这个作业里面用的是简单的线性方程解法,仔细看看不难看出控制点数量的。建议首先了解Epipolar geometry的基本概念,这样自己理解起来比较顺畅。
2.控制点的三维坐标是真是测量还是人为假定,这个问题与算法实现完全无关,只是最后生成重建结果的区别,我这里的数据是教研组提供的,应该是真是测量的数据