问题标签 [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.
matlab - RANSAC 估计仿射变换
对于图像马赛克应用程序,我获取了描述符的匹配并将其存储在一个矩阵匹配 2xM 中。我现在想用仿射应用 Ransac,所以我的随机样本是 2x3 矩阵,然后我尝试应用代码
[tform,inlier1,inlier2] =estimateGeometricTransform(sample(1,:),sSample(2,:),'仿射');
这似乎不起作用,因为它要求我的列为 2,将其转换为 3x2 也不起作用,因为对于仿射我需要 3 个对应点。
Matches 也只返回匹配描述符的索引,我如何提取它的坐标并将其应用于我的 tform 转换?
c++ - 如何在设备上运行推力::count_if?(库达)
我想实施 RANSAC。我生成了 60k 点和 500 个平面,我想计算每个平面,它们附近有多少点。然后选择具有最大值的那个。
在我生成向量 ( d_vec
) 和平面 ( d_pl
) 并将它们传输到 GPU 后,我使用thrust::transform
和在其中thrust:count_if
计算关闭点的数量。
不幸的是,我收到了这个错误:
怎么可能从设备代码调用thrust::count_if?我错了什么?这是完整的代码:
python - 关键点描述符匹配:如何计算每个模板的拟合优度?
我不确定这是否属于 stackoverflow 或其他 stackexchange 站点 - 非常欢迎在这里输入。
我使用 python OpenCV 将目标图像的 BRISK 关键点描述符与三个不同的模板进行匹配。
什么是确定哪个模板是最合适的模板的实用、稳健、统计合理的方法?
现在我计算cv2.RANSAC
返回的内点数cv2.findHomography
(顺便说一下,它不会返回拟合优度统计数据)并采用具有最高数字的模板。
我查看了描述符距离的直方图,它似乎总是以高斯为中心(奇怪地)在大约 105(单位?)。
https://en.wikipedia.org/wiki/Random_sample_consensus似乎很有用。
非常感谢指导 - 谢谢!
plane - 激光雷达数据的 Ransac 地平面分割
我想使用 ransac 算法分割地平面激光雷达环,我使用 python-pcl 来做到这一点,但我得到了错误的结果,如下图所示。
众所周知,激光雷达数据有许多地平面环,它找不到正确的地平面,但它找到了地平面以上的平面。我可以猜测的原因可能是激光雷达的地面非常稀疏,而地面以上的平面上的点数比地面多,因此算法找到了错误的结果。代码可以列出如下:
不确定是否是我猜测的问题,所以如果有人以前遇到过问题,请告诉我。而且我不知道如何解决这个问题,关于激光雷达环分割的信息很少,有人知道如何解决吗?
还有其他方法可以进行激光雷达地面分割,我可以得到代码吗?
python - 两个相似部分的二维相关性
我必须解决以下问题:
我有两个具有相同部分的图像,但该部分在第二个图像中旋转、缩放和平移(没有剪切)。这部分具有可用于相互比较的特征点。
问题是:第二部分可能包含一个或多个错误(不要太多)。
我需要计算旋转、缩放和平移矩阵(这不是问题本身),因此第一张图像的特征点与第二张图像的点的累积距离最小。
我正在使用python,但第一个近似值是蛮力的,我得到了每个im1
点到点的最小距离im2
。ransac
可以用or做到这一点flann
吗?处理它的最佳或正确方法是什么?我认为是一个 MLE 问题,最小化的函数是到每对点的累积距离。
稍后,我会给每个image1
特征点分配最近的image2
点,因为如果不清楚,直到现在我们都不知道对应是什么。
python - 如何检测数据在 DataFrame 中线性变化的连续跨度?
我正在尝试检测相关变量在 DataFrame 中的某些数据内线性变化的连续跨度。满足这一点的数据中可能有许多跨度。我开始使用ransac
基于使用 RANSAC 的稳健线性模型估计的方法。但是,我在将示例用于我的数据时遇到了问题。
客观的
检测相关变量在数据中线性变化的连续跨度。要检测的跨度由20多个连续的数据点组成。所需的输出将是放置连续跨度的范围日期。
玩具示例
在下面的玩具示例代码中,我生成随机数据,然后设置数据的两个部分以创建线性变化的连续跨度。然后我尝试将线性回归模型拟合到数据中。我使用的其余代码(此处未显示)只是使用 RANSAC页面的稳健线性模型估计中的其余代码。但是我知道我需要更改剩余的代码才能达到目标。
对于这个玩具示例代码,所需的输出(我还不能编码)将是这样的 DataFrame:
错误代码
但是,当执行第 6 步时,出现以下错误:
ValueError: Expected 2D array, got 1D array instead: ... 重塑您的数据,如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 或 array.reshape(1, -1) 如果它包含单个特征样本。
我希望能够在这个例子中检测到相关变量线性变化的两个连续跨度(line1
和line2
)。但我无法实现ransac 代码示例中所述的示例。
问题
我应该在我的代码中修改什么才能继续?而且,是否有更好的方法来检测相关变量线性变化的连续跨度?
c++ - PCL:使用 RANSAC 访问 pcl::ModelCoefficients::Ptr 的字段以进行线模型近似
我正在尝试使用点云库提供的 RANSAC 方法来估计通过点云点的线。我可以创建对象,并毫无问题地估计线模型,如下所示:
我现在尝试访问模型参数,但我太笨了……根据API,应该有六个可访问的参数:
线的六个系数由线上的一个点和线的方向给出:[point_on_line.x point_on_line.y point_on_line.z line_direction.x line_direction.y line_direction.z]
因此,我试图这样访问它们:
但是,这不起作用。我不断收到错误:
“pcl::ModelCoefficients”中没有名为“line_direction”的成员。
我真的不知道我做错了什么......有人有任何想法吗?提前致谢!
python - 在python中检测一组平面
根据那篇 Detecting set of planes from point cloud 我也在做同样的事情,但我不知道如何在 python 中继续使用该算法。有人会为python中的算法指出一个伪代码吗?或者使用任何帮助库,如 scipy ?
我正在尝试检测两个平面(两个有边缘的墙),我需要它们的法线
提到的算法:
matlab - 在使用 RANSAC 算法之前,我们如何消除不属于目标区域的特征?
在匹配 SIFT 特征点时,会出现很多不匹配的情况。RANSAC算法可以通过寻找这些特征点的变换矩阵来去除不匹配。但是当数据空间包含很多不匹配时,找到正确的变换矩阵将非常困难。更重要的是,找到错误模型的概率非常大。为了解决这个问题,我想使用改进的 RANSAC 算法。在使用 RANSAC 算法之前,我想通过消除不属于目标区域的特征来去除部分错误特征点。为此,我想计算包含特征点的区域周围每个点的数量。当数量小于我们设置的阈值时,我们认为该点不属于目标区域并将其移除。