主动轮廓模型-水平集方法
来源:互联网 发布:mac桌面图标删不掉 编辑:程序博客网 时间:2024/04/27 22:48
本文希望通过用一种通俗形象的方式去理解水平集方法,说法可能并不严谨,由于水平有限,仅仅是个人对水平集方法的理解,如有错误,望指出!所谓的水平集方法,在2维图像分割中通俗的说法就是:用3维空间内的平面的曲面演化去实现2维平面中曲线的演化。曲线演化可参考:http://blog.csdn.net/zouxy09/article/details/8712287其中还讲了参数主动轮廓模型snake模型。本文讲述水平集方法属于几何主动轮廓模型。
水平集方法是如何达到分割图像的目的的呢?
如上图所示,初始曲线通过迭代不断的向边缘靠近,最终将图像分割出来。在参数主动轮廓模型中,曲线的演化是通过最小化能量函数来实现最终分割的,而水平集方法则是将曲线嵌入到一个3维的曲面中的0水平集中,通过演化3维空间中的曲面,再从演化后的曲面中获取0水平集,这个0水平集就是演化后的曲线。
那么,这个曲面应该如何构建?换一种说法就是对于曲线C如何构建对应的水平集φ。假设二维平面上的曲线由 y = f ( x)表示,该关系也可用隐函数 y − f ( x) = 0来描述,此时若设:
φ ( x , y ) = y − f ( x) 式(1)
则 φ ( x , y) = 0就是曲线的隐式表达式。如图:
对于φ ( x , y)的构建,一般采用符号距离函数,即
式(2)
其中d[(x,y),C]是点(x,y)到曲线C的欧几里得距离。这样,就可以获得一个包含所需曲线的曲面的,剩下的就是如何演化这个曲面了。曲面的演化是水平集方法的关键,大致可分为两种类型,一种是基于图像边缘梯度信息的,一种是基于区域特征的。两种方式其实只是对曲面演化的速度方程的构建方式不同。即方程:
式(3)
中V(k)的构建。
水平集方法的基本流程:
1,初始化水平集函数φ ( x , y);
2,根据式(3)的演化方程演化曲线;
3,迭代一定的次数,提取0水平集,看是否已经收敛,如不收敛回到第一步。
- 主动轮廓模型-水平集方法
- 主动轮廓与水平集
- 主动轮廓模型
- snake主动轮廓模型
- Active Contour Models 主动轮廓模型概述
- Active Contour Models 主动轮廓模型
- level set几何轮廓主动模型
- Active Contour Models 主动轮廓模型(snake模型)
- 主动轮廓线模型Snake模型简介&openCV中cvSnakeImage()函数代码分析
- 数字图像处理-图像分割:Snake主动轮廓模型 Matlab代码及运行结果
- 《Matlab图像处理》part1 Snakes:Active Contour Models 主动轮廓模型
- 非监督遥感影像变化检测方法——主动轮廓
- 水平集(CV模型)
- 水平集方法
- 主动外观模型(AAM)
- 主动外观模型(AAM)
- ASM主动形状模型
- 基于水平集方法和G0模型的SAR图像分割
- bzoj 3894: 文理分科
- 下午
- Cocos2d-x3.2实现虚拟摇杆多点触摸
- java 之公共类、主类、主函数的辨析
- Codeforces Beta Round #7 A. Kalevitch and Chess
- 主动轮廓模型-水平集方法
- jQuery 拼图实例
- 关于fragment+viewpager的优化
- Cocos2d-x3.3 Physics物理引擎模块解决了刚体穿透问题
- 中间语言和虚拟机漫谈
- Dropout阅读笔记
- 九度OJ题目1064:反序数
- sql 排序
- CocoStudio1.6UI编辑器动画播放