24小时热门版块排行榜    

查看: 1404  |  回复: 2

duan_study

新虫 (初入文坛)


[求助] 水平集函数为什么要保持为符号距离函数? 已有1人参与

图像分割问题,求解。

发自小木虫IOS客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lenleo

新虫 (小有名气)

【答案】应助回帖

原因有两个:
1:曲线演化中,隐式表达和距离函数是等价的,例如y=x-1的隐式表达就是phi(x,y)=x-y-1这个函数的零水平集。水平集方法用一个连续函数phi(水平集函数)的零等值面表示相界面。用正负号表示位于哪一相,phi>0表示位于主相中,phi<0表示位于另一相,phi=0表示位于相界面中。符号距离函数(SDF)就是一种水平集函数。对于某一点的符号距离函数,其绝对值等于这一点到相界面的最短距离,其符号取决于这一点位于哪一相。
2:从数值计算的角度,符号距离函数有个性质是其梯度绝对值为1(因为是距离对距离的导数),因此可以保证离散网格的大小为1,使得数值计算具有较高的精度。
对于规则的初始曲线而言,距离函数的求解较为简单,但是对于任意形状的初始曲线,比较复杂,计算量较大。水平集方法有个缺陷就是演化一段时间之后水平集函数会发生振荡,逐渐失去光滑特性和梯度特性,如此下去会产生误差,因此需要重新初始化,即每隔一段时间重构水平集函数使之继续保持为符号距离函数。
2楼2018-08-24 14:41:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

duan_study

新虫 (初入文坛)


3楼2018-08-24 14:44:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 duan_study 的主题更新
信息提示
请填处理意见