数字图像处理--七、图像分割

目录

7.1 基础知识

7.2 区域划分

7.2.1 区域生长与分割

7.2.2 阈值处理

全局阈值处理

可变阈值处理

7.3 边缘检测

7.3.0 直接使用空域中的图像锐化方法

7.3.1 梯度方法

7.3.2 Canny算法 

7.3.3 Marr算法

7.4 主动轮廓模型

7.5 聚类

7.5.1 K均值聚类  得到的值可以用于阈值处理中每个子图像的阈值

7.5.2 霍夫变换

7.5.3 SIFT特征

7.5.4 主成分分析 没看证明步骤

7.6 计算机视觉简介


7.1 基础知识

图像分割方法:

第一类方法:根据灰度突变(如边缘)将图像分割为多个区域。

第二类方法:根据一组预定义的准则将图像分割为多个区域。

7.2 区域划分

7.2.1 区域生长与分割

区域生长

区域分离与聚合

思想:

首先将图像细分为一组任意的、不相交的区域,然后合并和/或分割这些区域,以满足分割条件。

算法:

7.2.2 阈值处理

全局阈值处理

基本全局阈值的图像分割算法

使用边缘改进全局阈值处理

若直方图的波峰是高的、窄的、对称的,并且被较深的波谷分开,则找到一个“好”阈值的机会大大增加。

改进直方图形状的一种方法是,仅考虑那些位于或靠近目标和背景间的边缘的像素

otsu方法

找到最大化前景和背景类间方差的阈值T 

Otsu 方法可以扩展到任意数量的阈值

步骤:

可变阈值处理

有些时候全局阈值处理并不能有很有的效果(例如,非均匀光照的时候)

图像分区:将图像细分为不重叠的矩形

局部自适应阈值:根据局部图像属性计算每个点(x,y)的阈值

  • 在图像上滑动窗口
  •  对于每个窗口位置,决定是否执行阈值
  • 非均匀区域:应用Otsu方法(基于局部直方图)
  • 均匀区域 :根据平均值将整个区域分类为前景或背景
    • 不应在均匀区域中执行阈值
    • 可以使用方差或其他合适的标准

7.3 边缘检测

边缘造成原因:

表面法向不连续性

深度不连续性

表面颜色不连续性

照明不连续性

7.3.0 直接使用空域中的图像锐化方法

图像分割:一阶、二阶导数,拉普拉斯算子

7.3.1 梯度方法

每个像素记录梯度得到梯度向量场

边缘法线:最大灰度变化方向的单位矢量

边缘方向:沿边的单位向量(垂直于边缘法线)

边缘位置或中心:边缘所在的图像位置

边缘强度或幅值:沿法线的图像局部对比度

边缘像素:位于梯度幅值的局部最大值

梯度方向θ:始终垂直于边缘方向

梯度幅度边缘检测器:

  1. 降噪:对图像进行平滑(即模糊,模糊多少取决于经验值)处理;
    1. 因为有限差分过滤器对噪声响应强烈,所以要进行降噪处理
      1. 图像噪声导致像素看起来与相邻像素非常不同
      2. 通常,噪音越大,响应越强。
  2. 梯度:计算每个像素的梯度大小;
  3. 阈值:如果像素的幅值超过阈值,则报告边缘点。

7.3.2 Canny算法 

Canny边缘探测器 计算机视觉中使用最广泛的边缘检测器

  1. 使用高斯x,y导数过滤图像
    1. 注意高斯卷积核σ的大小
    2. σ的选择取决于期望的行为
    3. 大σ检测大尺度边缘
    4. 小σ检测精细特征
  2. 确定梯度的大小和方向 
    1. 计算高斯过滤后的梯度(DOG, difference of Gaussian 高斯差分)
  3. 非最大抑制     
    1. 将多像素宽的“脊线”细化到单像素宽(边缘可能很宽)
  4. 阈值和连接(滞后)    
    1. 定义两个阈值:低阈值和高阈值
    2. 使用高阈值开始边缘曲线低阈值继续边缘曲线

7.3.3 Marr算法

1.  对图像使用高斯低通滤波器进行滤波

2.  对滤波后的图像使用拉普拉斯算子(草帽算子)

        高斯拉普拉斯算子(LoG,Lapacian of Gaussion): 具有尺度不变性

         

               

        

3.  提取零交叉点(即图像边缘)

         拉普拉斯变换是二阶偏导,因为边缘点对应的一阶偏导为局部极值,所以二阶偏导则为0点

 

7.4 主动轮廓模型

半自动:需要用户大致画一个轮廓形状 还需要用户给定轮廓往哪里走(弹簧设定)

给定:物体附近的初始轮廓(模型)

目标:发展轮廓以适应精确的对象边界

轮廓曲线的参数化表示(连续情况):曲线C

( s进行了归一化)

求解C--利用能量函数E(C)

 

 

将连续公式转换为离散公式:

 

 

7.5 聚类

7.5.1 K均值聚类  得到的值可以用于阈值处理中每个子图像的阈值

初始化

随机选择 K点作为初始聚类中心

贪心地选择K点以最小化残差

距离测量

欧氏距离

 优化

将收敛到局部最小值     可能想要执行多次重新启动

步骤

 

特征空间(多维空间上进行K均值聚类)

选定某个特征或者多个特征进行聚类

每个令牌都由一组称为特征的显著视觉特征标识(了解)

特征的选择及其量化方式意味着一个特征空间,其中每个令牌都由一个点表示(了解)

令牌相似性因此由特征空间中的点(“特征向量”)之间的距离来衡量(了解)

根据我们选择的功能空间,我们可以以不同的方式对像素进行分组(了解)

优点

简单,快速计算

收敛到聚类内平方误差的局部最小值

缺点/问题

设置 k?

对初始中心敏感

对异常值敏感

仅检测球形聚类(距离为欧式距离)

假设可以计算均值

7.5.2 霍夫变换

可以用以canndy算法的后处理 判断这一条线需不需要连起来 如果一条线上有很多个点 那么应该连起来

变换思想:

给定一组待分类的数据点,找到最能解释数据点的曲线或直线。

霍夫空间:

将一个点映射到一条直线 将点的坐标作为斜率与截距

在原本图像上共线的点,在霍夫空间中相交于一点   找共线的点很难 但是找交点很简单

离散化:

把霍夫空间网格化 一条直线经过这个网格 那么这个网格上的数值加一 网格数值最大的点经过的直线最多

对参数空间用极坐标表示(这个交点不会变哟) 防止k,q无穷大 因为这样相交于一点我们就看不出来了

霍夫变换的离散算法(大纲):

创建参数值网格

将每个点对应到霍夫空间中一条曲线,对每个点经过的网格的值进行递增

(每个点对一组参数进行投票,在网格中递增这些值)

在网格中查找最大值或局部最大值

优点

• 对异常值的适应性:每个点单独投票

• 相当高效(比尝试所有参数集快得多)

• 提供多个好拟合

缺点

• 对噪声敏感

• 容量大小受噪声容限、精度和速度/内存的限制

• 很难找到最佳点

不适合多个参数

• 网格大小呈指数级增长

常见应用

• 线拟合(也包括圆、椭圆等)

• 对象实例识别(参数为位置/刻度/方向)

• 对象类别识别(参数为位置/刻度)

7.5.3 SIFT特征

尺度不变的特征变换: SIFT — Scale Invariant Feature Transform

该算法提取的特征点具有:

尺度不变性

平移不变性

旋转不变性

亮度不变性

第1步:尺度空间的极值点检测:

1)通过降采样,构建图像的分辨率金字塔

2)对金字塔的每一层,按照一系列递增的σ值进行高斯模糊

3)由LoG=DoG,使用高斯差分来近似计算拉普拉斯算子

4)提取极值点

        

第2步:关键点的精准定位:

0)第1步找到的极值点是离散的——即,并不一定是的连续空间中的“真”极值点。

1)根据已有的离散极值点,并使用二阶泰勒展开拟合出函数曲线,从而找到连续空间中的极值点。

2)SIFT认为图像中边缘上的点容易受到噪声的影响,因此使用以下不等式来剔除:

        秩的平方除以行列式

3)经过以上两步处理后的极值点,即关键点。

第3步:确定关键点的主方向:

1)主方向:即关键点处的梯度方向

第4步:为每个关键点生成它的描述子(即,SIFT特征)

1)将关键点为中心4*4的局部邻域的X轴正方向,旋转到该关键点的主方向。(旋转不变性)

2)为4*4邻域内的每个点,计算其8邻域方向上的梯度,从而构成4*4*8=128维的向量。

3)最后,生成描述子:(关键点,梯度方向,128维的向量)

        

第5步:描述子的归一化

7.5.4 主成分分析 没看证明步骤

降低数据的维度

对降维后的数据有哪些要求:

数据损失小 —> 降维前后的误差小

线性不相关 —> 协方差尽可能的小(不然不能区分了)

位置更加分散 —> 每个向量的方差尽可能的大

可以用协方差矩阵描述:

        

 那么就是需要将降维后的变量的协方差矩阵化成对角矩阵的形式 求特征值与特征向量

没看证明步骤!!!!

        

算法步骤

\lambda从大的到小排列 

注意取前K行进行降维 取\lambda比较大的值

7.6 计算机视觉简介

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值