====== 第七课 ======
=====第一节 数学基础 =====
====数学基础—微分几何简介 ====
* 参数曲线:
{{:keynote:a1.jpg|}}
* 正则曲线:
{{:keynote:a2.jpg|}}
* 曲线切线:
{{:keynote:a3.jpg|}}
* 弧长参数:
如果曲线切线满足
{{:keynote:a4.jpg|}}
则p表示曲线上以某点为标准的弧长。
* 曲线弧长公式:
{{:keynote:a5.jpg|}}
* 点积:
{{:keynote:a6.jpg|}}
求导后:
{{:keynote:a7.jpg|}}
* 曲率:
{{:keynote:a8.jpg|}}
* 设T、N分别为曲线切线和发现,则Frenet公式为:
{{:keynote:a9.jpg|}}{{:keynote:a10.jpg|}}
* 曲率性质:旋转、平移不变,缩放变。某点曲率也就是该点对应圆半径的倒数。
* 平均曲率和高斯曲率:每个正则曲面都有两个主曲率。这两个的平均值就是平均曲率,两个的积是高斯曲率。
--- //[[dp@zju.edu.cn|杜鹏]] 2010/04/19 9:00//
==== 数学基础—数学形态学 ====
* 是一个经典的基于几何的理论
* 广泛应用于图像处理
=== 形态算子 ===
一组空间滤波操作
用于改变二值区域的形状
腐蚀:减少物体边界的象素数
膨胀:增加物体边界的象素数
复合方法
开:腐蚀,然后膨胀
闭:膨胀,然后腐蚀
下面是一个图像效果例子:
{{:keynote:7-1-1.jpg|}}
== 膨胀与腐蚀(Dilation, Erosion) ==
* 数学形态学里面最重要的操作
* 腐蚀将图像的尺寸减少
* 膨胀增加图像的尺寸
* 可以用来消除图像上小的亮斑噪声和不规则的边
腐蚀
定义:物体的颜色是白,背景是黑
定义腐蚀模板为
1 1 1
1 1 1
1 1 1
将模板与图像进行加操作
如果有,则结果为1,否则为0
模板的效果相当于去掉物体边界处的单个象素
4种情况:
当前处理象素为1,邻域象素为1-》1
当前处理象素为0,邻域象素为1-》0
当前处理象素为0,邻域象素为1、0的混合-》0
当前处理象素为1,邻域象素为1 、0的混合-》1
原始图像到腐蚀后的图像变化效果如下图所示:
{{:keynote:7-1-2.jpg|}}
膨胀
膨胀是腐蚀的逆操作
模板文件是
0 0 0
0 0 0
0 0 0
其效果相当于在物体的边界添加单个象素
4种情况:
当前处理象素为0,邻域象素为0-》0
当前处理象素为1,邻域象素为1-》1
当前处理象素为1,邻域象素为1、0的混合-》1
当前处理象素为0,邻域象素为1 、0的混合-》1
逻辑操作算子是Or
原始图像到膨胀后的图像变化效果如下图所示:
{{:keynote:7-1-3.jpg|}}
== 开操作与闭操作 ==
开操作
开操作相当于先做腐蚀操作,再做膨胀操作
效果相当于去掉单个象素,但是保留原来的形状何尺寸。
原始图像到开操作后的图像变化效果如下图所示:
{{:keynote:7-1-4.jpg|}}
闭操作
闭操作是开操作的逆操作
先膨胀,然后腐蚀
它可以用来填补一些小洞
原始图像到闭操作后的图像变化效果如下图所示:
{{:keynote:7-1-5.jpg|}}
轮廓抽取
先做腐蚀操作, 再将腐蚀结果图像减去原始图像
效果如下图所示:
{{:keynote:7-1-6.jpg|}}
=== 数学形态学 ===
{{:keynote:7-1-7.jpg|}}
=== 形态学与曲线演化===
{{:keynote:7-1-8.jpg|}}
法线速度的一般表示:
{{:keynote:7-1-9.jpg|}}
例子:
{{:keynote:7-1-10.jpg|}}
--- //[[fireofdreams@163.com|王锋]] 2010/04/19 10:18//
==== 数学基础—隐函数,距离函数 ====
=== 隐函数 ===
隐函数(implicit function):自变量和因变量之间的法则是由一个方程式所确定
F(x,y)=0
y=y(x)
例子: x2+y2-1=0
=== 距离场函数 ===
距离函数定义:\\
{{:keynote:k1.jpg|}}
距离函数的性质: {{:keynote:7-3-2.jpg|}}\\
带符号的距离场隐函数:\\
{{:keynote:7-3-3.jpg|}}\\ {{:keynote:7-3-4.jpg|}}\\ {{:keynote:7-3-5.jpg|}}\\
例子: {{:keynote:7-3-6.jpg|}}\\ {{:keynote:7-3-7.jpg|}}
--- //[[kangjj628@163.com|康菁菁]] 2010/04/23 10:58//
==== 动态可变形模型 ====
=== Snake是什么? ===
* 动态轮廓模型; 参数模型
* 由Kass,Witkin和Terzopoulos在1987年提出
* 能量最小化模式
* 决定于它的形状和图像内部的位置
=== 传统的Snake模型 ===
Snake模型 (1987) [Kass-Witkin-Terzopoulos]
* 平面的参数化曲线 C:R→R×R
* 沿着这条曲线的成本函数
{{:keynote:7-3-10.jpg|}}
* 内部项(internal term)表示
* 图像项(image term)引导轮廓线向目标图像属性变化(强梯度)
* 外部项(external term)可以用来说明用户定义的约束,或者是对所重建的结构的一些先验知识
* 这个成本函数的最小化是对以上这几项的平衡考虑
=== 动态轮廓模型的组成部分 ===
内部项(internal term):\\
{{:keynote:7-3-11.jpg|}}
* 一阶导数使得snake像膜一样运动
* 二阶导数使得snake像薄片一样运动
图像项(image term):\\
{{:keynote:7-3-12.jpg|}}
* 可以引导snake变化成
* 等值线{{:keynote:7-3-13.jpg|}},边界线{{:keynote:7-3-14.jpg|}},或终止。
其他的约束...:气球模型,区域snake...
=== 内力 ===
* 弹力(alpha力)——向内拉
{{:keynote:7-3-15.jpg|}}
* 弯曲力(beta力)——对曲线进行平滑而不是收缩
{{:keynote:7-3-16.jpg|}}
=== 外力 ===
* 图像梯度力
* 是不同snake模型之间的主要区别
* 传统snake模型的Fext :{{:keynote:7-3-18.jpg|}}
* 怎样选择Eext——在边界上呈现更小的值
{{:keynote:7-3-19.jpg|}}
=== 优化动态轮廓 ===
运用Euler-Lagrange方程\\
{{:keynote:7-3-22.jpg|}}\\
用来更新从原始曲线向目标图像变化过程中的位置
* 初始化曲线,用一定数量的控制点和一个基本函数集
* 解上面的方程,然后更新控制点的位置
* 重新设置更新后的曲线的参数,然后继续以上的步骤直到收敛
参数动态轮廓:
* 用一系列的点表示
* 每个点迭代变化位置
{{:keynote:7-3-23.jpg|}}\\
几何动态轮廓:
* 用一系列系数表示
* 在每一轮迭代之前采样
* 每个样本都发生变化
* 计算新的参数(插值)
{{:keynote:7-3-24.jpg|}}
=== 动态可变形模型 ===
经典的可变形模型-snakes
* 假设:物体在图像中的边界是分段连续或光滑的,并且用参数表示为{{:keynote:7-3-25.jpg|}}
* 轮廓的能量约束表示为{{:keynote:7-3-26.jpg|}}
* 其中S表示对边界线的内部约束,P表示对边界线的外部约束
* S可以定义为{{:keynote:7-3-27.jpg|}}\\ 分别表示对曲线的张量和硬度的限制
* P可以定义为{{:keynote:7-3-28.jpg|}}\\ 表示曲线被吸引到梯度大(可能是边界)的区域
* 上式的Euler-Lagrange方程为\\ {{:keynote:7-3-29.jpg|}}
动态snake
* 经典的snake是一个静态问题,如果将问题的求解看作是曲线的演化,曲线变为{{:keynote:7-3-31.jpg|}}则上面问题可以化为 \\ {{:keynote:7-3-32.jpg|}}\\ 该式的稳定解就是原静态问题的解,其中前两项可以看作曲线的惯性力和粘滞力。
动态可变形模型的求解
* 一般的方法式将几何模型v表示为局部或全局基函数的线性组合(利用有限元法,有限差分法,或者样条函数法等),然后将问题转化为求解线性参数。
* 一般的形式为\\ {{:keynote:7-3-34.jpg|}}\\ 其中K叫做刚性矩阵。最后的方程可以化为一个二次常微分形式\\ {{:keynote:7-3-35.jpg|}}
=== 传统snake模型存在的问题 ===
* 捕捉范围
* 收敛性不好\\ {{:keynote:7-3-36.jpg|}}
=== 外力——气球(balloons) ===
* L.D.Cohen and I.Cohen,1993
* 将曲线向外推\\ {{:keynote:7-3-37.jpg|}}
* 问题:收敛性不好\\ {{:keynote:7-3-38.jpg|}}
=== 外力——GVF ===
* C Xu and J.L.Prince,1998
* GVF(gradient vector flow 梯度向量流):{{:keynote:7-3-39.jpg|}}
* 边界图: {{:keynote:7-3-40.jpg|}}
* 能量最小化: {{:keynote:7-3-41.jpg|}}
=== 结果 ===
{{:keynote:7-3-43.jpg|}}
=== 更多有关snake模型... ===
* snake模型不改变拓扑信息
* 其他模型:
* 带有拓扑控制的snake模型---Stephan Bischoff, Leif Kobbelt
* 更高维的模型:
* GVF—C.Xu,98
* L.Cohen,95
* ...
--- //[[kangjj628@163.com|康菁菁]] 2010/04/23 11:10//