交互式图像分割
来源:互联网 发布:jquery与javascript 编辑:程序博客网 时间:2024/05/17 22:58
最近看了Yuri Y.Bpoykov的<<Interactive Graph Cuts for Optimal Boundary&Region Segmentation of Objects in N-D Image>>这篇文章,还是来写个总结吧。
简而言之,就是通过用户来对图像的背景和目标作一些标记,利用这些已有的标签(“object”或"background")来给未知标签的像素分配其概率最大的标签,意思就是对于未知标签的像素,它若与已标记“object”的像素点的相似度大于与标记为“background”的像素点的相似度,则它就可以获得“object”标签,反之,为“background”标签,如此就可以产生一个二值图像,也就分割出来了图像的前景与背景。
我们将利用图论中的知识,如上图所示,将每个像素点看成是图的一个顶点,其中T与S顶点是两个额外定义的点(可以看作T代表背景,S代表前景),图中有两种边,t-link(与T,S相连的边)和n-link(node与node相邻的边),这样就形成了一个有向图。若通过一个规则给每条边赋予一定的权值,然后利用s/t(最大流最小割)算法进行分割。s/t算法的输入是一个带权有向图,输出可以找到一条最小权值和的路径。这样就把所有的顶点分成了两部分,也就完成了所有像素点的标记,即完成了图像的分割。
以上都是讲的很通俗,下面来说说理论上的东西。
原理:
Ap代表给像素点分配的标签(“object”或"background");E(A)为能量函数,R(A)是区域项,代表的意思是给像素p分配标签A(p)的代价,p分配标签Ap的概率越大,R(A)就越小;B(A)为边界项,代表相邻像素点p、q的不连续性的代价,p、q越相似,B(A)项就越大。我们的目标是最小化E(A),所以需要给像素p分配概率最大的标签,寻找分配不同标签的的相邻像素。
寻找最小能量函数的分割,即寻找图的最小割,可利用s/t算法,所以下面我们主要来说说怎样建立起这个对应的图,其实最主要是在于怎样设置两种边的权值,下面这个图给出了权值的计算:
步骤:
1、构建图
普通顶点由每个像素组成
普通边由领域像素连接成边,权值由B(p,q)来决定
建立两个终端结点S(前景),T(背景),每个普通顶点都要与终端结点建立边,权值如上表
2、通过s/t算法找出最小割
优点:可用于N-D图像中,有明确能量函数,加入了人工交互,可优化分割,能找到全局最优解。
缺点:计算够复杂,每个像素点都要计算,后面应用了超像素会减小计算复杂度,另外需要人工交互,手动的初始化对分割的影响较大,用到图像中的信息也不够多。
- 交互式图像分割
- 交互式图像分割
- 交互式分割相关资源
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 图像分割
- 关于java Math.round(Double a) 方法
- windows + visual studio 2010 配置SVN(2)
- Codeforces 366E 模拟题
- vs2008多文档子视图初始化最大显示
- DB2离线备份与恢复
- 交互式图像分割
- C++设计模式大总结_一个工程方便复习和修改
- UFLDL Tutorial_Self-Taught Learning and Unsupervised Feature Learning
- effective C++: 7模板与泛型编程
- Lua语言中pairs和ipairs的区别
- WebLogic配置 MyEclipse中的配置 WebLogic中项目的部署
- Qt 5.2正式版发布 全面支持移动平台
- javascript中Cookie的用法
- DB2在线备份