系统|机器视觉系统中关于角点检测算法的介绍


角点是图像重要的特征 。 角点检测又称为特征点检测 , 图像图形是否能够被计算机视觉系统所识别和分析 , 离不开角点的作用 。 这也是计算机视觉系统获取图像特征的一种方法 。 在视频跟踪、三维建模、图像匹配和目标识别的领域里面 , 已经被广泛的应用了 。
角点通常被定义为两条边的交点 , 准确的来说 , 角点的部分领域应该具有两个不同范围和不同方向的边界 。 但在实际的应用之中 , 大多数所谓的角点检测方法 , 检测的是拥有特定特征的图像点 , 而不单单是“角点” 。 这些特征点在图像里面有具体的坐标 , 并拥有某些数学特征 , 比如局部最大或者最小灰度 , 某些梯度特征等 。
【系统|机器视觉系统中关于角点检测算法的介绍】现有的角点检测算法并不是都十分的稳定 。 很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现 。 角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力 , 并且能够应对光照变化、图像旋转等图像变化 。
近年来提出的角点检测方法大多是基于灰度图像的角点检测 。 主要分三类:
(1)基于模板的角点检测 。 一般首先建立一系列具有不同角度的角点模板 , 然后在一定的窗口内比较待测图像与标准模板之间的相似程度 , 以此来检测图像中的角点 。 基于模板的方法主要考虑像素邻域点的灰度变化 , 即图像亮度的变化 , 将与邻点亮度对比足够大的点定义为角点 。 首先设计一系列角点模板 , 然后计算模板与所有图像子窗口的相似性 , 以相似性判断在子窗口中心的像素是否为角点 。
(2)基于边缘特征的角点检测 。 主要分三个步骤:
1、首先 , 对图像进行预分割;
2、然后对预分割后得到的图像中边界轮廓点进行顺序编码 , 得到边缘轮廓链码;
3、最后 , 根据边缘轮廓链码对图像中的角点进行描述和提取 。 Wallg和Braday提出了一种基于表面曲率的角点检测算法 。 为了改善角点检测的稳定性 , 首先将图像和高斯滤波器卷积 , 然后计算整个图像的表面曲率 , 当曲率高于一定阈值 , 并为局部最大值的点被认为是候选角点 。
(2)基于亮度变化的角点检测 。 该算法基于角点相应函数(CRF)对每个像素基于其模板邻域的图像灰度计算CRF值 , 如果大于某一阈值且为局部极大值 , 则认为该点为角点 。
角点的检测算法不仅这些 , 还有基于模板的角点检测算法就有Kitchen-Rosenfeld角点检测算法、Harris角点检测算法、KLT角点检测算法及SUSAN角点检测算法等 , 在此暂不详述 。
盈泰德科技(深圳)有限公司在机器视觉行业有着多年的经验 , 在检测算法中也有不少的应用案例 , 其中就包含优异的角点检测算法 。 盈泰德科技一直以来致力于机器视觉产品的生产、开发、应用以及销售 , 为客户提供整体机器视觉解决方案及服务 , 把机器视觉技术应用到智能生产中 。

    推荐阅读