模型训练方法、装置、计算机设备和存储介质与流程

文档序号:30159855发布日期:2022-05-26 08:34阅读:69来源:国知局
模型训练方法、装置、计算机设备和存储介质与流程

1.本技术涉及图像处理技术领域,特别涉及一种模型训练方法、装置、计算机设备和存储介质。


背景技术:

2.超级夜景算法作为手机厂商竞争的主打拍照算法,原理是以不同曝光时间采集的多帧图像作为输入,进行多帧合成、hdr(high dynamic range imaging,高动态范围成像)、去噪、isp(image signal processing,图像信号处理)来得到最终输出。
3.图像去噪作为超级夜景算法中的一个重要环节,属于计算机视觉中的一个重要研究领域。图像去噪的目的在于在给定的噪声图像中恢复出潜在的清晰图像,并保留更多的原始细节。
4.目前,可以采用bm3d(block-matching 3d,三维块匹配)算法进行图像去噪。但是bm3d算法复杂度较高,处理时间久,而且对于混合噪声(如加性噪声与乘性噪声的混合噪声)的去除效果不佳。


技术实现要素:

5.本技术实施例提供了一种模型训练方法、装置、计算机设备和存储介质,可以在取得较好的去噪效果的同时,降低内存占用,减少处理时间。所述技术方案如下:
6.第一方面,提供了一种模型训练方法,包括:
7.获取多个图像对,所述多个图像对中每个图像对包括噪声图像和对应的去噪图像;
8.对所述多个图像对中每个图像对中的噪声图像进行下采样,得到所述噪声图像对应的样本图像;
9.将所述多个图像对中每个图像对中的噪声图像对应的样本图像和去噪图像确定为一个训练样本,得到多个训练样本;
10.以所述多个训练样本中的样本图像为输入图像,以所述多个训练样本中的去噪图像为样本标记,对神经网络模型进行训练,得到去噪模型。
11.在本技术中,可以对噪声图像进行下采样来得到样本图像,然后将该噪声图像对应的样本图像和去噪图像作为训练样本对神经网络模型进行训练,来得到去噪模型。由于该神经网络模型的输入图像的分辨率较小,所以可以减轻模型处理压力,提高模型处理速度,继而提高模型训练速度。并且,对该神经网络模型训练得到的去噪模型的输入图像的分辨率也较小,因而该去噪模型在使用时,在取得较好的去噪效果的同时,内存占用较低,处理时间也比较短。
12.可选地,所述噪声图像和其对应的所述去噪图像的分辨率相同。
13.可选地,所述获取多个图像对,包括:
14.获取终端以不同曝光时间对同一场景拍摄的带有噪声的多张图像;
15.从所述多张图像中选择一张图像作为第一图像;
16.对所述多张图像进行融合处理,得到去除噪声的第二图像;
17.根据所述第一图像和所述第二图像确定一个或多个图像对。
18.可选地,所述根据所述第一图像和所述第二图像确定一个或多个图像对,包括:
19.将所述第一图像和所述第二图像确定为一个图像对,所述第一图像为噪声图像,所述第二图像为去噪图像;和/或
20.对所述第一图像和所述第二图像进行同样的翻转或旋转,将经过同样的翻转或旋转后的所述第一图像和所述第二图像确定为一个图像对,翻转或旋转后的所述第一图像为噪声图像,翻转或旋转后的所述第二图像为去噪图像。
21.可选地,所述神经网络模型包括n个第一卷积层、多个rrg(recursive residual group,递归残差组)层、n个上采样层,所述n为大于或等于2的整数;
22.所述n个第一卷积层、所述多个rrg层、所述n个上采样层、所述第二卷积层依次连接;所述n个上采样层的上采样倍数之积是所述n个第一卷积层中的卷积核的步长之积的s倍,所述s是对所述多个图像对中每个图像对中的噪声图像进行下采样时采用的下采样倍数,所述s大于1。
23.可选地,所述多个rrg层中的至少两个rrg层之间存在跳跃连接,所述n个第一卷积层与所述n个上采样层之间存在跳跃连接。
24.可选地,所述以所述多个训练样本中的样本图像为输入图像,以所述多个训练样本中的去噪图像为样本标记,对神经网络模型进行训练,得到去噪模型,包括:
25.以所述多个训练样本中的样本图像为输入图像,以所述多个训练样本中的去噪图像为样本标记,对所述神经网络模型进行多次迭代训练,直至模型收敛,得到所述去噪模型;
26.可选地,所述多次迭代训练中的前r次迭代训练根据第一损失函数进行,所述多次迭代训练中除所述前r次的迭代训练之外的k次迭代训练根据第二损失函数进行,所述第一损失函数与所述第二损失函数不同,所述r和所述k均为正整数。
27.可选地,所述第二损失函数为颜色损失函数,所述第一损失函数根据l1范数损失函数和ssim(structural similarity index measurement,结构相似度指标测量)函数确定得到。
28.可选地,所述第一损失函数为:
29.其中,所述loss为所述第一损失函数的损失值,所述x为输入图像,所述y为输出图像,所述为样本标记,所述l1()为l1范数损失函数,所述ssim()为ssim函数,所述w1为所述l1范数损失函数对应的权值,所述w2为所述ssim函数对应的权值。
30.第二方面,提供了一种模型训练装置,包括:
31.第一获取模块,用于获取多个图像对,所述多个图像对中每个图像对包括噪声图像和对应的去噪图像;
32.第二获取模块,用于对所述多个图像对中每个图像对中的噪声图像进行下采样,得到所述噪声图像对应的样本图像;
33.确定模块,用于将所述多个图像对中每个图像对中的噪声图像对应的样本图像和
去噪图像确定为一个训练样本,得到多个训练样本;
34.训练模块,用于以所述多个训练样本中的样本图像为输入图像,以所述多个训练样本中的去噪图像为样本标记,对神经网络模型进行训练,得到去噪模型。
35.可选地,所述噪声图像和其对应的所述去噪图像的分辨率相同。
36.可选地,所述第一获取模块用于:
37.获取终端以不同曝光时间对同一场景拍摄的带有噪声的多张图像;
38.从所述多张图像中选择一张图像作为第一图像;
39.对所述多张图像进行融合处理,得到去除噪声的第二图像;
40.根据所述第一图像和所述第二图像确定一个或多个图像对。
41.可选地,所述第一获取模块用于:
42.将所述第一图像和所述第二图像确定为一个图像对,所述第一图像为噪声图像,所述第二图像为去噪图像;和/或
43.对所述第一图像和所述第二图像进行同样的翻转或旋转,将经过同样的翻转或旋转后的所述第一图像和所述第二图像确定为一个图像对,翻转或旋转后的所述第一图像为噪声图像,翻转或旋转后的所述第二图像为去噪图像。
44.可选地,所述神经网络模型包括n个第一卷积层、多个rrg层、n个上采样层,所述n为大于或等于2的整数;
45.所述n个第一卷积层、所述多个rrg层、所述n个上采样层、所述第二卷积层依次连接;所述n个上采样层的上采样倍数之积是所述n个第一卷积层中的卷积核的步长之积的s倍,所述s是对所述多个图像对中每个图像对中的噪声图像进行下采样时采用的下采样倍数,所述s大于1。
46.可选地,所述多个rrg层中的至少两个rrg层之间存在跳跃连接,所述n个第一卷积层与所述n个上采样层之间存在跳跃连接。
47.可选地,所述训练模块用于:
48.以所述多个训练样本中的样本图像为输入图像,以所述多个训练样本中的去噪图像为样本标记,对所述神经网络模型进行多次迭代训练,直至模型收敛,得到所述去噪模型;
49.可选地,所述多次迭代训练中的前r次迭代训练根据第一损失函数进行,所述多次迭代训练中除所述前r次的迭代训练之外的k次迭代训练根据第二损失函数进行,所述第一损失函数与所述第二损失函数不同,所述r和所述k均为正整数。
50.可选地,所述第二损失函数为颜色损失函数,所述第一损失函数根据l1范数损失函数和ssim函数确定得到。
51.可选地,所述第一损失函数为:
52.其中,所述loss为所述第一损失函数的损失值,所述x为输入图像,所述y为输出图像,所述为样本标记,所述l1()为l1范数损失函数,所述ssim()为ssim函数,所述w1为所述l1范数损失函数对应的权值,所述w2为所述ssim函数对应的权值。
53.第三方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执
行时实现上述的模型训练方法的步骤。
54.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的模型训练方法的步骤。
55.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的模型训练方法的步骤。
56.可以理解的是,上述第二方面、第三方面、第四方面、第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
57.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是本技术实施例提供的一种模型训练方法的流程图;
59.图2是本技术实施例提供的一种神经网络模型的示意图;
60.图3是本技术实施例提供的一种rrg层的示意图;
61.图4是本技术实施例提供的一种模型训练装置的结构示意图;
62.图5是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
63.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
64.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
65.在对本技术实施例进行详细地解释说明之前,先对本技术实施例的应用场景予以说明。
66.拍照设备在低光环境下由于感光元件的原因,拍摄的图像中会不可避免的带有噪声,噪声会恶化图像的质量,甚至湮没图像的特征,给用户带来较差的使用体验。在视觉领域和图像分析领域,图像去噪成为必不可缺的一环。图像去噪的目的在于在给定的噪声图像中恢复出潜在的清晰图像,并保留更多的原始细节。
67.为此,本技术实施例提供了一种模型训练方法,可以训练出用于图像去噪的去噪模型。该去噪模型的输入图像的分辨率较小,因而模型处理压力较小,模型处理速度较高。如此,该去噪模型在使用时,可以在取得较好的去噪效果的同时,降低内存占用,减少处理时间。
68.接下来对去噪模型的训练过程进行详细说明。
69.图1是本技术实施例提供的一种模型训练方法的流程图。参见图1,该方法包括以下步骤。
70.步骤101:计算机设备获取多个图像对。
71.该多个图像对中每个图像对包括噪声图像和对应的去噪图像。该噪声图像是带有噪声的图像。该噪声图像对应的去噪图像是对该噪声图像处理得到的去除噪声的图像。
72.可选地,每个图像对中的噪声图像和对应的去噪图像的分辨率相同。图像的分辨率是指图像的每英寸中所包含的像素点个数,图像的分辨率的单位为ppi(pixels per inch,像素每英寸)。
73.并且,该噪声图像的分辨率和该去噪图像的分辨率均可以为特定的分辨率(如512ppi*512ppi),以满足后续模型训练时的图像尺寸要求。
74.一种可能的方式中,该多个图像对可以对应多个场景,即该多个图像对中的所有噪声图像可以是对该多个场景拍摄得到。
75.对于每一个场景来说,计算机设备可以获取终端以不同曝光时间对这一场景拍摄的带有噪声的多张图像,然后从该多张图像中选择一张图像作为第一图像,以及对该多张图像进行融合处理,得到去除噪声的第二图像。之后,计算机设备可以根据第一图像和第二图像确定一个或多个图像对。
76.其中,计算机设备对该多张图像进行融合处理时,可以先对该多张图像中的每张图像进行图像处理(包括但不限于进行图像配准、异常图像剔除等),然后对处理后的多张图像进行加权平均合成,得到第二图像。
77.对于第一图像和第二图像,计算机设备可以先将第一图像和第二图像均剪裁为具有特定的分辨率(如512ppi*512ppi)的图像,再根据第一图像和第二图像确定一个或多个图像对。
78.其中,计算机设备根据第一图像和第二图像确定一个或多个图像对时,计算机设备可以将第一图像和第二图像确定为一个图像对,此时第一图像是这个图像对中的噪声图像,第二图像是这个图像对中的去噪图像。或者,计算机设备可以对第一图像和第二图像进行同样的翻转或旋转,将经过同样的翻转或旋转后的第一图像和第二图像确定为一个图像对,翻转或旋转后的第一图像是这个图像对中的噪声图像,翻转或旋转后的第二图像是这个图像对中的去噪图像。这种情况下,每个场景对应一个图像对。
79.或者,计算机设备可以将第一图像和第二图像确定为一个图像对,以及对第一图像和第二图像进行同样的翻转或旋转,得到另一个图像对。这种情况下,每个场景对应两个图像对。
80.或者,计算机设备可以对第一图像和第二图像多次进行同样的翻转或旋转,每次进行同样的翻转或旋转后得到一个图像对。这种情况下,每个场景对应至少两个图像对。
81.当然,计算机设备也可以将第一图像和第二图像确定为一个图像对,以及对第一图像和第二图像多次进行同样的翻转或旋转,每次进行同样的翻转或旋转后得到一个图像对。这种情况下,每个场景对应至少两个图像对。
82.例如,终端可以以不同曝光时间对150个场景中每个场景拍摄100张图像。之后,对于这150个场景中的任意一个场景,计算机设备从这个场景对应的100张图像中选择一张图像作为图像1,以及对这个场景对应的100张图像进行融合处理,得到图像2。之后,计算机设备将图像1和图像2确定为图像对1,图像1为图像对1中的噪声图像,图像2为图像对1中的去噪图像。并且,计算机设备对图像1和图像2均进行水平翻转来得到图像对2,对图像1和图像
2均进行垂直翻转来得到图像对3,将图像1和图像2均旋转90度来得到图像对4,以此实现数据增广。图像对2、图像对3、图像对4中由图像1翻转或旋转得到的图像是噪声图像,图像对2、图像对3、图像对4中由图像2翻转或旋转得到的图像是去噪图像。这种情况下,这个场景对应有4个图像对,分别是图像对1、图像对2、图像对3和图像对4。
83.本技术实施例中计算机设备获取多个图像对的操作与相关技术中获取sidd(smartphone image denoising dataset,智能手机图像去噪数据集)的操作类似,本技术实施例对此不再进行详细阐述。
84.步骤102:计算机设备对该多个图像对中每个图像对中的噪声图像进行下采样,得到该噪声图像对应的样本图像。
85.下采样可以缩小图像。对于该多个图像对中每个图像对中的噪声图像,计算机设备对该噪声图像进行下采样后,得到的样本图像的分辨率小于该噪声图像的分辨率。在该噪声图像与该噪声图像对应的去噪图像的分辨率相同的情况下,该样本图像的分辨率也就小于该去噪图像的分辨率。
86.比如,计算机设备可以对该噪声图像进行s倍下采样,得到样本图像,s大于1。假设该噪声图像的分辨率为a*b,则该样本图像的分辨率为(a/s)*(b/s)。此时该样本图像的分辨率与该噪声图像的分辨率相差s倍。在该噪声图像与该噪声图像对应的去噪图像的分辨率相同的情况下,该样本图像的分辨率与该去噪图像的分辨率也相差s倍。
87.步骤103:计算机设备将该多个图像对中每个图像对中的噪声图像对应的样本图像和去噪图像确定为一个训练样本,得到多个训练样本。
88.对于该多个图像对中每个图像对来说,这个图像对中的噪声图像对应一个训练样本,这个训练样本包括该噪声图像对应的样本图像和去噪图像。因此,该多个图像对中的每个图像对对应一个训练样本,该多个图像对总共对应多个训练样本。
89.该多个训练样本是用于进行模型训练的样本。对于该多个训练样本中的每个训练样本来说,这个训练样本中的样本图像为输入图像,这个训练样本中的去噪图像为样本标记。在每个图像对中的噪声图像与对应的去噪图像的分辨率相同的情况下,每个训练样本中的输入图像的分辨率小于样本标记的分辨率。
90.步骤104:计算机设备以该多个训练样本中的样本图像为输入图像,以该多个训练样本中的去噪图像为样本标记,对神经网络模型进行训练,得到去噪模型。
91.该神经网络模型的输入图像的分辨率与训练样本中的输入图像的分辨率相同,该神经网络模型的输出图像的分辨率与训练样本中的样本标记的分辨率相同。在训练样本中的输入图像的分辨率小于样本标记的分辨率的情况下,该神经网络模型的输入图像的分辨率小于输出图像的分辨率。如此,可以实现sr(super resolution,超分辨率),即达到提高分辨率的目的。sr是指将低分辨率图像映射至高分辨率图像,以期达到增强图像细节的作用。
92.比如,样本图像是对噪声图像进行s倍下采样得到的,该噪声图像的分辨率与该噪声图像对应的去噪图像的分辨率相同,则该样本图像的分辨率与该去噪图像的分辨率相差s倍,即训练样本中的输入图像的分辨率与样本标记的分辨率相差s倍,则该神经网络模型的输入图像的分辨率与输出图像的分辨率相差s倍,此时该神经网络模型可以达到s倍超分的效果。
93.本技术实施例中,该神经网络模型的输入图像的分辨率较小,如此可以减轻模型处理压力,提高模型处理速度,继而提高模型训练速度。并且,对该神经网络模型进行训练得到的去噪模型的输入图像的分辨率也较小,且可以小于该去噪模型的输出图像的分辨率。如此,该去噪模型在使用时,在取得较好的去噪效果的同时,内存占用较低,处理时间也比较短。
94.另外,本技术实施例中的神经网络模型的输入图像可以是rgb(red green blue,红绿蓝)图像,输出图像也可以是rgb图像。也即,本技术实施例提供了一种基于rgb2rgb的去噪方案,并融入了超分的思想,在去噪的同时进行超分,从而可以提升图像分辨率,带来更好的视觉体验。
95.下面对该神经网络模型进行说明:
96.该神经网络模型可以为深度神经网络等,且可以是深度神经网络中的卷积神经网络等。该神经网络模型可以包括多个网络层。比如,如图2所示,该神经网络模型可以包括n个第一卷积层、多个rrg层、n个上采样层,n为大于或等于2的整数。进一步地,该神经网络模型还可以包括第二卷积层。
97.一种可能的方式中,当对该多个图像对中每个图像对中的噪声图像进行下采样时采用的下采样倍数是s时,该n个上采样层的上采样倍数之积可以是n个第一卷积层中的卷积核的步长之积的s倍。
98.假设s为2。该n个上采样层包括上采样层1、上采样层2、上采样层3、上采样层4,且上采样层1的上采样倍数为4,上采样层2的上采样倍数为2,上采样层3的上采样倍数为4,上采样层的上采样倍数为2,则该n个上采样层的上采样倍数之积是4
×2×4×
2=64。该n个第一卷积层包括第一卷积层1、第一卷积层2、第一卷积层3、第一卷积层4,且第一卷积层1中的卷积核的步长为1,第一卷积层2中的卷积核的步长为4,第一卷积层3中的卷积核的步长为2,第一卷积层4中的卷积核的步长为4,则该n个第一卷积层中的卷积核的步长之积为1
×4×2×
4=32。该n个上采样层的上采样倍数之积是n个第一卷积层中的卷积核的步长之积的2倍。
99.如此,该神经网络模型的输入图像经该n个第一卷积层降低分辨率,且经该n个上采样层增大分辨率后,得到的输出图像的分辨率是该输入图像的分辨率的s倍。
100.示例地,该n个第一卷积层中的第一个第一卷积层的卷积核的步长为1。第一个第一卷积层没有下采样功能。这种情况下,第一个第一卷积层可以对输入数据先进行卷积操作(包括但不限于进行卷积核大小为3x3、步长为1的卷积),再通过激活函数(包括但不限于leaky_relu激活函数)处理。其中,leaky_relu激活函数能够增强模型的泛化能力。
101.该n个第一卷积层中除第一个第一卷积层之外的其他第一卷积层的卷积核的步长大于或等于2。该其他第一卷积层具有下采样功能。这种情况下,该其他第一卷积层中的每个第一卷积层可以对输入数据先进行卷积操作(包括但不限于进行卷积核大小为3x3、步长为2的卷积),再通过激活函数(包括但不限于leaky_relu激活函数)处理。
102.第二卷积层的卷积核的步长为1。第二卷积层没有下采样功能。这种情况下,第二卷积层可以对输入数据先进行卷积操作(包括但不限于进行卷积核大小为3x3、步长为1的卷积),再通过激活函数(包括但不限于leaky_relu激活函数)处理。
103.该n个上采样层中的每个上采样层用于对输入数据进行上采样,如可以通过双线
性插值等插值算法来进行上采样。可选地,该n个第一卷积层与该n个上采样层一一对应。并且,该n个第一卷积层中的第一个第一卷积层与该n个上采样层中的最后一个上采样层对应,该n个第一卷积层中的第二个第一卷积层与该n个上采样层中的倒数第二个上采样层对应,该n个第一卷积层中的第三个第一卷积层与该n个上采样层中的倒数第三个上采样层对应,以此类推。该n个第一卷积层中每个第一卷积层的输出数据的分辨率与对应的一个上采样层的输入数据的分辨率相同。该神经网络模型的输入图像可以经该n个第一卷积层降低分辨率,之后,可以经该n个上采样层增大分辨率后输出。
104.该n个上采样层中最后一个上采样层(即与第一个第一卷积层对应的一个上采样层)的上采样倍数是s,s是该神经网络模型的输入图像的分辨率与输出图像的分辨率之间相差的倍数。由于第二卷积层的卷积核的步长为1,因此,该神经网络模型的输入图像经该n个第一卷积层降低分辨率,且经该n个上采样层增大分辨率,又经第二卷积层处理后,得到的输出图像的分辨率是该输入图像的分辨率的s倍。
105.本技术实施例中的神经网络模型中的n个第一卷积层中除第一个第一卷积层之外的其他第一卷积层均可以实现下采样功能,从而可以降低后续输入rrg层的输入数据的分辨率,降低rrg层的处理压力,减少内存占用和处理时间。另外,本技术实施例中的神经网络模型采用n个上采样层来增大输入数据的分辨率,能够有效提升处理速度以及输出图像的平滑度。
106.该n个第一卷积层、该多个rrg层、该n个上采样层、第二卷积层依次连接。该n个第一卷积层与该n个上采样层之间存在跳跃连接,比如,该n个第一卷积层中每个第一卷积层的输出与对应的一个上采样层的输入之间存在长连接,如此,可以充分保留原始输入图像的信息,避免图像细节丢失。
107.该多个rrg层中的每个rrg层包含多个dab(dual attention block,双重注意力块)。rrg层引入了两种注意力(attention)机制,分别为空间注意力机制和通道注意力机制,如此能够有效保持原始输入图像的颜色信息、纹理特征以及其他细节特征。该多个rrg层中的至少两个rrg层之间也可以存在跳跃连接,比如,该多个rrg层中的倒数第三个rrg层的输出与最后一个rrg层的输入之间存在短连接,如此,可以更为充分地保留原始输入图像的信息,避免图像细节丢失。
108.一种可能的实现方式中,如图3所示,rrg层中可以包括多个dab、卷积层和加法单元。输入该rrg层的输入数据依次经过该多个dab处理后输入该卷积层,该卷积层可以对输入数据进行卷积操作(包括但不限于进行卷积核大小为3x3的卷积),然后该加法单元对输入该rrg层的输入数据和该卷积层的输出数据进行加法操作,得到该rrg层的输出数据。
109.dab中可以包括多个卷积层、两个gap(global average pooling,全局平均池化)层、gmp(global max pooling,全局最大池化)层、两个并联单元、两个激活单元、两个乘法单元、加法单元。
110.输入该dab的输入数据先经过多个卷积层处理,比如,该多个卷积层对输入该dab的输入数据可以先进行卷积核大小为3x3的卷积,再通过leaky_relu激活函数处理,接着再进行卷积核大小为3x3的卷积。该多个卷积层的输出数据输入到两个gap层、gmp层和两个乘法单元。
111.一个gap层对输入数据进行平均值池化,gmp层对输入数据进行最大值池化,一个
并联单元对这个gap层的输出数据和该gmp层的输出数据进行并联操作。一个卷积层对这个并联单元的输出数据进行卷积操作(包括但不限于进行卷积核大小为3x3的卷积)。一个激活单元将这个卷积层的输出数据通过sigmoid激活函数处理。一个乘法单元对这个激活单元的输出数据和最开始的多个卷积层的输出数据进行乘法操作。
112.另一个gap层对输入数据进行平均值池化,多个卷积层对该另一个gap层的输出数据进行处理,比如,这多个卷积层对该另一个gap层的输出数据可以先进行卷积核大小为1x1的卷积,再通过leaky_relu激活函数处理,接着再进行卷积核大小为1x1的卷积。另一个激活单元将这多个卷积层的输出数据通过sigmoid激活函数处理。另一个乘法单元对该另一个激活单元的输出数据和最开始的多个卷积层的输出数据进行乘法操作。
113.另一个并联单元对这两个乘法单元的输出数据进行并联操作,一个卷积层对该另一个并联单元的输出数据进行卷积操作(包括但不限于进行卷积核大小为1x1的卷积)。加法单元对这个卷积层的输出数据和输入该dab的输入数据进行加法操作,得到该dab的输出数据。
114.下面对该神经网络模型的训练过程进行说明:
115.具体地,计算机设备可以以该多个训练样本中的样本图像为输入图像,以该多个训练样本中的去噪图像为样本标记,对该神经网络模型进行多次迭代训练,直至模型收敛,得到该去噪模型。
116.计算机设备使用该多个训练样本中的每个训练样本可以对该神经网络模型进行一次迭代训练。该多次迭代训练中的一次迭代训练包括:计算机设备将一个训练样本中的输入图像输入该神经网络模型,获得输出图像;通过损失函数确定该输出图像与这个训练样本中的样本标记之间的损失值;根据该损失值调整该神经网络模型中的参数。
117.模型收敛是指该神经网络模型的输出图像与样本标记之间的损失值不超过规定范围。该神经网络模型收敛后,其性能可以满足使用需求,因而可以作为去噪模型。
118.其中,计算机设备根据该损失值调整该神经网络模型中的参数的操作可以参考相关技术,本技术实施例对此不进行详细阐述。例如,对于该神经网络模型中的任意一个参数,计算机设备可以根据该损失值和这个参数,获取该损失函数关于这个参数的偏导数;将这个参数减去学习率与这个参数的偏导数之积,得到调整后的参数。该学习率可以预先进行设置,如该学习率可以为0.001、0.00001等,本技术实施例对此不作唯一限定。
119.其中,本技术实施例中计算机设备可以根据多个损失函数来对该神经网络模型进行多次迭代训练。具体地,该多次迭代训练中的前r次迭代训练可以根据第一损失函数进行,该多次迭代训练中除前r次的迭代训练之外的k次迭代训练可以根据第二损失函数进行,第一损失函数与第二损失函数不同。如此,可以增强模型性能。
120.其中,r和k均为正整数。可选地,r可以大于k,如r可以为6000,k可以为1000。
121.一种可能的实现方式中,第一损失函数可以根据l1范数损失函数和ssim函数确定得到。这种情况下,第一损失函数能够增强去噪效果而且能有效的保证输出图像的清晰度与细节。
122.例如,第一损失函数可以为:
123.其中,loss为第一损失函数的损失值;x为输入图像;y为输出图像;为样本标记;
l1()为l1范数损失函数;ssim()为ssim函数;w1为l1范数损失函数对应的权值;w2为ssim函数对应的权值。
124.其中,
125.其中,μ为求均值,δ为求方差,c1和c2为常数。
126.其中,w1和w2可以预先进行设置,且w1与w2之和为1。比如,w1可以为0.15,w2可以为0.85。当然,w1和w2也可以根据需求设置为其他数值,本技术实施例对此不作唯一限定。
127.一种可能的实现方式中,第二损失函数可以是颜色损失函数(color loss),颜色损失函数是计算输入图像与样本标记之间的mse(mean squared error,均方误差)作为损失值。这种情况下,能够有效减少去噪过程中出现的色块以及有效避免输出图像中出现颜色过度不自然的问题。
128.示例地,本技术实施例中对该神经网络模型的训练可以在gtx1080ti等显卡上进行。
129.在模型训练正式开始之前,可以先对神经网络模型中的参数进行初始化,比如,可以采用xavier初始化方式对该神经网络模型中的参数进行初始化。之后,设置初始化学习率为0.00001,采用adam(adaptive moment estimation,自适应矩阵估计)优化器且采用多项式衰减方式更新学习率,然后根据第一损失函数对该神经网络模型进行多次迭代训练(包括但不限于进行迭代次数为6000个epoch、batchsize大小为1的迭代训练),直至模型收敛。
130.之后,进行模型微调。固定学习率为0.0000001,根据第二损失函数继续对该神经网络模型进行迭代训练(包括但不限于进行迭代次数为1000个epoch、batchsize大小为1的迭代训练),直至模型收敛,得到去噪模型。
131.本技术实施例中可以使用tensorflow框架实现对该神经网络模型的训练。并且,在训练得到该去噪模型后,还可以通过mace框架将该去噪模型转换为终端可用的模型,包括但不限于将该去噪模型的输入图像尺寸与终端的图像拍摄尺寸匹配,如可以固定该去噪模型的输入图像尺寸为3472ppi*4640ppi。如此,可以便于将该去噪模型移植到终端,应用到终端拍摄中。终端在拍照时可以通过该去噪模型将获取的噪声图像恢复为清晰图像。
132.在本技术实施例中,可以对噪声图像进行下采样来得到样本图像,然后将该噪声图像对应的样本图像和去噪图像作为训练样本对神经网络模型进行训练,来得到去噪模型。由于该神经网络模型的输入图像的分辨率较小,所以可以减轻模型处理压力,提高模型处理速度,继而提高模型训练速度。并且,对该神经网络模型训练得到的去噪模型的输入图像的分辨率也较小,因而该去噪模型在使用时,在取得较好的去噪效果的同时,内存占用较低,处理时间也比较短。
133.下面对该去噪模型的使用过程进行详细说明。
134.该去噪模型可以在终端拍摄图像时使用,具体地,此使用过程可以包括如下步骤(1)-步骤(3)。
135.(1)终端拍摄目标图像。
136.该终端可以是具有摄像头的终端。该终端可以拍摄目标图像,目标图像中含有在拍摄中产生的真实混合噪声。目标图像是需要去噪的图像。
137.(2)该终端对目标图像进行下采样,得到输入图像。
138.下采样可以缩小目标图像。也即,该终端对目标图像进行下采样后得到的输入图像的分辨率小于目标图像的分辨率,此时该输入图像的尺寸符合该去噪模型的输入图像尺寸要求。
139.该终端对目标图像进行下采样时采用的下采样倍数可以与上述步骤102中计算机设备对该多个图像对中每个图像对中的噪声图像进行下采样时采用的下采样倍数相同。比如,该终端也可以对目标图像进行s倍下采样。
140.(3)该终端将该输入图像输入该去噪模型,获得去噪图像。
141.该终端将该输入图像输入该去噪模型后,该去噪模型可以对该输入图像进行去噪处理,输出去噪图像。
142.该去噪图像的清晰度高于该输入图像的清晰度,且该去噪图像的分辨率可以大于该输入图像的分辨率。该去噪图像的分辨率与该终端拍摄的目标图像的分辨率相同。也即,该去噪图像是目标图像对应的去除噪声后的图像。
143.由于该去噪模型的输入图像的分辨率较小,所以可以减轻模型处理压力,提高模型处理速度。如此,该终端在将该输入图像输入该去噪模型后,就可以在内存占用较低且处理时间较短的情况下,获得去噪效果较好的去噪图像。
144.图4是本技术实施例提供的一种模型训练装置的结构示意图。参见图4,该装置包括:第一获取模块401、第二获取模块402、确定模块403和训练模块404。
145.第一获取模块401,用于获取多个图像对,多个图像对中每个图像对包括噪声图像和对应的去噪图像;
146.第二获取模块402,用于对多个图像对中每个图像对中的噪声图像进行下采样,得到噪声图像对应的样本图像;
147.确定模块403,用于将多个图像对中每个图像对中的噪声图像对应的样本图像和去噪图像确定为一个训练样本,得到多个训练样本;
148.训练模块404,用于以多个训练样本中的样本图像为输入图像,以多个训练样本中的去噪图像为样本标记,对神经网络模型进行训练,得到去噪模型。
149.可选地,噪声图像和其对应的去噪图像的分辨率相同。
150.可选地,第一获取模块401用于:
151.获取终端以不同曝光时间对同一场景拍摄的带有噪声的多张图像;
152.从多张图像中选择一张图像作为第一图像;
153.对多张图像进行融合处理,得到去除噪声的第二图像;
154.根据第一图像和第二图像确定一个或多个图像对。
155.可选地,第一获取模块401用于:
156.将第一图像和第二图像确定为一个图像对,第一图像为噪声图像,第二图像为去噪图像;和/或
157.对第一图像和第二图像进行同样的翻转或旋转,将经过同样的翻转或旋转后的第
一图像和第二图像确定为一个图像对,翻转或旋转后的第一图像为噪声图像,翻转或旋转后的第二图像为去噪图像。
158.可选地,神经网络模型包括n个第一卷积层、多个rrg层、n个上采样层,n为大于或等于2的整数;
159.n个第一卷积层、多个rrg层、n个上采样层、第二卷积层依次连接;n个上采样层的上采样倍数之积是n个第一卷积层中的卷积核的步长之积的s倍,s是对多个图像对中每个图像对中的噪声图像进行下采样时采用的下采样倍数,s大于1。
160.可选地,多个rrg层中的至少两个rrg层之间存在跳跃连接,n个第一卷积层与n个上采样层之间存在跳跃连接。
161.可选地,训练模块404用于:
162.以多个训练样本中的样本图像为输入图像,以多个训练样本中的去噪图像为样本标记,对神经网络模型进行多次迭代训练,直至模型收敛,得到去噪模型;
163.可选地,多次迭代训练中的前r次迭代训练根据第一损失函数进行,多次迭代训练中除前r次的迭代训练之外的k次迭代训练根据第二损失函数进行,第一损失函数与第二损失函数不同,所述r和所述k均为正整数。
164.可选地,第二损失函数为颜色损失函数,第一损失函数根据l1范数损失函数和ssim函数确定得到。
165.可选地,第一损失函数为:
166.其中,loss为第一损失函数的损失值,x为输入图像,y为输出图像,为样本标记,l1()为l1范数损失函数,ssim()为ssim函数,w1为l1范数损失函数对应的权值,w2为ssim函数对应的权值。
167.在本技术实施例中,可以对噪声图像进行下采样来得到样本图像,然后将该噪声图像对应的样本图像和去噪图像作为训练样本对神经网络模型进行训练,来得到去噪模型。由于该神经网络模型的输入图像的分辨率较小,所以可以减轻模型处理压力,提高模型处理速度,继而提高模型训练速度。并且,对该神经网络模型训练得到的去噪模型的输入图像的分辨率也较小,因而该去噪模型在使用时,在取得较好的去噪效果的同时,内存占用较低,处理时间也比较短。
168.需要说明的是:上述实施例提供的模型训练装置在模型训练时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
169.图5为本技术实施例提供的一种计算机设备的结构示意图。如图5所示,计算机设备5包括:处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52,处理器50执行计算机程序52时实现上述实施例中的模型训练方法中的步骤。
170.计算机设备5可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,计算机设备5可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本技术实施例不限定计算机设备5的类型。本领域技术
人员可以理解,图5仅仅是计算机设备5的举例,并不构成对计算机设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
171.处理器50可以是中央处理单元(central processing unit,cpu),处理器50还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
172.存储器51在一些实施例中可以是计算机设备5的内部存储单元,比如计算机设备5的硬盘或内存。存储器51在另一些实施例中也可以是计算机设备5的外部存储设备,比如计算机设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器51还可以既包括计算机设备5的内部存储单元也包括外部存储设备。存储器51用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,比如计算机程序的程序代码等。存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
173.在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的模型训练方法的步骤。比如,该计算机可读存储介质可以是rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。
174.值得注意的是,本技术提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
175.应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
176.也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中的模型训练方法的步骤。
177.以上所述为本技术提供的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1