ransac相关内容

平面分割和平面拟合的区别

我最近一直在做一个项目,我必须在 3D 网格中检测墙壁、地板和天花板.在做了一些研究之后,我已经能够使用 RANSAC 算法检测地板和墙壁的某些部分.我只是想知道是否有人能够解释平面拟合和平面分割之间的区别,因为它们似乎都会导致包含地板的点云? 解决方案 平面拟合通常被理解为一种基于纯最小二乘法的拟合技术,其中从点集到平面方程的距离被最小化.可以通过多种方式来制定这种优化,但最实用的一种是 ..
发布时间:2021-11-25 02:40:57 C#

关键点描述符匹配:如何计算每个模板的拟合优度?

我不确定这是否属于 stackoverflow 或其他 stackexchange 站点 - 非常欢迎在这里输入. 我使用 python OpenCV 将目标图像的 BRISK 关键点描述符与三个不同的模板相匹配. 确定哪个模板最合适的实用、稳健、统计合理的方法是什么? 现在我计算 cv2.findHomography 返回的 cv2.RANSAC 内点的数量(顺便说一下,它不返 ..
发布时间:2021-06-12 19:35:54 其他开发

pcl :: RANSAC分割,让所有飞机都在云中?

我有一个点云库功能,可以检测点云中最大的平面。这很好。现在,我想扩展此功能,以分割出云中的每个平面并将这些点复制到新的云中(例如,一个在房间地板上有球体的场景将使我回到地板和墙壁,但不是球体,因为它不是平面)。如何扩展下面的代码以获取所有飞机,而不仅仅是最大飞机? (运行时是这里的一个因素,所以我宁愿不要只是在循环中运行相同的代码,每次都剥离新的最大飞机) int main(int ..
发布时间:2020-10-07 18:55:01 其他开发

在使用OpenCV的RANSAC中,将一组点拟合到一条或多条好线上的最佳方法是什么?

使用OpenCV使用RANSAC在一条或多条好的线上拟合图像中一组点的最佳方法是什么? RANSAC是拟合的最有效方法吗? 解决方案 RANSAC并不是最有效的方法,但是对于许多离群值来说更好。以下是使用opencv的方法: 有用的结构- struct SLine { SLine(): numOfValidPoints(0), params(-1.f,-1.f ..
发布时间:2020-10-07 18:53:43 其他开发

findHomography返回的mask参数的值代表什么?

我正在使用带有RANSAC方法的OpenCV的 findHomography 函数,以查找将两个图像与一组关键点相关联的单应性。 主要问题是我还无法找到该函数输出的掩码矩阵的值是什么。 我知道的唯一信息是0值是异常值,非零值是inlier。但是,这意味着Inliers的价值是什么?有人知道吗? 我称之为 findHomography 的代码段: cv :: Mat H12 ..
发布时间:2020-09-27 02:53:11 其他开发

平面分割与平面拟合之间的差异

我最近一直在进行一个项目,目的是检测3D网格中的墙壁,地板和天花板。经过研究,我已经能够使用RANSAC算法检测地板和墙壁的某些部分。我只是想知道是否有人能够解释平面拟合和平面分割之间的区别,因为它们似乎都导致包含地板的点云? 解决方案 平面拟合通常被理解为基于最小二乘法的纯拟合技术,其中从点集到平面方程的距离最小。可以以多种方式制定这种优化方法,但最实用的方法是对协方差矩阵进行简单的SV ..
发布时间:2020-05-31 21:10:01 其他开发

RANSAC平面拟合系数

我正在尝试使飞机适应一组点云.我尝试使用点云库(PCL)和它运作良好.我需要知道的是如何获得拟合平面的系数a,b,c(ax + by + cz + 1 = 0).有什么简单的方法吗?我从这里得到了一些见解: 3D最小二乘平面 解决方案 请参阅以下平面分割教程: http://pointclouds.org/documentation/tutorials/planar_segmenta ..
发布时间:2020-05-28 21:11:45 其他开发

为什么RANSAC无法使用我的代码?

我试图在2张图像之间找到基本矩阵,然后使用RANSAC对其进行转换.我首先使用SIFT来检测关键点,然后应用RANSAC: img1 = cv2.imread("im0.png", 0) # queryImage img2 = cv2.imread("im1.png", 0) # trainImage # Initiate SIFT detector sift = sift = ..
发布时间:2020-05-20 20:37:54 其他开发

任意2D集的类似于RANSAC的实现

TL; DR:是否有RANSAC或其他健壮的对应算法的C ++实现,可自由用于任意2D点集? 我知道存在许多实现,其中包括或利用了相应的算法,例如RANSAC(随机采样共识).它们通常在计算机视觉应用程序中使用,并在诸如 OpenCV ,现在,我发现的所有“高级"实现(针对OpenCV,PCL等)都是针对具有基本假设集的特定类型的问题的.在OpenCV中,您希望找到第一张图像和第二张图像的一 ..
发布时间:2020-05-20 19:22:34 其他开发

在Opencv中仅使用平移,旋转和缩放计算单应性

我确实有两组点,我想找到它们之间的最佳变换. 在OpenCV中,您具有以下功能: Mat H = Calib3d.findHomography(src_points, dest_points); ,使用RANSAC返回3x3同形矩阵.我现在的问题是,我只需要平移和旋转(可能还有缩放),不需要仿射和透视. 问题是,我的点仅以2D表示. (1)是否有计算单应性但自由度较小的函数? ..
发布时间:2020-05-07 19:00:54 其他开发

OpenCV:如何使用findHomography()/findFundamental()和RANSAC获取内部点

OpenCV本身不提供RANSAC函数,或者至少不以您可以调用并使用它的形式提供(例如cv::ransac(...)).能够使用RANSAC的所有功能/方法都有一个启用它的标志.但是,如果您实际上想在估计单应性/基本矩阵之后使用RANSAC计算的其他值,则这并不总是有用的,例如在Octave或类似的软件/点库中创建一个漂亮的图,在该点上应用其他算法剩余的已过滤匹配集等. 匹配两个图像后,将获 ..
发布时间:2020-05-06 04:24:06 其他开发

使用scikit-image和RANSAC稳健地估计多项式几何变换

我想用scikit-image skimage.transform和skimage.measure.ransac来强大地估计多项式几何变换 ransack文档提供了一个很好的例子如何做到这一点,但使用相似变换。结果如下: 来自skimage.transform import SimilarityTransform 来自skimage.measure import ransac m ..
发布时间:2018-07-30 17:23:12 其他开发

RANSAC算法

有人可以告诉我如何使用RANSAC算法在两个具有一定重叠部分的图像中选择共同的特征点吗?问题来自基于特征的图像拼接。 解决方案 当使用RANSAC进行基于特征的图像匹配时,你想要的是找到最能转换第一个图像的变换到第二张图片。这将是维基百科文章中描述的模型。 如果您已经获得了两个图像的功能,并且发现第一个图像中哪些功能最匹配第二个图像中的哪些功能,那么RANSAC将使用类似这样的功 ..
发布时间:2018-07-30 16:15:32 其他开发

如何检查获得的单应性矩阵是否好?

这个问题已经提出,但我还是不明白。我通过从一组点调用 cv :: findHomography 获得单应性矩阵。我需要检查它是否相关。 建议的方法是计算内点的最大重投影误差,并将其与阈值进行比较。但是在这样的过滤后,我继续获得疯狂的变换,对象边界框转换为几乎直线或一些奇怪的非凸四边形,具有自交集等。 可以使用什么约束来检查单应性矩阵本身是否足够? 解决方案 您的问题是数学的。给定3x3 ..
发布时间:2016-12-26 11:08:03 其他开发

使用estimateRigidTransform而不是findHomography

下面的链接中的示例是使用 findHomography 获得两组点之间的变换。我想限制转换中使用的自由度,因此要用 estimateRigidTransform 替换 findHomography 。 http: //docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html#feat ..
发布时间:2016-10-24 14:36:00 C/C++

使用estimateRigidTransform而不是findHomography

下面的链接中的示例是使用 findHomography 获得两组点之间的变换。我想限制转换中使用的自由度,因此要用 estimateRigidTransform 替换 findHomography 。 http: //docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html#feat ..
发布时间:2016-10-24 13:38:15 C/C++

OpenCV C ++ findHomography掩码值意义

我使用RANSAC方法使用OpenCV的函数 findHomography ,以便找到与一组关键点链接的两个图像相关的单应性。主要问题是,我还没有能够找到任何地方的函数输出的掩码矩阵的值。只有我知道的信息是0值是异常值,非零值是内点。但是,这是什么意思是内在价值?任何人都知道? 提前感谢! 我呼叫 : cv :: Mat H12; cv :: Mat mask; H ..
发布时间:2016-10-17 10:23:11 C/C++

最多的3D三角使用极几何比例

我目前工作的一个项目中,我必须估计使用单眼相机检测到的二维兴趣点的三维坐标。 要更precise,我在输入图像序列(校准),它是必需的,接收新的图像时,进行三角左侧之间的点(previous)图像和右当前让3D点。 要做到这一点,我在下面的步骤: 在当前图像中提取关键点 当前和previous图像之间建立对应关系 在计算使用RANSAC的基本矩阵E和高点算法 从提取E中的变换矩阵R和平移向量 ..
发布时间:2015-11-28 11:58:41 其他开发

RANSAC在2D线性回归(可靠线配合)

该文件包含C ++ $ C $下RANSAC线性回归与使用OpenCV的单元测试。一个典型的用一条线拟合的是 浮法X [N],浮Y [N]; 布尔围层[N]; 浮RMSE = RANSAC_line(X,Y,npoints,参数,NITERATIONS,MAX_ER,围层); 下面是文件 / * * RANSAC.h * *创建于:2013年3月4日 *作者:vivanche ..
发布时间:2015-11-28 10:48:26 其他开发