基于场景自适应和自蒸馏的低光场景图像增强方法及系统

未命名 10-21 阅读:55 评论:0


1.本发明涉及图像增强技术领域,特别是涉及基于场景自适应和自蒸馏的低光场景图像增强方法及系统。


背景技术:

2.本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
3.近年来,随着计算机视觉技术的蓬勃发展和对机器学习研究的深入,人们对图像的要求越来越高,受到环境和设备的影响,人们经常获取到一些低光图像,不仅影响人们的视觉感受,更会大幅降低计算机视觉系统的可靠性。因此,低光图像增强对提高图像视觉质量和计算机视觉系统在极端光照条件下的性能至关重要。
4.由于一些环境因素和硬件的限制,许多照片通常是在低光照条件下拍摄的。主要因素包括1.光线不足:低光图像通常是在光线较暗或光照条件不足的环境下拍摄的。这可能是由于夜晚、室内光线不足、阴天等因素导致的。2.高动态范围场景:某些场景中,存在较大的亮度差异,即高动态范围场景。例如,夜景摄影中的明亮灯光和暗处细节,或者逆光情况下的背光和前景。3.快门速度限制:在低光条件下,为了捕捉足够的光线并避免模糊,摄影师可能需要使用较长的快门速度。然而,长时间曝光容易导致图像模糊或摄像中的运动模糊。4.相机传感器限制:相机传感器的灵敏度和噪声控制能力也会影响低光图像的质量。一些相机传感器可能在低光条件下产生较多的噪声,影响图像的清晰度和细节。
5.低光图像的影响主要在低光条件下,图像的亮度较低,对比度较差,细节丢失。这使得图像中的细节难以辨认,影响观察者对场景或对象的理解和识别能力;低光图像中往往存在较多的噪声和颗粒,噪声和颗粒会影响图像的清晰度和平滑度,使图像看起来粗糙和不清晰;在高动态范围场景中,低光条件下的图像可能无法捕捉到场景中的细节和亮度差异。这导致图像在亮部和暗部细节上的表现不足,无法真实再现真实场景的动态范围等。
6.目前低光图像增强技术仍面临一些挑战和问题:1.在低光图像增强过程中,增加图像亮度的同时也可能增加噪声和失真。保持良好的噪声控制和细节保留是一个挑战;2.低光图像增强的效果往往涉及到对图像质量和视觉感知的主观评估。不同人对于图像质量和观感有不同的偏好,因此如何平衡增强效果和用户体验是一个问题;3.在某些场景下,如无人驾驶和实时监控,低光图像增强需要实时处理。如何在保持高质量增强的同时满足实时性要求是一个挑战。4.低光图像增强需要应对不同的光照条件,包括不同的亮度级别、色温和光源类型。如何适应不同的光照条件并进行有效的增强是一个难题。


技术实现要素:

7.为了解决现有技术的不足,本发明提供了基于场景自适应和自蒸馏的低光场景图像增强方法及系统;在一个未知的低光照环境下,此方法可以快速将其进行环境分类,并根据分类后的结果进行亮度增强,最后达到低光照环境下的图像亮度增强的效果。其中本方法使用到了残差网络和自蒸馏系统,可以加快模型的推理速度,提升系统的增强效果,减轻
系统的体量,使其能够更好地部署到嵌入式设备上,实现实时低光照环境增强。
8.一方面,提供了基于场景自适应和自蒸馏的低光场景图像增强方法;
9.基于场景自适应和自蒸馏的低光场景图像增强方法,包括:
10.获取待增强的低光场景图像;
11.将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;
12.将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。
13.另一方面,提供了基于场景自适应和自蒸馏的低光场景图像增强系统;
14.基于场景自适应和自蒸馏的低光场景图像增强系统,包括:
15.获取模块,其被配置为:获取待增强的低光场景图像;
16.场景分类模块,其被配置为:将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;
17.图像增强模块,其被配置为:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。
18.再一方面,还提供了一种电子设备,包括:
19.存储器,用于非暂时性存储计算机可读指令;以及
20.处理器,用于运行所述计算机可读指令,
21.其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
22.再一方面,还提供了一种存储介质,非暂时性地存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
23.再一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
24.上述技术方案中的一个技术方案具有如下优点或有益效果:
25.从速度方面来看,使用轻量级的resnet-18,以及亮度增强网络,能够做到推理速度很快,可以满足工程的落地和嵌入式的部署的要求;
26.场景应用上看,本发明首先使用resnet-18残差网络将输入图片进行第一步场景分类,使其在场景更接近的训练集训练下的网络进行推理,从而提高不同场景下亮度增强效果。
27.本发明对此亮度增强曲线使用了针对不同场景的自蒸馏方法,使其训练结果更好,从而实现提高效果。
附图说明
28.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
29.图1为实施例一的方法流程图;
30.图2为实施例一的图像亮度增强网络结构图;
31.图3为实施例一的隐藏层激活函数图;
32.图4为实施例一的自蒸馏系统的结构图;
33.图5为实施例一的标度准则示意图;
34.图6为实施例一的权重计算结果示意图;
35.图7为实施例一的本发明的总体流程图。
具体实施方式
36.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
37.术语解释:
38.1.跳跃连接:
39.跳跃连接(skip connection),也称为残差连接(residual connection),是一种在深度神经网络中引入短路连接的技术。跳跃连接通过在网络中引入直接连接,将输入信息直接传递到网络的较深层级,从而跳过一部分层级的非线性变换。具体而言,跳跃连接将输入和输出直接相加,使得网络在学习残差的同时,也能学习输入数据的变换。这样可以使得梯度在反向传播过程中更容易地流过网络,减轻了梯度消失的问题。跳跃连接可以帮助网络更好地捕捉到底层特征和高层语义之间的联系,从而提高了模型的性能和泛化能力。
40.2.浅层特征复用:
41.浅层特征复用(shallow feature reuse)是一种在深度神经网络中利用较早层次的特征进行辅助训练或预测的技术。通过辅助分类器或特征重用,它可以充分利用底层特征的具体性和局部性,以提高模型的性能和泛化能力,并改善对复杂数据的理解和处理能力。
42.3.批标准化:
43.批标准化(batch normalization)是一种在深度神经网络中用于加速训练和提高模型性能的技术。它通过对神经网络的中间层进行归一化操作,将输入数据规范化到均值为0、方差为1的标准正态分布,以解决内部协变量偏移问题。内部协变量偏移是指在深度神经网络的训练过程中,由于每一层的参数的更新,每一层输入的分布也会随之改变。这导致每一层的输入分布在训练过程中发生偏移,增加了网络的训练难度。内部协变量偏移问题的存在会导致网络需要更小的学习率以及更长的训练时间。批标准化通过对每个神经网络层的输入进行规范化,使得每个批次的输入数据具有相似的分布。
44.4.onnx模型:onnx(open neural network exchange)是一种开放的深度学习模型交换格式,它旨在使不同的深度学习框架之间可以无缝地共享和使用模型。onnx模型是用于描述深度学习模型的一种格式,可以包含模型的结构和参数。这些模型可以使用各种深度学习框架进行训练,然后导出为onnx格式。导出后,onnx模型可以在其他支持onnx的深度学习框架中加载和执行,而无需重新训练模型或进行重大修改。总结来说,onnx模型是一种中立的深度学习模型表示格式,可以在不同的深度学习框架之间进行转换和共享。它提供了跨平台和跨框架的模型部署能力,并支持模型优化和推理加速。
45.实施例一
46.本实施例提供了基于场景自适应和自蒸馏的低光场景图像增强方法;
47.基于场景自适应和自蒸馏的低光场景图像增强方法,包括:
48.s101:获取待增强的低光场景图像;
49.s102:将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;
50.s103:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。
51.进一步地,所述训练后的场景分类模型,训练过程包括:
52.构建第一训练集,所述第一训练集,包括:已知场景分类标签的低光场景图像;所述场景分类标签包括:夜晚室外无光、夜晚室外微光、无灯光室内和弱灯光室内;
53.将第一训练集输入到场景分类模型中,对模型进行训练,得到训练后的场景分类模型。
54.应理解地,为了能够更好地提升图像增强效果并且提高推理速度,此方法采用了resnet18残差网络将输入的图片分为如下情景:(1)夜晚室外无光、(2)夜晚室外微光、(3)无灯光室内、(4)弱灯光室内。收集这四种情景的图片将其批量打上相应标签制作成训练集。
55.为了提高模型的训练速度和性能,减少过拟合风险,更好地学习和收敛,此方法对数据集进行了预处理,处理方法如下:将所得的所有数据集进行标准化与归一化,使其可以通过线性缩放将特征映射到所需范围,再设置其大小,使其符合运算的shape。
56.首先对于1.夜晚室外无光2.夜晚室外微光3.无灯光室内4.弱灯光室内这四个场景用相机或者摄像头进行拍照取样,需要注意的是对于室外照片的收集时,室外的场景应保持大致相似,比如街道或者楼房,无光和微光的图片亮度区别应有区别度。
57.其次对拍摄的图片进行预处理。如果不进行预处理则会产生如训练不稳定,特征值范围小,梯度更新不平衡,梯度爆炸,梯度消失,模型不收敛,性能降低等问题,于是需要进行预处理,详细步骤为:(1)使用opencv库进行图片的读取(2)对读入的图片使用resize函数将图片大小设置为3*224*224,以便于输入残差网络resnet-18。(3)进行归一化,将图像的像素值缩放到[0,1],有助于提高模型的训练稳定性和收敛速度。(4)对四个场景的图片分别打上相应的标签。
[0058]
进一步地,所述训练后的场景分类模型,采用resnet-18来实现。
[0059]
应理解地,为了将输入的低光照图片进行分类,此方法使用的是resnet-18残差网络,resnet-18是较为浅层的模型,由于层数较少,具有较少的参数量和计算复杂度。通过引入跳跃连接,resnet-18使得信息在网络中能够更直接地传递,有助于梯度的有效传播,进而加快模型的训练速度。提取多尺度特征,通过堆叠多个残差块,resnet-18能够逐渐提取不同尺度的特征,使得网络具备更好的感受野和抽象能力。此处使用resnet-18而非使用resnet-50残差网络是因为在此场景中数据较为简单,resnet-18足够完成任务,并且由于resnet-18模型比较浅,参数较少,不易过拟合且训练速度快,并且此应用于工业落地,需要更快更小的模型,故选择resnet-18网络。
[0060]
resnet-18由18个层组成,包括卷积层、批量归一化层、激活函数和池化层。它的核心组件是残差块(residual block),每个残差块内部有两个卷积层,用于提取特征。此外,resnet-18还包括一个全局平均池化层和一个全连接层,用于最后的分类。残差块通过在网络中添加一个跳跃连接来绕过部分层的操作。跳跃连接直接将输入信号添加到输出中,形成了残差,即网络输出与输入之间的差异。这样,网络可以学习到残差的变化,而不是完全
替代前一层的特征表示。残差块通常由两个卷积层组成,在两个卷积层之间添加批量归一化层和激活函数,以提取特征。跳跃连接可以通过添加恒等映射(identity mapping)或使用额外的卷积层来调整维度。通过残差块的堆叠,深层网络可以更容易地训练,并且具有更好的性能。
[0061]
resnet-18是一种经典的深度卷积神经网络架构,resnet-18在视觉任务中广泛应用,特别是在图像分类、目标检测和语义分割等领域。resnet-18的主要特点是引入了残差连接,通过跳跃连接来解决深度神经网络中的梯度消失和梯度爆炸问题。这种残差连接使得网络能够更轻松地学习恒等映射,从而允许更深的网络层次。残差块由两个卷积层和一个跳跃连接组成,分为六个部分,按顺序分别为(1)输入:残差块的输入是先前层的输出(或者是前一个残差块的输出)。(2)卷积层:残差块的第一个卷积层负责进行特征提取,使用3x3的卷积核来学习特征。卷积操作可以改变特征图的深度和空间维度。(3)批量归一化:在卷积层之后,通常会应用批量归一化操作,对卷积层的输出进行标准化,有助于加速训练和提高模型的鲁棒性。(4)relu:对归一化后的特征图应用relu激活函数,增加网络的非线性表达能力。(5)第二个卷积层:在经过relu激活函数之后,残差块的第二个卷积层进一步提取特征,使用3x3的卷积核。(6)跳跃连接(恒等映射):跳跃连接是残差块的关键组件。它通过将输入直接添加到卷积层的输出上,实现了跨层的信息传递。如果输入和输出的维度匹配,跳跃连接采用恒等映射,即直接将输入添加到输出上。如果输入和输出的维度不匹配,跳跃连接使用额外的1x1卷积层来调整维度,确保可以相加。
[0062]
输入层设置输入图片的shape是3*224*224,3代表3个颜色通道(r,g,b),224*224代表图片大小。在输入层之后是一个卷积层,使用7*7的卷积核进行滑动窗口操作,对图像进行特征提取,提取图像中的局部特征,设置步幅为2,减少特征图的尺寸。在卷积层之后是一个池化层,使用3*3的最大池化操作,选择每个池化窗口中的最大值作为输出,步幅为2,以减少特征图的尺寸。之后由4个残差块组成,第一个残差快由两个3*3,步幅为1,填充为1的卷积层组成。第二个残差块输入为64*56*56,其中由两个卷积层构成,为了降低输入尺寸,减少数据量,其中第一个卷积层的步幅为2,最后输出为128*28*28.后两个残差快和第二个相同,卷积层步幅为1,每个卷积层之后都有批归一化和relu激活函数。在最后一个残差块之后,resnet-18使用全局平均池化层,对特征图进行降维,将其转换为固定大小的向量,通过计算每个特征图通道的平均值,将特征图的空间维度降为一维。在全局平均池化层之后是一个输出层。输出层的大小设定为3*512*512,分类效果较好且利于亮度增强算法的输入。
[0063]
进一步地,所述s103:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像,包括:
[0064]
将夜晚室外无光的待增强低光场景图像,输入到夜晚室外无光的亮度增强网络,输出增强后的图像;
[0065]
将夜晚室外微光的待增强低光场景图像,输入到夜晚室外微光的亮度增强网络,输出增强后的图像;
[0066]
将无灯光室内的待增强低光场景图像,输入到无灯光室内的亮度增强网络,输出增强后的图像;
[0067]
将弱灯光室内的待增强低光场景图像,输入到弱灯光室内的亮度增强网络,输出
增强后的图像。
[0068]
进一步地,所述s103:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其网络结构包括:
[0069]
依次连接的第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块、第六卷积模块和第七卷积模块;
[0070]
所述第一卷积模块的输出端与第六卷积模块的输入端进行残差连接;
[0071]
所述第二卷积模块的输出端与第五卷积模块的输入端进行残差连接;
[0072]
所述第三卷积模块的输出端与第四卷积模块的输入端进行残差连接。
[0073]
进一步地,所述第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块、第六卷积模块的内部结构是一样的,所述第一卷积模块,包括依次连接的卷积层和激活函数层relu。
[0074]
进一步地,所述第七卷积模块,包括:依次连接的卷积层和激活函数层tanh。
[0075]
如图2所示,拟合曲线的神经网络整体架构一共由七个卷积层构成,它一共有7层(6个隐藏层,1个输出层)。所有层都是卷积核为32个,大小为3x3的等长(stride=1)卷积层。为保持相邻像素间的联系,卷积层后不使用batch normalization。隐藏层激活函数为relu,如图3,由于输出落在[-1,1],输出层的激活函数是tanh。conv-relu重复6次加上conv-tanh,是对称级联的,即第1/2/3层输出和第6/5/4层输出进行通道级联。如图2所示,6个隐藏层使用了和u-net类似的对称跳连,用于浅层特征复用。3、4层的输出会拼接到一起再送入第5层,2、5层输出拼接送入第6层,1、6层输出拼接送入第7层。经过输出层后,每个像素有24个通道——有rgb 3个颜色通道,每个通道有8个参数。输出是r,g,b三个通道进行迭代后的a值。
[0076]
进一步地,所述s103:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其公式表达为:
[0077]
tn(g(x);γ)=g
n-1
(x)(i)(1+γn)-γ
ngn-1
(x)(i)[0078]
其中,x是像素的坐标,g(x)是亮度值,γ是学习参数取值范围为(-1,1),为保证效果防止过拟合以及满足单调递增,这里i取值为2,tn(g(x);γ)表示增强后的图像,g
n-1
(x)(i)表示n-1次迭代后的亮度值,γn表示n次迭代后的学习参数。
[0079]
应理解地,拟合亮度曲线过程中需要满足以下三点:1.设置亮度值落在区间[0,1]内,并且曲线在0处取值为0,在1处取值为1,旨在保证亮度值的值域是不变的。2.曲线要满足单调递增。若不满足单调递增,则图像中亮的区域会变暗。3.保证处处可微。
[0080]
此方法使用了如下的亮度曲线公式:
[0081]
t(g(x);γ)=g(x)(i)(1+γ)-γg(x)(i)[0082]
其中,x是像素的坐标,g(x)是亮度值,γ是学习参数取值范围为(-1,1),为保证效果防止过拟合以及满足单调递增,这里i取值为2。
[0083]
为了将其复杂化,此方法将此函数进行了迭代嵌套,并通过其效果曲线判定其迭代次数:
[0084]
tn(g(x);γ)=g
n-1
(x)(i)(1+γn)-γ
ngn-1
(x)(i)。
[0085]
进一步地,所述方法还包括:在亮度增强网络训练的过程中使用总损失函数来对迭代次数进行限制,当总损失函数值达到最小值时,停止迭代,得到训练后的亮度增强网
络;其中,总损失函数,具体表达式为:
[0086][0087]
其中,lc为颜色恒定误差,le为曝光控制误差,ls为空间一致误差,l
t
为光照平滑误差,w为各个误差约束的权重。
[0088]
其中,颜色恒定误差:
[0089][0090]
其中,(i,j)遍历了这三个颜色通道的所有两两组合,图像的某一颜色通道的数值不应该显著高于其他两个通道,pi表示颜色通道i的亮度平均值。
[0091]
其中,曝光控制误差:
[0092][0093]
其中,常数是亮度的中间值,根据效果测试这里取0.55。z是一个大像素区域中亮度的平均值。n是大像素的总个数.此误差旨在控制亮暗程度,不让某些地方过亮或者过暗,使极端亮度更少,即使每个像素的亮度更加靠近中间值。
[0094]
其中,空间一致误差:
[0095][0096]
其中m是大像素数量,i是对像素的遍历次数。ω(i)是第i个像素的四邻域,e是增强图像池化后的图像,i是输入图像池化后的图像;空间一致误差旨在防止某像素值和其相邻的像素值的差发生过大的改变;
[0097]
其中,光照平滑误差:
[0098][0099]
其中,n是迭代的次数,是水平梯度算子,是垂直梯度算子。光照平滑误差旨在让相邻像素之间的亮度改变不是很显著,使其较为平滑一些。
[0100]
进一步地,所述s103:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其训练过程包括:
[0101]
s103-1:构建四种场景类别的教师网络和学生网络;所述教师网络和学生网络的内部结构与亮度增强网络一致;同一个场景类别下,教师网络与学生网络之间存在一一对应关系;
[0102]
s103-2:构建第二训练集,所述第二训练集包括已知增强图像的低光场景图像;
[0103]
s103-3:将第二训练集,输入到第一场景类别的教师网络中,对第一场景类别的教师网络进行训练,得到训练后的第一场景类别教师网络;
[0104]
s103-4:将第二训练集,输入到第一场景类别的学生网络中,对第一场景类别的学
生网络进行训练;
[0105]
s103-5:第一场景类别教师网络将训练好的参数γ
t
与第一场景类别学生网络第一次迭代训练结果γs_1求交叉熵,将交叉熵作为影响因子并赋予设定权值得到蒸馏学习后的第一代结果γ
*
1;
[0106]
s103-6:将第一代结果γ
*
1当作下一代的教师网络参数γ
t
,与学生网络下一次迭代训练结果γs_2求交叉熵并得到第二代蒸馏结果γ
*
2;
[0107]
s103-7:以此类推,直到第n代交叉熵损失低于设定值时结束,最后将每一代的蒸馏结果γ
*
i求和取平均得到第一场景类别的学生网络最终需求的参数γ;
[0108]
s103-8:将训练后的最终的参数γ应用于亮度增强网络,作为第一场景类别的亮度增强网络;
[0109]
s103-9:同理,获得四种场景类别的亮度增强网络。
[0110]
进一步地,所述s103-3:将第二训练集,输入到第一场景类别的教师网络中,对第一场景类别的教师网络进行训练,得到训练后的第一场景类别教师网络;其中,第一场景类别教师网络,采用层次分析法计算曝光控制误差、颜色恒定误差、光照平滑误差和空间一致误差四个约束条件的权重,包括曝光控制误差,颜色恒定误差,光照平滑误差,空间一致误差。
[0111]
如图6所示,权重计算公式如下:
[0112]
先计算每行乘积的m次方,得到一个m维向量:
[0113][0114]
这里结合亮度增强算法的损失约束是四个,所以m取4。
[0115]
再将向量标准化即为权重向量,即得到权重:
[0116][0117]
应理解地,首先,使用教师模型对训练集进行训练,并得到教师模型的输出目标γ1接着使用学生模型对同样的训练集进行训练,并得到学生模型的输出目标γ2,由此可以得到教师-学生网络的交叉熵公式:
[0118][0119]
教师模型的参数设置为γ1,学生模型的参数设置为γ2,由此学生模型的损失函数不仅仅依赖于真实标签,还通过交叉熵拟合参数γ,在此基础上,运用连续蒸馏原理将上一代学生学习后的成果γ作为新一代的老师训练后一代的学生:
[0120][0121]
通过不断迭代,直到交叉熵低于设定的参数β,得到每一代的学习后的参数γ,最后再将所有代的输出相加求平均值,得到最终参数γ:
[0122][0123]
在计算设置交叉熵梯度时,对每一个分项class的概率彼此求交叉熵:
[0124][0125]
区分正确标签(*)和错误标签(i),公式可以分解为:
[0126][0127]
此公式可以分解为两个部分,一个是后面的对负标签梯度的修正,一个是前面部分的的正确标签。
[0128]
自此可产生效果好于单网络效果的结果。本发明运用了自蒸馏系统而非直接改变网络权值,避免了直接基于场景设定权值导致的训练方向不可控,效果不如初始设置等现象,使训练方向可控,训练效果基于场景变好。
[0129]
应理解地,教师网络采用了如下措施:通过层次分析法对不同场景设定相对应的约束权值,从而达到更针对场景的目的。
[0130]
层次分析法,即analytic hierarchy process(ahp)。层次分析法将与决策有关的元素分解成目标、准则、方案等多个层次,并在此基础上进行定性和定量分析,是一种系统、简便、灵活有效的决策方法。核心步骤为构建比较矩阵与一致性检验。
[0131]
构造比较矩阵就是通过各要素之间相互两两比较,并确定各准则层对目标层的权重。并使用1到9的尺度来表示它们之间的相对重要性。比较矩阵是一个方阵,其中每个元素表示一个准则或选择与另一个准则或选择之间的相对重要性。标度准则由图5所示,可利用标度准则创建比较矩阵。
[0132]
在已设置的四个场景中,其四个误差约束之间的相对重要级不同,故可以针对这四个场景列出四个相对应的比较矩阵从而得到更适用于场景的权值参数。
[0133]
应理解地,知识蒸馏是一种机器学习技术,用于将一个复杂模型的知识转移到一个更简单模型中。这种方法旨在在简化模型的同时保留原模型的性能和预测能力。在知识蒸馏中,一个大型而复杂的模型被称为教师模型,而一个较小而简单的模型被称为学生模型。教师模型首先被训练,并使用其输出作为目标来训练学生模型。通过使用教师模型的输出作为额外的目标或利用教师模型的软目标(概率分布),学生模型可以从教师模型的知识中受益并学习到更好的特征表示和泛化能力。它可以将一个复杂的模型压缩为一个更小、更轻量级的模型,从而减少模型的大小和计算资源的需求。其次,学生模型可以通过从教师模型的知识中学习,获得更好的性能和泛化能力。此外,知识蒸馏还可以帮助学生模型对抗噪声和不确定性,并提高在未见过的数据上的预测能力。在本发明中想要去基于不同场景增强效果,由于直接基于场景去设定权值会导致训练方向不可控,会出现效果反而不如初始设置的现象,而运用知识蒸馏的方法可以保证训练方向可控也能使效果更好,所以本发明运用了知识蒸馏系统而非直接改变网络权值。
[0134]
由于亮度增强网络本身深度不深,不是很复杂,所以此方法使用了自蒸馏方法,自蒸馏是指教师网络和学生网络结构设定相同或网络复杂度相同但结构不同的知识蒸馏学习。此方法采用了针对不同场景而设计不同的教师网络,并且采用连续知识蒸馏,不断将上一代学生学成后作为新的老师训练后一代学生,如此进行迭代,得到更高精度的算法模型。
[0135]
自蒸馏学习是知识蒸馏的一种技术方法,旨在通过让模型自己或复杂度相同的网络作为教师来提升其性能。自蒸馏学习通过让学生模型自己生成目标分布来实现知识蒸馏,而无需额外的教师模型。基本思想是,通过让学生模型在训练过程中生成软目标(soft target),并以此作为自身的监督信号来进行学习。软目标通常是由学生模型的输出经过一些平滑化操作得到的概率分布,可以被看作是学生模型对于不同类别的置信度。这种方式可以使得学生模型从自己的预测中学习,同时融入了教师模型的知识。自蒸馏系统的结构如图4所示。
[0136]
通过先前准备的如下四个场景的数据集:1.夜晚室外无光2.夜晚室外微光3.无灯光室内4.弱灯光室内,使用设计的相应场景的自蒸馏系统对相应数据集进行训练,得到这四个不同场景的训练参数。一张图片经过resnet-18网络进行分类后将图片使用相应场景的参数进行推理,最后得到推理结果。
[0137]
最后在落地应用上,将其部署在嵌入式设备上,由于本发明的模型为轻量级,其在嵌入式设备上容易部署,推理速度较快,效果较好,可以满足现实需要。低光视频在经过解码后输入模型,经过推理后得到增强后的图片。
[0138]
如图1所示,输入的低光照图片先经过残差网络resnet-18,将图像分类至相似环境,再由此环境下经过自蒸馏系统后的亮度增强网络进行亮度增强。利用亮度曲线与图像的关系对低光照图像进行增强,并通过自蒸馏方法提高算法处理图片速度增强效果。
[0139]
由于直接基于场景去设定权值会导致训练方向不可控,会出现效果反而不如初始设置的现象,而运用自蒸馏的方法可以保证训练方向可控也能使效果更好,所以本发明运用了自蒸馏系统而非直接改变网络权值。
[0140]
嵌入式设备部署:
[0141]
(1)首先将网络模型转换为onnx模型,此时需要将网络模型进行适当的修剪,设置好输入图片的大小,结合修剪后的网络模型和训练后的权重文件使其转化为onnx模型。
[0142]
(2)将onnx模型转换为不同嵌入式系统需要的格式,例如昇腾设备需要用的om离线模型。此时需要设置模型的运行模式mode,原始框架类型framework,输入数据格式input_format,输入数据的大小input_shape,输出文件名output和运行芯片的版本适配。
[0143]
(3)编写运行文件,包括调用解码接口,导入相关库,编写前处理和后处理,导入模型使用,设置推理数据类型,分配好嵌入式设备中算子的内存和功能,调度可利用算力,本发明中resnet-18和亮度增强算法的卷积操作可以用专门负责卷积的模块进行并行处理,这样不仅速度快还充分的使用了嵌入式设备的资源;也可进行内核融合,conv只会使用矩阵计算单元,relu只会使用向量计算单元,如果分别用一个内核函数实现,每一个内核只能使用到部分计算单元而且会引起大量的内存搬移会引入较高的开销,将conv的矩阵运算和relu的向量运算放在一次数据传输过程中完成。实现内核融合可以节省内存的读写和搬移,提高推理性能。
[0144]
(4)执行推理。输入的图像先经过resnet-18分到某一场景,实现第一步场景分类,
再经过相应场景的低光增强网络,推理过后输出;
[0145]
(5)将推理后的结果设置保存路径及展示效果。可保存在本地文件夹内,也可外接显示器显示,也可以外接蓝牙,实现推理结果的无线传输。
[0146]
本发明总体流程如图7所示。本发明基于现有的残差网络技术,结合亮度增强算法和自蒸馏系统,针对低光照图片出现的一些问题,提出解决方案。以轻量级网络模型为基础,提出使用模型不复杂的resnet-18模型和低光照增强模型,以解决在实际落地应用中需要推理速度快,实时推理的问题;以知识蒸馏技术为基础,提出使用自蒸馏方法对网络进行自蒸馏学习,以解决在图像增强后的效果和精度上的问题;以针对场景增强的想法为基础,通过将训练集分为不同场景,在相应场景下使用相应的训练集进行训练并且使用相对应的自蒸馏系统进行蒸馏学习,更高程度提高了不同场景下的图像增强的效果;以适用于不同场景下的思想为基础,提出使用resnet-18分类后再使用亮度增强网络进行亮度增强,以解决低光图像增强需要应对不同的光照条件,包括不同的亮度级别、色温和光源类型。如何适应不同的光照条件并进行有效的增强的问题。本发明基于上述方法搭建了完整的经过优化完善的低光照图片亮度增强的系统,无需额外的冗余模块来完成系统的性能优化,可以实现高效、准确的图片亮度增强,也更适合于嵌入式的落地实现。
[0147]
实施例二
[0148]
本实施例提供了基于场景自适应和自蒸馏的低光场景图像增强系统;
[0149]
基于场景自适应和自蒸馏的低光场景图像增强系统,包括:
[0150]
获取模块,其被配置为:获取待增强的低光场景图像;
[0151]
场景分类模块,其被配置为:将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;
[0152]
图像增强模块,其被配置为:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。
[0153]
此处需要说明的是,上述获取模块、场景分类模块和图像增强模块对应于实施例一中的步骤s101至步骤s103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
[0154]
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
[0155]
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
[0156]
实施例三
[0157]
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
[0158]
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用
处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0159]
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
[0160]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
[0161]
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0162]
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0163]
实施例四
[0164]
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
[0165]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,包括:获取待增强的低光场景图像;将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。2.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,所述训练后的场景分类模型,训练过程包括:构建第一训练集,所述第一训练集,包括:已知场景分类标签的低光场景图像;所述场景分类标签包括:夜晚室外无光、夜晚室外微光、无灯光室内和弱灯光室内;将第一训练集输入到场景分类模型中,对模型进行训练,得到训练后的场景分类模型。3.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像,包括:将夜晚室外无光的待增强低光场景图像,输入到夜晚室外无光的亮度增强网络,输出增强后的图像;将夜晚室外微光的待增强低光场景图像,输入到夜晚室外微光的亮度增强网络,输出增强后的图像;将无灯光室内的待增强低光场景图像,输入到无灯光室内的亮度增强网络,输出增强后的图像;将弱灯光室内的待增强低光场景图像,输入到弱灯光室内的亮度增强网络,输出增强后的图像。4.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其网络结构包括:依次连接的第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块、第六卷积模块和第七卷积模块;所述第一卷积模块的输出端与第六卷积模块的输入端进行残差连接;所述第二卷积模块的输出端与第五卷积模块的输入端进行残差连接;所述第三卷积模块的输出端与第四卷积模块的输入端进行残差连接;所述第一卷积模块、第二卷积模块、第三卷积模块、第四卷积模块、第五卷积模块、第六卷积模块的内部结构是一样的,所述第一卷积模块,包括依次连接的卷积层和激活函数层relu;所述第七卷积模块,包括:依次连接的卷积层和激活函数层tanh。5.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其公式表达为:t
n
(g(x);γ)=
n-1
(x)
(i)
(1+
n
)-n
g
n-1
(x)
(i)
其中,是像素的坐标,g(x)是亮度值,γ是学习参数取值范围为(-1,1),为保证效果防止过拟合以及满足单调递增,i取值为2,t
n
(g(x);γ)表示增强后的图像,g
n-1
(x)
(i)
表示n-1次迭代后的亮度值,γ
n
表示n次迭代后的学习参数。6.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,
所述方法还包括:在亮度增强网络训练的过程中使用总损失函数来对迭代次数进行限制,当总损失函数值达到最小值时,停止迭代,得到训练后的亮度增强网络;其中,总损失函数,具体表达式为:其中,l
c
为颜色恒定误差,l
e
为曝光控制误差,l
s
为空间一致误差,l
t
为光照平滑误差,w为各个误差约束的权重;其中,颜色恒定误差:其中,(i,j)遍历了这三个颜色通道的所有两两组合,图像的某一颜色通道的数值不应该显著高于其他两个通道,p
i
表示颜色通道i的亮度平均值;其中,曝光控制误差:其中,常数是亮度的中间值,根据效果测试取0.55,z是一个大像素区域中亮度的平均值,n是大像素的总个数;其中,空间一致误差:其中m是大像素数量,i是对像素的遍历次数;ω(i)是第i个像素的四邻域,e是增强图像池化后的图像,i是输入图像池化后的图像;其中,光照平滑误差:其中,n是迭代的次数,是水平梯度算子,是垂直梯度算子。7.如权利要求1所述的基于场景自适应和自蒸馏的低光场景图像增强方法,其特征是,将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像;其中,亮度增强网络,其训练过程包括:3-1:构建四种场景类别的教师网络和学生网络;所述教师网络和学生网络的内部结构与亮度增强网络一致;同一个场景类别下,教师网络与学生网络之间存在一一对应关系;3-2:构建第二训练集,所述第二训练集包括已知增强图像的低光场景图像;3-3:将第二训练集,输入到第一场景类别的教师网络中,对第一场景类别的教师网络进行训练,得到训练后的第一场景类别教师网络;3-4:将第二训练集,输入到第一场景类别的学生网络中,对第一场景类别的学生网络进行训练;
3-5:第一场景类别教师网络将训练好的参数γ
t
与第一场景类别学生网络第一次迭代训练结果γ
s
_1求交叉熵,将交叉熵作为影响因子并赋予设定权值得到蒸馏学习后的第一代结果γ
*
1;3-6:将第一代结果γ
*
1当作下一代的教师网络参数γ
t
,与学生网络下一次迭代训练结果γ
s
_2求交叉熵并得到第二代蒸馏结果γ
*
2;3-7:以此类推,直到第n代交叉熵损失低于设定值时结束,最后将每一代的蒸馏结果γ
*
i求和取平均得到第一场景类别的学生网络最终需求的参数γ;3-8:将训练后的最终的参数γ应用于亮度增强网络,作为第一场景类别的亮度增强网络;3-9:同理,获得四种场景类别的亮度增强网络。8.基于场景自适应和自蒸馏的低光场景图像增强系统,其特征是,包括:获取模块,其被配置为:获取待增强的低光场景图像;场景分类模块,其被配置为:将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;图像增强模块,其被配置为:将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。9.一种电子设备,其特征是,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,其中,所述计算机可读指令被所述处理器运行时,执行上述权利要求1-7任一项所述的方法。10.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当非暂时性计算机可读指令由计算机执行时,执行权利要求1-7任一项所述方法的指令。

技术总结
本发明公开了基于场景自适应和自蒸馏的低光场景图像增强方法及系统,其中所述方法,包括:获取待增强的低光场景图像;将待增强的低光场景图像输入到训练后的场景分类模型,输出场景分类结果;将待增强的低光场景图像输入到对应场景类别的亮度增强网络,输出增强后的图像。在一个未知的低光照环境下,此方法可以快速将其进行环境分类,并根据分类后的结果进行亮度增强,最后达到低光照环境下的图像亮度增强的效果。其中本方法使用到了残差网络和自蒸馏系统,可以加快模型的推理速度,提升系统的增强效果,减轻系统的体量,使其能够更好地部署到嵌入式设备上,实现实时低光照环境增强。强。强。


技术研发人员:刘云霞 侯琦 朱天宇 王予新 杨阳 李永富 赵显 许子健
受保护的技术使用者:山东大学
技术研发日:2023.07.10
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐