User Tools

Site Tools


keynote:lesson07

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

keynote:lesson07 [2014/05/22 16:34]
keynote:lesson07 [2023/08/19 21:02] (current)
Line 1: Line 1:
 +====== 第七课 ======
 +=====第一节 数学基础 =====
 +
 +====数学基础—微分几何简介 ====
 +
 +  * 参数曲线:
 + ​{{:​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) ​           ​
 +例子: ​  ​x<​sup>​2</​sup>​+y<​sup>​2</​sup>​-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模型的F<​sub>​ext</​sub>​ :{{:​keynote:​7-3-18.jpg|}}
 +  * 怎样选择E<​sub>​ext</​sub>​——在边界上呈现更小的值
 +{{:​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//
 +