计算机视觉:传统图像处理方法

1、图像分割

经典的数字图像分割算法一般是基于灰度值的两个基本特征之一:不连续性和相似性。

(1)基于阈值:

基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。

算法的关键:确定阈值。

(2)基于边缘:

所谓边缘是指图片中两个不同区域的边界线上连续的像素点的集合,是图像局部特征不连续性的反映,体现了灰度、颜色、纹理等图像特性突变。

先确定图像中的边缘像素,把这些像素连接在一起就构成了所需的区域边界。

计算机视觉:传统图像处理方法

(3)基于区域

将图像按照相似性分成不同的区域,主要包括种子区域生成法,区域分裂合并法和分水岭算法等。

区域生长法:
根据一种事先定义的准则将像素或者子区域聚合成更大区域的过程 ,并且要充分保证分割后的区域满足以下条件:内部连通、互斥,且各子集的并集能够构成全集。
区域生长的条件实际上就是根据像素灰度间的连续性而定义的一些相似性准则,而区域生长停止的条件是一个终止规则。
当待加入像素点的灰度值和已经分隔好的区域所有像素点的平均灰度值的差的绝对值不大于最大像素灰度值距离时,该像素点加入到已经分割到的区域。相反,该区域生长算法停止。

分水岭算法:
一种图像区域分割算法,分水岭算法可以将图像中的边缘转化成“山脉”,将均匀区域转化成“山谷“,这样有助于分割目标。
在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近(求梯度)的 像素点连接起来构成一个封闭的轮廓。

步骤:
彩色图像灰度化,再求梯度图。
在梯度图的基础上进行分水岭算法,求得分段图像的边缘线。

(4)基于图论

Graph Cuts分割:
第一种顶点对应于图像中的每个像素。每两个邻域顶点(对应于图像中每两个邻域像素)的连接一条边。
另外两个终端顶点,叫S(source:代表前景)和T(代表背景)每个普通顶点和这两个终端顶点之间有连接,组成第二种边。
Graph Cuts中的Cuts是指这样一个边的集合,该集合中所有边的断开会导致残留’S’和’T‘图的分开,称之为割。如果一个割,它的所有边的权值之和最小,就称之为最小割,也就是图割的结果。

计算机视觉:传统图像处理方法

计算机视觉:传统图像处理方法

R(A)为像素p分配标签l的惩罚,当像素p的灰度值属于目标的概率大于背景Rp(1)小于Rp(0),即像素p更有可能属于目标时,将p归类为目标可以使得R(L)尽可能的小。
B是像素p和q之间不连续的惩罚,一般来说如果p和q越相同,那么B越大,如果非常不同,B接近0。

计算机视觉:传统图像处理方法

过程:

  • 先取两个种子点
  • 建立一个图
  • 图中边的粗细表示对应权值的大小
  • 找到权值和最小的边的组合
  • 完成图像分割的功能

计算机视觉:传统图像处理方法

GrabCut:
假定前景和背景是高斯混合模型(GMM),对于每个像素,要么来自目标GMM 的某个高斯分量,要么来自背景GMM的某个高斯分量。
用边界来体现邻域像素之间不连续的惩罚,如果两邻域像素差别很小,那么它属于同一个目标或者背景的可能性特别大,反之可能是边缘,通过K-Means算法迭代获得。

GMM:两组点分别通过两个不同的正态分布随机生成而来。如果没有GMM,那么只能用同一个的二维高斯分布来描述。

GrabCut分割:
迭代进行Graph Cuts,优化前景和背景的颜色模型,能量随着不断迭代变小,分割效果越来越好。流程:(1)使用标记初始化颜色模型(K=5)(2)迭代进行GraphCut

2、人脸检测

Harr-like特征+级联分类器

3、行人检测

(1)HOG+SVM
(2)DPM

版权声明:本文为CSDN博主「iotflh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iotflh/article/details/111881397

最新文章