Notes on Efficient Graph-Based Image Segmentation

算法的目标

按照一种确定的标准, 将图片分割成细粒度的语义区域, 即Super pixel.

算法步骤

  • 预处理. 将图片转换为undirected graph: \(G(V, E)\):

    • 每一个像素都是一个顶点.
    • 只有相邻像素间才存在边
    • 边的权重为它连接的两个顶点间的像素距离作者的代码使用了欧氏距离
  • Steps:
  1. 将\(E\)按权重递增排序: \(\pi = (e_1, e_2, \dots, e_m)\)
  2. \(S^0 = V\), 即一开始每个顶点都一个单独的region.
  3. 重复4直到处理完所有的边得到\(S^1, S^2, \dots, S^{m - 1}, S^m\):
  4. \(S^q\)由\(S^{q - 1}\)得到:
    • \(e_q = <v_i, v_j>\)
    • 如果: (1) \(v_i, v_j\)不在\(S^{q - 1}\)的同一个连通区域内, 即:\(C_i^{q -1} \neq C_j^{q - 1}\), 且(2)\(e_q\)的权重比两个component内部的像素差异要小, 即:\(w(e_q) < MInt(C_i^{q -1}, C_j^{q - 1})\), 则将\(C_i^{q -1}, C_j^{q - 1}\)在\(S^{q-1}\)内合并.
    • \(S^q = S^{q - 1}\)
  5. Return \(S^m\)

从之前的构图, 到后面的merge, 都是很常规的做法. 算法的关键在于\(MInt(C_i, C_i)\)函数上, 即如何决定是否合并两个相邻像素/相邻区域.

注意, region/区域与component/连通分量在此处含义相同, 可交换使用

Pairwise Region Comparison

具体参考原文Section 3.1

在考虑是否要将两个region合并成一个region时, 需要考虑internal-region的像素差异程度与inter-region的像素差异.

region内部的差异定义为这个region的最小生成树的最大权重:

\[
Int(C) = \max_{e\in MST(C, E)}w(e)
\]

region间的差异定义为连接两个region的最小边的权重:

\[
Dif(C_1, C_2) = \min_{v_i \in C_1, v_j \in C2, <v_i, v_j> \in E} w(<v_i, v_j>)
\]

这个值在上面的算法中为\(w(e_q)\).

\[
MInt(C_1, C_2) = min(Int(C_1) + \tau(C_1), Int(C_2) + \tau(C_2))
\]

其中, \(\tau(C) = \frac {k}{|C|}\). \(k\)是一个指定的常数. \(|C|\)是region的面积(包含的像素个数).

\(Dif(C_1, C_2) < MInt(C_1, C_2)\)是合并\(C_1, C_2\)的前提条件. 之所以加入\(\tau(C)\), 是为了降低小region合并的门槛.

需要设定的参数

  • \(\sigma\): 在分割图片之前需要对其进行高斯平滑操作, 使用期望为0, 方差为\(\sigma^2\)的高斯分布.
  • \(k\): \(\tau = \frac {k}{|C|}\) 里的\(k\), \(k\)越大, 最后分割出的region也偏大
  • \(min_area\): 在初次分割完之后, 会有很多小region, \(min_area\)用于判断小region, 然后将小region合并

Notes on 'Efficient Graph-Based Image Segmentation'的更多相关文章

  1. VIPS: a VIsion based Page Segmentation Algorithm

    VIPS: a VIsion based Page Segmentation Algorithm VIPS: a VIsion based Page Segmentation Algorithm In ...

  2. Graph Based SLAM 基本原理

    作者 | Alex 01 引言 SLAM 基本框架大致分为两大类:基于概率的方法如 EKF, UKF, particle filters 和基于图的方法 .基于图的方法本质上是种优化方法,一个以最小化 ...

  3. 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》

    论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...

  4. 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...

  5. 论文阅读-Temporal Phenotyping from Longitudinal Electronic Health Records: A Graph Based Framework

  6. Awesome Deep Vision

    Awesome Deep Vision  A curated list of deep learning resources for computer vision, inspired by awes ...

  7. Computer Vision Tutorials from Conferences (3) -- CVPR

    CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...

  8. PP: Extracting statisticla graph features for accurate and efficient time series classification

    Problem: TSC, time series classification; Traditional TSC: find global similarities or local pattern ...

  9. Survey of single-target visual tracking methods based on online learning 翻译

    基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...

随机推荐

  1. AC日记——ISBN号码 openjudge 1.7 29

    29:ISBN号码 总时间限制:  1000ms 内存限制:  65536kB 描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x ...

  2. 多年前写的一个ASP.NET网站管理系统,到现在有些公司在用

    多年前写的一个ASP.NET网站管理系统,到现在有些公司在用 今早上接到一个电话,自已多年前写的一个ASP.NET网站管理系统,一个公司在用,出了点问题, 第一点是惊奇,5,6年前的东东,手机号码换了 ...

  3. guava

    原文出处: 黄博文 如果我要新建一个java的项目,那么有两个类库是必备的,一个是junit,另一个是Guava.选择junit,因为我喜欢TDD,喜欢自动化测试.而是用Guava,是因为我喜欢简洁的 ...

  4. [No000057]一个人默默背单词,小心被传染哦

    不日凛冬将至,全国各地,已有多名少侠因季节变化,出现了不同程度的四肢不勤.bd不分的症状.具体表现为—— 包大人在此高能预警:不想背单词,有可能你已经被传染了. 好好的,怎么突然不想背单词了 哈佛医学 ...

  5. 开发之UI篇

    首先这里介绍一个软件一个插件,它们的主要功能是方便开发者看UI(如尺寸,颜色,大小等),两个配合使用 一. Sketch软件 1.Sketch  看ui图,还可以切图 2.Sketch 如何切图: 1 ...

  6. MVC PageList使用(异步 与 正常)

    此项目的功能为1.将数据分页显示,2.搜索数据按分页显示 3.异步或同步传递 一.第一步引用 mvc PageList插件 二.控制器写法 ) //为空则默认第一页 { var lm = DataBL ...

  7. Oracle取TOP N条记录(转载)

    在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前5条记录 ...

  8. 漂浮QQ

    漂浮QQ 点击下载

  9. Nginx 启用 https

    在nginx.conf中增加新server配置 server { listen ; server_name www.some.com; ssl on; ssl_certificate sslkey/s ...

  10. VS XML注释

    1.<c> <c>text</c> 其中: text 希望将其指示为代码的文本. 备注 <c> 标记为您提供了一种将说明中的文本标记为代码的方法.使用 ...