计算机实现的图像处理方法、图像增强卷积神经网络和计算机产品与流程

文档序号:32478560发布日期:2022-12-09 20:05阅读:107来源:国知局
计算机实现的图像处理方法、图像增强卷积神经网络和计算机产品与流程

1.本发明涉及人工智能,更具体地说,涉及一种计算机实现的图像处理方法、一种图像增强卷积神经网络和一种计算机产品。


背景技术:

2.图像增强是一种常用的图像处理技术,用于提高图像质量和用户的观看体验。例如,当图像被过度曝光时,其总体上看起来更亮,并且过度曝光的图像的对比度低,导致不能容易地区分过度曝光的图像中的场景。图像增强可以用于过度曝光的图像中以增强过度曝光的图像的对比度。


技术实现要素:

3.在一个方面,本公开提供了一种计算机实现的图像处理方法,包括:将第一图像输入到训练好的图像增强卷积神经网络中;通过所述训练好的图像增强卷积神经网络处理所述第一图像,以获得第二图像,所述第二图像的清晰度比所述第一图像的清晰度大;其中,通过训练图像增强卷积神经网络获得所述训练好的图像增强卷积神经网络;其中,训练所述图像增强卷积神经网络包括:获得一对训练样本,该对训练样本包括具有第一清晰度的训练图像和具有第二清晰度的参考图像,所述第二清晰度大于所述第一清晰度,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将所述训练增强图像输入到边缘检测器中;由所述边缘检测器生成多个第一边缘图;将所述参考图像输入到所述边缘检测器中;由所述边缘检测器生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个第一损失,基于所述多个第一边缘图中的相应一个和所述多个第二边缘图中的相应一个来计算所述一个或多个第一损失中的相应一个,所述多个第一边缘图中的所述相应一个和所述多个第二边缘图中的所述相应一个具有相同的尺度;将所述训练增强图像与所述参考图像进行比较,以计算第二损失;以及调整所述图像增强卷积神经网络中的参数,以至少使所述一个或多个第一损失和所述第二损失最小化。
4.可选地,边缘检测器是边缘检测神经网络,所述边缘检测神经网络包括n个边缘图生成器,所述n个边缘图生成器分别被配置为生成n个边缘图;其中,所述n个边缘图生成器中的第n个边缘图生成器包括第n组卷积层和被配置为输出相同尺度的第n个边缘图的第n个侧面层,1≤n≤n;以及当1≤n<n时,所述第n个边缘图生成器还包括第n个下采样层。
5.可选地,由所述边缘检测器生成所述多个第一边缘图包括:由所述第n个边缘图生成器生成相同尺度的第n个第一边缘图;其中,生成所述第n个第一边缘图包括:将第(n-1)个第一图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第一图像,以生成第n个处理后的第一图像;由所述第n个下采样层对所述第n个处理后的第一图像进行下采样,以生成第n个下采样后的第一图像;由所述第n个侧面层处理所述第n个处理后的
第一图像,以生成相同尺度的所述第n个第一边缘图;以及当n<n时,将所述第n个下采样后的第一图像输入到第(n+1)组卷积层中;其中,当n=1时,所述第(n-1)个第一图像是所述训练增强图像;以及当n>1时,所述第(n-1)个第一图像是第(n-1)个下采样后的第一图像。
6.可选地,由所述边缘检测器生成所述多个第二边缘图包括:由所述第n个边缘图生成器生成相同尺度的第n个第二边缘图;其中,生成所述第n个第二边缘图包括:将第(n-1)个第二图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第二图像,以生成第n个处理后的第二图像;由所述第n个下采样层对所述第n个处理后的第二图像进行下采样,以生成第n个下采样后的第二图像;由所述第n个侧面层处理所述第n个处理后的第二图像,以生成相同尺度的所述第n个第二边缘图;以及当n<n时,将所述第n个下采样后的第二图像输入到第(n+1)组卷积层中;其中,当n=1时,所述第(n-1)个第二图像是所述参考图像;以及当n>1时,所述第(n-1)个第二图像是第(n-1)个下采样后的第二图像。
7.可选地,所述第n组卷积层包括多个卷积层和多个激励层,所述多个卷积层中的每个卷积层包括(p
×
64)个3
×
3卷积核,p是正整数;以及所述第n个侧面层包括依次连接的卷积层和反卷积层。
8.可选地,所述边缘检测器是边缘检测神经网络,所述边缘检测神经网络包括:第一组卷积层、第一池化层、第一侧面层、第二组卷积层、第二池化层、第二侧面层、第三组卷积层、第三池化层、第三侧面层、第四组卷积层、第四池化层、第四侧面层、第五组卷积层和第五侧面层;其中,所述第一组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每个包括64个3
×
3卷积核;所述第二组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每个包括128个3
×
3卷积核;所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每个包括256个3
×
3卷积核;所述第四组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每个包括512个3
×
3卷积核;以及所述第五组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每个包括512个3
×
3卷积核。
9.可选地,基于所述多个第一边缘图和所述多个第二边缘图计算所述一个或多个第一损失包括:基于相同尺度的第n个第一边缘图和相同尺度的第n个第二边缘图来计算第n个损失,1≤n≤n。
10.可选地,一个或多个第一损失包括其中,lossn表示所述第n个损失。
11.可选地,计算所述第n个损失包括:计算l2损失、l1损失和mse损失中的一者或多者;其中,使用表达式为sum(|y-f(x)|2)的l2损失函数来计算所述l2损失,其中,y表示所述第n个第二边缘图中的像素值,f(x)表示所述第n个第一边缘图中的像素值,sum表示求和运算。
12.可选地,计算所述第n个损失包括计算l2损失、l1损失和mse损失中的一者或多者;其中,使用表达式为sum(|y-f(x)|)的l1损失函数来计算所述l1损失,其中,y表示所述第n个第二边缘图中的像素值,f(x)表示所述第n个第一边缘图中的像素值,sum表示求和运算。
13.可选地,计算所述第n个损失包括计算l2损失、l1损失和mse损失中的一者或多者;其中,使用表达式为avg(|y-f(x)|2)的mse损失函数来计算所述mse损失,其中,y表示所述第n个第二边缘图中的像素值,f(x)表示所述第n个第一边缘图中的像素值,avg表示求平均运算。
14.可选地,计算所述第二损失包括计算l2损失、l1损失和mse损失中的一者或多者;
其中,使用表达式为sum(|y-f(x)|2)的l2损失函数来计算所述l2损失,其中,y表示所述参考图像中的像素值,f(x)表示所述训练增强图像中的像素值,sum表示求和运算。
15.可选地,计算所述第二损失包括:计算l2损失、l1损失和mse损失中的一者或多者;其中,使用表达式为sum(|y-f(x)|)的l1损失函数来计算所述l1损失,其中,y表示所述参考图像中的像素值,f(x)表示所述训练增强图像中的像素值,sum表示求和运算。
16.可选地,计算所述第二损失包括:计算l2损失、l1损失和mse损失中的一者或多者;其中,使用表达式为avg(|y-f(x)|2)的mse损失函数来计算所述mse损失,其中,y表示所述参考图像中的像素值,f(x)表示所述训练增强图像中的像素值,sum表示求和运算。
17.可选地,所述的计算机实现的方法还包括:使用不同对的训练图像和参考图像来重复训练所述图像增强卷积神经网络。
18.在另一方面,本公开提供了一种图像增强卷积神经网络,其通过以下步骤被训练:获得一对训练样本,该对训练样本包括具有第一清晰度的训练图像和具有第二清晰度的参考图像,所述第二清晰度大于所述第一清晰度,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将所述训练增强图像输入到边缘检测器中;由所述边缘检测器生成多个第一边缘图;将所述参考图像输入到所述边缘检测器中;由所述边缘检测器生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个第一损失,基于所述多个第一边缘图中的相应一个和所述多个第二边缘图中的相应一个来计算所述一个或多个第一损失中的相应一个,所述多个第一边缘图中的所述相应一个和所述多个第二边缘图中的所述相应一个具有相同的尺度;将所述训练增强图像与所述参考图像进行比较,以计算第二损失;以及调整所述图像增强卷积神经网络中的参数,以至少使所述一个或多个第一损失和所述第二损失最小化。
19.可选地,所述图像增强卷积神经网络,包括:多个编码模块;多个解码模块;以及所述多个编码模块中的相应一个与所述多个解码模块中的相应一个之间的至少一个级联;其中,所述多个编码模块中的各个编码模块包括下采样卷积层和串联布置的多个第一残差块;所述多个解码模块中的各个解码模块包括串联布置的多个第二残差块和上采样卷积层。
20.在另一方面,本公开提供了一种用于训练被配置成增强原始图像的图像增强卷积神经网络的设备,所述设备包括:存储器;以及一个或多个处理器;其中,所述存储器和所述一个或多个处理器彼此连接;以及所述存储器存储用于控制所述一个或多个处理器执行以下操作的计算机可执行指令:获得一对训练样本,该对训练样本包括具有第一清晰度的训练图像和具有第二清晰度的参考图像,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将所述训练增强图像输入到边缘检测器中;由所述边缘检测器生成多个第一边缘图;将所述参考图像输入到所述边缘检测器中;由所述边缘检测器生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个第一损失,基于所述多个第一边缘图中的相应一个和所述多个第二边缘图中的相应一个来计算所述一个或多个第一损失中的相应一个,所述多个第一边缘图中的所述相应一个和所述多个第二边缘图中的所述相应一个具有相同的尺度;以及调整所述图像增强卷积神经网络中的参数,
以至少使所述一个或多个第一损失最小化。
21.在另一方面,本公开提供了一种用于训练被配置为增强原始图像的图像增强卷积神经网络的计算机程序产品,所述计算机程序产品包括其上具有计算机可读指令的非暂时性有形计算机可读介质,所述计算机可读指令可由处理器执行以使所述处理器执行:获得一对训练样本,该对训练样本包括具有第一清晰度的训练图像和具有第二清晰度的参考图像,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将所述训练增强图像输入到边缘检测器中;由所述边缘检测器生成多个第一边缘图;将所述参考图像输入到所述边缘检测器中;由所述边缘检测器生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个第一损失,基于所述多个第一边缘图中的相应一个和所述多个第二边缘图中的相应一个来计算所述一个或多个第一损失中的相应一个,所述多个第一边缘图中的所述相应一个和所述多个第二边缘图中的所述相应一个具有相同的尺度;以及调整所述图像增强卷积神经网络中的参数,以至少使所述一个或多个第一损失最小化。
附图说明
22.根据各种公开的实施例,以下附图仅是用于说明目的示例,并且不旨在限制本发明的范围。
23.图1是根据本公开的一些实施例中的卷积神经网络的示意图。
24.图2示出根据本公开的一些实施例中的训练图像增强卷积神经网络的计算机实现的方法。
25.图3示出根据本公开的一些实施例中的边缘检测神经网络的结构。
26.图4示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。
27.图5示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。
28.图6示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。
29.图7是示出根据本公开的一些实施例中的图像增强卷积神经网络的结构的示意图。
30.图8是示出根据本公开的一些实施例中的多个编码模块中的相应一个的结构的示意图。
31.图9是示出根据本公开的一些实施例中的多个解码模块中的相应一个的结构的示意图。
32.图10示出根据本公开的一些实施例中的vgg16神经网络的结构。
33.图11是根据本公开的一些实施例中的设备的结构的示意图。
具体实施方式
34.现在将参考以下实施例更具体地描述本公开。应当注意,本文中呈现的一些实施
例的以下描述仅用于说明和描述的目的。其不是穷举的或限于所公开的精确形式。
35.本公开尤其提供了一种训练图像增强卷积神经网络的计算机实现的方法、一种图像增强卷积神经网络和一种计算机产品,其基本上消除了由于相关技术的限制和缺点而导致的一个或多个问题。在一个方面,本公开提供了一种计算机实现的图像处理方法。在一些实施例中,计算机实现的方法包括将第一图像输入到训练好的图像增强卷积神经网络中;通过所述训练好的图像增强卷积神经网络处理所述第一图像,以获得第二图像,所述第二图像的清晰度比所述第一图像的清晰度大。可选地,通过训练图像增强卷积神经网络获得所述训练好的图像增强卷积神经网络。可选地,训练所述图像增强卷积神经网络包括:获得一对训练样本,该对训练样本包括具有第一清晰度的训练图像和具有第二清晰度的参考图像,所述第二清晰度大于所述第一清晰度,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将所述训练增强图像输入到边缘检测器中;由所述边缘检测器生成多个第一边缘图;将所述参考图像输入到所述边缘检测器中;由所述边缘检测器生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个第一损失,基于所述多个第一边缘图中的相应一个和所述多个第二边缘图中的相应一个来计算所述一个或多个第一损失中的相应一个,所述多个第一边缘图中的所述相应一个和所述多个第二边缘图中的所述相应一个具有相同的尺度;将所述训练增强图像与所述参考图像进行比较,以计算第二损失;以及调整所述图像增强卷积神经网络中的参数,以至少使所述一个或多个第一损失和所述第二损失最小化。
36.如本文所使用的,术语“尺度(scale)”是指图像的三维中的一个或任何组合,包括图像的宽度、图像的高度和图像的深度中的一个或任何组合。在一个示例中,图像(例如,特征图、数据、信号)的尺度指图像的“体积”,其包括图像的宽度、图像的高度和图像的深度。在另一示例中,图像(例如,特征图、数据、信号)的空间尺度指的是图像的宽度和长度,例如,宽度
×
长度。
37.如本文所使用,术语“清晰度”指各图像对象之间的对比度,例如,图像轮廓和图像中的相关联的精细阴影图案的清晰度。清晰度越高,人眼的感觉越好。例如,通过使用本公开提供的图像处理方法(例如,去噪和/或去模糊或分辨率增强处理)对输入图像进行处理,使输出图像的清晰度高于输入图像的清晰度,使得处理后获得的输出图像比输入图像更鲜明(sharper)。在一个示例中,可以通过利用调制传递函数(modulation transfer function)方法的数学计算来测量清晰度。
38.图1是根据本公开的一些实施例中的卷积神经网络的示意图。参考图1,卷积神经网络(cnn)可以用于包括图像识别、面部识别、文本识别、动物识别和图像处理的领域。例如,卷积神经网络用于处理图像。卷积神经网络的输入和输出是图像。卷积神经网络的卷积核(convolutional kernel)代替标量的权重。在一些实施例中,图1中所示的卷积神经网络仅具有三层。可选地,卷积神经网络包括输入层il、隐藏层hl和输出层ol。可选地,四个输入ipt被输入到输入层il中。三个输出ophl是来自隐藏层hl的输出。两个输出opt从输出层ol输出。因此,卷积神经网络可以输出两个输出图像(例如,两个输出opt)。例如,输入层il中输入的四个输入ipt是四个图像,或者一个图像的四个特征。从隐藏层hl输出的三个输出ophl可以是四个图像的三个特征图,或者是输入层il中输入的一个图像的四个特征的三个
特征图。
39.如本文所使用的,术语“卷积神经网络”是指深度前馈人工神经网络。可选地,卷积神经网络包括多个卷积层、多个上采样层和多个下采样层。例如,多个卷积层中的各个卷积层可以处理图像。上采样层和下采样层可以将输入图像的大小改变为与特定卷积层相对应的大小。来自上取样层或下取样层的输出可接着由对应大小的卷积层处理。这使得卷积层能够添加或提取具有与输入图像的大小不同的大小的特征。
40.如本文所使用的,术语“卷积核”指的是在卷积过程中使用的二维矩阵。可选地,二维矩阵中的多个项中的各个项具有特定值。
41.如本文所使用的,术语“卷积”是指处理图像的过程。卷积核用于卷积。输入图像的每个像素具有值,卷积核开始于输入图像的一个像素,并顺序地在输入图像中的每个像素上移动。在卷积核的每个位置处,卷积核基于卷积核的尺度与图像上的几个像素重叠。在卷积核的位置处,将几个重叠像素中的一个像素的值乘以卷积核的相应一个值以获得几个重叠像素中的一个像素的相乘值。随后,将重叠像素的所有相乘值相加以获得与卷积核在输入图像上的位置相对应的和。通过在输入图像的每个像素上移动卷积核,收集并输出与卷积核的所有位置相对应的所有和,以形成输出图像。在一个示例中,卷积可以使用不同的卷积核来提取输入图像的不同特征。在另一示例中,卷积过程可使用不同的卷积核,将更多特征添加到输入图像。
42.如本文所使用的,术语“卷积层”是指卷积神经网络中的层。卷积层用于对输入图像执行卷积以获得输出图像。可选地,使用不同的卷积核来对同一输入图像执行不同的卷积。可选地,使用不同的卷积核来对同一输入图像的不同部分执行卷积。可选地,使用不同的卷积核来对不同的输入图像执行卷积,例如,在卷积层中输入多个图像,使用相应的卷积核来对多个图像中的图像执行卷积。可选地,根据输入图像的不同情况使用不同的卷积核。
43.参考图1,在一些实施例中,隐藏层hl包括第一隐藏卷积层hcl1和第二隐藏卷积层hcl2。可选地,第一隐藏卷积层hcl1和第二隐藏卷积层hcl2都具有权重和偏差权重表示卷积核。偏差是被添加到卷积层的输出的标量。k表示卷积神经网络的第k个输入层。i表示在输入层的相应一个中输入的多个输入图像中的第i个输入图像。j表示通过处理多个输入图像中的相应一个而获得的多个输出中的第j个输出。k、i、j为正整数。例如,第一隐藏卷积层hcl1包括第一组卷积核(例如,)和第一组权重(例如,)。第二隐藏卷积层hcl2包括第二组卷积核(例如,)和第二组权重(例如,)。通常,每个卷积层包括数百个卷积核。例如,在深度卷积神经网络中,深度卷积神经网络的隐藏层包括至少五个卷积层。
44.参考图1,卷积神经网络的隐藏层hl进一步包括第一隐藏激励层hal1和第二隐藏激励层hal2。第一隐藏激励层hal1在第一隐藏卷积层hcl1与第二隐藏卷积层hcl2之间。第二隐藏激励层hal2顺序地位于第二隐藏卷积层hcl2之后。可选地,激励层(例如,第一隐藏激励层hal1、第二隐藏激励层hal2)包括激活函数。利用有源函数将非线性元素添加到卷积神经网络,使得卷积神经网络能够有效地解决相对复杂的问题。
45.如本文所使用的,术语“激励层”是指卷积神经网络中的层。激励层可对从卷积层
输出的输出信号执行非线性映射。在激励层中可以使用各种函数。适于在激励层中采用的函数的示例包括但不限于:整流线性单元(relu)函数、s形(sigmoid)函数和双曲正切函数(例如tanh函数)。在一个示例中,激励层不包括在卷积层中。在另一示例中,卷积层包括激励层。例如,第一隐藏卷积层hcl1包括第一隐藏激励层hal1。第二隐藏卷积层hcl2包括第二隐藏激励层hal2。
46.在一些实施例中,在第一隐藏卷积层hcl1中,第一组卷积核和第一组权重被应用于四个输入ipt中的相应一个,以生成来自第一隐藏卷积层hcl1的多个输出。来自第一隐藏卷积层hcl1的多个输出由第一隐藏激励层hal1处理,以生成来自第一隐藏激励层hal1的多个输出。
47.在一些实施例中,在第二隐藏卷积层hcl2中,第二组卷积核和第二组权重被应用于来自第一隐藏激励层hal1的多个输出中的相应一个,以生成来自第二隐藏卷积层hcl2的多个输出。来自第二隐藏卷积层hcl2的多个输出由第二隐藏激励层hal2处理,以生成来自第二隐藏激励层hal2的多个输出。
48.在一个示例中,生成来自第一隐藏卷积层hcl1的多个输出中的相应输出包括:将第一组卷积核中的相应卷积核应用于四个输入ipt中的相应输入,以生成第一隐藏中间输出,且将第一组权重中的相应权重添加到中间输出,以生成来自第一隐藏层hcl1的多个输出中的相应输出。
49.在另一示例中,生成来自第二隐藏卷积层hcl2的多个输出中的相应一个包括:将第二组卷积核中的相应一个应用于来自第一隐藏卷积层hcl1的多个输出中的相应一个,以生成第二隐藏中间输出,且将第二组权重中的相应一个添加到第二隐藏中间输出,以生成来自第二隐藏卷积层hcl2的多个输出中的相应一个。
50.例如,来自第一隐藏激励层hal1的输出是隐藏层hl的三个输出ophl。来自第二隐藏激励层hal2的输出是输出层ol的两个输出opt。
51.在一些实施例中,卷积层是卷积神经网络的核心层。在卷积层中,神经元与直接相邻的卷积层中的一些神经元连接。可选地,卷积层将多个卷积核应用于输入图像以从输入图像提取多个特征。卷积层可从输入图像提取一种类型的特征。可选地,初始化的卷积核是随机分数矩阵(random fractional matrix)。在卷积神经网络的预训练过程中,卷积核通过学习得到合理的值。
52.可选地,通过将卷积核应用于输入图像而获得的结果被称为特征图。多个特征图的数目等同于多个卷积核的数目。多个特征图中的相应一个对应于多个卷积核中的相应一个。
53.可选地,多个特征图中的相应一个由矩形布置的神经元形成。多个特征图中的相应一个的神经元共享多个卷积核中的相应一个。
54.可选地,卷积神经网络具有多个卷积层。从多个卷积层中的相应一个输出的特征图被输入到多个卷积层中的下游卷积层中。多个卷积层中的下游卷积层处理从多个卷积层中的相应卷积层输出的特征图,并且输出多个特征图中的下游特征图。
55.在一些实施例中,下采样层位于两个相邻卷积层之间。在一个示例中,池化层(pooling layer)用于减小输入图像的尺寸,以简化计算复杂度,并减少过拟合现象(over-fitting phenomenon)。在另一示例中,池化层可以压缩输入图像的特征,并且提取输入图像的主要特征。可选地,池化层减小特征图中的相应一个特征图的大小,但是不改变特征图的数量。例如,通过6
×
6滤波器对具有12
×
12的尺寸的输入图像进行采样,随后,6
×
6滤波器输出具有2
×
2的尺寸的输出图像,这意味着具有12
×
12的尺寸的输入图像的144个像素被划分为四个部分,144个像素的四个部分中的每个部分具有36个像素。在使用6
×
6滤波器的池化处理之后,将每个部分中的36个像素组合成1个像素,并且所生成的输出图像具有2
×
2的大小。
56.如本文所用,术语“池化”是指一种类型的下采样。可以使用各种方法用于池化。适于池化的方法的示例包括但不限于,最大池化(max-pooling)、avg轮询(avg-polling)、抽取(decimation)和demuxout。如本文所使用,术语“下采样”是指提取输入图像的特征且输出具有较小尺寸的输出图像的过程。如本文所使用的,术语“上采样”是指将更多信息添加到输入图像并输出具有更大尺度的输出图像的过程。
57.图2示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。参考图2,在一些实施例中,该方法包括获得一对训练样本,其具有第一清晰度的训练图像ti和具有第二清晰度的参考图像ri,同一对中的训练图像ti和参考图像ri的至少一部分具有相同的内容。可选地,第二清晰度大于第一清晰度。在一个示例中,训练图像ti和参考图像ri具有相同的内容,但是训练图像的图像质量比参考图像的图像质量低。在一个示例中,训练图像ti和参考图像ri具有相同的内容,但是训练图像ti的分辨率比参考图像ri的分辨率低。在另一个示例中,训练图像ti和参考图像ri具有相同的内容,但是训练图像ti的对比度低于参考图像ri的对比度。如本文所使用的,术语“图像质量”广泛地涵盖影响图像的视觉体验的各种特性,其可受各种因素影响,包括但不限于,图像数据的分辨率、图像数据的色深、图像数据的对比度以及图像是以高压缩质量还是低压缩质量压缩的。图像增强卷积神经网络ien被配置为增强原始图像。
58.在一些实施例中,这一对训练图像ti和参考图像ri可以从样本数据库中选择,所述样本数据库被准备用于训练被配置为增强原始图像的图像增强卷积神经网络。存在多对训练图像和参考图像,所述多对训练图像和参考图像中的相应一对包括训练图像ti和参考图像ri。在一个示例中,通过在不同的曝光条件下拍摄同一场景来获得训练图像ti和参考图像ri。具有相对较高对比度的一个图像是参考图像ri,而具有相对较低对比度的另一个图像是训练图像ti。
59.参考图2,在一些实施例中,该方法还包括:将训练图像ti输入到图像增强卷积神经网络ien以生成训练增强图像tei;将训练增强图像tei输入到边缘检测器(例如,图2中所示的边缘检测神经网络edn)中;将参考图像ri输入到边缘检测神经网络edn中。边缘检测神经网络edn被配置为:在接收到训练增强图像tei时,基于训练增强图像tei来生成多个第一边缘图(例如,如图2所示的1em1、...、1emn、...、1emn)。边缘检测神经网络edn被配置为:在接收到参考图像ri时,基于参考图像ri来生成多个第二边缘图(例如,如图2所示的2em1、...、2emn、...、2emn)。可选地,多个第二边缘图(例如,如图2所示的2em1、...、2emn、...、2emn)具有相同的尺度。在一些实施例中,该方法还包括:基于多个第一边缘图和
多个第二边缘图,计算一个或多个损失(例如,如图2所示的l1、...、ln、...、ln)。基于多个第一边缘图中的相应一个和多个第二边缘图中的相应一个来计算一个或多个损失中的相应一个,其中多个第一边缘图中的相应一个和多个第二边缘图中的相应一个具有相同的尺度。在本公开中,各种适当的边缘检测器可以用于检测边缘。
60.在一些实施例中,该方法还包括:至少部分地基于一个或多个损失来调整图像增强卷积神经网络ien中的参数。各种调整方法可以用于调整图像增强卷积神经网络ien中的参数。在一个示例中,可以调整图像增强卷积神经网络ien的参数以至少最小化一个或多个损失。
61.在一些实施例中,该方法还包括:使用该对训练图像ti和参考图像ri或者不同对的训练图像和参考图像来重复训练图像增强卷积神经网络ien。可选地,重复训练图像增强卷积神经网络ien包括:使用该对训练图像ti和参考图像ri来重复训练图像增强卷积神经网络ien。可选地,重复训练图像增强卷积神经网络ien包括:使用不同对的训练图像和参考图像来重复训练图像增强卷积神经网络ien。可选地,在重复训练图像增强卷积神经网络ien的过程中,保持该对训练图像ti和参考图像ri中的训练图像ti,但是用也具有与训练图像相同内容的差分参考图像来替换该对训练图像ti和参考图像ri中的参考图像ri。可选地,在重复训练图像增强卷积神经网络ien的过程中,保持该对训练图像ti和参考图像ri中的参考图像ri,但是用也具有与参考图像ri相同内容的差分训练图像来替换该对训练图像ti和参考图像ri中的训练图像ti。
62.可选地,为了避免在重复期间选择同一对的训练图像和参考图像,可以从样本数据库中删除在训练过程中使用的该对训练图像和参考图像。
63.图3示出根据本公开的一些实施例中的边缘检测神经网络的结构。参考图3,在一些实施例中,边缘检测神经网络edn包括分别被配置为生成n个边缘图(例如,如图3所示的em1、...、emn、...、emn)的n个边缘图生成器(例如,如图3所示的emg1、...、emgn、...、emgn)。取决于输入,n个边缘图可以是与训练增强图像或参考图像相对应的边缘图。在一个示例中,边缘检测神经网络的输入是训练增强图像,并且n个边缘图是多个第一边缘图(例如,如图2所示的1em1、...、1emn、...、1emn)。在另一个示例中,边缘检测神经网络的输入是参考图像,并且n个边缘图是多个第二边缘图(例如,如图2所示的2em1、...、2emn、...、2emn)。
64.在一些实施例中,n个边缘图生成器中的第n个边缘图生成器emgn包括第n组卷积层clgn和连接到最后一个卷积层并被配置为输出相同尺度的第n个边缘图emn的第n个侧面层sln,其中1≤n≤n,可选地,当1≤n<n时,n个边缘图生成器中的第n个边缘图生成器emgn还包括连接到第n组卷积层clg中的最后一个卷积层的第n个下采样层pln(例如,第n个池化层)。
65.图4示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。参考图4,在一些实施例中,该方法包括:将第(n-1)个图像输入到第n组卷积层clgn中;由第n组卷积层clgn处理第(n-1)个图像以生成第n个处理后的图像;通过第n个下采样层pln对第n个处理后的图像进行下采样(例如,池化)以生成第n下采样后的图像;通过第n个侧面层sln对第n个处理后的图像进行处理,生成相同尺度的第n个边缘图;当n<n时,将第n个下采样后的图像输入到第(n+1)组卷积层clg
(n+1)
中。
66.在一些实施例中,第(n-1)个图像是第(n-1)个第一图像;该方法包括由第n个边缘
图生成器emgn生成相同尺度的第n个第一边缘图。图5示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。参考图5,在一些实施例中,生成第n个第一边缘图包括:将第(n-1)个第一图像输入到第n组卷积层clgn中;由所述第n组卷积层clgn处理所述第(n-1)个第一图像以生成第n个处理后的第一图像;通过第n个下采样层pln对第n个处理后的第一图像进行下采样(例如,池化)以生成第n个下采样后的第一图像;由第n个侧面层sln处理第n个处理后的第一图像,以生成相同尺度的第n个第一边缘图1emn;当n<n时,将第n个下采样后的第一图像输入到第(n+1)组卷积层clg
(n+1)
中。在一个示例中,当n=1时,第(n-1)个第一图像是训练增强图像。在另一个示例中,当n》1时,第(n-1)个第一图像是第(n-1)个下采样后的第一图像。
67.在一些实施例中,第(n-1)个图像是第(n-1)个第二图像;该方法包括由第n个边缘图生成器emgn生成相同尺度的第n个第二边缘图。图6示出根据本公开的一些实施例中训练图像增强卷积神经网络的计算机实现的方法。参考图6,在一些实施例中,生成第n个第二边缘图包括:将第(n-1)个第二图像输入到第n组卷积层clgn中;由所述第n组卷积层clgn处理所述第(n-1)个第二图像,以生成第n个处理后的第二图像;通过第n个下采样层pln对第n个处理后的第二图像进行下采样(例如,池化),以生成第n下采样后的第二图像;由第n个侧面层sln处理第n个处理后的第二图像,以生成相同尺度的第n个第二边缘图2emn;当n<n时,将第n个下采样后的第二图像输入到第(n+1)组卷积层clg
(n+1)
中。在一个示例中,当n=1时,第(n-1)个第二图像是参考图像。在另一个示例中,当n》1时,第(n-1)个第二图像是第(n-1)个下采样后的第二图像。
68.在一些实施例中,第n组卷积层clgn包括多个卷积层和多个激励层。可选地,多个卷积层中的每个包括(p
×
64)个3
×
3卷积核,其中p是正整数。在一些实施例中,第n个侧面层sln包括顺序连接的卷积层和反卷积层(deconvolutional layer),卷积层连接到第n组卷积层中的最后一个卷积层。第n个侧面层sln的卷积层将多通道特征图像转换为单通道特征图像。第n个侧面层sln的反卷积层是上采样层。分别输入到n个侧面层中的输入图像分别具有不同的尺度。分别在n个侧面层中的反卷积层分别以不同的倍数(例如,以1、2、4、8、16等)对输入图像进行上采样。在一个示例中,分别来自n个侧面层的n个边缘图具有相同的尺度。
69.在一个示例中,边缘检测神经网络包括第一组卷积层、第一池化层、第一侧面层、第二组卷积层、第二池化层、第二侧面层、第三组卷积层、第三池化层、第三侧面层、第四组卷积层、第四池化层、第四侧面层、第五组卷积层和第五侧面层。可选地,所述第一组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括64个3
×
3卷积核。可选地,所述第二组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括128个3
×
3卷积核。可选地,所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括256个3
×
3卷积核。可选地,所述第四组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。可选地,所述第五组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。
70.在一些实施例中,基于多个第一边缘图和多个第二边缘图来计算一个或多个损失包括:基于同一尺度的第n个第一边缘图1emn和同一尺度的第n个第二边缘图2emn来计算第n个损失ln,1≤n≤n。可选地,一个或多个第一损失包括其中,lossn表示第n个损
失。各种适当的损失可用来训练图像增强卷积神经网络。在一些实施例中,计算第n个损失ln包括计算以下中的一个或多个:l2损失、l1损失和mse损失。在一些实施例中,计算第n个损失ln包括使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。在一些实施例中,计算第n个损失ln包括使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。在一些实施例中,计算第n个损失ln包括使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
71.在本方法中,基于多个第一边缘图和多个第二边缘图来计算一个或多个损失。通过最小化一个或多个损失,训练增强图像tei的边缘可以被生成为与参考图像ri的边缘更一致。使用本方法,可以在由图像增强卷积神经网络ien生成的增强图像中保留更多的边缘细节。
72.参考图2,在一些实施例中,该方法还包括将训练增强图像tei与参考图像ri进行比较,以计算总损失lt(第二损失)。调整图像增强卷积神经网络ien中的参数包括:调整图像增强卷积神经网络ien中的参数,以最小化总损失lt。可选地,调整图像增强卷积神经网络ien中的参数包括:调整图像增强卷积神经网络ien中的参数,以至少最小化一个或多个第一损失和总损失lt。在一些实施例中,计算总损失lt包括计算以下中的一个或多个:l2损失、l1损失和mse损失。在一些实施例中,计算总损失lt包括使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。在一些实施例中,计算总损失lt包括使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。在一些实施例中,计算总损失lt包括使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
73.在本方法中,基于训练增强图像tei与参考图像ri之间的比较来计算总损失。通过最小化总损失,可以确保原始图像的内容可以保存在由图像增强卷积神经网络ien生成的增强图像中。
74.在一些实施例中,该方法还包括将训练增强图像tei与参考图像ri进行比较以计算第三损失。调整图像增强卷积神经网络ien中的参数包括:调整图像增强卷积神经网络ien中的参数,以最小化第三损失。可选地,调整图像增强卷积神经网络ien中的参数包括:调整图像增强卷积神经网络ien中的参数,以至少最小化一个或多个第一损失和第三损失。可选地,调整图像增强卷积神经网络ien中的参数包括:调整图像增强卷积神经网络ien中的参数,以至少最小化一个或多个第一损失、总损失lt和第三损失。
75.在一些实施例中,该方法包括:分别将训练增强图像tei和参考图像ri输入到vgg神经网络中,以分别从vgg神经网络生成输出;以及基于来自vgg神经网络的输出来计算第三损失。可选地,vgg神经网络是vgg16神经网络。图10示出根据本公开的一些实施例中的vgg16神经网络的结构。参考图10,在一些实施例中,vgg16神经网络包括第一组卷积层clg1、第一池化层pl1、第二组卷积层clg2、第二池化层pl2、第三组卷积层clg3、第三池化层
pl3、第四组卷积层clg4、第四池化层pl4、第五组卷积层clg5、第五池化层pl5、第一全连接层fc1、第二全连接层fc2和第三全连接层fc3。可选地,第一组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括64个3
×
3卷积核。可选地,所述第二组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括128个3
×
3卷积核。可选地,所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括256个3
×
3卷积核。可选地,所述第四组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。可选地,所述第五组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。
76.在一些实施例中,该方法包括:将训练增强图像tei输入到vgg16神经网络中;由所述vgg16神经网络中的第n组卷积层中的第m个卷积层生成第一输出;将参考图像ri输入到vgg16神经网络中;由所述vgg16神经网络中的所述第n组卷积层中的所述第m个卷积层生成第二输出;基于所述第一输出和所述第二输出来计算所述第三损失;其中,m为正整数,n为正整数,1≤n≤n,1≤m≤m,m为第n组卷积层中的卷积层的总数。
77.在一些实施例中,m=1且n=3。该方法包括:将训练增强图像tei输入到vgg16神经网络中;由所述vgg16神经网络中的第三组卷积层clg3中的第一卷积层生成第一输出;将参考图像ri输入到vgg16神经网络中;由所述vgg16神经网络中的第三组卷积层clg3中的所述第一卷积层生成第二输出;基于所述第一输出和所述第二输出来计算所述第三损失。可选地,所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括256个3
×
3卷积核。
78.在一些实施例中,计算第三损失包括计算以下中的一个或多个:l2损失、l1损失和mse损失。在一些实施例中,计算第三损失包括使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失。其中,y表示第二输出中的像素值,f(x)表示第一输出中的像素值,sum表示求和运算。在一些实施例中,计算第三损失包括使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失。其中,y表示第二输出中的像素值,f(x)表示第一输出中的像素值,sum表示求和运算。在一些实施例中,计算第三损失包括使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第二输出中的像素值,f(x)表示第一输出中的像素值,avg表示求平均运算。
79.在另一方面,本公开提供了一种用于训练被配置为增强原始图像的图像增强卷积神经网络的设备。图11是根据本公开的一些实施例中的设备的结构的示意图。参考图11,在一些实施例中,该设备包括中央处理单元(cpu),其被配置为根据存储在rom或ram中的计算机可执行指令来执行动作。可选地,计算机系统所需的数据和程序被存储在ram中。可选地,cpu、rom和ram通过总线彼此电连接。可选地,输入/输出接口电连接到总线。
80.在一些实施例中,设备包括存储器和一个或多个处理器。存储器和一个或多个处理器彼此连接。所述存储器存储计算机可执行指令,以用于控制所述一个或多个处理器以获得一对训练样本,所述一对训练样本具有第一清晰度的训练图像和具有第二清晰度的参考图像,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络,以生成训练增强图像;将训练增强图像输入到边缘检测神经网络中;由所述边缘检测神经网络基于所述训练增强图像来生成多个第一边缘图;将参考图像输入到边缘检测神经网络中;由所述边缘检测神经网络基于所
述参考图像来生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图计算一个或多个损失,所述一个或多个损失中的各个损失是基于所述多个第一边缘图中的相应一个第一边缘图和所述多个第二边缘图中的相应一个第二边缘图来计算的,所述多个第一边缘图中的所述相应一个第一边缘图和所述多个第二边缘图中的所述相应一个第二边缘图具有相同的尺度;以及调整图像增强卷积神经网络中的参数,以至少最小化所述一个或多个损失。
81.在一些实施例中,边缘检测神经网络包括分别被配置为生成n个边缘图的n个边缘图生成器。可选地,所述n个边缘图生成器中的第n个边缘图生成器包括第n组卷积层、第n个侧面层,该第n个侧面层连接到最后一个卷积层并且被配置为输出相同尺度的第n个边缘图,1≤n≤n。可选地,当1≤n<n时,所述n个边缘图生成器中的所述第n个边缘图生成器还包括连接到所述第n组卷积层中的最后一个卷积层的第n个下采样层(例如,第n个池化层)。可选地,所述存储器存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个图像,以生成第n个处理后的图像;由第n个下采样层池化第n个处理后的图像,以生成第n个下采样后的图像;由第n个侧面层处理第n个处理后的图像,以生成相同尺度的第n个边缘图;当n<n时,将第n个下采样后的图像输入到第(n+1)组卷积层中。
82.在一些实施例中,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以由第n个边缘图生成器生成相同尺度的第n个第一边缘图。可选地,所述存储器还存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个第一图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第一图像,以生成第n个处理后的第一图像;由所述第n个下采样层池化所述第n个处理后的第一图像,以生成第n个下采样后的第一图像;由第n个侧面层处理第n个处理后的第一图像,以生成相同尺度的第n个第一边缘图;当n<n时,将第n个下采样后的第一图像输入到第(n+1)组卷积层中。可选地,当n=1时,第(n-1)个第一图像是训练增强图像。可选地,当n》1时,第(n-1)个第一图像是第(n-1)个下采样后的第一图像。
83.在一些实施例中,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以由第n个边缘图生成器生成相同尺度的第n第二边缘图。可选地,所述存储器还存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个第二图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第二图像,以生成第n个处理后的第二图像;由所述第n个下采样层池化所述第n个处理后的第二图像,以生成第n个下采样后的第二图像;由第n个侧面层处理第n个处理后的第二图像,以生成相同尺度的第n个第二边缘图;当n<n时,将第n个下采样后的第二图像输入到第(n+1)组卷积层中。可选地,当n=1时,第(n-1)个第二图像是训练增强图像。可选地,当n》1时,第(n-1)个第二图像是第(n-1)个下采样后的第二图像。
84.在一些实施例中,所述第n组卷积层包括多个卷积层和多个激励层,所述多个卷积层中的每一个包括(p
×
64)个3
×
3卷积核。在一个示例中,第n组卷积层中的多个卷积层分别包括64、128、256、512和512个3
×
3卷积核。可选地,所述第n个侧面层包括顺序连接的卷积层和反卷积层,所述卷积层连接到所述第n组卷积层中的最后一个卷积层。
85.在一些实施例中,边缘检测神经网络包括第一组卷积层、第一池化层、第一侧面
层、第二组卷积层、第二池化层、第二侧面层、第三组卷积层、第三池化层、第三侧面层、第四组卷积层、第四池化层、第四侧面层、第五组卷积层和第五侧面层。可选地,所述第一组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括64个3
×
3卷积核。可选地,所述第二组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括128个3
×
3卷积核。可选地,所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括256个3
×
3卷积核。可选地,所述第四组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。可选地,所述第五组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。
86.在一些实施例中,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以基于相同尺度的第n个第一边缘图和相同尺度的第n个第二边缘图来计算第n个损失。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器计算l2损失、l1损失和mse损失中的一个或多个。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
87.在一些实施例中,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以将训练增强图像与参考图像进行比较,以计算总损失(第二损失)。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以调整图像增强卷积神经网络中的参数,以至少最小化一个或多个损失和总损失。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器以计算以下中的一个或多个:l2损失、l1损失和mse损失。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
88.在一些实施例中,存储器还存储计算机可执行指令,以用于控制一个或多个处理器使用该对训练图像和参考图像或不同对的训练图像和参考图像来重复训练图像增强卷积神经网络。
89.在另一方面,本公开提供了一种用于训练被配置为增强原始图像的图像增强卷积神经网络的计算机程序产品。所述计算机程序产品包含其上具有计算机可读指令的非暂时性有形计算机可读介质。所述计算机可读指令可由处理器执行以使所述处理器执行:获得
一对训练样本,所述一对训练样本具有第一清晰度的训练图像和具有第二清晰度的参考图像,同一对中的所述训练图像的至少部分和所述参考图像的至少部分具有相同内容;将所述训练图像输入到所述图像增强卷积神经网络以生成训练增强图像;将训练增强图像输入到边缘检测神经网络中;由所述边缘检测神经网络基于所述训练增强图像来生成多个第一边缘图;将参考图像输入到边缘检测神经网络中;由所述边缘检测神经网络基于所述参考图像来生成多个第二边缘图;基于所述多个第一边缘图和所述多个第二边缘图来计算一个或多个损失,所述一个或多个损失中的各个损失是基于所述多个第一边缘图中的相应一个第一边缘图和所述多个第二边缘图中的相应一个第二边缘图来计算的,所述多个第一边缘图中的所述相应一个第一边缘图和所述多个第二边缘图中的所述相应一个第二边缘图具有相同的尺度;以及调整图像增强卷积神经网络中的参数以至少最小化一个或多个损失。
90.在一些实施例中,边缘检测神经网络包括分别被配置为生成n个边缘图的n个边缘图生成器。可选地,所述n个边缘图生成器中的第n个边缘图生成器包括第n组卷积层、第n个侧面层,该第n个侧面层连接到最后一个卷积层并且被配置为输出相同尺度的第n个边缘图,1≤n≤n。可选地,当1≤n<n时,所述n个边缘图生成器中的所述第n个边缘图生成器还包括连接到所述第n组卷积层中的最后一个卷积层的第n个下采样层(例如,第n个池化层)。可选地,所述存储器存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个图像以生成第n个处理后的图像;由第n个下采样层池化第n个处理后的图像以生成第n个下采样后的图像;由第n个侧面层处理第n个处理后的图像以生成相同尺度的第n个边缘图;当n<n时,将第n个下采样后的图像输入到第(n+1)组卷积层中。
91.在一些实施例中,所述计算机可读指令可由处理器执行以进一步使所述处理器执行由第n个边缘图生成器生成相同尺度的第n个第一边缘图。可选地,所述存储器还存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个第一图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第一图像,以生成第n个处理后的第一图像;由所述第n个下采样层池化所述第n个处理后的第一图像,以生成第n个下采样后的第一图像;由第n个侧面层处理第n个处理后的第一图像,以生成相同尺度的第n个第一边缘图;当n<n时,将第n个下采样后的第一图像输入到第(n+1)组卷积层中。可选地,当n=1时,第(n-1)个第一图像是训练增强图像。可选地,当n》1时,第(n-1)个第一图像是第(n-1)个下采样后的第一图像。
92.在一些实施例中,所述计算机可读指令可由处理器执行以进一步使所述处理器执行由第n个边缘图生成器生成相同尺度的第n个第二边缘图。可选地,所述存储器还存储计算机可执行指令,以用于控制所述一个或多个处理器将第(n-1)个第二图像输入到所述第n组卷积层中;由所述第n组卷积层处理所述第(n-1)个第二图像,以生成第n个处理后的第二图像;由所述第n个下采样层池化所述第n个处理后的第二图像,以生成第n个下采样后的第二图像;由第n个侧面层处理第n个处理后的第二图像,以生成相同尺度的第n个第二边缘图;当n<n时,将第n个下采样后的第二图像输入到第(n+1)组卷积层中。可选地,当n=1时,第(n-1)个第二图像是训练增强图像。可选地,当n》1时,第(n-1)个第二图像是第(n-1)个下采样后的第二图像。
93.在一些实施例中,所述第n组卷积层包括多个卷积层和多个激励层,所述多个卷积
层中的每一个包括(p
×
64)个3
×
3卷积核。可选地,所述第n个侧面层包括顺序连接的卷积层和反卷积层,所述卷积层连接到所述第n组卷积层中的最后一个卷积层。
94.在一些实施例中,边缘检测神经网络包括第一组卷积层、第一池化层、第一侧面层、第二组卷积层、第二池化层、第二侧面层、第三组卷积层、第三池化层、第三侧面层、第四组卷积层、第四池化层、第四侧面层、第五组卷积层和第五侧面层。可选地,所述第一组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括64个3
×
3卷积核。可选地,所述第二组卷积层包括两个卷积层和两个激励层,所述两个卷积层中的每一个包括128个3
×
3卷积核。可选地,所述第三组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括256个3
×
3卷积核。可选地,所述第四组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。可选地,所述第五组卷积层包括三个卷积层和三个激励层,所述三个卷积层中的每一个包括512个3
×
3卷积核。
95.在一些实施例中,所述计算机可读指令可由处理器执行以进一步使所述处理器执行基于相同尺度的第n个第一边缘图和相同尺度的第n个第二边缘图来计算第n个损失,1≤n≤n。可选地,一个或多个第一损失包括其中,lossn表示第n个损失。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行计算以下中的一个或多个:l2损失、l1损失和mse损失。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为sum(|y-f(x)|)的l1损失函数来计算l1损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
96.在一些实施例中,所述计算机可读指令可由处理器执行以进一步使所述处理器执行将训练增强图像与参考图像进行比较以计算总损失(第二损失)。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行调整图像增强卷积神经网络中的参数,以至少最小化一个或多个损失和总损失。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行计算以下中的一个或多个:l2损失、l1损失和mse损失。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为sum(|y-f(x)|2)的l2损失函数来计算l2损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为sum(|y-fx)|)的l1损失函数来计算l1损失,其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,sum表示求和运算。可选地,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用表达式为avg(|y-f(x)|2)的mse损失函数来计算mse损失。其中,y表示第n个第二边缘图中的像素值,f(x)表示第n个第一边缘图中的像素值,avg表示求平均运算。
97.在一些实施例中,所述计算机可读指令可由处理器执行以进一步使所述处理器执行使用该对训练图像和参考图像或不同对的训练图像和参考图像来重复训练图像增强卷
积神经网络。
98.在另一方面,本公开提供了一种由本文描述的方法训练的图像增强卷积神经网络。本方法可以训练各种适当的图像增强卷积神经网络。图7是示出根据本公开的一些实施例中的图像增强卷积神经网络的结构的示意图。参考图7,在一些实施例中,图像增强卷积神经网络110包括多个编码模块1110、多个解码模块1120、以及多个编码模块1110中的相应一个和多个解码模块1120中的相应一个之间的至少一个级联(concatenation)。可选地,通过多个编码模块1110中的相应一个和多个解码模块1120中的相应一个之间的至少一个级联,来自多个编码模块1110中的相应一个的输出和来自与多个解码模块1120中的相应一个紧邻的前一级处的解码模块的输出被级联作为多个解码模块1120中的所述相应一个的输入。
99.图8是示出根据本公开的一些实施例中的多个编码模块中的相应一个的结构的示意图。参考图8,在一些实施例中,多个编码模块1110中的相应一个包括串联布置的下采样卷积层1111以及多个第一残差块1112。在一个示例中,下采样卷积层1111是2x下采样卷积层。可选地,下采样卷积层1111包括卷积层(例如,步幅为2的5*5卷积层(conv 5*5)),其后是泄漏整流线性单元(leaky rectified linear unit,leakyrelu)。可选地,多个第一残差块1112中的各个第一残差块包括卷积层(例如,步幅为2的5*5卷积层),接着是泄漏整流线性单元,然后是另一卷积层(例如,步幅为2的5*5卷积层),并且再次接着是另一泄漏整流线性单元。在一些实施例中,多个第一残差块1112中的各个第一残差块还包括用于执行相同映射的一个或多个跳过连接。
100.图9是示出根据本公开的一些实施例中的多个解码模块中的相应一个的结构的示意图。参考图9,在一些实施例中,多个解码模块1120中的相应解码模块包括多个串联布置的第二残差块1121和上采样卷积层1122。在一个示例中,上采样卷积层1122是2x下采样卷积层。可选地,上采样卷积层1122包括反卷积层(例如,步幅为2的5*5反卷积层(deconv 5*5)),其后是泄漏整流线性单元。可选地,多个第二残差块1121中的各个第二残差块包括卷积层(例如,步幅为2的5*5卷积层),接着是泄漏整流线性单元,然后是另一卷积层(例如,步幅为2的5*5卷积层),并且再次接着是另一泄漏整流线性单元。在一些实施例中,多个第二残差块1121中的各个第二残差块还包括用于执行相同映射的一个或多个跳过连接。
101.在一些实施例中,图像增强卷积神经网络包括顺序连接的2n个采样单元;以及多个处理单元,其中,所述多个处理单元中的各个处理单元在所述2n个采样单元中的两个相邻采样单元之间。可选地,所述2n个采样单元中的第一采样单元至第n个采样单元为demux单元,所述demux单元中的各个demux单元被配置成遵循第一置乱规则(first scrambling rule)将各个输入图像中的像素重新布置至所述demux单元中的各个demux单元,以获得各个重新布置的图像,并且被配置成将各个重新布置的图像分割为m个分割图像。可选地,所述2n个采样单元中的第(n+1)个采样单元至第(2n)个采样单元为mux单元,所述mux单元中的各个mux单元被配置成将相应的m’个输入图像组合到所述mux单元中的各个mux单元,以获得各个组合图像,并且被配置成遵循第二置乱规则来重新布置各个组合图像的像素,以获得输出图像。可选地,多个处理单元中的各个处理单元包括顺序连接的多个卷积块。可选地,m是大于等于2的整数,m'是大于等于2的整数,并且n是正整数。
102.如本文所使用,术语“mux单元”是指对多个输入图像执行像素交错和重新布置以
便获得至少一个输出图像的尺度放大单元,该至少一个输出图像的尺度大于所述多个输入图像中的一者的尺度。结果,mux单元通过布置和组合多个输入图像中的像素来增加每个图像的像素数量。可选地,将四个输入图像input 4n、input 4n+1、input 4n+2和input 4n+3输入到mux单元中,假设输入图像的像素数量是a*b;在mux单元的像素重新布置处理之后,输出具有2a*2b个像素的至少一个输出图像output。
103.在一个示例中,将四个输入图像input 4n、input 4n+1、input 4n+2和input 4n+3输入到mux单元中,假设输入图像的像素数量是a*b;在2*2个mux单元的像素重新布置处理之后,输出具有2a*2b个像素的四个图像output 4n、output 4n+1、output 4n+2和output 4n+3。
104.在另一个示例中,将四个输入图像input 4n、input 4n+1、input 4n+2和input 4n+3输入到mux单元中,假设输入图像的像素数量是a*b;在mux单元的像素重新布置处理之后,输出具有2a*2b个像素的一个图像output 4n。
105.如本文所使用,术语“demux单元”是指执行像素重新布置并分割输入图像以便获得多个输出图像的尺度缩小单元,该多个输出图像的尺度比输入图像的尺度小。结果,通过布置输入图像中的像素并将其分割为多个输出图像,demux单元减少了每个图像中像素的数量。可选地,将具有2a*2b个像素的一个输入图像input输入到demux单元,将具有a*b个像素的四个输出图像input 4n、input 4n+1、input 4n+2、input 4n+3从demux单元输出。
106.在一些实施例中,demux单元经配置以重新布置demux单元的各个输入图像的像素,以获得各个重新布置的图像,并将各个重新布置的图像分割为m个分割后的图像(m为大于等于2的整数)。可选地,根据第一置乱规则重新布置各个输入图像的像素,所述第一置乱规则包括:将位置a中的像素移动到位置b,将先前在位置b中的像素移动到位置c
……
。在重新布置各个输入图像的像素以获得布置后的图像之后,将重新布置的图像分割成多个分割后的图像。
107.在一些实施例中,所述各个输入图像的空间尺度(宽
×
高)为4*4,在将所述各输入图像输入到所述demux单元之后,输出空间尺度为2*2的四个分割后的图像。可选地,将各个输入图像的像素分配给四个分割后的图像。
108.由于从demux单元输出的分割后的图像的尺度小于demux单元的各个输入图像的尺度,因此由demux单元执行的处理是下采样,这可以减小所述输入图像的尺度。同时,demux单元仅将到demux单元的各个输入图像的像素重新布置并将其分割,而不丢弃任何像素值,这不会导致任何信息丢失。
109.在一些实施例中,mux单元被配置为组合到mux单元的m'个输入图像,以获得各个组合图像,并且遵循第二置乱规则来布置各个组合图像的像素以获得输出图像。可选地,第一置乱规则和第二置乱规则彼此相反。例如,第二置乱规则包括:将位置c的像素移动到位置b,将先前在位置b的像素移动到位置a
……
,从而输出图像中的像素分别被布置在与输入到demux单元的原始图像中的对应像素相同的位置。
110.在一些实施例中,mux单元将到mux单元的具有2*2的空间尺度的四个输入图像组合成具有4*4的空间尺度的各个组合图像。可选地,四个输入图像中的相应一个的像素被分别分布到分别在具有4*4的空间尺度的各个组合图像中的空间尺度为2*2的的区域。
111.因为从mux单元输出的输出图像的尺度大于到mux单元的m'个输入图像的尺度,所
以由mux单元执行的处理是上采样,这可以增加m'个输入图像的尺度。同时,mux单元仅将到mux单元的m’个输入图像的像素组合并重新布置,而不丢弃任何像素值,这不会导致任何信息丢失。
112.结合本文所公开的配置描述的各种说明性神经网络、层、单元、通道、块和其他操作可以被实现为电子硬件、计算机软件或两者的组合。这样的神经网络、层、单元、通道、块和其他操作可以用被设计为产生如本文所公开的配置的通用处理器、数字信号处理器(dsp)、asic或assp、fpga或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或其任意组合来实现或执行。例如,这样的配置可以至少部分地被实现为硬连线电路、被制造到专用集成电路中的电路配置、或者被加载到非易失性存储中的固件程序、或者作为机器可读代码从数据存储介质加载或加载到数据存储介质中的软件程序,这样的代码是可由诸如通用处理器或其他数字信号处理单元的逻辑元件阵列执行的指令。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以实现为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、与dsp核结合的一个或多个微处理器、或者任何其它这种配置。软件模块可以驻留在非暂时性存储介质中,例如ram(随机存取存储器)、rom(只读存储器)、非易失性ram(nvram),例如闪存ram、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、寄存器、硬盘、可移动磁盘或cd-rom;或者以本领域已知的任何其它形式的存储介质。说明性存储介质耦合到处理器,使得处理器可从存储介质读取信息和将信息写入到存储介质。在替代方案中,存储介质可与处理器成一体式。处理器和存储介质可以驻留在asic中。asic可以驻留在用户终端中。在替代方案中,处理器和存储介质可作为分立组件驻留于用户终端中。
113.为了说明和描述的目的,已经给出了本发明的实施例的上述描述。其不是穷举的,也不是要将本发明限制为所公开的精确形式或示例性实施例。因此,前面的描述应当被认为是说明性的而不是限制性的。显然,许多修改和变化对于本领域技术人员将是显而易见的。选择和描述实施例是为了解释本发明的原理及其最佳模式实际应用,从而使得本领域技术人员能够理解本发明的各种实施例以及适合于所考虑的特定使用或实现的各种修改。本发明的范围旨在由所附权利要求及其等价物来限定,其中除非另有说明,否则所有术语都意味着其最广泛的合理意义。因此,术语“本发明(the invention、the present invention)”等不一定将权利要求范围限制为特定实施例,并且对本发明的示例性实施例的引用不意味着对本发明的限制,并且不应推断出这样的限制。本发明仅由所附权利要求的精神和范围来限定。此外,这些权利要求可能涉及使用“第一”、“第二”等,随后是名词或元素。这些术语应当被理解为命名法,并且不应当被解释为对由这些命名法所修改的元件的数量进行限制,除非已经给出了特定的数量。所描述的任何优点和益处可能不适用于本发明的所有实施例。应当理解,在不脱离由所附权利要求限定的本发明的范围的情况下,本领域技术人员可以对所描述的实施例进行改变。此外,本公开中的元件和组件都不是要贡献给公众,无论该元件或组件是否在所附权利要求中明确叙述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1