Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础

  • Paper:Efficient Graph-Based Image Segmentation, MIT, 2004
  • 参考:基于图的图像分割(Graph-Based Image Segmentation)

1. 整体思路

充分利用了 图、树、最小生成树、森林 等传统数据结构

  1. 像素点之间的相似度,由 RGB 衡量,也可用其他颜色空间,本质上是对 R/G/B 三值后处理
  1. 那么全图像素形成1个无向图 ,每个顶点可形成 8邻域 或 4邻域 相似度
  2. 使用最小生成树算法将无向图中的节点联系成森林,可理解森林中每棵树即为1个物体
Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第1张图片

2. 全局阈值 → 自适应阈值

聚类时:判断两个区域是否合并,最简单的方法只考虑连接二者的边的不相似度。

2.1 全局阈值分配并不合适
  • h 高频区,像素变化差异大
  • s 斜坡区,像素逐级变化,刚好在区域连接处的边满足阈值
  • p 平坦区,像素基本无变化,低频区
Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第2张图片
2.2 自适应阈值

类内差异 vs 类间差异

Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第3张图片
Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第4张图片
  • 定义 值,增加1个可变常数项 ,解决合并起点 “零容忍” 问题。
  • 既然 表示区域像素数,那么归并起点 ,则
  • : 表示 min,二者较小值
Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第5张图片

下图展示了不同分割结果,有 3 个参数

  • 高斯核,先对原图高斯滤波
  • 控制了 超像素的大小
  • 超像素最小阈值,当 ,选择与其差异最小的区域合并
Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础_第6张图片
设置不同 k 的分割结果

3. 算法步骤

  1. 计算每个像素点与其 8邻域4邻域 的不相似度。
  1. 将边按照不相似度 从小到大排列得到
  2. 选择 :最小生成树,两个区域只需要连接 1 条边,但是最小不相似度的边对应的两个区域不一定满足 4 中的条件 2,即 对应的 2 个区域不一定能连接
  3. 对当前选择的边 进行合并判断。设其所连接的顶点为 ,如果满足合并条件:
    • 属于两个不同区域
    • 不相似度 两区域内部的不相似度,即 执行 5,否则执行 6
  4. 更新阈值及类标号
    • 更新类标号: 统一为
    • 更新该类的不相似度阈值:(不相似度小的边先合并,所以 即为合并后的最大边)
  5. 如果 ,按顺序选择下一条边,转到 4

以上算法尚不能解决 孤立的同类区域,还需要做一些最近邻树的相似性度量

你可能感兴趣的:(Efficient Graph-Based Image Segmentation 基于图的图像分割,Selective Search 算法基础)