将 Richarson Lucy 反卷积应用于亮度数据的正确方法是什么?

信息处理 图像处理 反卷积 数字的 颜色 照片
2022-01-14 08:46:51

我的问题涉及 Richardson-Lucy 反卷积算法,该算法在 Richardson 的原始论文 - William Hadley Richardson - Bayesian Based Iterative Method of Image Restoration中有所描述。我有兴趣在数字摄影的原始图像转换器的上下文中应用它。可以在PIXLS.US 论坛中找到引发这篇文章的 RawTherapee 讨论:关于 RT Richardson Lucy 实施的快速问题

通过使用泊松噪声模型,原始论文假设该算法被应用于从传感器恢复的线性数据,特别是没有经过伽马校正,也没有应用任何额外的非线性色调映射。泊松随机变量在非线性变换后不再是泊松,因此模型不再适用于此类数据。

我的理解是,如果我们简单地将来自拜耳阵列的数据去马赛克到传感器上,然后对生成的 RGB 数据应用反卷积,我们的状态就很好,因为它是线性的。

然而,将反卷积仅应用于亮度数据似乎是传统的。(我不完全确定为什么,或者它是否是可取的,所以请考虑这是一个子问题。)RawTherapee 这样做,例如,通过将图像转换为 LAB 颜色空间并对 L 通道进行反卷积。

但是问题来了。看起来 L 在捕获的光子数量上并不是线性的。我在 Jim Kasson 的博客上找到了一些数据- 区域系统和数码相机表明 (12.5, 25, 50, 100) 的反射率百分比对应于 (42.4, 57.0, 75.8, 100) 的 L 值。这种转换可能取决于所使用的光源;我对色彩科学的了解还不够多。然而,关键是映射绝对是非线性的。

那么,有没有一种实用的方法可以将 Richardson-Lucy 算法应用于亮度数据的“线性化”版本?这甚至是可取的吗?我不确定这里的最佳实践是什么,因此您可以提供的任何参考资料将不胜感激。我在查看的参考资料中找不到任何提及此问题的内容。

2个回答

我认为答案在您链接到的 Jim Kasson 的帖子(区域系统和数码相机)中:

如果您对区域系统只是比较熟悉,您可能会问自己记录比 100% 反射率更亮的光的实用性。100% 反射率校准假定无光泽对象具有完美的朗伯反射率。当主体具有一定的镜面反射或光泽时,会出现较高的光照水平。水是一个经典的、在摄影上很重要的例子。金属、玻璃、塑料、皮肤、石头和许多油漆通常也远离朗伯式。所以我们经常需要空间来容纳这些材料。

以上所有假设都假设相机是使用 UniWB 校准的,并且 UniWB hack 可以完美地预测原始文件值。然而,UniWB 从未在数码相机用户中取得太大的普及,而且我认为随着相机获得越来越多的动态范围,用户数量正在减少,因此有必要研究一下广泛使用的相机设置会发生什么。

因此,仅当相机的行为符合UniWB 模型(另请参阅Guillermo Luijk - UniWB 教程)并且使用的材料确实是完美的朗伯式时,反射率模型和传感器暴露的实际光子数才是线性的。

两者都可能不成立并产生一些非线性效应。

CMOS / CCD 传感器的响应确实是线性的(至少在它们被剪裁之前)。

因此,给定带有线性去马赛克的 RAW 数据(请注意,在此步骤中某些算法可能是非线性的),您确实可以对数据应用 Lucy Richardson 卷积。请注意,LAB颜色空间是 RGB 颜色的非线性变换(即使没有 Gamma 校正)。
所以我会按以下顺序应用反卷积:

  1. 去马赛克原始数据。
  2. 将数据转换为YCbCr 颜色空间(或类似),通过线性变换将颜色分解为亮度和颜色数据
  3. 在Y通道上应用反卷积。
  4. 转换回基于 RGB 的色彩空间。

Richardson Lucy 不一定需要在线性空间中工作。

它通过最小化对数似然函数来工作,因此就它而言,数据是否是光电子阵列 e、x e、(x e)^y 或类似的阵列并不重要,其中 x 和 y 是常数:最小化其中任何一个的对数将导致在 e-、ADU(ADU = e- 乘以增益 x)或 DN 中的“相同”解决方案(ADU^y 与 y = gamma)。

当阵列位于导致找到不同最小值的域中时,就会出现问题。例如,L* 和 sRGB 可以正常工作,除了线性脚趾部分:对于 L*,y 将是 1/3,对于 sRGB,y = 1/2.4 - 除了在线性脚趾部分。一旦你开始做非指数色调映射,所有的赌注当然都没有了。博客文章中的更多细节与我的狗一起漫步 - 理查森 - 露西去卷积的元素,作者是 Jack of Alma Photos。