第六章 高级特征提取:可变形形状分析(1),可变形模板、蛇模型

第六章 高级特征提取:可变形形状分析,(1)可变形模板、蛇模型

6.1 概述

a. 对于无法建立广义霍夫变换模板、或模板参数存在波动的情况,需要利用弹性形状理论提出目标解决方案;

6.2 可变形形状分析

6.2.1 可变形模板

a. Exp,通过抛物线组合近似眼部模型,如果将两种形状组合在一起,改变其大小和朝向,同时保留其空间关系,那么可以得到一个可变形模板;
例如眼部可以表述为上下抛物线和中心圆,
在这里插入图片描述
然后确定匹配参数,类似霍夫变换,有一个匹配方法是将图像边缘数据与模板边缘数据进行匹配,以投票最多的参数作为有效参数,匹配描述算子描述为
匹配性描述算子
将形状的贡献与其周长相除得到边缘能量贡献E
在这里插入图片描述
同时考虑眼部结构相关的信息,例如巩膜是白色,而虹膜相对颜色较深,引入灰度相对关系,例如对圆部分亮度值进行平均的圆形区域的能量泛函E,
在这里插入图片描述
取负值构造最大值表达式对最佳参数进行计算;
则考虑到巩膜得到能量泛函
在这里插入图片描述
构造能量函数E=we Ee+wv Ev+wp Ep,其中w表示加权因子,通过调整参数(使圆的边界及其边界与图像边界相一致的概率达到最大,而且使圆内较暗而其余部分较亮的概率也达到最大;;对参数的确定有两种主要方法,梯度下降法和遗传算法g;

6.2.2 基于部件的形状分析

a. 类似低级特征组合,基于部件的目标分析方法通过一组可变形结构表述的排列表达目标,来自模板方法,将目标描述为由弹簧和小块构造的机械等效网络,弹簧将形状的位置连接在一起,控制目标之间的关联并允许目标的部件之间相对移动。
b. 假设有n个部件,li表示特征fi的位置坐标,mi (li)表述图像数据的差值,这些特征位于不同的相对位置,构成中的错误位置度量记作dij (li,lj),模型与图像的最佳匹配L*记为
在这里插入图片描述
通过调整权值得到绝对位置与相对形变的折中;这一参数问题曾经使用最优化进行解决,现在的主要解决方案是统计-机器学习;

6.3 主动轮廓模型(蛇模型)

6.3.1 基础知识

a. 蛇模型采用与特征提取完全不同的方法,采用收缩方式,使用一组点包围目标特征,对一组点进行排列将目标形状包围在内以便进行描述,通常用于自动特征提取;
目标特征外部设置一个初始轮廓,然后根据迭代规则对其进行演变至恰好包裹目标;
b. 主动轮廓可以表示为能量最小化处理,目标特征是经过合理公式化的能量泛函的最小值,该能量泛函要求至少包含边界信息、轮廓的伸缩和弯曲特性等,蛇模型实际上可以看作为其自身特性与图像特性的联合;因此可以将能量泛函看作是轮廓内部能量Eit、约束能量Econ、图像能量Eimg的累加,根据模型中所有点的x-y坐标索引组成蛇模型v(s)的一组点;
假设S∈[0,1)是模型的正规化长度,则能量泛函表示为
蛇模型能量泛函
其中内部能量Eint决定蛇模型的自然变化,从而决定蛇模型所有点的排列;图像能量Eimg引导蛇模型选择低层次特征;约束能量Econ给出高层次信息特征以控制蛇模型的演化;
模型演变过程以min⁡Esnake 作为目标,以比初始点能量更低的特定点集作为新的模型标准,并演变得到主动轮廓,一般简单的认为可以通过微分确定是否得到极值,且不需要利用二阶导数区分是极大值还是极小值;
c. 能量泛函表示为蛇模型函数以及图像的形式,根据各自所选的权重系数,这些函数构成蛇模型能量,通过这种方式,内部图像能量定义为轮廓周围一阶和二阶导数的加权和,即
Eint
其中一阶微分表示伸缩产生的弹性能量,受点间隔影响;二阶微分描述弯曲产生的曲率能量,受点变动影响;参数αβ的取值决定蛇模型的形状,一般α取低值得到的点具有更大的间隔变化幅度,取高值则相对均匀分隔,β取低值意味着点曲率较大,取高值则表示预先设定蛇模型为相对光滑的轮廓;
图像能量引导蛇模型提取低层次特征,如边缘信息等,目的是选取具有最小贡献的特征,根据初始的蛇模型,线、边缘、端点都可以作为能量函数构成,即
Eimg
其中线能量可以设定为特定点的图像亮度,如果黑色比白色的取值低则认为暗特征构成蛇模型;边缘能量可以采用边缘提取端子(例如Sobel)进行输出;端点能量可以使用类似曲率等进行表示;一般仅使用边缘能量,端点能量较少使用;

6.3.2 蛇模型的贪心算法

a. 贪心算法,将实现能量最小化处理看成纯粹的离散算法,贪心算法利用迭代方式,通过对轮廓点周围的局部近邻进行检索算去具有更小蛇模型能量的新轮廓,每次迭代对所有轮廓点进行检测,查找是否存在替换点,
其流程为:
(1)确定蛇模型和参数αβγ;
(2)由第一个模型点开始;
(3)初始化最小能量和坐标;
(4)确定最小能量的邻点坐标;
(5)将新的蛇模型点坐标设为新的最小值;
(6)判断是否还有更多蛇模型点,Y-(2)
(7)N-完成迭代;

b. 对于一组蛇模型点v,∀s∈0,S-1,
在这里插入图片描述
在这里插入图片描述
其中一阶二阶微分是对当前所选轮廓点的局部邻域搜索所得每个点的近似值;代码实现中轮廓存储为一个矢量矩阵,每个矢量单元包含5个元素(坐标x,y,系数αβγ);
c. 以Exp中的眼模型为例,一阶微分近似为轮廓点平均间隔(欧氏距离),和当前所选图像点vs与下一个轮廓点的欧氏距离的差值的模,通过选取适当的α,可以控制轮廓点之间的间隔:
在这里插入图片描述
二阶微分可以通过前后轮廓点近似计算曲率,
在这里插入图片描述
Eedge可以使用Sobel算子在目标点的输出近似,通过正规化保证其值在0-1范围内;边缘图像也可以在当前的目标窗口内进行正规化,但可能受到噪声影响;
由于蛇模型采用最小化迭代,因此边缘点需要加以考虑的情况可以对边缘图像进行反转,以保证轮廓能量、曲率和边缘强度达到平衡,参数αβγ可以通过平衡函数实现,对ROI内的轮廓和曲率能量进行正规化;
贪心算法的单次迭代中的逐点检索过程包括3个阈值,一个是切线方向上的阈值,一个是边缘强度,如果边缘点与大于所选方向阈值的点相邻,且其强度大于阈值,则该点的β设为0表示当前点为角点,贪心算法的初始定义提出不断对蛇模型进行演化直到趋于稳定,稳定条件为单次迭代过程中移动的轮廓点数目小于第三个阈值;
降低间隔系数适用于高曲率特征的定位,有利于在高曲率的边缘处提取更多特征点,降低曲率系数则倾向于构成角点描述,也就是对高曲率点采用单点描述,但需要注意曲率系数和边缘系数不可以同时取低值;在图像噪声较大的情况下可以降低边缘系数;
d. 值得注意的是,离散形式的一个问题是当最终解在同样具有小能量的两组点之间交替时,将导致演化过程无法收敛,可以通过增加约束解决;此外随着轮廓的变小,轮廓点可能无法被有效压缩,采用重新采样等方式可以解决;

<think>嗯,用户需要我帮忙写一个APDL软件中一根梁模态分析的命令流。首先,我得确认APDL的基本流程。模态分析通常包括前处理、求解和后处理几个步骤。前处理需要定义材料属性、几何模型、划分网格,然后设置分析类型,施加边界条件,最后求解并查看结果。 用户提到的是一根梁,所以应该使用梁单元,比如BEAM188或BEAM189。材料属性一般需要弹性模量和密度,泊松比可能也需要。几何部分可能需要定义节点,创建梁单元,或者直接通过关键点生成线,再划分网格。 接下来是边界条件,通常是固定两端,比如悬臂梁或者简支梁。模态分析需要设置分析类型为模态,指定模态提取方法,比如Block Lanczos,设置提取的模态数目,然后求解。 后处理部分需要查看固有频率和振型,可能用PLDISP或者ANTIME来显示振型动画。 需要注意的地方:单元类型是否正确,材料参数是否合理,约束是否施加正确,模态提取设置是否合适。另外,网格划分的密度可能会影响结果精度,需要适当调整。 用户可能对APDL有一定了解,但可能需要具体的命令流示例。可能需要检查命令语法是否正确,比如FINISH和/CLEAR的位置,材料参数的单位是否统一,比如使用国际单位制。 可能的疑问:如何修改模型参数?比如长度、截面属性。可能需要用户根据实际情况调整参数部分,如截面形状使用SECTYPE和SECDATA。另外,是否考虑剪切变形,可能需要设置单元选项。 需要确保命令流结构正确,每个部分顺序合理,比如先定义单元类型,再材料属性,再创建几何,网格划分,然后施加约束,设置分析选项,最后求解和后处理。 可能用户是工程师或学生,用于学习或实际项目中的模态分析,可能需要一个基础模板,方便修改和扩展。需要提醒用户替换实际参数,检查边界条件是否符合实际情况,比如约束位置是否正确,是否施加了正确的约束类型(比如全约束还是部分自由度)。</think>以下是一个基于ANSYS APDL的简支梁模态分析基础命令流示例,包含关键步骤说明: ```ansys FINISH /CLEAR,START /FILNAME,BeamModalAnalysis,1 ! 定义工作名称 ! 1. 前处理模块 /PREP7 ! 定义材料属性 MP,EX,1,2.1e11 ! 弹性模量 (钢材料,单位: Pa) MP,DENS,1,7850 ! 密度 (kg/m³) MP,NUXY,1,0.3 ! 泊松比 ! 定义梁单元类型 ET,1,BEAM188 ! 选择三维梁单元 KEYOPT,1,3,3 ! 设置截面形状为矩形 ! 定义截面参数 SECTYPE,1,BEAM,RECT ! 矩形截面 SECDATA,0.1,0.2 ! 宽度0.1m,高度0.2m ! 创建几何模型 K,1,0,0,0 ! 关键点1 (起点) K,2,5,0,0 ! 关键点2 (终点,梁长5m) L,1,2 ! 创建直线 ! 网格划分 LESIZE,ALL,,,20 ! 划分20个单元 LMESH,1 ! 执行网格划分 ! 2. 施加约束 DK,1,UX,0,,,UY,UZ ! 固定端约束(左端全约束) DK,2,UY,0,,,UZ ! 简支端约束(右端约束Y,Z方向) ! 3. 求解设置 /SOLU ANTYPE,MODAL ! 指定模态分析 MODOPT,LANB,6 ! 使用Block Lanczos法提取前6阶模态 MXPAND,6 ! 扩展前6阶模态振型 SOLVE ! 执行求解 ! 4. 后处理 /POST1 SET,LIST ! 列出固有频率结果 SET,1,1 ! 读取第一阶模态 PLDISP,1 ! 显示振型 /ANUM,ALL ! 动画显示振型 ANTIME,50,0.5,,,1,2,0,1 FINISH ``` 关键参数说明及修改建议: 1. 材料参数:根据实际材料修改EX(弹性模量)、DENS(密度) 2. 几何参数:通过SECDATA调整截面尺寸,修改关键点坐标改变梁长度 3. 网格密度:调整LESIZE命令中的单元数量 4. 模态阶数:修改MODOPT和MXPAND后的数值指定需要计算的模态数量 典型计算结果: 1. 通过SET,LIST可查看各阶固有频率 2. 使用PLDISP命令可图形化显示振型 3. 使用ANCNTR命令可生成模态动画 注意事项: 1. 确保单位系统统一(本例使用国际单位制) 2. 约束条件应根据实际支撑情况修改 3. 对于复杂截面,可使用SECTYPE定义更精确的截面形状 4. 增加单元数量可提高计算精度,但会延长计算时间 建议先用简单模型验证命令流有效性,再逐步添加复杂特征。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值