一种基于极轻量级Unet的动态范围压缩方法及系统与流程
未命名
09-08
阅读:144
评论:0

一种基于极轻量级unet的动态范围压缩方法及系统
技术领域
1.本发明涉及图像处理技术领域,更具体的说是涉及一种基于极轻量级unet的动态范围压缩方法及系统。
背景技术:
2.人眼能够观测到自然界中比较广泛亮度范围的场景,比如从伸手不见五指的黑夜到难以直视的太阳光,动态范围可以达到近10个数量级。然而现有的传统显示设备却受限于硬件设备,图像只能表达出极小部分的亮度范围,比如常见的8比特图像只能显示0到255整数范围的亮度。因此为了能够更好的显示高动态范围(hdr,high dynamic range)图像,需要实现从hdr图像到低动态范围(ldr,low dynamic range)的映射,完成hdr和ldr之间的转换,即动态范围压缩(drc,dynamic range compression)。
3.常见的动态压缩算法分为全局映射和局部映射。全局映射是指一对一的像素映射,这样得到的图像对比度较低,且容易丢失部分细节特征。局部映射则是通过像素和像素之间的联系,对不同的局部区域有区分的增强对比度和亮度,这种方法能够保留一定的对比度和细节信息,但较为复杂,会导致某些区域失真。
4.传统的动态压缩算法包括线性位移算法和对数映射算法。其中,线性移位算法属于全局映射方法,它将hdr图像的n比特整数位直接右移(n-m)个比特,然后得到m(m《n)比特整数的ldr图像。这样得到图像的分辨率和对比度都比较低,甚至像素颜色不均匀,高数值区间的颜色较单一,多集中于中低数值区域,并且这样得到的ldr图像丢失了很多细节,之前暗处的区域现在更加暗了,曝光的区域曝光也会更加严重,图像失真严重。对数映射算法将数据从区间[0,2n]变换到区间[0,n],然后再线性变换到区间[0,2m]。此方法与线性移位算法相同,都是全局映射算法,虽然效率较高,但无法兼顾图像的局部细节,图像效果一般。
[0005]
与传统算法相比,基于深度学习的算法生成的图像能够增强暗区细节,避免过度曝光,保留纹理细节和对比度。但是现有的方法网络较为复杂,效率较低,实用性不高,大部分网络在脱离训练集的数据上表现不够稳定,甚至显示出不真实的颜色或纹理扭曲,结果失真。
[0006]
因此,提供一种可有效解决深度学习算法生成方法网络较为复杂、效率较低、稳定性差、实用性不高等问题的动态范围压缩方法,是本领域技术人员亟需解决的问题。
技术实现要素:
[0007]
有鉴于此,本发明提供了一种基于极轻量级unet的动态范围压缩方法及系统,有效解决了传统算法不能保证图像暗部细节,容易过度曝光,以及深度学习算法生成方法网络较为复杂、效率较低、稳定性差、实用性不高等问题。
[0008]
为了实现上述目的,本发明提供如下技术方案:一种基于极轻量级unet的动态范围压缩方法,包括以下步骤:获取高动态范围图片,所述高动态范围图片为rgb颜色空间图片;
对获取的图片进行预处理,所述预处理具体步骤,包括:将rgb颜色空间图片转化为yuv颜色空间图片,得到所述图片的初始亮度值i
lum
和亮度图;结合自适应gamma算法和photoshop批量处理所述图片的初始亮度值i
lum
,生成标准参考图,所述标准参考图包括标准权重图w和标准亮度图l;将图片的亮度图进行数据增强处理后,输入到unet网络模型中;所述unet网络模型对高动态范围图片进行动态范围压缩,生成低动态范围图片。
[0009]
所述图片的初始亮度值i
lum
计算公式为:;其中,ir、ig、ib为rgb颜色空间图片的rgb值,这里的cr、cg和cb为常数。
[0010]
所述结合自适应gamma算法和photoshop批量处理所述图片的初始亮度值i
lum
,生成标准参考图,具体步骤为:根据所述初始亮度值i
lum
分布范围,生成初始gamma;对所述初始gamma进行限制,限制范围为[0.4,1],得到gamma的最终值;根据gamma的最终值获取新的亮度值l,根据所述亮度值l生成标准亮度图;根据所述初始亮度值i
lum
和所述亮度值l确定每个像素点对应的权重值w,并基于像素点的权重值w生成标准权重图。
[0011]
所述unet网络模型训练过程具体包括:将所述图片的亮度图数据集进行数据增强处理后,输入到待训练的unet网络模型中;所述待训练的unet网络模型输出所述待训练的unet网络模型的权重图w
out
,并生成所述待训练的unet网络模型的亮度图l
out
;根据数据预处理步骤中获得的标准权重图w和标准亮度图l与待训练网络输出的权重图w
out
和亮度图l
out
,计算当前损失loss;根据所述当前loss更新迭代unet网络模型,在loss收敛趋于稳定后,结合此时模型输出结果,选取最终的unet网络模型。
[0012]
所述数据增强处理包括:翻转、裁剪和高斯模糊。
[0013]
所述计算当前损失loss的过程为:根据数据预处理步骤中获得的标准亮度图l和待训练网络输出的亮度图l
out
,利用损失函数计算一组loss,记作lum_loss;根据数据预处理步骤中获得的标准权重图w和待训练网络输出的权重图w
out
利用损失函数计算一组loss,记作weight_loss;给lum_loss和weight_loss赋予不同的权重值,并将lum_loss和weight_loss相加得到总loss。
[0014]
所述损失函数计算公式为:;其中,yi表示标准亮度图l或标准权重图w,f(xi)表示待训练网络输出的亮度图l
out
或权重图w
out
。
[0015]
所述根据数据预处理步骤中获得的标准权重图w、标准亮度图l和待训练网络输出的权重图w
out
和亮度图l
out
,计算当前损失loss,并且还包括以下步骤:采用限制极值的minmax_loss对待训练的unet网络模型输出的极大值和极小值进行限制,消除极值对网络结果的影响;采用突出边缘的edge_loss将待训练的unet网络模型输出的权重图的边缘进行优化。
[0016]
一种基于极轻量级unet的动态范围压缩系统,包括:数据获取模块,用于获取rgb颜色空间图片;数据预处理模块,用于将rgb颜色空间图片转化为yuv颜色空间图片,得到所述图片的初始亮度值i
lum
;以及结合自适应gamma算法和photoshop批量处理所述图片的初始亮度值i
lum
,生成标准权重图w和标准亮度图l;网络训练模块,用于对构建的unet网络模型进行训练,得到训练好的unet网络模型;动态范围压缩模块,用于根据训练好的unet网络模型对图片进行动态范围压缩。
[0017]
所述网络训练模型包括数据增强子模块、损失函数计算子模块;所述数据增强子模块用于对亮度图数据集进行数据增强操作,所述数据增强操作包括翻转、裁剪和高斯模糊;所述损失函数计算子模块用于基于损失函数计算当前损失loss。
[0018]
经由上述的技术方案可知,与现有技术相比,本发明公开了一种基于极轻量级unet的动态范围压缩方法及系统,使用自适应gamma算法和photoshop批量处理所有数据,与其他传统算法相比,更好的保留了图像暗部细节,暗处适当提亮的同时亮处没有过曝,并且处理过后的图像自然,并未有失真或颜色不真实情况;采用轻量级unet网络,与其他深度学习算法相比,本发明模型轻便,极大的节约了计算量,运行效率高,灵活性强,且在训练集以外的场景中效果依然突出且稳定,保留了大部分图片细节,利用亮度图进行训练,然后权重图作为网络输出,拟合方式简单易懂,且能保留图像的对比度信息,避免图像过度泛白或偏色;搭配使用多个loss,使得网络收敛稳定,输出的权重图边缘过度清晰流畅,增强了最后结果图的边缘细节和图片对比度。
附图说明
[0019]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0020]
图1为本发明的方法流程示意图。
[0021]
图2为本发明的方法网络模型结构示意图。
[0022]
图3为本发明的系统结构示意图。
具体实施方式
[0023]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]
如图1所示,本发明实施例公开了一种基于极轻量级unet的动态范围压缩方法,包括以下步骤:获取高动态范围图片,高动态范围图片为rgb颜色空间图片。其中,获取的图片对获取的图片进行预处理,预处理具体步骤,包括:将rgb颜色空间图片转化为yuv颜色空间图片,得到图片的初始亮度值i
lum
和亮度图;图片的初始亮度值i
lum
计算公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1);其中,ir、ig、ib为rgb颜色空间图片的rgb值,这里的cr、cg和cb为常数,本发明中设定cr、cg和cb分别为0.299,0.587和0.114。
[0025]
结合自适应gamma算法和photoshop批量处理图片的初始亮度值i
lum
,生成标准参考图,标准参考图包括标准权重图w和标准亮度图l。
[0026]
自适应gamma是一种传统算法,主要是针对图片的不同亮度范围和分布,生成合适的gamma,以压缩亮度动态范围。具体包括,首先,将初始亮度值代入公式2进行以自然数e为底的对数计算,然后再做算术平均计算得到最后结果,同样将亮度值代入公式3进行类似计算得到和,最后将得到的和代入公式4,得到一个初始的gamma,也就是公式4中的其中g,τ中的常数本发明设定为0.5。
[0027]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4);其中,i
avg
表示以自然数e为底压缩初始亮度值i
lum
的算数平均值;t表示更新经过压缩初始亮度值i
lum
和τ进行平均以后的新的加权常数。
[0028]
为了避免此时得到的gamma过大或过小造成图片失真,增加了对gamma的限制,本发明将gamma限定在0.4到1之间。换句话说,如果前面步骤得到的g小于0.4,那么gamma就是0.4;如果g超过了1,那么gamma则减小到1,也就是公式4的步骤。
[0029]
ꢀꢀꢀ
(5);其中,表示限制gamma值的常数,和分别表示限制的下限和上限。
[0030]
根据gamma的最终值获取新的亮度值l,根据亮度值l生成标准亮度图;最后将初始亮度值i
lum
代入公式6中,进行以i
lum
为底,gamma为指数的幂运算τ得到新的亮度,即可生成后续训练网络需要的亮度参考图。
[0031]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6);
根据初始亮度值i
lum
和亮度值l确定每个像素点对应的权重值w,并基于像素点的权重值w生成标准权重图。权重值的计算公式为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7);自适应gamma算法适合做动态范围压缩,优势在于提亮暗部的同时避免了过度曝光,但损失了部分对比度。鉴于此,本发明做参考标准图的时候,在使用该传统算法的同时,结合photoshop的提高对比度功能,使得压缩图像亮度范围的同时,对比度依然很高。
[0032]
将图片的亮度图进行数据增强处理后,输入到unet网络模型中,数据增强处理包括:翻转、裁剪和高斯模糊。
[0033]
unet网络模型对高动态范围图片进行动态范围压缩,生成低动态范围图片。
[0034]
本发明所训练的网络是一种改良的unet网络,具体网络结构如图2所示,unet网络模型训练过程具体包括:将图片的亮度图数据集进行数据增强处理后,输入到待训练的unet网络模型中;待训练的unet网络模型输出待训练的unet网络模型的权重图w
out
,并生成待训练的unet网络模型的亮度图l
out
;根据数据预处理步骤中获得的标准权重图w、标准亮度图l和待训练网络输出的权重图w
out
和亮度图l
out
,计算当前损失loss;根据当前loss更新迭代unet网络模型,在loss收敛趋于稳定后,结合此时模型输出结果,选取最终的unet网络模型。
[0035]
计算当前损失loss的过程为:根据数据预处理步骤中获得的标准亮度图l和待训练网络输出的亮度图l
out
,利用损失函数l1计算一组loss,记作lum_loss;根据数据预处理步骤中获得的标准权重图w和待训练网络输出的权重图w
out
利用损失函数l1计算一组loss,记作weight_loss;给lum_loss和weight_loss赋予不同的权重值,并将lum_loss和weight_loss相加得到总loss。
[0036]
损失函数计算公式为:;其中,yi表示标准亮度图l或标准权重图w,f(xi)表示待训练网络输出的亮度图l
out
或权重图w
out
。
[0037]
另外本发明还加入了限制极值的minmax_loss和突出边缘的edge_loss。具体来说,限制极值的minmax_loss主要是对网络输出的极大值和极小值来限制,消除极值对网络结果的影响;突出边缘的edge_loss则可以将网络输出的权重图的边缘学习得更好,原理是用高斯核遍历当前输出权重图和相对应参考标准图的边缘权重图,提取特征,然后再计算这两个特征图的loss。计算完上述loss后,给每个loss赋予不同的权重值,相加得到总loss。随后,根据总的loss更新迭代训练模型,在loss收敛趋于稳定范围后,结合此时模型
输出结果,选取最好效果的初始模型。经过多数据集训练和测试,重点场景,训练集以外的数据,重新调试模型相关参数,迭代得到最后的模型。
[0038]
如图3所示,本发明另一实施例公开了一种基于极轻量级unet的动态范围压缩系统,包括:数据获取模块,用于获取rgb颜色空间图片;数据预处理模块,用于将rgb颜色空间图片转化为yuv颜色空间图片,得到图片的初始亮度值i
lum
;以及结合自适应gamma算法和photoshop批量处理图片的初始亮度值i
lum
,生成标准权重图w和标准亮度图l;网络训练模块,用于对构建的unet网络模型进行训练,得到训练好的unet网络模型;动态范围压缩模块,用于根据训练好的unet网络模型对图片进行动态范围压缩。
[0039]
网络训练模型包括数据增强子模块、损失函数计算子模块;数据增强子模块用于对亮度图数据集进行数据增强操作,数据增强操作包括翻转、裁剪和高斯模糊;损失函数计算子模块用于基于损失函数计算当前损失loss。
[0040]
对比其他传统亮度范围压缩算法,本发明提高暗部细节的同时,保留了暗处图像的对比度,并且抑制了高亮区域的曝光,并且能在多场景稳定使用。对比其他深度学习算法,本发明模型轻便,极大的节约了计算量,运行效率高,且在训练集以外的场景中效果依然突出且稳定,保留了大部分图片细节。
[0041]
利用亮度图进行训练,然后权重图作为网络输出,拟合方式简单易懂,且能保留图像的对比度信息,避免图像过度泛白或偏色。
[0042]
采用深度学习网络,增强了算法的自适应性,同时可以通过调整loss的权重值,让最终结果更完美。
[0043]
使用轻量级unet网络模型,可以快速且高效的部署于带有npu的嵌入式设备或终端上,符合当下产品的计算需求,充分发挥模型的效果,增强使用产品的使用效果。
[0044]
选用多个loss,使得网络收敛高效且稳定,输出的权重图边缘过度清晰流畅,增强了最后结果图的边缘细节和图片对比度。
[0045]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0046]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种基于极轻量级unet的动态范围压缩方法,其特征在于,包括以下步骤:获取高动态范围图片,所述高动态范围图片为rgb颜色空间图片;对获取的rgb颜色空间图片进行预处理,所述预处理具体步骤,包括:将rgb颜色空间图片转化为yuv颜色空间图片,得到所述rgb颜色空间图片的初始亮度值i
lum
和亮度图;结合自适应gamma算法和photoshop批量处理所述rgb颜色空间图片的初始亮度值i
lum
,生成标准参考图,所述标准参考图包括标准权重图w和标准亮度图l;将rgb颜色空间图片的亮度图进行数据增强处理后,输入到unet网络模型中;所述unet网络模型对高动态范围图片进行动态范围压缩,生成低动态范围图片。2.根据权利要求1所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述rgb颜色空间图片的初始亮度值i
lum
计算公式为:;其中,i
r
、i
g
、i
b
为rgb颜色空间图片的rgb值,这里的c
r
、c
g
和c
b
为常数。3.根据权利要求1所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述结合自适应gamma算法和photoshop批量处理所述rgb颜色空间图片的初始亮度值i
lum
,生成标准参考图,具体步骤为:根据所述初始亮度值i
lum
分布范围,生成初始gamma;对所述初始gamma进行限制,得到gamma的最终值;根据gamma的最终值获取新的亮度值l,根据所述亮度值l生成标准亮度图;根据所述初始亮度值i
lum
和所述亮度值l确定每个像素点对应的权重值w,并基于像素点的权重值w生成标准权重图。4.根据权利要求1所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述unet网络模型训练过程具体包括:将所述rgb颜色空间图片的亮度图数据集进行数据增强处理后,输入到待训练的unet网络模型中;所述待训练的unet网络模型输出所述待训练的unet网络模型的权重图w
out
,并生成所述待训练的unet网络模型的亮度图l
out
;根据数据预处理步骤中获得的标准权重图w和标准亮度图l与待训练网络输出的权重图w
out
和亮度图l
out
,计算当前损失loss;根据所述当前损失loss更新迭代unet网络模型,在loss收敛趋于稳定后,结合此时模型输出结果,选取最终的unet网络模型。5.根据权利要求4所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述数据增强处理包括:翻转、裁剪和高斯模糊。6.根据权利要求4所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述计算当前损失loss的过程为:根据数据预处理步骤中获得的标准亮度图l和待训练网络输出的亮度图l
out
,利用损失函数计算一组loss,记作lum_loss;根据数据预处理步骤中获得的标准权重图w和待训练网络输出的权重图w
out
利用损失
函数计算一组loss,记作weight_loss;给lum_loss和weight_loss赋予不同的权重值,并将lum_loss和weight_loss相加得到总loss。7.根据权利要求6所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述损失函数计算公式为:;其中,y
i
表示标准亮度图l或标准权重图w,f(x
i
)表示待训练网络输出的亮度图l
out
或权重图w
out
。8.根据权利要求4所述的一种基于极轻量级unet的动态范围压缩方法,其特征在于,所述根据数据预处理步骤中获得的标准权重图w和标准亮度图l与待训练网络输出的权重图w
out
和亮度图l
out
,计算当前损失loss,并且还包括以下步骤:采用限制极值的minmax_loss对待训练的unet网络模型输出的极大值和极小值进行限制,消除极值对网络结果的影响;采用突出边缘的edge_loss将待训练的unet网络模型输出的权重图的边缘进行优化。9.一种基于极轻量级unet的动态范围压缩系统,其特征在于,包括:数据获取模块,用于获取高动态范围的rgb颜色空间图片;数据预处理模块,用于将rgb颜色空间图片转化为yuv颜色空间图片,得到所述rgb颜色空间图片的初始亮度值i
lum
;以及结合自适应gamma算法和photoshop批量处理初始亮度值i
lum
,生成标准权重图w和标准亮度图l;网络训练模块,用于对构建的unet网络模型进行训练,得到训练好的unet网络模型;动态范围压缩模块,用于根据训练好的unet网络模型对图片进行动态范围压缩;所述网络训练模型包括数据增强子模块、损失函数计算子模块;所述数据增强子模块用于对亮度图数据集进行数据增强操作,所述数据增强操作包括翻转、裁剪和高斯模糊;所述损失函数计算子模块用于基于损失函数计算当前损失loss。
技术总结
本发明公开了一种基于极轻量级Unet的动态范围压缩方法及系统,使用自适应gamma算法和Photoshop批量处理所有数据,更好的保留了图像暗部细节,暗处适当提亮的同时亮处没有过曝,并且处理过后的图像自然,并未有失真或颜色不真实情况;采用轻量级Unet网络,与其他深度学习算法相比,本发明模型轻便,极大的节约了计算量,运行效率高,灵活性强,且在训练集以外的场景中效果依然突出且稳定,保留了大部分图片细节,利用亮度图进行训练,然后权重图作为网络输出,拟合方式简单易懂,且能保留图像的对比度信息,避免图像过度泛白或偏色。避免图像过度泛白或偏色。避免图像过度泛白或偏色。
技术研发人员:林景洲 郭奇锋 张齐宁
受保护的技术使用者:深圳深知未来智能有限公司
技术研发日:2023.05.18
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:水泵和具有其的洗碗机的制作方法 下一篇:一种电子装置、雷达系统及电子设备的制作方法