![](/upload/img/20220207/cy6k3vqze.jpg)
1.本发明属于计算机视觉图像技术领域,尤其是一种基于非配对训练的错误曝光图像的亮度调节方法。
背景技术:
2.随着时代的发展和科技的进步,尤其是智能设备的普及,越来越多的人使用相机拍摄,并且拍摄图像被用于各种用途。在摄影中,过度曝光和曝光不足都是常见的错误,这会导致图像质量不佳。曝光错误的原因有很多,比如自动曝光时场景光的测量误差,手动调整时曝光的误差,以及光照条件不好等。上述由拍摄引起的问题,经过复杂的相机图像信号处理后,很难直接通过单一软件或操作进行纠正。错误曝光生成的图像对比度低,视觉效果差,还会影响后续应用。现有的方法主要集中在纠正曝光不足或一般图像质量增强,很少有方法能同时将曝光过度和曝光不足的图像恢复到曝光正确的图像。另外,不同场景和主观需求对正常亮度等级的定义不同,需要一个可以获取不同亮度级别的图像的方法。因此,如何同时修复过曝图像和欠曝图像,高效地对低质量图像进行可调节亮度增强,是计算机视觉领域的一个重要但又具挑战性的研究课题
3.图像增强技术(image enhancement)是指采用一系列技术去改善图像的视觉效果的方法。具体错误曝光图像的增强而言,是指针对错误曝光的图像存在的低亮度、低对比度和低信噪比等问题,进行亮度恢复,提升视觉效果。由于图像增强效果是偏主观的,不同需求下对于亮度等级的要求是不同的,因此实现对错误曝光的图像做到可调节亮度的调节更具有普适性。
4.传统的曝光校正和对比度增强方法大多利用直方图均衡化(histogramequalization)来提高图像质量,直方图均衡化是一种经典的数字图像处理方法,通过将图像的直方图分布近似成均匀分布,增强图像对比度,从而提升视觉效果,常见的方法有全局直方图均衡化、局部直方图均衡化、直方图规定化、动态直方图规定化和直方图分区方法等。也有研究采用调整亮度曲线去校正具有曝光错误的图像。此外许多工作采用了retinex理论,假设图像可以分解为反射和照明分量,预测照明图以恢复曝光良好的目标图像,例如通过在初始光照图上施加结构先验作为最终的光照映射的低照度增强技术(lime)。传统方法性能无法得到保证,处理情况有限,难以广泛应用。随着卷积神经网络的发展和算力的提升,越来越多的研究人员选择采用深度学习方法解决图像增强问题,例如学习从手机到 dslr相机的特征映射的图像增强技术(dped),基于retinex理论的卷积神经网络(retinexnet),基于非配对数据对的生成对抗网络(enlightengan),学习图像到曲线的映射从而调整图像亮度的无参考图像增强方法(zero-dce)。但这些方法大多仅限于纠正曝光不足的错误,在过曝图像处理中表现较差,无法实现使用单个模型同时校正曝光过度和曝光不足的图像,仅能学习一对一的映射,不能调整为多个亮度级别。
5.此外由于获取配对的低质量图像和正常光照图像比较困难,拍摄和挑选成本都很高,而手动调节得到的图像又与真实样本存在差异。基于成对的数据集进行训练也会导致
模型泛化能力差。因此,我们的发明旨在通过非配对训练解决不同亮度级别之间的转换问题。为了实现不同亮度等级图像间的映射,我们采用生成模型。生成模型从训练数据中捕获真实数据分布,然后使用学习到的模型和分布来生成新数据。常见的深度生成模型包括变分自动编码器(vae)和生成对抗网络(gan)。vae是基于变分贝叶斯(vb)推理的生成网络,vae的缺点是由于注入噪声和不完善的度量方法,生成的样本通常是模糊的。gan包括两个迭代训练的模型:生成样本的生成模型和区分自然样本和生成样本的判别模型。gan的缺点是模型在训练阶段很难收敛,并且生成的样本往往远离自然样本。许多方法已经被提出来优化gan以提高生成样本的质量。我们的发明结构上结合二者,将图像分为内容和亮度进行编码,并将亮度编码转换为高斯分布,从而实现将不同亮度级别对应的高斯分布采样为亮度编码,然后结合内容编码来重构图像。
技术实现要素:
6.本发明的目的在于克服现有技术的不足,基于对抗生成网络,提出一种设计合理的、无配对训练的错误曝光图像的亮度调节方法。
7.本发明解决其技术问题是采取以下技术方案实现的:
8.一种基于非配对训练的错误曝光图像的亮度调节方法,包括以下步骤:
9.步骤1:在图像输入阶段,将曝光错误的图像通过随机翻转等数据增强方式增加样本多样性,并将图像从像素值范围[0,255]归一化到[0,1];
[0010]
步骤2:将步骤1得到的曝光错误图像和亮度提供量输入编码网络解耦为内容编码和亮度编码,分别进行特征提取和转化,该阶段两个编码器通过卷积层、残差块、全局平均池化层、全连接层和重参数化等操作,输出曝光错误图像的内容编码和亮度提供量对应的亮度编码;
[0011]
步骤3:将步骤2得到的内容编码和亮度编码重新组合,通过上采样层、卷积层等操作,输出与亮度提供量对应的亮度等级相同的图像。
[0012]
步骤4:将步骤3得到的图像输入判别器和分类器,其中判别器用于判别图像是否真实,分类器判别当前图像的亮度等级是否为输入的亮度提供量对应的亮度等级,作为损失项用于优化网络;
[0013]
步骤5:调整步骤3得到的重组图像,使其像素值范围从[0,1]到[0,255],得到调节亮度后的图像。
[0014]
进一步,所述步骤2的将曝光错误图像和亮度提供量输入编码网络解耦的具体方法包括以下内容:
[0015]
(1)若处于测试阶段,则亮度提供量为亮度等级或亮度参考图像;若处于训练阶段,则亮度提供量为原始图片或随机选取的亮度等级;对于亮度提供量是图片类型,我们输入亮度编码器输出一个满足高斯分布样式的亮度编码,对于亮度提供量是亮度等级类型,我们将等级(一个数字)转化为一个高斯分布,得到亮度编码;
[0016]
(2)亮度编码器包含四个卷积层、一个全局平均池化层和两个全连接层。首先进行一次7
×
7卷积,将输出通道数从3通道改变到64通道,不改变特征图尺寸;然后通过三次4
×
4卷积进行上采样,尺寸降为原来的1/2、1/4、1/8,通道相应变为128、256和256;再采用全局平均池化将特征图变为256维的特征向量,分别通过两个全连接层得到亮度编码对应的100
维的均值与方差,最后结合重参数化技巧将亮度编码拟合为高斯分布作为输出;
[0017]
(3)内容编码器包含三个卷积层和四个残差块,进行下采样和特征提取。首先进行一次7
×
7卷积,将输出通道数从3通道改变到64通道,不改变特征图尺寸;然后通过两次4
×
4卷积进行上采样,尺寸降为原来的1/2和1/4,通道变为128和256;最后通过四个由3
×
3卷积构成的残差块,不改变特征图尺寸和通道数,最终输出作为内容编码;
[0018]
(4)针对将亮度编码拟合高斯分布,我们基于衡量两分布差异的相对熵(kl 散度)设计了分布一致性约束项,相对熵越小,两者分布越接近;计算亮度编码器生成的高斯分布样式的亮度编码与均值为对应等级和单位方差的高斯分布的相对熵;
[0019]
进一步,所述步骤(1)的具体细节包括以下内容:
[0020]
①
若亮度提供量为亮度参考图像,则输入亮度编码器进行特征提取,将得到的特征向量拟合为高斯分布,得到亮度编码;
[0021]
②
若亮度提供量为亮度等级,则将该值作为均值拟合一个高斯分布(单位方差),经过扩维和维度复制的操作,变为与经过亮度编码器编码产生的亮度编码具有相同尺寸的编码。
[0022]
进一步,所述步骤3的将亮度编码和内容编码重组的具体方法包括以下内容:
[0023]
(1)与编码器相对应,首先通过四个残差块处理内容编码,特征图尺寸和通道数不变(输入的宽和高的1/4,通道数256);然后通过两个上采样层,尺寸变为与原来的2倍、4倍,通道数变为128和64,即变为与输入相同的宽和高, 64通道;最后进行7
×
7卷积,生成重构的3通道图像,与输入图像相同尺寸和通道数;
[0024]
(2)残差块使用自适应实例归一化(adain)将内容图像特征的均值和方差与亮度图像的均值和方差对齐。adain的参数是由多层感知器(mlp)从亮度编码动态生成的:
[0025][0026]
其中c为内容编码,μ(c)和μ(c)分别代表内容图像特征的均值和标准差,γ和β对应亮度图像由mlp生成的参数。因此,内容图像首先被标准化,乘以亮度图像的标准偏差,然后加上其平均值。使原始内容特征图的标准差和均值与亮度特征图一致,实现亮度转换;
[0027]
(3)计算自一致性损失函数;
[0028]
进一步,所述步骤(3)的计算自一致性损失函数的具体方法包括以下内容:
[0029]
①
训练中,权利要求1所述步骤2中亮度提供量为原图时,将权利要求1所述步骤3得到的图像送入亮度编码器和内容编码器,得到重组图像的亮度编码和内容编码;
[0030]
②
计算重建图像一致性约束:
①
中的重建图像与权利要求1所述步骤3得到的重建图像应保持一致,分别计算其l1损失、ssim损失和感知损失;
[0031]
③
计算重建内容分量一致性约束:使用
①
中的内容编码与权利要求1所述步骤2得到的内容编码计算l1损失;
[0032]
④
计算重建亮度分量一致性约束:使用
①
中的亮度编码与权利要求1所述步骤2得到的亮度编码计算l1损失;
[0033]
进一步,所述步骤4的将得到的图像输入判别器和分类器的具体方法包括以下内容:
[0034]
(1)若处于测试阶段,则忽略该步骤;若处于训练阶段,则进行以下操作;
[0035]
(2)采用patchgan来确定生成图像是“真”还是“假”,结合了局部图像特征和全局图像特征;使用基础gan作为分类器c对图像的亮度进行分类,并确定当前生成图像的亮度级别(标签);首先是四个4
×
4卷积,提取特征,然后判别器和分类器分别通过不同尺寸的卷积层输出通道数分别为1和亮度等级类别数(本发明设定为7);
[0036]
(3)计算分类和判别损失:将步骤3与步骤1得到的图像送入判别器和分类器计算损失,其中判别器判定步骤1和步骤3的图像是否真实,分类器判定步骤1和步骤3的图像是否对应各自亮度等级标签。
[0037]
本发明的优点和积极效果是:
[0038]
1.本发明设计合理,符合实际需求,实现了基于非配对训练的多级曝光调整。本发明可以使用一个模型处理曝光不足和曝光过度的图像,并在不同亮度级别之间转换图像。
[0039]
2.由于本发明不需要成对的数据集,因此可以降低数据收集的成本并简化训练。而由于非配对训练,它又具有更好的泛化能力,适用于各种数据集和现实世界的图像。
[0040]
3.本发明提出的模型将图像解耦到内容空间和亮度空间分别编码来训练。将亮度编码拟合为高斯分布,每个亮度等级标签对应不同的高斯分布,从而实现不同亮度等级之间的转换。我们利用图像特征的自正则化来设计一致性损失,优化未配对的训练。
附图说明
[0041]
图1是本发明的整体网络架构,其中虚线代表亮度提供量可以为图像或者一个高斯分布;
[0042]
图2是本发明的图像解耦重组模块的具体结构图。
具体实施方式
[0043]
以下结合附图对本发明实施例做进一步详述。
[0044]
一种基于非配对训练的错误曝光图像的亮度调节方法,如图1至图2所示,包括以下步骤:
[0045]
步骤s1:在图像输入阶段,将曝光错误的图像通过随机翻转等数据增强方式增加样本多样性,并将图像从像素值范围[0,255]归一化到[0,1];
[0046]
步骤s2:将步骤s1得到的曝光错误图像和亮度提供量输入编码网络解耦为内容编码和亮度编码,分别进行特征提取和转化,该阶段两个编码器通过卷积层、残差块、全局平均池化层、全连接层和重参数化等操作,输出曝光错误图像的内容编码和亮度提供量对应的亮度编码;
[0047]
步骤s3:将步骤s2得到的内容编码和亮度编码重新组合,通过上采样层、卷积层等操作,输出与亮度提供量对应的亮度等级相同的图像。
[0048]
步骤s4:将步骤s3得到的图像输入判别器和分类器,其中判别器用于判别图像是否真实,分类器判别当前图像的亮度等级是否为输入的亮度提供量对应的亮度等级,作为损失项用于优化网络;
[0049]
步骤s5:调整步骤s3得到的重组图像,使其像素值范围从[0,1]到[0,255],得到调节亮度后的图像。
[0050]
步骤s2的具体实现方法如下:
[0051]
步骤s2.1:若处于测试阶段,则亮度提供量为亮度等级或亮度参考图像;若处于训练阶段,则亮度提供量为原始图片或随机选取的亮度等级;对于亮度提供量是图片类型,我们输入亮度编码器输出一个满足高斯分布样式的亮度编码,对于亮度提供量是亮度等级类型,我们将等级(一个数字)转化为一个高斯分布,得到亮度编码;
[0052]
步骤s2.2:亮度编码器包含四个卷积层、一个全局平均池化层和两个全连接层。首先进行一次7
×
7卷积,将输出通道数从3通道改变到64通道,不改变特征图尺寸;然后通过三次4
×
4卷积进行上采样,尺寸降为原来的1/2、1/4、1/8,通道相应变为128、256和256;再采用全局平均池化将特征图变为256维的特征向量,分别通过两个全连接层得到亮度编码对应的100维的均值与方差,最后结合重参数化技巧将亮度编码拟合为高斯分布作为输出;
[0053]
步骤s2.3:内容编码器包含三个卷积层和四个残差块,进行下采样和特征提取。首先进行一次7
×
7卷积,将输出通道数从3通道改变到64通道,不改变特征图尺寸;然后通过两次4
×
4卷积进行上采样,尺寸降为原来的1/2和1/4,通道变为128和256;最后通过四个由3
×
3卷积构成的残差块,不改变特征图尺寸和通道数,最终输出作为内容编码;
[0054]
步骤s2.4:针对将亮度编码拟合高斯分布,我们基于衡量两分布差异的相对熵(kl散度)设计了分布一致性约束项,相对熵越小,两者分布越接近;计算亮度编码器生成的高斯分布样式的亮度编码与均值为对应等级和单位方差的高斯分布的相对熵;
[0055]
步骤s2.1的具体实现方法如下:
[0056]
步骤s2.1.1:若亮度提供量为亮度参考图像,则输入亮度编码器进行特征提取,将得到的特征向量拟合为高斯分布,得到亮度编码;
[0057]
步骤s2.1.2:若亮度提供量为亮度等级,则将该值作为均值拟合一个高斯分布(单位方差),经过扩维和维度复制的操作,变为与经过亮度编码器编码产生的亮度编码具有相同尺寸的编码。
[0058]
步骤s3的具体实现方法如下:
[0059]
步骤s3.1:与编码器相对应,首先通过四个残差块处理内容编码,特征图尺寸和通道数不变(输入的宽和高的1/4,通道数256);然后通过两个上采样层,尺寸变为与原来的2倍、4倍,通道数变为128和64,即变为与输入相同的宽和高,64通道;最后进行7
×
7卷积,生成重构的3通道图像,与输入图像相同尺寸和通道数;
[0060]
步骤s3.2:残差块使用自适应实例归一化(adain)将内容图像特征的均值和方差与亮度图像的均值和方差对齐。adain的参数是由多层感知器(mlp)从亮度编码动态生成的:
[0061][0062]
其中c为内容编码,μ(c)和σ(c)分别代表内容图像特征的均值和标准差,γ和β对应的亮度图像是mlp生成的参数。因此,内容图像首先被标准化,乘以亮度图像的标准偏差,然后加上其平均值。使原始内容特征图的标准差和均值与亮度特征图一致,实现亮度转换;
[0063]
步骤s3.3:计算自一致性损失函数;
[0064]
步骤s3.3的具体实现方法如下:
[0065]
步骤s3.3.1:训练中,权利要求1所述步骤2中亮度提供量为原图时,将权利要求1所述步骤3得到的图像送入亮度编码器和内容编码器,得到重组图像的亮度编码和内容编
码;
[0066]
步骤s3.3.2:计算重建图像一致性约束:步骤s3.3.1中的重建图像与权利要求1所述步骤3得到的重建图像应保持一致,分别计算其l1损失、ssim损失和感知损失;
[0067]
步骤s3.3.3:计算重建内容分量一致性约束:使用步骤s3.3.1中的内容编码与步骤s2得到的内容编码计算l1损失;
[0068]
步骤s3.3.4:计算重建内容分量一致性约束:使用步骤s3.3.1中的亮度编码与步骤s2得到的亮度编码计算l1损失;
[0069]
步骤s4的具体实现方法如下:
[0070]
步骤s4.1:若处于测试阶段,则忽略该步骤;若处于训练阶段,则进行以下操作;
[0071]
步骤s4.2:采用patchgan来确定生成图像是“真”还是“假”,结合了局部图像特征和全局图像特征;使用基础gan作为分类器c对图像的亮度进行分类,并确定当前生成图像的亮度级别(标签);首先是四个4
×
4卷积,提取特征,然后判别器和分类器分别通过不同尺寸的卷积层输出通道数分别为1和亮度等级类别数(本发明设定为7);
[0072]
步骤s4.3:计算分类和判别损失:将步骤3与步骤1得到的图像送入判别器和分类器计算损失,其中判别器判定步骤1和步骤3的图像是否真实,分类器判定步骤1和步骤3的图像是否对应各自标签。
[0073]
通过以上步骤即可得到低照度增强后的图像。
[0074]
最后,我们通过最小化重建图像一致性约束、内容分量一致性约束、内容分量一致性约束损失和对抗生成网络的对应损失为目标训练网络,使用psnr(peaksignal to noise ratio,峰值信噪比)和ssim(structural similarity index,结构相似性)评价网络性能。
[0075]
测试环境:python 3.6;pytorch深度学习框架;ubuntu16.04系统;nvidiagtx 2080ti gpu。
[0076]
测试序列:
[0077]
(1)所选数据集是从重组的afifi m et al.数据集中随机选取100个图像序列,每个序列有5张图像,具有相同亮度的图像组成一个子集,共得到7组不同亮度等级的数据集,每组100张图像;
[0078]
(2)所选数据集是从重组的sice part2数据集中对每个图像序列选择中间七个图像,具有相同亮度的图像组成一个子集,共得到7组不同亮度等级的数据集,每组209张图像。
[0079]
测试方法:通过训练得到图像增强模型,使用上述数据集进行测试,计算评价指标数据。
[0080]
测试指标:本发明使用psnr、ssim等指标进行评测。对当今流行的不同算法计算这些指标数据然后进行结果对比,证明本发明在图像增强领域能够得到较好的结果。
[0081]
测试结果:
[0082]
表1.本发明与其他算法在afifi m et al.数据集下的性能比较(psnr/ssim)
[0083][0084]
表2.本发明与其他算法在sice数据集下的性能比较(psnr/ssim)
[0085][0086]
通过以上对比数据可以看出,在错误曝光图像的图像增强方面,本发明优于其他所有方法,不仅实现了对曝光不足的图像的增强,而且在曝光过度下也表现优于其他方法,不同曝光级别间的转化也说明本发明实现了图像亮度间的转化。
[0087]
本发明未述及之处适用于现有技术。
[0088]
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。