阅读论文 : Image Deblurring via Extreme Channels Prior (CVPR2017)
主要是为了完成图像处理大作业QVQ,可能会更新将论文内容实现的过程>
Part 1 —— 论文阅(fan)读(yi)
摘要
摄像头的移动会导致的运动模糊,影响了很多计算机视觉任务。 DCP(Dark Channel Prior)在包含自然、面孔、文本和低亮度的场景中进行盲去卷积(即不知道h退化函数情况下复原)是有效的。但是,其有一定的限制并且在图像比较亮的时候很难估算退化核。作者观察发现清晰图像中的亮度高的像素在退化后不亮。基于这一发现,作者首先数学上阐述了原因,然后定义它为BCP(Bright Channel Prior)。然后,提出了一种为这些图像去模糊的技术,很好得提升了现有的运动去模糊算法的效果。提出的这一方法结合了BCP和DCP的优势。这种结合起来的先验知识被称为extreme channels prior
并且这种方式协调使用了亮部和暗部的信息,对有效的图像复原是很重要的。大量的实验表明提出的这个方法相比于很多现在的图像复原技术,无论在合成还是自然图片的处理上,都是更有鲁棒性的并且可使用的。
1、 介绍
基于退化是均匀和移不变的假设,表示图像退化的数学模型为:
$$b = l \otimes k + n (空间域)—— (Eq1)$$
其中,b是退化后的图像,l是原图像,k是退化核,n是噪声,$\otimes$是卷积符号。
盲复原就是,在给出了b的情况下,去计算出l和k,而这是一个非常ill-posed problem(解不唯一)
,因此需要一些额外的信息和限制条件才能解决这个问题。
总的来说,大多数已有的算法都利用了自然图像的一些统计信息。比如:[5][13]中的heavy-tailed梯度分布, 归一化稀疏先验[12],L0正则化先验[25],patch recurrence prior[15],强度和梯度结合的先验[16]。最近,Pan et al.在[17]提出了基于DCP[6]来复原图像的有效方法。这个算法(emmm不太理解原因)比别的结果都好一些,但是作者说它在亮点更多和噪声更大的时候不行,因为DCP的先验在这种情况下不适用。
不过受他的启发,作者就提出了新的先验知识BCP啦。所谓的BCP是,在局部块中的最亮的点在退化后不再亮。数学上证明了这个经验性的发现,并利用这个属性来恢复图像和估计退化核。因此,作者打算使用L0正则化的逆BCP过程来最大化清晰图像的亮部。(??不理解?)最优化L0正则项是困难的。在提出的算法中,使用半二次罚函数方法来解决非突的L0范数极小化。
本文的共享总结如下:
- 提出了一个新的自然图像的先验知识ECP
- 证明了亮的点在退化后减少了,并通过比较5000个自然图像和模糊后的结果来验证理论。
- 使用BCP来blabla(没看懂,希望后文有)
2、 相关工作
今年,在图像盲复原的工作上有很大的发展。很多方式使用尖锐的边缘来估计退化核。例子、例子、例子…….但是,这个算法计算复杂度高不实用,需要大的数据集操作。
其他方法使用了一些统计的先验知识和附加信息。例子、例子、栗子……尽管这些技术对退化核估计是有用的,但他们会在一开始就丢失一些细节。Hu et al.使用亮条纹来实现对低亮度的图像的复原。
近来,提出了L0稀疏表示的新方法,并在论文[25]中的正则化去模糊中被使用。论文[16]中,Pan等人对特定文本在强度和梯度上使用L0先验来去模糊,是对其的一个改进。在[17]中,通过研究模糊过程中暗像素的变化,提出了一个遗传方法。在【6】中提出了DCP,基于的观察是:大多数的自然图片中,至少有一个颜色通道的像素值比较接近0。而Pan等人在【17】中将这个先验修改为:自然图像中暗通道是稀疏的而不是0,并强调了核估计的稀疏性。
尽管这个工作很出色,对很多数据都适用,但是没有暗像素就没有办法了嘛。
BCP
在大多数的自然场景块中,至少一个颜色通道的像素值会很大。为了规范化得描述这个发现,定义一张图I的亮通道为:
$$B(I)(x) = \max_{y \in \Omega (x)} \left ( \max I^c (y) | c\in (r,g,b) \right
) —— Eq(2)$$
其中,x是像素点的位置,$I^c$是I的颜色通道,$\Omega(X)$表示以x为中心的一个局部的块。从上式可以看出的,所谓的亮通道是由两个max得出来的。如果I是一个灰度图,那只有第一个max是有用的。(也就是说所谓的BC,以这个点为中心的块中所有像素点三个颜色通道中最大的一个值)使用这个概念,我们可以总结B(I)的强度应该是很高的,可能接近1的,除了在一些缺少光照或者阴影占主导地位的图片中。将这样的发现称为BCP。
在图像的亮通道中高的强度值主要依赖于三个事实:
- (1)光照:阳光过其他存在的光源,在白天天空的部分会被太阳照亮。
- (2)白色或者亮的物体和表面,比如白色的墙,地板
- (3)斑斓的物理或平面,如只含在至少一个颜色通道上反射比较强的物体,绿叶黄花蓝色的水面,也会导致亮通道的高强度。
使用PASCAL2012数据集中随机挑选的5000张无人为处理的图片验证了这个观察的结果:
- 图2(a)表示了亮通道中不同强度的像素点分布的直方图。可以看到强度高的点占很大比重
- 图2(b)和(c)分别是随着强度是亮通道和暗通道的可能性,其中两者横坐标方向不同,是为了可以比较直观的看出曲线走势相似,可以说由图中BCP和DCP是相当的。
为了在去模糊的过程中使用BCP,作者分析了亮通道在退化过程中是如何变化的。
为了便于比较,假想噪声小到可以疏略,有
$$b(x) = \sum_{z \in \Phi(x)} l \left( x-z+[\dfrac{p}{2}] \right) k(z) —— (3)$$
其中$\Phi(x)$表示以x为中心的块,大小为p,这个大小和退化核k的大小相同。$[\frac{p}{2}]$表示取整。根据退化的属性,有 $k(z)\geqslant 0$ 和 $\sum_{z\in \Phi(x)} k(z) = 1$.
模糊核先验知识
首先图像的形成过程就是光子在传感器上不断累积的过程,因此模糊核中的所有元素都是非负的,即其次,更为重要的一点是模糊核通常是稀疏的,也即包含相对少量的非零元素。模糊核的这种非负稀疏特点被之前的图像去模糊方法广泛地使用。
第二个先验知识不知道依据。
首先,对上述式子的理解比较直观,认为z是k(z)中的一个点(坐标从0,0到p变化),则在原图上实际中心为x时,坐标应该是$x-z+[\frac{p}{2}]$,这里这里加了$z \in \Phi(x)$的条件,应该是默认边缘的话都填充0。则文中的不等式推导(4)就很容易可以得出了结果:
$$b(x) \leqslant \max_{y\in \Omega(X)} l(y) —— (4)$$
不等式(4)说明点x处的强度在退化后不会比原始图像中其邻域最亮的点大。特殊情况是,如果x本身正好是邻域中最亮的,那不等式(4)等价于$b(x)\leqslant l(x)$。将这一结果应用到亮通道的定义中,满足:
$$B(b)(x) \leqslant B(l)(x) —— (5)$$
(5)的证明过程需要详细解释:
- 第一步是根据定义展开
- 第二步不太理解,可能是为了简化?只考虑其中一个通道的话,可以这么写吧
- 第三步也是根据定义展开
- 第四步,主要是由于z和y并没有实际上的联系,z表示的是k中一个位置,所以在y固定时求和的最大,肯定没有固定对每个一个z选择让后面这个值最大的y所得到的结果大
- 第五步是为了划规到x的邻域,因为此处所涉及到的l中的点是在原图中y的邻域里面的,而y是在x的邻域中,所以实际上涉及到的点相对于x的邻域大小和在B(b)(x)中的邻域大小不一样
而两个邻域分别是$\Omega(x)$和$\Omega^l(X)$。两个的面积关系如下:$S(\Omega^l) = S(\Omega) + p$
为了保持这个性质,选择小的块进行计算。式5表示在模糊后图像的亮通道比相应在亮的图中的强度低。因此,还可以得出:
$$ || 1- B(b)(x)||0 \geqslant || 1-B(l)(x)||0$$
(L0范数是指向量中不是0的个数),等号当且仅当所有点x周围的点的三个通道的强度都小于1或者所有点的值相等时间,才会成立。而实际上,使用了PASCAL2012的数据集分析,显示出原图中强度为1的点真的比模糊后的多,再次证明一下自己提出的BCP的正确性。
、
4、 终于到算法内容啦(希望不要看不懂
在这一节,给了一个忙复原的模型,并且给了一个核估计的有效的算法。使用MAP框架 —— 最大后验概率方法。
$$(\hat{l},\hat{k}) = arg \min_{l,k} \ell(l\otimes k, b) + \gamma p(k) + \lambda p(l) —— (7)$$
emmm,其中各项的内容希望会在后面给出
4.1 提出的ECP
使用ECP来给出p(l)的定义
使用ECP和DCP结合来给出p(l)的定义
4.2 目标函数
简而言之,式子10就是目标函数,看着觉得看不懂,鼓励一下自己加油,只要知道它怎么计算就好了
目标函数中的第一项是为了刻画还原出来的图像与模糊的图像之间的差别,两者差距不能太大,第二项是要求k尽可能稀疏,第三项是为了保留图像中一个大的梯度变换忽视一些小的变化,第四项则是保证暗通道的稀疏性
4.3 最优化这个目标函数
直接去解到10的最优解是很困难的,因此选择使用基于半二次罚函数的交替最小化的算法(可能需要看一下论文24的内容?)
对于生成的中间结果的 原图l 和 模糊核k,通过调整其中的一个来优化目标函数。
因此,问题变成了两个子问题:
固定k,求l使得(11)最小和固定l求k使得(12)最小
4.3.1 估计原图像
考虑到L0范数计算上难以处理,提出一个有效的算法来解决问题11,基于半二次罚函数的技术。
引入新的辅助变量g,p,q,使得目标函数(11)的形式变成(13),其中$\alpha , \beta, \omega$是正的惩罚参数。然后交替得最小化l,p,q,g来解决问题。
则在给定p,q,g的情况下,问题变成(14),(15)定义了对于中间图像D(l)和B(l)的具体计算方式,然后再把问题以(16)的形式表示
则实际上最优解应为式子(17)的表示
给定l的时候,相应的g,pg分别计算出都为(21)的结果
4.3.2 估计模糊核
类似的方式计算,最后的结果为(23)
感觉数学计算太复杂了,我智商跟不上了QVQ
Part 2 其他
简单自己画了一下实际算法的流程。
惊喜得发现作者主页有Matlab源码,认真学习源码去啦。