无目标非重叠立体相机校准

Posted

技术标签:

【中文标题】无目标非重叠立体相机校准【英文标题】:Targetless non-overlapping stereo camera calibration 【发布时间】:2021-12-30 04:42:38 【问题描述】:

可以使用 OpenCV 中的特征匹配器进行重叠无目标立体相机校准,然后使用 8 点或 5 点算法来估计基本/基本矩阵,然后使用这些算法进一步分解旋转和平移矩阵。

如何在没有目标的情况下实现非重叠立体设置?

我们是否可以使用视觉里程计(如 ORB SLAM)来计算两个相机的轨迹(相机将是刚性固定的),然后使用手眼校准来获得外在参数? 如果是,每个轨迹的变换如何映射到抓手->基础变换和目标->相机变换? 或者还有其他方法可以应用这个算法吗?

如果不能使用手眼标定,有没有什么建议可以实现无目标非重叠立体相机标定?

【问题讨论】:

【参考方案1】:

手眼校准足以满足您的情况。只需通过运行 ORBSLAM 从每个摄像机获取轨迹。然后,计算每个轨迹上的相对轨迹位姿,并通过 SVD 得到外在的位姿。您可能需要阅读一些论文来了解如何实现这一点。

这有时称为基于运动的校准。

【讨论】:

能否对论文的实施提出一些建议 @SandeepMenon 请参阅我的论文:时空相机-LiDAR 校准:无目标和无结构的方法 C Park, P Moghadam, S Kim, S Sridharan, C Fookes IEEE Robotics and Automation Letters 5 (2), 1556 -1563 这是Camera-LiDAR 对。我看到这里还使用了基于运动的校准,其中相机和激光雷达没有重叠。你有相机相机盒的例子吗?另外,是否可以开源您使用的代码,以便我可以尝试使用针对我的情况的手眼校准方法。谢谢 原理完全一样。只需使用相机轨迹而不是激光雷达轨迹即可。

以上是关于无目标非重叠立体相机校准的主要内容,如果未能解决你的问题,请参考以下文章

来自形成立体系统的两个校准相机的 openCV 深度图

Python OpenCV 立体相机校准阵列错误:TypeError:不支持 imagePoints1 数据类型 = 17

非最大抑制,挑选和目标重叠框 yolo思想原理

立体视觉:深度估计

如何校准具有长焦距固定焦距的相机?

OpenCV 立体匹配/校准