脸部磨皮:一个高阶正则化 ( higher-order regularisation ) 模
还记得在 “背景知识” 这一篇中,我们介绍了如何用微分方程和变分的方法来处理图像和视觉问题。一幅 N维 M通道的图片可以用一个函数来建模,即
采用微分方程和变分法解决视觉问题,大致分为三步:(1)设计一个能量泛函;(2)把模型离散化;(3)采用某种数值算法求解。笔者认为,能量泛函的设计是最关键的一步,因为模型的升级直接给解的精确性带来指数级的增长;在好模型的基础上,先进的算法可以把解的精准度和运算的速度提到大概30%。 在背景知识这一篇中,我们举了 利用 Total Variation (TV)Regularisation 模型来给图片去噪声的例子,它的能量泛函为
在这个能量泛函中,我们假设 观测误差 为 i.i.d 的高斯分布, 同时我们希望我们得到的图片是一个分段等值的函数。通过最小化
我们知道,任何一个平滑的函数可以由多段多项式函数来近似,多项式阶数越高,则近似的精度越精确。然而通过TV, 我们只能得到一个分段等值函数,这对于图片来说是远远不够的。因此笔者在此介绍两个高阶模型,它们都是对解函数的二阶导数进行正则化, 因此得到的解是一个分段仿射函数 (piece-wise affine function) 。 (1)Hessian TV regularisation
能量泛函为
其中
(2) Total Generalized Variation Regularisation (TGV)
能量泛函为 其中
介绍完这么多理论,我们来进行一个简单的实验——给人像磨皮! X ) 首先,我们有一张相片 下面一张是用 TV 处理后的结果: 下面一张是用 TGV 处理后的结果: 两幅图片的细节都被保存,但大家是不是隐约的感觉到第二幅图片比第一幅图片要光滑一些?? 这是因为 TGV 可以给一个 分段仿射的解,但TV只能给分段等值的。我们再对比一下脸部的效果,其中左边是TGV, 右边是TV。 我们看到用TGV得到的脸部线条更柔和光滑,皮肤更水嫩,人一下子就年轻了至少7岁。更重要的是,黑眼圈被完全除掉了!! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |