深度学习彩色化算法对曝光偏差图像着色研究
2019-06-10马骋孙国强
马骋 孙国强
0 引言
灰度图像自动彩色化研究始于1970年,Markle[1]提出利用计算机辅助技术对阿波罗登月计划获取的月球影像实现彩色化。其方法是让每个灰度级匹配到彩色空间上的一点,将单色图像映射为一幅彩色图像,目的是为了便于观察,突出细节。20世纪80年代,利用彩色化技术对传统黑白照片和影片进行着色在图像处理及电影电视产业领域出现。彩色化技术最初利用人工对图像和影片中的各个像素进行颜色定标和着色,这种方法效率低下。随着数字技术和计算机技术的迅速发展,图像自动彩色化技术取得了长足进步[2-7]。
应用神经网络后,自动彩色化算法可以擺脱人为操作,实现真正意义上的自动彩色化。目前应用于彩色化算法的网络模型多为卷积神经网络(CNN),并且使用训练分类算法的图像数据作为训练数据进行训练。Satoshi Iizuka等[8]使用了两个网络结构,分别针对全局特征和局部特征,使用的损失函数为一种回归损失。Gustav Larsson等[9]将超列用于VGG网络,并且使用未再平衡的分类损失。Richard Zhang等[10]使用增加了深度和扩张卷积的VGG网络,以及再平衡稀有类的分类损失。使用深度神经网络可实现自动彩色化并且获得较好效果,是目前最适合自动彩色化算法的方式之一。Richard Zhang等[11]将基于神经网络的自动彩色化算法与交互式彩色化算法结合,只需指定几个点的颜色,使人为操作部分更加简化,然后使用基于神经网络的彩色化算法完成彩色化过程,较之以往的彩色化算法效果更好。
对于训练集中没有的图像类型着色效果不佳,是目前基于神经网络的彩色化算法普遍存在的问题,其中有一种情况是,需彩色化的图像存在曝光不足或者曝光过度等偏差时,彩色化效果与常规图像相比存在较大偏差。偏差具体表现为:①对物体着色不准确,尤其在欠曝光情况下,对多数图像中的物体均存在着色错误现象;②对物体边界判定不准确,这个问题在正常曝光时同样存在,但在过曝光和欠曝光情况下对一个物体着色时,颜色溢出到相邻物体上的现象更为严重。
本文针对基于深度学习的彩色化算法在过曝光和欠曝光时着色效果不佳的缺陷,提出利用直方图均衡化预处理,均衡输入灰度图像灰度级直方图,以优化彩色化效果。该方法在灰度图像彩色化之前,将灰度图像进行直方图均衡化,均衡灰度图像的灰度级,使灰度图像的亮度分布更加接近正常曝光图像,使基于神经网络的彩色化算法达到正常效果。
1 算法模型
1.1 预处理彩色化算法
深度学习彩色化算法对不在数据集中的图像类型着色会存在偏差,而现有数据集中均不包含过曝光和欠曝光的图像数据,所以必然会对过曝光和欠曝光图像着色出现偏差。为了让彩色化算法发挥正常效果,需要矫正过曝光和欠曝光图像的曝光偏差。采用人工矫正曝光偏差虽然可以得到更好的效果,但在自动彩色化图像时需耗费大量人力,明显不切实际,所以需要利用一种可以自动矫正曝光偏差的方法完成预处理任务。
由于彩色化任务对曝光的要求是准确以及在明暗区域均有可以分辨的细节信息,所以最佳的曝光矫正方法为直方图均衡化[12-19]。经过直方图均衡化后会增强图像对比度,对于过曝光和欠曝光图像来说,便是将图像曝光值矫正到正常曝光水平。因此,将直方图均衡化作为彩色化算法的预处理步骤,优化过曝光和欠曝光图像带来的偏差是可行的。
本文模型采用文献[15]的直方图均衡化方法,将输入图像进行直方图均衡化作为文献[10]彩色化方法预处理,实现对过曝光和欠曝光图像的彩色化。该方法流程如图1所示,可描述为:①将需要彩色化的图像输入模型;②判断该图像是否为灰度图像。如果是灰度图像,则直接将图像作为算法的输入,如果是彩色图像,则将图像转化到Lab空间,将L空间提取出来作为算法的输入,并将该输入图像存储为输出图像的L通道;③将算法的输入图像进行直方图均衡化以修正曝光偏差;④将修正后的灰度图像进行彩色化处理,得到输出图像的ab通道;⑤将输出图像的L通道与ab通道合成,得到输出的彩色图像。
1.2 直方图均衡化预处理
直方图均衡化的输入图像为灰度图像或彩色图像的L通道,其本质都是单通道的灰度图像。对灰度图像进行直方图均衡化,本质上是将每一个像素的灰度值做映射,使整体的灰度值分布更加均衡。
对于输入的灰度图像[X∈RH×W×1] ,任意位置[(x,y)] [(0xH,0yW)]对应的L通道灰度值大小为[g(x,y)][(0g(x,y)M)],其中M为总灰度级数。不同灰度级出现的概率[pi(0iM)]可表示为:
其中[δ(t)=1,t=00,t≠0]。
直方图均衡化是对每一个像素点的灰度值做映射而改变灰度值分布,所以灰度值范围在映射前后并没有变化。假设直方图均衡化灰度级变换为:
利用几何加权平均法对该直方图均衡化模型建立一种改进的最优化模型:
该模型中[i=0M-1spii]反映了图像对比度,其值越大对比度越明显。[i=0M-1sqii]反映了图像的先验信息,越大则利用的先验信息越丰富。结合文献[14],当[i=0M-1qi=1]时,该模型的最优解表达式为:
输入图像[X∈RH×W×1]经过直方图均衡化[f(X)]后得到[X∈RH×W×1],[X]即为深度学习彩色化算法的输入。
1.3 深度学习彩色化算法
深度学习彩色化算法可使用的神经网络结构有很多,应用比较普遍的有AlexNet、VGG等,本文使用文献[10]的深度学习模型结构如图2所示。其输入是一个只有[X∈RH×W×1]的灰度图像,输出是通过函数[Y=F(X)]得到的ab两个彩色通道[Y∈RH×W×2],其中H、W是图像的尺寸,[Y]是预测值,[Y]是真实参考值。网络结构中,每一个方框代表着2-3个重复的卷积层和ReLU层,为了方便统一以conv标识。