====== 第七课 ====== =====第一节 数学基础 ===== ====数学基础—微分几何简介 ==== * 参数曲线: {{: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//