Graph cuts在视差估计中的应用
来源:互联网 发布:杭州网络维修招聘 编辑:程序博客网 时间:2024/06/01 08:38
Graph cuts是图论中的一个概念,是一种有效的能量优化算法,普遍应用于图像分割、立体视觉、抠图等算法中。
Graph cuts
给定无向图G=(V,E)为带分割的图像,V和E是顶点(vertex)和边(edge)的集合。
在Graph cuts中,无向图G有两种顶点,一种是普通顶点(粉色和蓝色点),另一种为两个虚拟顶点S(source源点)和T(sink汇点),也叫做终端顶点。
因此,Graph cuts中的图G有两种边,一种是普通顶点间的边,称为n-links;另一种是连接普通顶点与虚拟顶点的边,称为t-links。而每一条边都有一个非负的权值。
这样我们可以把S点看作源头,T点看做汇点,从S向网络中注水,每条边的权值就表示该边的流量。求从S到T所经过边的最大流量(瓶颈流量),即为最大流问题。而这个最大流的边将图G分割为两个部分,连接这两个部分的边总流量最小,即为最小割(minimum cut)问题。因此求最大流问题可以等价于最小分问题。如果将S看做前景点,T看做背景点,分割后的两部分,对应了图像的前景像素集和背景像素集,即相当于完成了图像分割。
Graph cuts在视差估计中的应用
Graph cuts算法可以用来解决能量(特定形式的目标)函数的优化,因此可以应用于视差估计中。
能量函数:
E(f) = Esmooth(f) + Edata(f)
Edata(f) = ∑(p∈P) Dp(fp),P为一个图像区域,通常表示整幅图像。Dp表示一个像素在视差fp下的准确度。
Esmooth(f)表示像素间视差平滑性,应该是一个分段平滑函数。目前广泛采用Esmooth(f) = ∑(p,q∈N) V{p,q}(fp,fq)。N表示邻近像素对集合,V{p,q}(fp,fq)表示fp下像素p和fq下像素q的视差的差。fp和fq属于L,L是已经设定好的视差范围内的视差数量。
这样就可以通过Graph cuts来解决视差估计问题了。下面来介绍一种α-expansion算法。
将一个视图看做图G,视图中的每个像素都对应图G中的一个普通节点。然后构造S(α)和T(α-)节点,将所有节点都连起来。
α和α-属于L,L表示视差的集合。考虑L中只有两个视差的最简单情况,图中的p,q,r,s表示像素点,a和b是辅助节点。t表示t-links边(连接普通顶点与虚拟顶点),e表示n-links边(连接两个普通顶点)。
此时,t的权重可以表示为Edata,e的权重可以表示为Esmooth。当两个相邻像素的视差不同时,就在两个像素之间构造一个辅助节点,这个辅助节点只与sink节点相连。因此增加一个辅助点,会增加两条n-links和一条t-links。例如p和q之间插入a点,会增加e{p,a},e{a,q},ta-α-三条边,这条边的权重满足三角不等式,需要如下图设计:
其中Pα表示初始视差为α的像素集合。
对该图通过Graph cuts算法找最大流,就可以为每个像素分配一个视差了。
- Graph cuts在视差估计中的应用
- Graph Cuts
- GRAPH在PowerBuilder中的应用
- 压缩感知在稀疏信道估计中的应用
- Graph Cuts学习心得与体会
- CUDA Cuts: Fast Graph Cuts on the GPU
- CUDA Cuts: Fast Graph Cuts on the GPU
- CUDA Cuts: Fast Graph Cuts on the GPU
- ImageJ中的Graph Cut应用
- Graph Cuts学习笔记2014.5.16----1
- Graph Cuts on the GPU解析
- 图像分割(二)--Graph Cuts
- Python Packages for Graph Cuts on Images
- 图像分割算法——Graph Cuts
- 最大流最小割与“Graph Cuts”
- Fast Approximate Energy Minimization via Graph Cuts
- Fast Approximate Energy Minimization via Graph Cuts
- Excel在统计分析中的应用—第七章—参数估计-总体均值之差的估计
- python enumerate()
- laravel学习3
- 使用_CrtSetDbgFlag检测内存泄露
- Python Intro
- java中String new和直接赋值的区别
- Graph cuts在视差估计中的应用
- POJ 3311 Hie with the Pie
- win下安装Scrapy最新版
- 数据结构和算法概述
- 347. Top K Frequent Elements
- python 利用模拟退火算法求解TSP最短路径
- 微信公众号,管理者账号微信号丢失如何找回
- Linux 主机及网络上面的 FAQ
- jQuery选择器 改写传统javaScript选择器实例(例子)