gpt4 book ai didi

algorithm - 来自两个不同图像的点匹配算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:48:12 25 4
gpt4 key购买 nike

我正在寻找一种方法或算法,使我能够识别和配对来自两个不同图像的点集,以达到立体视觉的目的。 picture

所附图片展示了我目前所拥有的:2 个相机在 Y 轴上对齐并在 X 轴上稍微偏移,观察一组点。我能够跟踪并获取两个相机图像(IMG0 和 IMG1)上每个点的二维位置。

因此,我有两个二维坐标列表:

L0 = { a0, a1, a2, a3, a4, a5, a6 }
L1 = { b0, b1, b2, b3, b4, b5, b6 }

现在,为了进行三角测量以获得每个点的 3D 位置,我需要知道图像 IMG1 上的哪个点对应于 IMG0 上的哪个点。两个摄像头看到完全相同的一组点,具有相同的整体形状,但显然,由于轻微的失真和摄像头在水平方向上的偏移,2D 坐标从一个图像到另一个不匹配。

理想情况下,我正在寻找的点匹配算法会产生如下列表:

List = {a0-b0, a1-b1, a2-b2,...}

列表的顺序无关紧要,只要我确定每个点都与第二张图片中的正确点配对即可。

我一直在看几篇介绍立体映射算法的论文,但我没有找到任何与我的问题相关的内容,因为大多数算法都是基于大量图像特征识别的,这不适合我想要快速处理的情况一切都是实时的。我似乎找到的最接近的解决方案是点匹配算法 presented here ,但这对我的问题来说又一次显得太沉重了。

如有任何帮助,我们将不胜感激。

最佳答案

首先你应该确保你理解epipolar geometry的基本概念,尤其是对极线的概念。

简而言之:假设您有一个 3D 点 P,它投影到相机 A 图像中的 2D 点 q。现在你有了第二个相机,称之为 B,你想在 B 中找到 P 的图像。对极几何告诉你,在给定q 的情况下,PB 中的可能位置仅限于一条线,称为对极线。它还告诉您(以及如何)您可以使用所谓的基本矩阵从 q 和相机校准计算这条线。

对于您的问题,这具有以下含义:

q 是列表L0 中的一个点。

  • 如果您的列表 L1 中有一个点,它位于第二张图片中 q 的对极线上,那么这是q 的正确对应。
  • 如果对极线上有多个点,则无法使用给定的信息解决您的问题。在这种情况下,您需要对 3D 点的分布做出启发式假设,因为对于 q 与对极线上的点的每一对,您都会得到一个可能的 3D 点。

如果您的相机仅沿 X 轴偏移,并且方向相同(即图像平面平行),那么今天就是您的幸运日:在这种特殊的相机配置中,对极线是水平的,即一个点(x,y)极线是任意X坐标和Y坐标y的所有点的线。

请注意,在实践中,您还会面临这样的问题,即由于测量误差和数值问题,点不太可能完全位于对极线上。

关于algorithm - 来自两个不同图像的点匹配算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15506690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com