本文介绍的是一篇发表于2011年ACM Transactions on Graphics上基于L0范数进行图像平滑的论文。这篇文章所提出的方法主要应用于压缩伪影的去除、边缘提取以及水彩画效果的产生。
使用局部滤波器可以在保边的基础上进行图像平滑,比如双边滤波、加权最小二乘法、各向异性滤波等等。此类方法通过考虑局部区域的相似度产生平滑的效果,在边缘保持上仍具有提升空间。本文介绍的方法提出了一种新的策略,运用L0范数的概念实现快速的全局估计,使得信号变化更加平整,在视觉上图像的边缘会变得清晰明显。
L0范数通常被用来度量向量中非零元素的个数,由此本文通过约束非零梯度的个数增强图像中高对比度的边缘,从而完成全局平滑。
f表示平滑后的图像,#表示集合中元素p的个数,c(f)则代表满足下式的像素个数,也就是图像中非零梯度的个数。这是该算法的核心内容。
目标函数如下。其中,c(f)为约束条件,计算平滑后图像f与输入图像g的像素平方差之和。最小化目标函数能够在满足梯度个数为k的同时,尽量减少处理前后的两个信号的能量差。λ为可调的平滑参数。λ越大,梯度的个数越少,也就是边缘信息越少。也就是说,在保持图片整体边缘轮廓不变的基础上,平滑后的图像边缘会更加“薄”,平衡了相似性和稀疏性。
这种思路和方法可以应用到二维图像中。Ip表示原图像,Sp表示平滑之后的图像,C(S)用于计算平滑后的图像中垂直和水平方向梯度不为零的像素之和。
保留了图像结构的相似度,C(S)使图像的边界保持不变,控制变量
λ调节了平滑的程度。
通过引入辅助变量h和v求解这个问题,h和v分别用来近似表示S的梯度,从而整个问题的求解变为两部分。第一部分用于计算S,第二部分用于计算h和v。对于S的计算可以通过求出函数的导数为零的点来寻找最小值点,使用快速傅里叶变换能够进一步加速求解。
下面计算h和v,提取出原函数中与h和v相关的部分,变形整理后求解。其中,H为二值函数,参数β的最小值通常设为2λ,每次乘以κ在迭代过程中自动调整。整个算法的计算量主要集中在快速傅里叶变换和对h、v的求解上,处理单通道600×400的图像大概需要3秒钟。
作者将其结果与几种传统的图像处理方法进行了对比,可以看出基于L0范数全局估计的平滑方法很好地保留了色块之间的边缘信息,分界处最为明显。
同时该方法能够比较好地去除压缩伪影,其PSNR和SSIM相较于BLF、MS、TV等等来说都会更高,图像的质量会更好。
另外,这篇论文提出的方法同样可以运用于边缘提取。图像经过L0平滑之后会产生一种水彩画的效果,再对图像进行边缘提取,能够有效地获得最重要的边缘信息。
 关 注 我 们 
实验室网站:http://viplab.fudan.edu.cn/
OpenASIC官方网站:www.openasic.org
知乎专栏:http://zhuanlan.zhihu.com/viplab
微信公众号:OpenASIC
继续阅读
阅读原文