《计算机视觉》集大网课学习笔记【6】

图像分割

图像分割的任务

基于聚类的图像分割

可以使用K-means算法,在图像的灰度或颜色空间实现像素点的聚类。不同的类别不一定具有空间紧致性。
也可以在颜色空间上融入位置信息,如(r,g,b,x,y)。这样聚类后的结果会更具有空间紧致性。

相比K-means算法,Mean-Shift更加灵活,对空间聚类效果更佳。
Mean-Shift算法通过在特征空间中搜索极值(modes)来实现特征空间中像素点的划分。
聚类:所有的点(像素)均会收敛到某个模式(mode)
Attraction basin:表示一个区域/分割,该区域中所有的点均会收敛到同一个模式
定位特征点/像素点(color,gradients,texture,etc)
针对输入特征初始化窗口
针对窗口计算Shift方向,并不断迭代进行位置更新
合并收敛到同一“peak”或者mode的特征

 基于Graph Cut的图像分割

E_{c u t}=\sum_{(i, j) \in C} w_{i j}
w_{ij}是图中节点i到节点j的边(i,j)的权重,并且是对割C所有的边的权重进行求和。
利用图割方法进行图像分割的思想是对图进行划分以使割代价E_{cut}最小。

如何构造图?
节点

  • 一般所有像素均作为图的节点
  • 有时也可以在像素点中采样

  • 每个像素与其上、下、左、右等四个相邻像素相连
  • 边带有权重W_{ij}
  • 权重可以和灰度差,或者RGB差相关
    {w}_{i j}=\kappa \mathrm{e}^{-\left|I_{i}-I_{j}\right|^{2} / \sigma}
    相减平方项表示相邻两个点像素差,当其值为0时,权重值最大
    相邻像素差越大,权重值越小,表示应该去除这个点

能量方程
源点到像素i的权重记为w_{si},像素i到汇点的权重记为w_{it}
E(L)=E_{d}(L)+\lambda E_{s}(L)
Ed是指源点和汇点到各个像素之间的连线(前背景先验代价总和),Es指像素点在分割之间的连线(邻域代价总和)
定义L为每个像素的划分类别标签(取值为0-1,分别表示背景与前景)
问题描述:查找合适的标签L使得下述能量方程最小化

E_{d}(L)=\sum_{(x, y)} C(x, y, L(x, y))
C(x, y, L(x, y))=\left\{\begin{array}{ll} \infty & \text { if } L(x, y) \neq \tilde{L}(x, y) \\ C^{\prime}(x, y, L(x, y)) & \text { otherwise } \end{array}\right.

相邻的像素点,分类要尽可能一致。除非像素点间差异很大 

在分割过程中,需要标记前景和背景信息

Graph Cut缺点:倾向于隔开孤立的、小分类的节点
构建新的节点权重:扩大邻域范围——距离越远权重越低,距离越近权重越高

可定义归一化割(normalized cut)的能量函数如下:
E_{n c u t}=\frac{E_{c u t}}{\sum_{i \in A} w_{i x}}+\frac{E_{c u t}}{\sum_{j \in B} w_{j x}}
其中A和B表示两个割集,wij表示节点之间的权重。
w_{i j}=\mathrm{e}^{-\left|I_{i}-I_{j}\right| / \sigma_{g}} \mathrm{e}^{-\left|x_{i}-x_{j}\right| / \sigma_{d}{ }^{f}}

图割类算法解决图像分割优缺点

优点

  • 对目标边界分割准确率高
  • 分割出的目标具有完整性
  • 算法的超参数少
  • 计算效率较高

缺点

  • 构图复杂,具有不确定性
  • 往往需要人机交互

猜你喜欢

转载自blog.csdn.net/fjyalzl/article/details/127183247