首先先了解几个知识点
实战:图像模板匹配算法优化笔记(二):juejin.cn/post/684490…
图像梯度
模糊图像中的物体轮廓不冥想,轮廓边缘灰度变化不强烈,层次感不强,而清晰图片中的物体轮廓边缘灰度变化明显,层次感强。那么这种灰度变化明显不明显怎么去定义呢?可以使用导数(梯度),衡量图像灰度的变化率,因为图像就是函数。
由图像可以看出,相邻灰度值有变化,那么梯度就有值,如果相邻像素没有变化,那么梯度就是0,把梯度值和相应的像素相加,那么灰度值没有变化的,像素就没有变化,灰度值变了,像素值也就变了。因此梯度来增强图像的。
梯度的方向是函数变化最快的方向,当函数中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像。
经典的图像梯度算法是考虑图像的每个像素的某个邻域内的灰度变化,利用边缘临近的一阶或二阶导数变化规律,对原始图像中像素某个邻域设置梯度算子,通常我们用小区域模板进行卷积来计算,有Sobel算子、Robinson算子、Laplace算子等。
参考资料:www.cnblogs.com/pacino12134…
非极大值抑制(Non-Maximum Suppression,NMS)
非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。
这里不讨论通用的NMS算法(参考论文《Efficient Non-Maximum Suppression》对1维和2维数据的NMS实现),而是用于目标检测中提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。
但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高,并且抑制那些分数低的窗口。
NMS在计算机视觉领域有着非常重要的应用,如视频目标跟踪、数据挖掘、3D重建、目标识别以及纹理分析等。
在常见的边缘检测算子或轮廓检测相关算法中都有非极大值抑制这一步,边缘检测:Canny算子中的非极大值抑制是沿着梯度方向进行的,即是否为梯度方向上的极值点。
参考资料:
阈值分割
阈值分割是常见的直接对图像进行分割的算法,根据图像像素的灰度值的不同而定。对应单一目标图像,只需选取一个阈值,即可将图像分为目标和背景两大类,这个称为单阈值分割;如果目标图像复杂,选取多个阈值,才能将图像中的目标区域和背景被分割成多个,这个称为多阈值分割,此时还需要区分检测结果中的图像目标,对各个图像目标区域进行唯一的标识进行区分。
阈值分割的显著优点,成本低廉,实现简单。当目标和背景区域的像素灰度值或其它特征存在明显差异的情况下,该算法能非常有效地实现对图像的分割。阈值分割方法的关键是如何取得一个合适的阈值,近年来的方法有:用最大相关性原则选择阈值的方法、基于图像拓扑稳定状态的方法、灰度共生矩阵方法、最大熵法和峰谷值分析法等,更多的情况下,阈值的选择会综合运用两种或两种以上的方法,这也是图像分割发展的一个趋势。
参考资料:www.elecfans.com/rengongzhin…
图像金子塔
图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。 图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。 金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。 我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。
般情况下有两种类型的图像金字塔常常出现在文献和以及实际运用中。他们分别是:
●高斯金字塔(Gaussianpyramid): 用来向下采样,主要的图像金字塔
●拉普拉斯金字塔(Laplacianpyramid): 用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。
两者的简要区别:高斯金字塔用来向下降采样图像,而拉普拉斯金字塔则用来从金字塔底层图像中向上采样重建一个图像。
参考资料:www.cnblogs.com/sddai/p/103…
图像模板匹配
在目标检测过程中,常用的方法就是设置一个模板,以滑动窗口的形式遍历整幅源图像(待检测的图像);每次滑动都会产生一个和模板等大小的ROI图像,基于某种度量方式,计算模板与当前ROI图像的相似性度量值。这样遍历完整幅图像后就会形成一个图像,找出最大值对应的位置(x,y),它就是我们要寻找的目标的位置。
上面是模板匹配大致的步骤,当源图像很大,遍历完整幅图像很耗时,故提出了基于金字塔的模板匹配方法,下面是该方法涉及到几点:
- 设置金字塔层数nLevels,创建源图像和模板图像对应的nLevels层金字塔图像;
- 创建每层金字塔图像时,涉及到降采样(除以2),降采样后会出现锯齿,需要采用平滑滤波器进行处理;高斯平滑滤波器效果好但耗时,可以直接采用小模板的均值滤波器;
- 计算模板与ROI图像的相似性值时,需要选择相似性度量准则;相似性度量准则有SAD(绝对值总和),SSD(平方差总和)和NCC(归一化相关系数),NCC的计算最耗时但效果最好,能很好的适应光照变化。
参考资料:www.cnblogs.com/Happyhe/p/3…