当前位置:   article > 正文

分享 | 特征提取 (Features)

特征提取

为何要进行特征提取?

经过之前的学习,我们已经可以将一张图片中物体的边缘提取出来了。但即使是我们用 Canny 提取出来的物体边界图依然存在很多对于识别物体来说并不重要的线条。这些线条反而会影响到我们对物体的识别。因此我们有必要将有利于我们识别物体的这些特征提取出来。

图片

RANSAC 比例算法

动机

RANdom SAmple Consensus (RANSAC) 直译过来就是随机样本共识,是一种利用比例来确定特征的算法。它相比如边缘检测来说,可以在物体较多的情况下保持高效和准确。但是在噪声较大的图片中可能会失败或者产生不准确的结果。

图片

方法

RANSAC 简单来说就是对边缘进行随机采样获取到一组点,然后寻找最佳拟合线。需要找到一条可以使尽可能多的点都靠近这条的模型,这条模型便很可能是这个边缘的最佳拟合线。将靠近模型的点叫做 内群点(inliers),不靠近的叫做 离群点(outliers)。

下面是 RANSAC 的一般过程循环:

  1. 从数据集中选择出可以估计出模型的最小数据集;(对于直线拟合来说就是两个点,对于计算Homography矩阵就是4个点)

  2. 使用这个数据集来计算出数据模型。

  3. 计算在模型范围内的点的个数,即内群点的个数。

  4. 一直重复上面的步骤,直到找到最多内群点的直线。

图片

这种算法不止可以用于检测直线,三角形,矩形也都可以由这个方法检验出来。

迭代次数计算

在使用算法之前,需要先设置这个算法的迭代次数。

假设内群点占比为 t:

图片

每一次计算模型需要用到 n 个点(对于直线来说 n=2 ),那么选取的点中至少有一个是外点的概率为:

图片

 对于 k 次迭代来说,全都失败的可能性是 。那么正确采样的概率就是:

图片

由上式可得:

图片

其中:内群点的概率 t 通常是一个先验值。而 P 是我们希望 ransac 的正确率。

RANSAC 总结

  • RANSAC 的好处:

    • 适用于各种模型拟合问题的通用方法。

    • 易于实施且易于计算其故障率。

  • RANSAC 的坏处:

    • 只处理中等比例的异常值时不会增加成本。

    • 许多实际问题的异常值率很高(但有时选择性地选择随机子集会有所帮助)。

局部不变特征

动机

对于一个物体来说,可能有很多种情况使得这个物体变得难以辨认,比如:物体被遮挡住了一部分;拍着物体的角度发生了改变;或者同一个物种不同各地之间的差异。但即使这样,大多数情况下,人类都可以轻易的辨别出那个物体或者物种。这是因为物体中有一些局部不变的特征。因此只要找到这些局部不变的特征,上述那些情况就会变得较为容易了。并且还可以做到比如跟踪、运动估计、全景拼接和图像配准等功能。

图片

方法

  1. 找到并定义一组独特的关键点。

  2. 获取关节点周围的像素区域。

  3. 从该区域中提取和规范化区域内容。

  4. 从归一化区域计算局部描述符(即像素强度的函数)。

  5. 匹配本地描述符。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/850289
推荐阅读
相关标签
  

闽ICP备14008679号