Opencv 使用已知基线估计给定另一个摄影机的姿势

Opencv 使用已知基线估计给定另一个摄影机的姿势,opencv,computer-vision,Opencv,Computer Vision,我是计算机视觉的初学者,所以我提前道歉。基本上,我试图编码的想法是,给定两个可以模拟多基线立体系统的摄像机;我试图估计一个摄像机的姿势,而另一个摄像机 在同一个场景中,我会在第二个摄影机的姿势中加入一些噪声,并给出摄影机1的干净图像和摄影机2的轻微扭曲/扭曲图像,我想根据这些数据以及摄影机之间的已知基线来估计摄影机2的姿势。我一直在阅读opencv中的单应矩阵和相关实现,但我只是想得到一些关于可能的方法的建议。我所看到的单应矩阵的大多数应用都是关于缝合或叠加图像的,但这里我要从中寻找相机的六自由

我是计算机视觉的初学者,所以我提前道歉。基本上,我试图编码的想法是,给定两个可以模拟多基线立体系统的摄像机;我试图估计一个摄像机的姿势,而另一个摄像机

在同一个场景中,我会在第二个摄影机的姿势中加入一些噪声,并给出摄影机1的干净图像和摄影机2的轻微扭曲/扭曲图像,我想根据这些数据以及摄影机之间的已知基线来估计摄影机2的姿势。我一直在阅读opencv中的单应矩阵和相关实现,但我只是想得到一些关于可能的方法的建议。我所看到的单应矩阵的大多数应用都是关于缝合或叠加图像的,但这里我要从中寻找相机的六自由度姿态


如果有人也能解释这些问题,那就太好了:一种用于此的方法可以扩展到两个以上的摄像头吗?这两个相机的姿势是否也可能有一些“噪音”,但却能随时恢复6自由度的姿态?

让我们先澄清一下你的问题。我猜您正在查找相机相对于其他相机位置的姿势。这是由单应性描述的,仅适用于纯相机旋转。对于包含平移的一般运动,这由旋转和平移矩阵描述。如果摄像机的视场重叠,任务可以通过运动的结构来解决,该结构仍然估计只有5个自由度。这意味着翻译是按比例估算的。如果摄像机视野中有一个尺寸已知的棋盘,你可以通过运行PnP算法轻松求解6自由度。当然,首先应该校准摄像机。最后,2008年,马克·波列菲(Marc Pollefeys)提出了一个想法,即如何在不使用任何棋盘的情况下,从两个视场不重叠的移动摄像机估计6个自由度。为了给你更多的细节,请告诉你一些你想要的应用

让我们先澄清一下你的问题。我猜您正在查找相机相对于其他相机位置的姿势。这是由单应性描述的,仅适用于纯相机旋转。对于包含平移的一般运动,这由旋转和平移矩阵描述。如果摄像机的视场重叠,任务可以通过运动的结构来解决,该结构仍然估计只有5个自由度。这意味着翻译是按比例估算的。如果摄像机视野中有一个尺寸已知的棋盘,你可以通过运行PnP算法轻松求解6自由度。当然,首先应该校准摄像机。最后,2008年,马克·波列菲(Marc Pollefeys)提出了一个想法,即如何在不使用任何棋盘的情况下,从两个视场不重叠的移动摄像机估计6个自由度。为了给你更多的细节,请告诉你一些你想要的应用

我不会为自己是初学者而道歉。每个人都曾经是。我不会为自己是初学者而道歉。每个人都曾经是。我不会为自己是初学者而道歉。大家都曾经是。嗨,弗拉德,我的预期应用是机器人技术:想象一下,两架无人机(例如四架直升机)配备了单目摄像机,校准后,它们看着同一场景(就像两人都能看到的棋盘),相隔已知距离。如果我们假设四架直升机在空中盘旋,这通常是通过基于GPS的控制实现的,并且可能是片状的/有噪音的,这种噪音最终也会影响相机的位置。如果我们假设quad1的位置是无噪声且稳定的,而quad2是有噪声的,那么问题是我能否估计quad2上的噪声,然后用它来稳定quad?已知距离的间距并不意味着你知道QuadCopter的相对旋转,旋转会对图像产生很大影响。我仍然不理解稳定性问题,因为单目相机中的任何运动都可以归因于噪声,因此不需要立体声。如果希望其中一个四边形镜像另一个具有某个基线的运动,则必须恢复3D,更改视点并将3D重新投影到四边形2中,然后查看摄影机图像与该投影的不同之处。这使用了来自运动的结构,这不是一个简单的算法,请参见下文。感谢您提供的信息和链接。我之所以在场景中有两个四边形是因为,例如,如果最终目标是使用四边形直升机(如果需要,可以超过两个)使用运动结构在3D中映射对象,我的想法可能是使用其中一个摄像头的信息“协助”另一个摄像头的稳定…看起来,在一个飞行设备上安装两个摄像头比在每个飞行设备上安装一个摄像头更能让你受益。嗨,弗拉德,我的预期应用是在机器人领域:想象两个装有单目摄像头的无人机(例如四架直升机),在同一场景下进行校准(就像从两个设备上都可以看到棋盘一样)以已知距离隔开。如果我们假设四架直升机在空中盘旋,这通常是通过基于GPS的控制实现的,并且可能是片状的/有噪音的,这种噪音最终也会影响相机的位置。如果我们假设quad1的位置是无噪声且稳定的,而quad2是有噪声的,那么问题是我能否估计quad2上的噪声,然后用它来稳定quad?已知距离的间距并不意味着你知道QuadCopter的相对旋转,旋转会对图像产生很大影响。我仍然不理解稳定性问题,因为单目相机中的任何运动都可以归因于噪声,因此不需要立体声。如果希望其中一个四边形镜像另一个具有某个基线的运动,则必须恢复3D,更改视点并将3D重新投影到四边形2中,然后查看摄影机图像与其他四边形的不同之处