【问题标题】:Find homography matrix by 4 displacement points通过4个位移点找到单应矩阵
【发布时间】:2018-03-10 18:16:23
【问题描述】:

我训练了一个模型,可以根据Deep image homography estimation找出4个对应像素的位移点。换句话说,这篇论文的输出给我的不是4个对应点,而是它们的位移。

例子:

4个对应点:

p1 <-> p1', p2 <-> p2', p3 <->p3', p4 <-> p4'

4个对应点的位移(模型的输出):

(p1'.x - p1.x, p1'.y-p1.y), (p2'.x - p2.x, p2'.y-p2.y), (p3'.x - p3.x, p3'.y-p3.y), (p4'.x - p4.x, p4'.y-p4.y)

论文说我们可以从 4 个替换点到 9 个参数的单应矩阵进行 1 对 1 的映射,但是怎么做呢?

我按照论文的建议研究 DLT,这个算法需要 4 个对应点(8 个像素位置),但不需要 4 个对应点的位移。

【问题讨论】:

  • 在我看来,如果没有这个位移的位置,你就没有足够的数据。位于不同图像部分的相同位移会产生不同的单应性。

标签: computer-vision homography


【解决方案1】:

据我了解你的问题,你问的是如何在没有像素correspondences 的情况下生成位移。这需要对论文的假设进行一些描述。

如摘要中所述,给定两幅图像,他们估计了Homography 矩阵,该矩阵(在某些假设下)完全描述了两幅图像之间每个像素的位移。

P&lt;sup&gt;2&lt;/sup&gt;&lt;sub&gt;i&lt;/sub&gt; = HP&lt;sub&gt;i&lt;/sub&gt;&lt;sup&gt;1&lt;/sup&gt;

在上面的公式中,H 是一个 3x3 矩阵乘以第二张图像中的一个点 P2。这个操作给出了 P1,它是它在第一张图像中的“变换”位置。每当使用单应矩阵来描述这种变换时,都假定场景中的对象到目前为止可以解释为它们生活在一个平面上。这就是为什么使用矩阵来解释这种变换的原因。因为它只能描述仿射变换(即平移、旋转和倾斜),所有这些都是在平面场景的假设下进行的。

回到您的问题,此转换可用于查找对应关系,例如通过在上面的等式中舍入 P1 或者在第一张图像中找到最近的邻居,这使得它不再是一对一的映射,因为多个 P2 可以映射到一个 P1 .

我不确定您的问题是否属于我的答案集。如果它没有让我知道,那么我可以改进它。

【讨论】:

  • 最后,正如@Kamil 所说,我没有足够的数据。我想我只会使用论文提出的训练图像生成解决方案来找到单应矩阵,在大多数情况下,将图像调整为 320,240 并中心裁剪它应该可以工作
猜你喜欢
  • 2015-07-25
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多