24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1660  |  回复: 0

simongong

新虫 (初入文坛)

[交流] 什么是曲率滤波以及它为什么重要?

曲率滤波是一种图像处理中的优化方法,最早出现于龚元浩博士的博士论文第六章(博士论文)。

曲率正则化是病态问题常用的正则项,得到的模型通常较好。但是这些模型也难于求解。传统的求解方法有两种:一种基于梯度下降法(扩散公式),另一种基于Euler Lagrange方程。通常,后一种解法比前一种更加高效。但是如何得到该方程通常又非常复杂,而且得到的方程很难看出其对应的物理意义。这两种方法都是从模型出发,试图优化模型。

曲率滤波则是从另外一个角度考虑这一优化问题。如下图所示,在优化模型的过程中,数据拟合项(dash line)的能量一直在增加,而正则化项(dot line)的能量一直在减小。因为整体能量(黑色线)在减小,所以说正则化能量在优化过程中是主要部分。因此,曲率滤波提出优化正则项,同时观测数据拟合项。只要正则项的减少量大于数据拟合项的增长量即可保证整体能量的下降。
 \"什么是曲率滤波以及它为什么重要?\"

优化正则项这种方法有几个优势:

  1. 不需要计算整体模型能量的梯度,因此可以处理任意复杂的成像模型(各种噪声,各种模糊, 云雾模型,风沙模型,海底场景模型,等等)。这使得曲率滤波非常通用。
  2. 因为正则化对应的曲面是已知的,我们可以用这些已知的曲面来逼近图像。例如,如果正则化项是高斯曲率,对应的是可展曲面。而经典的微分几何告诉我们可展曲面只有三种:柱面,锥面和切线面。我们可以选择这三种曲面中的一种来最佳地逼近数据。这就是高斯曲率滤波。类似的,如果正则化项是平均曲率,对应的曲面是极小曲面,导出的就是平均曲率滤波。
  3. 正因为使用了已知曲面来进行优化,我们根本就不需要计算高斯曲率或者平均曲率。这样就减少了对原图像的要求。比如,如果要计算高斯曲率,至少要假设原图像二次可导,即图像是光滑的。这一假设通常很难满足。直接的结果就是处理后的图像在边缘处模糊了。而曲率滤波就没有这样的问题。
    因为不要求图像光滑,而且不需要计算曲率,曲率滤波计算非常简单,效率是梯度下降算法的一百到一千倍。计算性能优异,而且可以并行,甚至只需要图像的一部分就可以运行(对于图像大于内存的情况非常有意义)。


曲率滤波是一种独特的优化算法:它是一种滤波,但是又优化某种正则项,而且在滤波的过程中隐含使用了微分几何的已知曲面。这些特征使得其非常独特。

曲率滤波有哪些典型的应用?如前文所说,曲率滤波是一个通用型的解法。它可以用于:
图像平滑
图像除噪(任意噪声模型)
卡通纹理分解,图像增强
图像去模糊
图像去雾
图像配准(求解精确模型,而非primal dual算法的松弛模型)
inpainting
超分辨率图像的生成
图像矢量化,甚至将图像转成数学方程
objectness detection
图像压缩

代码:曲率滤波的作者分享了代码,包括C++版本,Matlab版本,Java版本,以及多尺度曲率滤波等等。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 simongong 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见