USM锐化算法详解:原理、参数设置及应用技巧
USM锐化算法详解:原理、参数设置及应用技巧
USM锐化(Unsharp Mask Sharpening)是Adobe Photoshop中常用的锐化算法,其原理与拉普拉斯锐化类似,都是通过叠加残差信息来增强图像细节。本文将详细介绍USM锐化的原理、参数设置以及可能遇到的问题,帮助读者更好地理解和应用这一算法。
再谈SHARPNESS
sharpness描述细节的清楚程度,它实际包括两部分:
- acutance灵敏度,描述边缘区域的灵敏程度。
- resolution分辨率,就是分辨的最小尺度。
resolution受限于sensor,在拍照完成之后就确定了,所以只有acutance可以在后处理中调整。所以我们说的调整sharpness一般指调整acutance。
Unsharp Mask
不使用二阶导,那使用什么呢?说来有趣,USM目的是锐化,但第一步却是blur,这也是为什么叫unsharp的原因。
USM实际从暗房冲印发展而来。在暗房中处理负底片nagative,还会得到一张正底片positive,但是因为材料的问题,positive copy是更模糊的。光同时通过nagative和positive, negative的一部分信息会被抵消。因为positive是低通滤波,所以nagative只有low-frequency (blurred)被过滤掉,这样就达到了锐化的效果。
unsharp mask本质上是有助于指出像素与其周围像素的差异程度。对于高于周围像素的点,继续提升其灰度,对于低于周围像素的“洼地点”,继续降低其灰度。这其实是模拟马赫带效应(Mach band effect):人类的视觉系统有增强边缘对比度的机制。
另外一个角度理解。对于退化图像,想将之复原到,可以再将进一步退化,得到,并且认为两次退化的差值是相同的,这个差值实际上是高频分量:
所以,把高频分量加上去,就可以得到增强后的图像
PARAMTETER
引入尺度因子amount,得到:
sharpened = original + (original − blurred) × amount.
按照这个公式,当选择特定的blur滤波器和尺度因子时,也可以得到和拉普拉斯锐化相同的模板:
下面是锐化前后的对比:
很显然,amount越大,锐化程度越高:
不同amount的影响原图 Amount=25 Amount=100
在图像的变换比较平坦的区域,λ取值小,在较大的对比度(边缘处)地方取适当的λ,而在中对比度处取较大的λ值,以使得这部分的得到最大的增强。 比如这篇文章 Image Enhancement via Adaptive Unsharp Masking 中就提出了一种逐步更新的方式。
同理,模糊滤波器的半径也是越大,锐化效果越强。
在ps中,除了amount和半径,还有阈值。阈值控制的是将要锐化的最小亮度变化,相当于对unsharp mask进行截断,这样只有明显的边缘pronounced edge被锐化,不明显的则保持 leaving subtle edges untouched。可以避免放大噪声,达到削尖眼睫毛,又不会使皮肤粗糙的效果。
COMPLICATIONS
Soft Original Mild Sharpening Over Sharpening
当锐化过重时,可能产生halo,尤其是在亮暗边界处,一边被拉亮,一边被压暗。解决办法是减小blur使用的滤波器尺寸。
Soft Original Normal RGB Sharpening(Visible Cyan Outline) Luminance Sharpening
另外一个问题是产生伪彩。如果分别对三个通道进行锐化,就可能产生伪彩。对应解决办法是在亮度通道进行锐化。
reference:
1.Sharpening Using an Unsharp Mask
2.https://www.adobe.com/creativecloud/photography/discover/unsharp-masking.html
3.https://en.wikipedia.org/wiki/Unsharp_masking
4.https://www.cnblogs.com/Imageshop/archive/2013/05/19/3086388.html
4.https://docs.gimp.org/2.6/en/plug-in-unsharp-mask.html
5.https://zhuanlan.zhihu.com/p/25720633
- Tutorials – Sharpness