问题标签 [ransac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image-processing - RANSAC 算法
谁能告诉我如何使用 RANSAC 算法在两个具有一定重叠部分的图像中选择共同特征点?问题来自基于特征的图像拼接。
c++ - findHomography 与 RANSAC 错误异常值
我正在使用 features2d(ORB、SIFT 等)进行一些对象检测
我正在使用 RANSAC 进一步研究单应性。我发现许多好点被错误地标记为异常值。
对象内部有很多不应该是异常值的异常值(书)
我尝试将阈值提高到 10,但结果几乎相同。我可以做些什么来改善这种情况吗?
RANSAC 有什么问题吗?
c++ - 测试opencv warpAffine异常值的数量
我正在使用 opencv 来估计两个图像之间的仿射变换(我们称之为 A 和 B,我想从 A 估计到 B),我需要实现 RANSAC 以获得可能的最佳估计。到目前为止,我的 RANSAC 框架(考虑到我已经有了两个图像的关键点以及它们之间的匹配):
1:选择3个随机匹配,将A和B的匹配点作为getAffineTransform函数的输入;
2:使用函数warpAffine对A的点进行warp,并将结果与B的点进行比较,得到异常值率:e;
3:考虑到我的样本大小是 3 个点(getAffineTransform 需要 3 个点才能找到变换),并且我有异常值 e 的比率,我可以找到我需要运行 RANSAC 的次数才能找到一个很高的概率好的估计,是N次;
4:重新运行第 1 步和第 2 步 N 次,保持具有最小异常值率的变换;
虽然基本的想法似乎很好,但我在执行时遇到了一些问题,特别是第 2 步。我的问题是,我不确定如何测试异常值的数量。我考虑过使用 warpAffine 将 A 的点映射到 B,但我几乎可以肯定它不会起作用,因为我相信该函数会解释我的点垫(这是一个 Mx2 垫,M 是点数,每个将点的坐标 x 和 y 列为图像,而不是我要映射的一组点。我怎样才能做到这一点?
我正在使用带有 c++ 的 opencv 2.4.2。
algorithm - RANSAC算法参数设置
RANSAC算法已广泛应用于计算机视觉等工程领域。但是,如果我理解得很好,使用该算法时需要设置两个参数:一个与迭代次数有关,另一个与估计模型的阈值有关。以线性线估计问题为例:
图片中的蓝点代表离群点,而红点代表离群点。
迭代次数表明我们应该尝试多少次才能找到正确的线模型。我们尝试的越多,就越有可能获得正确的模型。但是,消耗时间也会增加。此外,迭代次数还与数据集中异常值的百分比有关。存在的异常值越少,我们可以预期的迭代就越少。
模型的阈值取决于手头的问题。如果设置得太严格,可以拟合模型的数据将变得无用,从而导致估计不准确。此外,严格的模型阈值也可能导致错误的模型。如果设置得太松,异常值可能会发挥作用。
暂时我对这两个参数的设置方案如下: 1)迭代次数:开始时粗略估计异常值的百分比,如果百分比高,则需要更多的迭代;否则,迭代次数设置相对较低。2)模型阈值:一开始设置一个比较大的阈值保持,然后根据它们与模型的接近程度给内点一个权重。如果异常值碰巧变成了异常值,它们不会显着影响模型估计。我想知道 RANSAC 参数设置是否存在其他解决方案。谢谢!
3d - 用于样条拟合的 RANSAC
我想知道是否有任何方法可以创建可用于 RANSAC 方案的模型,其中可以从嘈杂的 3D 点云中确定样条线或折线。
我所拥有的是一个在每个 XY 平面中包含一组点的体积,在 Z 方向上有 400 个点,并且在简单地查看 3D 空间中的绘图数据时,样条形状会在视觉上出现。我已经有一个线拟合 RANSAC 方案,其中误差由简单的距离测量确定,但我不知道如何确定样条/折线的模型。
c#-4.0 - 通过评估视频源的视频流来确定视频源的位置
步骤是什么
a) 通过评估它的传感器数据(即深度流、视频流、音频流)来获取 kinect 的位置
b)通过评估其传感器数据(即视频流)来获取常规相机的位置
opencv - OpenCV CV findHomography 断言错误 - 计数器 => 4
我目前正在完成我的兴趣点检测器评估工具。在最后的步骤中,我发现了一个令人困惑的错误。
srcPoints
和dstPoints
是存储匹配关键点的vector<Points2f>
对应点。到目前为止没有什么特别的 - 就像在教程中一样。
但是当我使用 RANSAC 并且vector<Points2f>
在 [0, ... , 4] 范围内时,我得到一个断言错误,而不是计数器应该大于或等于四。
问题1:算法是否需要至少四个点来描述什么属于当前模型并创建共识?
请注意,我已经看过这个问题。但对于 RANSAC 的行为,并没有令人满意的答案。还是我应该接受这种方法至少需要四个点才能找到单应性?
谢谢你的帮助。
opencv - 如何检查获得的单应矩阵是否良好?
这个问题已经被问过了,但我还是不明白。我通过调用cv::findHomography
一组点来获得一个单应矩阵。我需要检查它是否相关。
所提出的方法是计算内点的最大重投影误差并将其与阈值进行比较。但是经过这样的过滤后,我不断得到疯狂的变换,对象边界框几乎变成一条直线或一些奇怪的非凸四边形,带有自相交等。
可以使用哪些约束来检查单应矩阵本身是否足够?
c++ - findHomography 返回的 mask 参数的值代表什么?
我将findHomography
OpenCV 的功能与 RANSAC 方法一起使用,以找到将与一组关键点链接的两个图像相关联的单应性。
主要问题是我无法在任何地方找到函数输出的掩码矩阵的值。
我知道的唯一信息是 0 值是异常值,非零值是异常值。但这意味着内部值是什么?有人知道吗?
我调用的一段代码findHomography
:
opencv - 如何在 SURF、SIFT 和 ORB 匹配结果上应用 RANSAC
我正在研究图像处理。我想匹配 2D 特征,我在 SURF、SIFT、ORB 上做了很多测试。
如何在 OpenCV 的 SURF/SIFT/ORB 上应用 RANSAC?