Efficient Graph-Based Image Segmentation
转:http://blog.csdn.net/asongoficeandfire/article/details/8434799
Efficient Graph-Based Image Segmentation 是2004年由Felzenszwalb发表在IJCV上的一篇文章。主要介绍了基于图表示的图像分割。并且提出了一种基于贪心选择的图像分割方法,此方法能够考虑到全局特征。根据距离度量方式的不同,此算法有两种具体的实现形式。结果表明算法的运行时间接近于线性(相对于图中边的个数来说)。此算法的更重要的特性在于,在特征变化较小的情况下,对细节的重视性大于特征变化较大时的情况。
论文开头提到了一个分割算法要想达到广泛应用(broad utility),应该具备的两个性质:
1.应该能提取在感知上重要的区域(perceptually important regions)
2.高效的,即最好能以线性于图像像素数的时间运行
就像Urquhart 1982 所用的方法类似,文章的算法基于用图表示图像:图像中的每个像素表示图上的一个节点,每一条连接节点的无向边都具有一个权重(weights),以衡量其连接的两个节点之间的不相似度(dissimilarity)。与传统方法不同的是,本文会根据相邻区域在特征值上变化速度的大小动态调整分割阈值(adaptively adjusts the segmentation criterion based on the degree of variability in neighboring regions of the image)。

上图这个例子说明,图像分割算法既不能单一的使用像素强度值的变化作为分割依据,也不能使用单一的分割阈值来决定分割与否。所以文章中提到的算法基于两个特征来判断两个区域是否应该合并:区域间间距和区域内间距。如果两个区域的区域间间距明显大于其中任意一个区域的区域内间距,那么就认为这两个区域之间存在明显的界限(即不可以merge两个区域)。
区域对比较断言(pairwise region comparison predicate)
定义区域内间距如下:
即区域对应MST(minimum spanning treee最小生成树)中权重最大的边的权重值。
定义区域间间距如下:
即在所有分别属于两个区域且有边连接的点对中,寻找权重最小的那对(若两个区域内的点没有边相连,则定义间距为正无穷大)。
(在此提到如果利用最大和最小这两个极端的度量方式,可能对有些结果造成误差,为了更好的鲁棒性,建议选择使用quantile点的方式。但实际实验中,使用最值方式效果相当好(works quite well),而且复杂度明显要比使用qualtile点方式小很多(Appendix中有关于quantile点方式复杂度的证明))。
有了区域内间距和区域间间距的定义之后,通过比较两者之间的关系,就可以得出断言函数的形式:
,其中,
。注意,此处的τ是一个阈值函数,用来控制两个区域的区域间间距要在多大程度上大于他们的区域内间距才能被认定为两个区域间有明显的分割界限。举个例子来说,当其中一个区域很小时,Int(C)并不能很好的反应其区域内间距(极端的情况是当C只含一个节点时,Int(C)=0)。本文在此处对τ的定义为|C|的负相关函数:
,其中k是一个常数。k要根据实验的具体情况来确定其值,但当k越大时,我们界定的可以区分两个区域的界限就越明显。
更重要的是,只要不与实验目的相悖,任何非负函数都可以用来表示τ。比如:如果我们需要将图像分割成为特定形状的区域,则可以将τ定义为与复合这个特定形状正相关的函数。而且τ对特定形状的倾向性可强可弱。这确保了开头提到的第一条性质的实现。
分割算法
输入是一个有n个节点和m条边的图G,输出是一系列区域。步骤如下:
0.将边按照权重值以非递减方式排序
1.最初的分割记为S(0),即每一个节点属于一个区域
2.按照以下的方式由S(q-1)构造S(q):记第q条边连接的两个节点为vi和vj,如果在S(q-1)中vi和vj是分别属于两个区域并且第q条边的权重小于两个区域的区域内间距,则合并两个区域。否则令S(q) = S(q-1)。
3.从q=1到q=m,重复步骤2
4.返回S(m)即为所求分割区域集合
算法过程保证了开头提到的第二条性质。
接下来论文具体实现了两种算法:基于Grid Graphs的和基于Nearest Neighber Graphs的方法。
两者的区别在于graph中节点和边的选取方式的不同:GG方法将图像中的每个元素视为一个节点,只要两个像素相邻,则认为其对应的节点之间有边连接(一般来说,每个节点有8条边)。边的权重值为对应两个节点的像素值差值的绝对值。(细节方面,1预处理过程使用σ=0.8的高斯函数来对图像进行平滑以减少噪声。2当图像为三通道图像时,将算法应用于全部三个通道,只有当三个通道全部给出合并区域的建议时才合并区域。3文章中使用的k值,当图片是128*128时k=150,当图片是320*240时k=300,即k值大概与图片尺寸成正比)。NNG方法先将图像的每个像素映射到特征空间形成图的节点,然后利用特征空间中的距离选取与其距离最近的点作为他们的邻居(有多种方法来选择邻居节点,即可以选择与其最近的k个邻居点,也可以选择与其距离不超过d的所有点作为邻居点),连接邻居点的边权重为两个对应节点在特征空间内的距离。
结果说明,NNG算法比GG算法在保证算法第一条性质的效果上要更好一些。
论文中还有涉及到related works和一些定理的证明,以及results部分,在此暂不做讨论。
Efficient Graph-Based Image Segmentation的更多相关文章
- VIPS: a VIsion based Page Segmentation Algorithm
VIPS: a VIsion based Page Segmentation Algorithm VIPS: a VIsion based Page Segmentation Algorithm In ...
- Graph Based SLAM 基本原理
作者 | Alex 01 引言 SLAM 基本框架大致分为两大类:基于概率的方法如 EKF, UKF, particle filters 和基于图的方法 .基于图的方法本质上是种优化方法,一个以最小化 ...
- 论文解读(GCC)《Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering》
论文信息 论文标题:Efficient Graph Convolution for Joint Node RepresentationLearning and Clustering论文作者:Chaki ...
- 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)
论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...
- 论文阅读-Temporal Phenotyping from Longitudinal Electronic Health Records: A Graph Based Framework
- Awesome Deep Vision
Awesome Deep Vision A curated list of deep learning resources for computer vision, inspired by awes ...
- Computer Vision Tutorials from Conferences (3) -- CVPR
CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...
- 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 ...
- Survey of single-target visual tracking methods based on online learning 翻译
基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...
- Visualizing MNIST with t-SNE, MDS, Sammon’s Mapping and Nearest neighbor graph
MNIST 可视化 Visualizing MNIST: An Exploration of Dimensionality Reduction At some fundamental level, n ...
随机推荐
- [CEOI2017]Mousetrap
P4654 [CEOI2017]Mousetrap 博弈论既视感 身临其境感受耗子和管理的心理历程. 以陷阱为根考虑.就要把耗子赶到根部. 首先一定有解. 作为耗子,为了拖延时间,必然会找到一个子树往 ...
- bzoj1062【Noi2008】糖果雨
orz.....神tm数形结合题 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1062 插入线段,删除线段,查询区间内线段个数,线段随时间往复 ...
- GSM之AT操作命令详解20160615
因工作接触到GSM模块,所以收集整理了一下关于操作GSM模块的AT命令的资料: 1.AT的历史与应用 1.1 AT的历史AT命令集是由拨号调制解调器(MODEM)的发明者贺氏公司(Hayes)为了控制 ...
- 我们自己写的solr查询的代码作为search项目中的dao
我们自己写的solr查询的代码作为search项目中的dao,但是启动时会报错: 其实就是说 searchServiceImpl 中我们 Autowired 的 SearchDao 类 spring ...
- MongoDB入门(1)- MongoDB简介
什么是MongoDB NoSQL NoSQL systems are also sometimes called "Not only SQL" to emphasize that ...
- JS日期对象扩展-日期格式化
日期对象扩展(日期格式化)yyyy-MM-dd hh:mm:ss.S Date.prototype.format = function(fmt) { var o = { "M+" ...
- tcp/ip 学习-通过视频学习
视频下载地址:http://down.51cto.com/zt/5518/ http://www.icoolxue.com/album/show/328 每天可以拿两个番茄钟看视频,主要目的还是了解, ...
- [洛谷P2704] [NOI2001]炮兵阵地
洛谷题目链接:[NOI2001]炮兵阵地 题目描述 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队.一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示), ...
- 【LibreOJ】#538. 「LibreOJ NOIP Round #1」数列递推
[题意]LibreOJ [算法]乱搞 [题解]容易发现数列最后一定单调,最后单调递增则最大值赋为最后一个,反之最小值赋为最后一个,然后处理一些细节就可以AC,要注意以下几点: 1.数列连续三项以及数列 ...
- js_layer弹窗的使用和总结
2018-04-10 一张呈现给用户的网页,会有很多种交互,比如连不上网络,用户点击按钮时向后台请求数据不成功等等.像这些情况,用户是看不见的, 要给用户更好的体验,在特定的时间,给客户反馈内容.实时 ...