从多个校准视图进行3D重建 [英] 3D Reconstruction from multiple calibrated views

查看:129
本文介绍了从多个校准视图进行3D重建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个经过校准的相机,其内在性是在进行初始的两视图重建之前计算出来的。假设我在一个静态的刚体周围有20张图像,所有图像都是使用同一台相机拍摄的。使用前两个视图和场景的真实测量值,我使用Stewenius 5点算法进行了初始重构,找到了E(基本矩阵)。



1)



2)相机矩阵P1和P2,其原点设置为相机P1的坐标。



我的问题是,我将如何添加更多视图?对于前两个视图,由于发现MATLAB特征检测器和匹配器正在输出错误的对应关系,因此我手动找到了特征点。



我是否连续进行两次视图重建以获取其他相机外部特性,例如P1和P3,P1和P4 ... P1和P20;都使用与P1-P2相同的特征点?这种方法不会传播某种错误吗?之所以使用P1作为参考,是因为它被选择为世界起源。



我确实有一个程序可以在获得所有初始估计值后进行捆绑调整。镜头外来,但我的问题是要获取初始的镜头矩阵P3 ... P20。



预先感谢!

解决方案

首先,使用相应对的特征点获取成对校准P1-P2,P2-P3,P3-P4...。您需要在此处使用某种RANSAC来消除错误的对应关系,或者在所有对之间手动进行匹配。您需要将所有摄像机置于公共坐标系。假设我们选择P1作为关键相机。要将第三摄像机P3添加到对P1-P2,您需要根据成对校准Delta2-3计算P2和P3之间的旋转增量,然后将其应用于P2的已知摄像机矩阵。依此类推,直到所有摄像机矩阵都位于公共坐标系中。您做捆绑调整。


I have a calibrated camera whose intrinsics were calculated prior to doing an initial two view reconstruction. Suppose I have 20 images around a static, rigid body all taken with the same camera. Using the first two views and a ground-truth measurement of the scene, I have the

1) initial reconstruction using Stewenius 5 point algorithm to find E (essential matrix).

2) camera matrices P1 and P2 where the origin is set to that of camera P1.

My question is, how would I add more views? For the first two views, I found the feature points by hand since I found that MATLAB feature-detectors and matchers were outputting false correspondences.

Do I continuously do two-view reconstructions to get the other camera extrinsics i.e. P1 and P3, P1 and P4...P1 and P20; all using the same feature points as that of P1-P2? Wouldn't there be some sort of error propagation with this approach? The reason for using P1 as a reference is because it is chosen to be at the world origin.

I do have a procedure to bundle adjust after I acquire all initial estimates for the camera extrinics, but my problem is getting the initial camera matrices P3...P20.

Thanks in advance!

解决方案

You start by obtaining pairwise calibration P1-P2, P2-P3, P3-P4 ... using feature points of the corresponding pair. You need using some sort of RANSAC to get rid of false correspondences here or do matching manually between all pairs. The you need to put all cameras to the common coordinate frame. Say we select P1 as a key camera. To add third camera P3 to the pair P1-P2 you need to calculate rotation delta between P2 and P3 from pairwise calibration, Delta2-3 and then apply it to known camera matrix of P2. And so on until all camera matrices in the common coordinate frame. The you do bundle adjustment.

这篇关于从多个校准视图进行3D重建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆