[0032] 下面结合具体实施例对本发明做进一步的分析。
[0033] 本发明可以用于颜色恒常(Color Constancy,又叫图像色偏校正、白平衡等)、图像去雾、低光照图像增强、图像噪声水平估计等多种图像增强任务。下面,主要针对颜色恒常和图像去雾两个实施例介绍本发明的具体实施方式。
[0034] 1图像预处理
[0035] 将低质成像图像中局部图像块或者整幅图像中的像素进行重新随机排列(Pixel Shuffle);所述的像素随机重排为局部重排或全局重排,二者分别针对局部图像块或者整幅图像中的像素,重新随机排列其所有像素位置顺序。重新随机排列(Pixel Shuffle)图像块或者整幅图像中的像素不会改变它们的统计特性,但是会破坏空间结构;采用像素随机重排后的图像块或图像作为神经网络的输入,可以使得网络在参数学习过程中更加关注像素的统计特性而非空间结构特性,从而有利于图像增强等图像逆问题中的潜在变量的估计;因此,为了促进图像增强问题中的潜在变量的准确估计,本实施例使用像素随机重排后的图像块或图像作为CNN的输入。
[0036] 2构建一个全1*1卷积神经网络(Fully Point‑wise Convolutional Neural Network,FPCNet),从输入图像中估计图像增强任务中的潜在变量
[0037] 2.1构建全1*1卷积神经网络
[0038] 全1*1卷积神经网络由多个1*1卷积单元叠加构成;
[0039] 1*1卷积单元包括一个或者多分支的1*1卷积层;每个卷积层包括多个特征通道,可以学习不同的特征表示;卷积层之后紧跟一个非线性激活层,用以对上述卷积层输出的特征施加非线性变换,从而提高模型的非线性建模能力;
[0040] 若1*1卷积单元为单分支的情形,在非线性激活层之后紧跟一个池化层(Pooling Layer);如图1所示,图1(a)所示的网络结构具有一个包含k*k卷积核的卷积层和一个池化层。我们可以将k*k卷积核替换为1*1卷积核,并构建如图1(b)所示的1*1卷积单元。为了保留感受野的大小,我们可以将池化大小从p*p扩大到(k+p‑1)*(k+p‑1)。
[0041] 若1*1卷积单元为多分支的情形,在非线性激活层之后紧跟一个并置层(Concat Layer),对非线性激活层得到的特征沿着特征维进行拼接,从而构成扩维的特征表示;在并置层之后紧跟一个池化层(Pooling Layer)。图1(c)所示的双分支网络包括一个1*1卷积层和一个3*3卷积层以提取多尺度特征,以及一个并置层(Concat)和一个池化层。并置层和池化层的顺序是可以互换,不会影响结果。类似地,我们可以将k*k卷积核替换成1*1卷积核,并构建如图1(d)所示的1*1卷积单元。它包括两个平行的1*1卷积层,以及两个不同池化大小的池化层以及一个并联层。
[0042] 上述池化层的池化操作包括平均(Average)、最大化(Max)和随机(Random)等;通过设置池化层的池化核大小为k*k,使得上述1*1卷积单元的感受野等效于k*k大卷积层的感受野;通过设置池化层的池化核大小为(k+p‑1)*(k+p‑1),使得上述1*1卷积单元的感受野等效于k*k大卷积层和p*p的池化层对应网络的感受野;进一步,本发明提出的全1*1卷积单元在给定像素重排图像块或图像作为输入的情况下,其表示能力等价于大卷积核对应的网络结构,即本发明提出的网络在参数量更少的情况下实现了相当的表示能力。
[0043] 通过叠加几个全1*1卷积单元,可以构建一个全1*1卷积神经网络(FPCNet)。
[0044] 用于颜色恒常性的全1*1卷积神经网络结构(FPCNet‑CC)如表1所示:
[0045] 表1 FPCNet‑CC网络结构
[0046]
[0047] 用于图像去雾的全1*1卷积神经网络结构(FPCNet‑DH)如表2所示:
[0048] 表2 FPCNet‑DH网络结构
[0049]
[0050]
[0051] 2.2数据集的合成
[0052] 基于深度学习的方法通常需要大量带标注的数据集,从而驱动网络进行训练,优化得到网络权重。数据集的获取方式包括直接采集和标注真实场景图像,或者根据物理模型合成得到所需的图像。下面针对上述两个应用分别予以说明。
[0053] 针对颜色恒常问题,在有颜色光源的照明下,拍摄的图像可以由以下成像模型进行描述:
[0054] Ic=Jc×Ec,c∈{R,G,B}, (1)
[0055] 其中Jc是标准(通常是白色)照明下的反射率,Ec是色偏值。通常色偏值是一个全局常量。因此,颜色恒常性问题可以被表述为在给定输入图像Ic的情况下估计色偏值Ec,然后使用它来恢复反射率Jc。
[0056] 为了构建数据集,一种方法是针对不同的光照条件拍摄图像,场景中放置标准色卡(Color Set),从而可以准确的计算出拍摄的图像存在的色偏值,完成“图像‑色偏值”样本对的构建。另一种方法是针对给定清晰的无色偏图像,从RGB颜色空间中随机采样得到一种色偏值,并根据公式(1)合成色偏图像,从而构建“图像‑色偏值”样本对。
[0057] 针对图像去雾问题,在有雾气影响的条件下,拍摄的图像可以由以下成像模型进行描述:
[0058] Ic=Jct+Ac(1‑t),c∈{R,G,B}, (2)
[0059] 其中Jc是目标清晰图像,t是雾气的透射率,Ac是大气光。一般的,t是与场景深度相关的一个物理量:
[0060] t=e‑αd (3)
[0061] 其中,d是场景中某一位置的深度值,α是与雾气浓度相关的一个参数。
[0062] 在局部平滑假设(Local Smoothness Assumption)下,图像去雾问题可以被表述为,在给定输入雾天图像I的情况下,估计每个局部块处的透射率t,并且使用它来恢复清晰图像J。通常,大气光Ac是一个全局常量,因此我们可以将等式(2)改写为:
[0063] Ic‑Ac=(Jc‑Ac)×t. (4)
[0064] 为了构建数据集,一种方法是针对同一场景拍摄有雾和无雾图像。鉴于有雾和无雾场景会存在光照、场景中物体移动等变化,可以采用造雾机在较短的时间内人工生成雾气,从而保证光照、场景中的物体等条件保持不变。另一种更为常见的方式是针对给定清晰的无色偏图像和其对应的场景深度,根据公式(3)合成透射率,并根据公式(2)合成雾天图像,从而构建“图像‑透射率”样本对。
[0065] 2.3网络的训练
[0066] 基于上述全卷积神经网络,增加损失函数层,并基于和步骤1中构建的数据集,对网络进行训练。根据图像增强任务不同,可以分为分类任务和回归任务;分类任务可以采用柔性最大损失函数(Softmax Loss);回归任务可以采用均方误差函数(Mean Square Error);网络训练的优化方法可以采用小批量随机梯度下降法(Mini‑Batch Stochastic Gradient Descent)等方法对网络进行训练,学习权重参数。
[0067] 2.4网络参数的设置
[0068] 为了评估所提出的方法的有效性,本发明将其用于两个典型的图像增强应用,即图像色偏校正(又叫颜色恒常性,Color Constancy,CC)和图像去雾(Image Dehazing,DH)。图像色偏校正中网络训练的初始学习率为0.005,批大小为128,共计200000次迭代。学习率每40000次迭代减少一半。图像去雾中,初始学习率为0.005,批大小为128。学习率每100000次迭代减少一半。动量和权重衰减参数分别设为0.9和0.0005。所有的实验都在Nvidia Titan X GPU的工作站上基于Caffe进行实现。
[0069] 3潜在变量的后处理
[0070] 针对上述网络估计出来的潜在变量,需要进行相应的后处理,从而得到更加准确的估计结果。对于局部图像块和全局图像,采用不同的后处理方法。局部图像块情形:对于整幅图像中的所有局部图像块估计对应的潜在变量,然后对于由该潜在变量构成的整幅图层(Latent Variable Map),采用原始整幅图像或者其亮度通道(RGB颜色空间到HSV颜色空间转换后得到的V通道)作为引导图像,使用图像引导滤波器(Image Guided Filter)对上述估计出来的潜在变量图层进行滤波,从而得到具有局部平滑特性的估计结果。全局图像情形:针对全局图像任意位置处估计得到的多个潜在变量的估计值,采用均值滤波器或者中值滤波器进行处理,从而得到更加鲁棒、准确的估计结果。
[0071] 4基于潜在变量估计值和成像模型的图像增强
[0072] 根据上述降质条件下的成像模型(公式(1)和公式(2)),可以分别得到从降质图像和潜在变量估计清晰图像的数学表达式如下:
[0073]
[0074] 以及:
[0075]
[0076] 其中,t0是一个人工设定的较小的值,例如0.1,为了保证计算稳定性。大气光照Ac通常可以根据估计得到的透射率图,选择透射率较小的区域的均值作为大气光照的估计值。
[0077] 根据公式(5)和公式(6),基于降质图像和网络估计出来的潜在变量,可以计算得到增强后的图像结果。
[0078] 图2展示了本发明提出的网络结构用于图像色偏校正问题的例子。其中,(a)是降质图像,(b)是对(a)中的像素进行随机重排构建的网络输入,本发明提出的全1*1卷积神经网络估计的色偏值(e)和色偏校正结果(f)。(c)是将网络的第一个池化层响应图重新投影到上原始降质图像(a)上的结果,(d)是(c)中的像素根据响应强度作为权重的加权直方图(俯瞰视角图)。