1

我试图找到一种方法来参数化我的单应性计算的精度。我想获得一个值,该值描述了在某个位置进行的测量的单应性计算的精度。

我目前已经成功计算了单应性(使用cv::findHomography),我可以使用它将我的相机图像上的一个点映射到 2D 地图上(使用cv::perspectiveTransform)。现在我想在我的 2D 地图上跟踪这些对象,为此我想考虑到在我的相机图像后面的对象在我的 2D 地图上的位置比一直在里面的对象更不精确前方。

我在这个网站上看过以下提到平面拟合的例子,但我真的不明白如何使用这种方法正确填充矩阵。结果的可视化似乎确实符合我的需求。有没有办法用标准的 OpenCV 函数来做到这一点?

编辑: 感谢 Francesco 的建议。但是,我想我正在寻找与您的答案不同的东西。我不是要测试单应性本身的精度,而是要测试一个真实相机视图中的测量密度与我创建的地图上的实际大小之间的关系。我想知道,当我在相机图像中检测到 1 个像素时,此时这将在我的地图上显示多少米。

我当然可以通过在我的相机图像上的测量周围获取一些像素来计算,然后使用单应性来查看每次我进行单应性时在我的地图上代表多少米,但我不想每次都计算这个。我想要一个公式来告诉我图像中的像素和地图上的像素之间的关系,这样我就可以考虑到我在地图上的跟踪。

4

1 回答 1

0

您正在寻找的内容称为“预测误差线”或“预测不确定性”。您绝对应该查阅一本关于估计理论的入门书籍以了解详细信息(例如这本)。但简而言之,预测不确定性是......

  • 图像 1 中的某个像素 p 将是图像 2 中像素 p' 在单应性 H... 下的映射 H(p')
  • 考虑到 H 的不确定性,这是由于匹配对 (q0, q0'), (q1, q1'), ... 中的误差导致的,这些已用于估计 H, ...
  • 但是假设模型是正确的,即图像1和2之间的真实映射实际上是单应性(虽然单应性本身的估计参数可能会受到误差的影响)。

为了估计这个概率分布,您需要一个测量误差的模型,以及它们如何通过(单应性)模型传播的模型。

于 2013-09-03T12:31:19.730 回答