关于偏微分

在图像处理里面,偏微分主要体现在能量极小化上面,而这种极小化泛函往往包含变量的微分,所以只要掌握Euler-Lagrange方程就可以知道其演化方程了,而这个方程就是极小化能量泛函的解。辅以梯度下降法之类的迭代策略,和离散差分的实现,就可以在计算机上实现编程。
     那么研究者是怎样找到这样的泛函呢?关于偏微分方程或微分几何的书(国外的教材)会有所涉及。自牛顿经典力学建立以来,人们发现现实世界中的相当多的模型适于用包含某个(或多个)变量的微分形式的等式来描述,在学习高数的时候所谓的微元法,其实就是这个东西。微元法加上一些物理定律(如热力学定律)就可以建立模型了,这些模型就是常微分方程(关于一个变量的微分)或偏微分方程(关于多个变量的微分)。比如热传导方程里面,面元上的温度变化率由单位时间内该面元热量的吸收和释放之差决定,其解就是初始温度与高斯核函数的卷积,这个在过程在数学物理方程里面都能找到。把它引入图像处理,就是原始图像被(二维)高斯函数平滑,因为两个方向方差相同,故对图像各个方向平滑程度相同,就被称作线性尺度空间,用公式表示就是dI/dt=div(gradient(I))。线性尺度空间的最大问题是对图像边缘的破坏,由此Perona—Malik对上述问题进行了改进,在梯度前面加了一个平滑控制函数(单调递减),在梯度大时(存在边缘)平滑程度小,梯度小时(非边缘)平滑程度大,即所谓非线性扩散或各向异性扩散。后续的研究者在此基本演化方程后面添加不同的约束项或改变扩散控制函数,实现了问题的正则化,如经典的TV(total variations)模型。
        再说水平集和Snake,两者的基本形式我看是等价的,前者是演化方程,后者是极小化泛函,通过Euler-Lagrange方程即知。水平集的物理原型是火线扩散(frame front propagation)。想象一下一片森林被大火包围,在无风的情况下大火会如何扩散呢?答案就是在大火与森林交界的曲线上,曲率大的地方扩散速度慢,曲率小的地方速度快。事实上晶体生长也遵循同样的规律。我们可以用一个简单的例子说明。往杯子里倒热水,然后把水倒掉,杯底会有水的残存。因为这时杯子是热的,杯底的水会以比较快的速度蒸发。在蒸发过程里我们会发现,水滴四周边界的消失(因为蒸发)呈现的就是上述规律—曲率小的地方速度快,曲率大则速度慢。图像分割就是用这个变化的曲线去逼近目标边界。往大处说,曲率意味着空间的弯曲。
        国内工科出身并从事图像处理的人因为数学原因不能对上述问题的本质有清楚的认识;而数学出身转行到这一领域的研究者往往喜欢堆砌公式定理,本来活生生的实际问题被写成天书,害人不浅。大家如果打算深入研究,不妨看一些国外的偏微分教程(汉译即可),适于自学和理解。

posted on 2012-05-21 22:25  Hanson-jun  阅读(779)  评论(0编辑  收藏  举报