使用深度卷积网络的图像去噪系统和方法
1.相关申请的交叉引用
2.本技术要求于2020年3月10日向美国专利商标局提交的第62/987,802号美国临时专利申请、于2020年3月12日向美国专利商标局提交的第62/988,844号美国临时专利申请和于2020年9月2日向美国专利商标局提交的第17/010,670号美国专利申请的优先权和利益,这些申请的全部公开通过引用并入本文。
技术领域
3.本公开的实施例的方面涉及使用深度卷积神经网络的图像去噪系统和方法。
背景技术:
4.图像处理或图像操作(image manipulation)是一项常见的计算机视觉任务,旨在恢复退化的图像内容,填补丢失的信息,或应用各种变换或其他操作来实现期望的结果。图像去噪是一种通常应用于图像的图像处理技术。
技术实现要素:
5.本公开的实施例的方面涉及使用深度卷积神经网络的图像处理(包括去噪)系统和方法。
6.根据本公开的一个实施例,对图像进行去噪方法包括:由用户设备的处理电路接收输入图像;由处理电路将输入图像提供给包括多尺度残差密集块(multi
‑
scale residual dense block,mrdb)的经训练的卷积神经网络(convolutional neural network,cnn),该mrdb包括:残差密集块(residual dense block,rdb);和空洞空间金字塔池化(atrous spatial pyramid pooling,aspp)模块;由处理电路使用mrdb来计算mrdb输出特征图;以及由处理电路基于mrdb输出特征图计算输出图像,该输出图像是输入图像的去噪版本。
7.该方法还可以包括将输入特征图提供给mrdb,该输入特征图可以被提供给rdb的卷积模块的级联(cascade)以计算中间特征图,该输入特征图可以被提供给aspp以计算不同扩张率(dilation rate)下的多个特征图,不同扩张率下的所述多个特征图可以由拼接层拼接(concatenate),该拼接层的输出可以与rdb的中间特征图拼接以形成rdb输出特征图,并且可以基于rdb输出特征图来计算mrdb输出特征图。
8.输入特征图可以被提供给aspp卷积模块,并且可以基于aspp卷积模块的输出来计算不同扩张率下的多个特征图。
9.经训练的cnn可以包括多尺度残差密集网络(multi
‑
scale residual dense network,mrdn),该mrdn包括一个或多个卷积层和包括该mrdb的一个或多个mrdb的级联。
10.输入图像可以被提供给mrdn的第一组卷积层,第一组卷积层的输出可以被提供给一个或多个mrdb的级联,所述一个或多个mrdb的多个输入可以与一个或多个mrdb的级联的最后一个mrdb的输出拼接,由1
×
1卷积层压缩,并且被提供给第二组卷积层以计算mrdb输
出特征图,可以由加法器将mrdb特征图与第二组卷积层的输出相加,并且加法器的输出可以被提供给第三组卷积层以计算输出图像。
11.经训练的cnn可以包括第一具有块连接的u
‑
net(u
‑
net with block connection,u
‑
net
‑
b),第一u
‑
net
‑
b包括在多个尺度下操作的编码器和解码器,包括该mrdb的多个mrdb可以连接多个尺度下的该编码器和该解码器。
12.经训练的cnn还可以包括:第二u
‑
net
‑
b,与第一u
‑
net
‑
b级联以形成级联的具有块连接的u
‑
net(cascaded u
‑
net with block connection,mcu
‑
net);第一加法器,被配置为将输入图像与第一u
‑
net
‑
b的输出相加,其中第一加法器的输出连接到第二u
‑
net
‑
b的输入;和第二加法器,被配置为将第一加法器的输出与u
‑
net
‑
b的输出相加,其中第二加法器被配置为计算cnn的输出。
13.经训练的cnn可以包括多尺度残差密集网络(mrdn),该mrdn包括一个或多个卷积层和包括该mrdb的一个或多个mrdb的级联,经训练的cnn还可以包括级联的具有块连接的u
‑
net(mcu
‑
net),该mcu
‑
net包括第一具有块连接的u
‑
net(u
‑
net
‑
b)和第二u
‑
net
‑
b,该mrdn和该mcu
‑
net可以被集成并被配置为计算第一去噪图像和第二去噪图像,并且输出图像可以是第一去噪图像和第二去噪图像的组合。
14.用户设备还可以包括与用户设备集成的相机系统,该方法还可以包括控制相机系统捕获输入图像,并且处理电路可以从相机系统接收输入图像。
15.根据本公开的一个实施例,一种用于增强用于训练神经网络来执行去噪的图像数据集以的方法,该图像数据集包括真实有噪(real noisy)图像和对应的地面实况(ground truth)图像,该方法包括:由处理电路从对应的地面实况图像中减去真实有噪图像以计算噪声图像;由处理电路基于对应的地面实况图像的强度值来聚类(cluster)噪声图像的多个噪声值;由处理电路置换(permute)每个簇(cluster)内噪声图像的噪声值的多个位置;由处理电路基于噪声值的置换后的位置来生成合成(synthetic)噪声图像;以及由处理电路将合成噪声图像与地面实况图像相加以生成合成有噪图像。
16.根据本公开的一个实施例,被配置为对图像进行去噪的用户设备包括:处理电路;和存储器,存储指令,该指令当被所述处理电路执行时使得处理电路:接收输入图像;将输入图像提供给由处理电路实现的经训练的卷积神经网络(cnn),经训练的cnn包括多尺度残差密集块(mrdb),该mrdb包括:残差密集块(rdb);和空洞空间金字塔池化(aspp)模块;使用该mrdb来计算mrdb输出特征图;以及基于mrdb输出特征图计算输出图像,输出图像是输入图像的去噪版本。
17.存储器还可以存储指令,该指令当由处理电路执行时使得处理电路将输入特征图提供给mrdb,该输入特征图可以被提供给rdb的卷积模块的级联以计算中间特征图,该输入特征图可以被提供给aspp以计算不同扩张率下的多个特征图,不同扩张率下的所述多个特征图可以由拼接层拼接,拼接层的输出可以与rdb的中间特征图拼接以形成rdb输出特征图,并且可以基于rdb输出特征图来计算mrdb输出特征图。
18.可以将输入特征图提供给aspp卷积模块,并且可以基于aspp卷积模块的输出来计算不同扩张率下的多个特征图。
19.经训练的cnn可以包括多尺度残差密集网络(mrdn),该mrdn包括一个或多个卷积层和包括该mrdb的一个或多个mrdb的级联。
20.输入图像可以被提供给mrdn的第一组卷积层,第一组卷积层的输出可以被提供给一个或多个mrdb的级联,所述一个或多个mrdb的多个输入可以与一个或多个mrdb的级联的最后一个mrdb的输出拼接,由1
×
1卷积层压缩,并且被提供给第二组卷积层以计算mrdb输出特征图,可以由加法器将mrdb特征图与第二组卷积层的输出相加,并且加法器的输出可以被提供给第三组卷积层以计算输出图像。
21.经训练的cnn可以包括第一具有块连接的u
‑
net(u
‑
net
‑
b),该第一u
‑
net
‑
b包括在多个尺度下操作的编码器和解码器,包括该mrdb的多个mrdb可以连接多个尺度下的该编码器和该解码器。
22.经训练的cnn还可以包括:第二u
‑
net
‑
b,与第一u
‑
net
‑
b级联以形成级联的具有块连接的u
‑
net;第一加法器,被配置为将输入图像与第一u
‑
net
‑
b的输出相加,其中第一加法器的输出连接到第二u
‑
net
‑
b的输入;和第二加法器,被配置为将第一加法器的输出与第二u
‑
net
‑
b的输出相加,其中第二加法器被配置为计算cnn的输出。
23.经训练的cnn可以包括多尺度残差密集网络(mrdn),该mrdn包括一个或多个卷积层和包括该mrdb的一个或多个mrdb的级联,经训练的cnn还可以包括级联的具有块连接的u
‑
net(mcu
‑
net),该mcu
‑
net包括第一具有块连接的u
‑
net(u
‑
net
‑
b)和第二u
‑
net
‑
b,该mrdn和该mcu
‑
net可以被集成和配置为计算第一去噪图像和第二去噪图像,并且输出图像可以是第一去噪图像和第二去噪图像的组合。
24.用户设备还可以包括与用户设备集成的相机系统,处理电路还可以被配置为控制相机系统捕获输入图像,并且处理电路可以从相机系统接收输入图像。
附图说明
25.附图与说明书一起示出了本发明的示例性实施例,并且与说明书一起用于解释本发明的原理。
26.图1是根据一个实施例的数字相机系统的示例的框图。
27.图2是根据本公开的一个实施例的使用包括多尺度残差密集块(mrdb)的卷积神经网络(cnn)处理图像的方法的流程图。
28.图3是示出根据本公开的一个实施例的多尺度残差密集块(mrdb)的架构的示意框图。
29.图4是示出根据本公开的一个实施例的包括一个或多个mrdb的多尺度残差密集网络的架构的示意性框图。
30.图5是根据本公开的一个实施例的多尺度残差密集块级联的具有块连接的u
‑
net的示意图。
31.图6是根据本公开的一个实施例的多尺度残差密集级联的具有块连接的u
‑
net(multi
‑
scale residual dense cascaded u
‑
net with block
‑
connection,mcu
‑
net)的框图。
32.图7是示出根据本公开的一个实施例的其中mrdn与mcu
‑
net集成的网络的集成的一个示例的框图。
33.图8是示出根据本公开的一个实施例的用于生成合成的噪声图像的方法的框图。
oxide semiconductor,cmos)图像传感器)前面的透镜112。数字相机系统100还可以包括处理电路(诸如被配置为接收由数字相机模块110捕获的数据(例如,场景的图像数据)处理器(例如,应用处理器(application processor,ap)和/或图像信号处理器(isp))130),并且可以将接收到的数据存储在存储器150中。存储器150可以包括动态存储器(dynamic memory,dram)和/或永久存储器(例如,闪存)。在一些情况下,图像信号处理器116被集成到处理器130中。在一些实施例中,数字相机系统100还包括协处理电路或协处理器170,诸如现场可编程门阵列(field programmable gate array,fpga)、图形处理单元(graphical processing unit,gpu)、矢量处理器或神经处理单元。在一些实施例中,协处理器与处理器130集成(例如,在同一物理管芯上)。处理器和协处理器在本文中可以统称为“处理器”或“处理电路”,因为根据各种设计选择和对不同类型任务的适用性,各种操作可以分布在不同的物理电路之间。
41.当操作数字相机时,在许多情况下,数字相机模块110连续捕获场景的图像。例如,数字相机系统100可以在显示设备190上显示连续捕获的图像,以通过镜头向用户(例如,摄影者)提供基于当前捕获设置(诸如焦点、光圈、快门速度、传感器增益(例如,iso)、白平衡等)的场景的实时预览。在一些情况下,用户可以使用可以包括相机上的物理按钮和转盘或者软件控件(例如,显示在触敏显示设备190上的控件)的数字相机系统的控件来改变捕获设置。作为一个示例,用户可以通过触摸显示用户希望相机聚焦的场景的对象的部分的显示器的部分来调整相机的焦点。通常,用户还可以通过激活“快门释放”或“录制”控件(例如,屏幕上显示的硬件按钮或软件按钮)来触发录制例如单个图像、一连串图像或者视频。
42.尽管图1示出了数字相机系统100的一个示例,但是本公开的实施例不限于与其一起使用。例如,根据本公开实施例的图像处理技术也可以在与数字相机100分离或远离数字相机100的一个或多个处理器上实现。在一些实施例中,由数字相机系统100捕获的数字图像(例如,原始相机数据或经转换的rgb数据)被传送到一个或多个计算机系统(例如,膝上型计算机、台式计算机和/或云计算系统的一个或多个服务器)和那些一个或多个计算机系统的处理器(例如,电子处理电路)来根据本公开的实施例执行图像处理。
43.本公开的实施例的各个方面涉及真实图像去噪网络。本公开的实施例的一个方面涉及使用一个或多个多尺度残差密集块(mrdb)的多尺度残差密集网络(mrdn)。本公开的实施例的另一方面涉及mrdb级联的具有块连接的u
‑
net(mrdb cascaded u
‑
net with block
‑
connection,mcu
‑
net)。本公开的实施例的方面涉及:在神经块设计中对多尺度特征使用mrdb;使用块连接来代替多层特征的跳跃连接(skip connection);以及使用噪声置换(noise permutation)进行数据增强以降低模型过度拟合的可能性或避免模型过度拟合。本公开的实施例实现了在去除噪声的同时重建或保留图像中的纹理细节方面的良好的性能。
44.图2是根据本公开的一个实施例的使用包括多尺度残差密集块(mrdb)的卷积神经网络处理图像的方法的流程图。作为一个示例,可以训练包括mrdb的cnn架构使用mrdb对输入图像执行图像去噪以生成输入图像的图像经处理的(例如,去噪)版本。
45.如上所述,根据本公开实施例的图像处理系统的方法的各种操作可以由计算系统的一个或多个处理电路来实现。例如,一些或所有操作可以由处理器130(例如,图像信号处理器和/或应用处理器)执行,一些或所有操作可以由协处理器170执行,并且一些或所有操
作可以由远程计算设备(例如,云计算系统或个人计算机系统,诸如膝上型或台式计算机)执行。例如,在本公开的一些实施例中,图像处理系统完全在数字相机系统100(例如,在存储器150、处理器130和/或协处理器170上)内实现,完全在个人计算机系统的图像处理系统(例如,在个人计算机系统的一个或多个处理电路和存储器上)内实现,或者完全在由云计算系统实现的图像处理系统(例如,云计算系统的处理电路)内实现。根据本公开实施例的图像处理系统也可以以通过数字相机系统100、个人计算机系统和云计算系统的本地处理的组合来实现。
46.参考图2,根据本公开的一个实施例,在操作210中,图像处理系统接收用于处理的图像。作为激励性的示例,一个这样的图像处理操作是去噪。在操作230中,处理系统将输入图像提供给包括多尺度残差密集块(mrdb)的经训练的卷积神经网络(cnn)。在操作250中,通过使用mrdb来计算特征图。在操作270中,基于由mrdb计算的特征图,生成输入图像的经图像处理的版本。
47.多尺度残差密集块(mrdb)和多尺度残差密集网络(mrdn)
48.图3是示出根据本公开的一个实施例的多尺度残差密集块(mrdb)300的架构的示意框图。
49.根据本公开实施例的mrdb组合了由空洞空间金字塔池化(aspp)模块(参见,例如,l.c.chen,y.zhu,g.papandreou,f.schroff,and h.adam.encoder
‑
decoder with atrous separable convolution for semantic image segmentation.in eccv,801
‑
818,2018)计算的多尺度特征和由残差密集块(rdb)模块(参见,例如,y.zhang,y.tian,y.kong,b.zhong and y.fu.residual dense network for image super
‑
resolution.in cvpr,pp.2472
‑
2481,2018)计算的其他特征,其中输入特征图302被提供给aspp模块320和rdb模块350。
50.如图3所示,输入特征图302被提供给mrdb 300。输入特征图302可以是卷积神经网络的其他部分(或层)的输出。在图3所示的实施例中,输入特征图302被提供给一个或多个卷积模块,诸如包括卷积(conv)层312和激活函数314的aspp卷积模块310。卷积层312对其输入特征图执行卷积操作(例如,将输入特征图与经训练的卷积核的权重进行卷积)。激活功能314将函数应用于其输入的每个元素(例如,应用于卷积层312的输出的每个像素)。在图3所示的实施例中,激活函数314是修正线性单元(rectified linear unit,relu),但是本公开的实施例可以使用其他激活函数,诸如渗漏(leaky)relu函数、softplus函数、softmax函数、sigmoid函数等。
51.在图3所示的实施例中,aspp卷积模块310的输出作为输入提供给aspp模块320,aspp模块320包括四个并行网络块或层,包括conv 1
×
1层322、conv rate 6层324、conv rate 12层326和池化(pooling)层328。conv rate 6层324和conv rate 12层326表示分别实现具有6和12的扩张率的3
×
3扩张卷积核的层,其中扩张率指核的像素之间的间隔或步距(stride)。图像池化层328基于输入特征来计算全局特征(例如,计算输入到aspp 320的所有特征的全局平均值或全局最大值)。conv rate 6层324、conv rate 12层326和图像池化层328根据在卷积层的情况下由它们的扩张率设置的感受野(receptive field)的大小或在池化层328的情况下的全局特征,以不同的尺度(多尺度)捕获块的输入的特征。由aspp模块320计算的特征由拼接模块330的拼接(concat)层332拼接,并且使用拼接模块330的conv 1
×
1层334压缩。拼接模块330的输出然后与由rdb模块350计算的其他特征组合,这将
在下面更详细地描述。
52.虽然图3示出了具有四个并行网络块conv 1
×
1层322、conv rate 6层324、conv rate 12层326和池化层328的aspp模块320,但是本公开的实施例不限于此。例如,aspp模块320可以包括以不同的扩张率(例如,扩张率不同于6和12)实现卷积和/或具有不同大小的核(例如,5
×
5核)的附加块或层。
53.mrdb 300的残差密集块(rdb)350包括顺序连接的多个卷积模块,具有上游模块的输出到下游模块的输入之间的残差连接,包括拼接模块358。在图3所示的实施例中,rdb包括第一卷积模块352、第二卷积模块354和第三卷积模块356,其中每个卷积模块包括卷积层(例如,在结构上类似于卷积模块310的卷积层312)和激活函数层(例如,实现relu、softmax等)。
54.例如,第一残差连接提供要与第二卷积模块354、第三卷积模块356和拼接模块358的其他输入组合(例如,拼接)的输入特征图302。
55.类似地,来自第一卷积模块352的输出的第二残差连接提供要与第三卷积模块356和拼接模块358的其他输入(例如,来自第一残差连接的输入特征图302的副本)组合(例如,拼接)的第一卷积模块352的第一输出特征图。
56.类似地,来自第二卷积模块的输出的第三残差连接提供要与拼接模块358的其他输入组合(例如,拼接)的第二卷积模块354的第二输出特征图。
57.rdb 350的拼接模块358拼接最后一个卷积模块(例如,第三卷积模块356)的输出和经由残差连接的来自早期模块的特征图,以计算中间特征图,该中间特征图与aspp模块320的拼接模块330的输出拼接,并且使用conv1
×
1层压缩该拼接结果。由加法器360将拼接模块358的输出与输入特征图302相加,以计算mrdb的输出特征图392。
58.图4是示出根据本公开的一个实施例的包括一个或多个mrdb的多尺度残差密集网络(mrdn)400的架构的示意框图。根据本公开实施例的一个方面的多尺度残差密集网络(mrdn)基于多尺度残差密集块(mrdb)。mrdb的输出保持其输入的通道数不变,以避免指数复杂度的增加(如果mrdb的输出通道数大于输入通道数,就会出现这种情况)。神经网络的mrdn架构包括具有密集连接的mrdb的级联。具体地,mrdb的输出通过conv 1
×
1层进行拼接和压缩,并且采用全局残差连接来获得干净的特征。
59.在图4所示的示例中,mrdn包括三个mrdb。然而,本公开的实施例不限于此,并且mrdn可以包括一个或多个mrdb(例如,至少一个mrdb)。
60.根据本公开的一些实施例,mrdn是被训练来对输入图像执行图像处理的卷积神经网络。例如,在一些实施例中,mrdn被训练来执行对输入图像402的去噪以生成去噪图像492。然而,本公开的实施例不限于此。例如,在一些实施例中,mrdn被训练来执行不同的图像处理操作(诸如边缘检测、对比度增强等),诸如通过在训练过程中使用不同的训练数据。在本公开的一些实施例中,mrdn被用作神经网络的组件,其中mrdn的输入是输入特征图(例如,神经网络的另一部分的输出),并且其输出是输出特征(例如,作为其他计算的输入(诸如神经网络的另一部分或经典图像处理滤波器的输入)提供)。
61.在图4所示的实施例中,输入图像402被提供给按顺序排列的第一组卷积层410,包括将其输出提供给第二卷积层412的第一卷积层411。类似于上述卷积层,这些卷积层中的每一个卷积层可以包括经训练的权重(例如,通过训练过程学习的权重)的卷积核,其中卷
500使用mrdb作为该架构的编码器501和解码器509部分之间的连接(作为“块连接”),这使得u
‑
net
‑
b 500能够自适应地变换u
‑
net
‑
b 500的编码器501的特征,并且将变换后的特征传送到u
‑
net
‑
b 500的解码器509。同时,为了增强其性能和鲁棒性(robustness),mcu
‑
net采用了级联结构。相比之下,不使用mrdb的比较性的u
‑
net利用跳过连接(skip connection)来跨越跨编码器和解码器的层,而不执行特征图的进一步变换。
71.更详细地,在图5所示的实施例中,1
×
1卷积层511用于扩展输入502(例如,输入特征图或输入图像)的特征通道的数量,以生成扩展后的输入521。扩展后的输入521被提供给第一尺度510的第一mrdb 512,以计算第一尺度510下的第二特征图522。第一尺度510下的第二特征图522被提供给第二mrdb 514,第二mrdb 514计算第一尺度510下的经编码的特征524。第二特征图522还被提供给第一下采样模块513,第一下采样模块513对第二特征图522进行下采样,并且对经下采样的特征图应用1
×
1卷积,以生成第二尺度530下的第一特征图541。
72.第二尺度530下的第一特征图541被提供给第二尺度530下的第一mrdb 532,以计算第二尺度530下的第二特征图542。第二尺度下的第二特征图542被提供给第二尺度530下的第二mrdb 534,以计算第二尺度530下的经编码的特征544。第二尺度530下的第二特征图542还被提供给下采样模块535,下采样模块535对第二特征图542进行下采样并且对经下采样的第二特征图应用1
×
1卷积,以生成第三尺度550下的第一特征图561。
73.第三尺度550下的第一特征图561被提供给第三尺度550下的第一mrdb 552,以计算第三尺度550下的第二特征图562。第二尺度下的第二特征图562被提供给第二尺度550下的第二mrdb 554,以计算第三尺度550下的经编码的特征564。第三尺度550下的第二特征图562还被提供给下采样模块557,下采样模块557对第二特征图562进行下采样并且对经下采样的第二特征图应用1
×
1卷积,以生成第四尺度570的第一特征图581。
74.第四尺度570的第一特征图581被提供给第四尺度570的mrdb 572,以计算第四尺度570的经编码的特征584。
75.第一尺度510、第二尺度530、第三尺度550和第四尺度570的经编码的特征524、544、564和584分别被提供给编码器509。
76.第四尺度570下的经编码的特征584被提供给上采样模块575,上采样模块575将经编码的特征584从第四尺度570上采样到第三尺度550,以生成第三尺度550下的经上采样的特征565。
77.经上采样的特征565与第三尺度550下的经编码的特征564拼接,并且拼接后的特征被提供给第三尺度550下的第三mrdb 556,以产生第三尺度550下的输出特征566。第三尺度550下的输出特征566被提供给上采样模块553,上采样模块553将输出特征556从第三尺度550上采样到第二尺度530并且对经上采样的特征应用1
×
1卷积,以生成第二尺度530下的经上采样的特征545。
78.经上采样的特征545与第二尺度530下的经编码的特征544连接,并且连接的特征被提供给第二尺度530的第三mrdb 536,以生成第二尺度530下的输出特征546。第二尺度530下的输出特征546被提供给上采样模块531,上采样模块531将输出特征546从第二尺度530上采样到第一尺度510,并且对经上采样的特征应用1
×
1卷积,以生成第一尺度510下的经上采样的特征525。
79.经上采样的特征525与第一尺度510下的经编码的特征524拼接,并且拼接后的特征被提供给第一尺度510下的第三mrdb 516,以生成第一尺度530下的输出特征526。由1
×
1conv层517将1
×
1卷积应用于输出特征526,以生成输出592。
80.虽然图5所示的实施例示出了具有四个不同尺度以及每个尺度下三个mrdb的u
‑
net
‑
b 500架构,但是本公开的实施例不限于此。例如,根据本公开的实施例的u
‑
net
‑
b可以包括多于四个尺度,并且可以包括各种尺度下不同数量的mrdb(例如,每个尺度下至少一个mrdb)。每种尺度下的mrdb数量可以因尺度不同而不同。
81.在一些实施例中,为了确保网络仅学习训练输入502和标记的训练输出592之间的差异,应用残差连接。例如,在图像去噪的情况下,使用残差连接缩短或简化了用于训练网络以学习如何消除输入图像中噪声的存在并且生成干净的输出图像的训练过程。
82.图6是根据本公开的一个实施例的多尺度残差密集级联的具有块连接的u
‑
net(mcu
‑
net)的框图。在图6所示的实施例中,两个u
‑
net
‑
b 651和652被级联(例如,顺序或串联排列)。输入602(诸如输入图像或输入特征图)被提供给计算第一特征图的第一u
‑
net
‑
b 651。从输入到第一u
‑
net
‑
b 651的第一残差连接631将输入602提供给第一加法器661,第一加法器661将第一特征图与输入602相加。
83.第一加法器661的输出被提供给计算第二特征图的第二u
‑
net
‑
b 652。第二残差连接632将第一加法器的输出提供给第二加法器662,第二加法器662将第一加法器的输出与第二特征图652相加以计算输出692(例如,输出特征图或输出图像,诸如输入602的去噪版本)。
84.如上所述,当端到端训练mcu
‑
net 600时(例如,通过在输入端提供有噪图像来训练权重以匹配在输出端训练去噪图像),残差连接631和632使得两个u
‑
net
‑
b 651和652学习它们的输入和期望输出(例如,消除噪声的值)之间的差异。
85.因此,本公开的实施例的一些方面涉及用于执行图像处理(包括图像去噪)的mcu
‑
net架构,其中mcu
‑
net使用mrdb来执行mcu
‑
net的编码器和解码器之间的附加特征变换,从而提高图像处理的质量,诸如从输入图像中减少或去除噪声。
86.集成(ensemble)网络
87.本公开的实施例的一些方面涉及集成网络,其中不同网络的输出被组合。例如,根据本公开的一些实施例的多尺度残差密集网络(mrdn)(参见,例如,图4)可以与另一个经训练的预测器(例如,另一个卷积神经网络)集成。作为另一个示例,根据本公开的一个实施例的多尺度残差密集级联的具有块连接的u
‑
net可以与另一个经训练的预测器集成。
88.图7是示出其中mrdn与mcu
‑
net集成的网络集成的一个示例的框图。如图7所示,集成700接受输入702(例如,有噪图像)并且将该图像作为输入提供给第一网络750(例如,mrdn)和第二网络760(例如,mcu
‑
net 760),其中第一网络750和第二网络760都被训练来对作为输入提供给它们的输入图像进行去噪。这两个网络750和760计算输出去噪图像,并且组合模块770组合两个输出去噪图像(例如,通过计算两个图像的像素级(pixel
‑
wise)平均或均值)来生成集成的输出792。
89.虽然图7示出了其中两个网络集成在一起的实施例,但是本公开的实施例不限于此。例如,具有不同网络架构的附加去噪网络也可以与第一网络750和第二网络760并行添加。在一些实施例中,组合模块770使用除了平均之外的操作来组合不同网络的输出,诸如
基于不同网络在计算值中的置信度的加权平均值或基于投票的组合。例如,在一些实施例中,在基于投票的组合中,比较由不同网络计算的输出值,并且丢弃计算值中的统计离群点(statistical outlier)(例如,在三个网络的情况下,如果两个网络生成非常接近的值,并且第三个网络生成非常不同的值,则第三个网络生成的值被丢弃,并且前两个网络的平均值作为输出返回)。
90.此外,虽然图7描绘了使用平均作为由组合模块770执行的操作,但是本公开的实施例不限于此。例如,在本公开的一些实施例中,由不同网络计算的值是基于它们的输出图像的不同块(patch)中的质量度量(例如,平滑度)来评估,并且不同网络的输出基于该质量度量在每个块中被加权。
91.因此,本公开的实施例的一些方面涉及神经网络架构和使用网络(包括网络,该网络包括一个或多个mrdb)集成的方法,以执行图像处理操作,诸如图像去噪。
92.具有噪声置换的训练数据/数据增强
93.如上所述,使用训练数据集来训练根据本公开实施例的用于使用神经网络架构执行图像处理操作的神经网络,该训练数据集包括有噪输入图像和对应的去噪“地面实况(ground truth)”图像(例如,该网络的期望的无噪输出)。训练神经网络通常包括初始化神经网络(例如,将网络中的权重(诸如卷积核中的权重)设置为随机值),并且将训练输入数据提供给网络。然后将网络的输出与标记的训练数据进行比较以生成误差信号(例如,当前输出和“地面实况”输出之间的差异),并且使用反向传播算法与梯度下降来更新权重,经过多次迭代,使得网络计算出更接近期望的地面实况图像的结果。
94.用于训练卷积神经网络以执行去噪的图像数据集基于数据集内所提供的有噪图像的来源可以分为两类:合成图像数据集和真实图像数据集。合成图像数据集通常通过以下方式构建:首先通过对高分辨率图像进行下采样或对低iso图像进行后处理,收集高质量图像作为无噪声图像;然后基于统计噪声模型(例如,高斯噪声模型或泊松
‑
高斯噪声模型)添加合成噪声来生成合成有噪图像。真实图像数据集通常通过以下方式生成:首先在短时间内(例如,以确保最小图像内容变化,诸如场景亮度变化或场景中对象的移动)收集多个真实有噪图像;然后融合这些多个图像以生成合成的无噪声或低噪声图像。
95.通常,使用真实图像技术生成的图像数据集更接近于在实际应用中处理的真实数据。然而,由于训练数据大小的限制(例如,数据集可能不够大以避免过度拟合的风险),基于学习的方法中仍然存在过度拟合的挑战。
96.因此,本公开的实施例的一些方面涉及使用噪声置换的数据增强(data augmentation),该数据增强可以通过利用真实内容和真实噪声信息来生成附加的合成有噪图像数据。
97.数据增强是帮助神经网络避免过度拟合问题的有效技术。数据增强的一些比较性的方法涉及输入有噪图像的各种参数(诸如亮度、对比度和/或饱和度)的抖动(jittering)。然而,这些抖动方法可能会改变真实有噪图像的噪声特性,因此可能不会生成代表真实世界条件下所见的数据。其他常见的图像增强(诸如图像翻转和旋转)不能直接用于原始rgb数据(例如,拜耳原始数据),因为像素的经移动的位置可能不与拜耳滤波器的实际位置对齐,并且因为不同的像素颜色可能与不同的噪声特性相关联。因此,因为在增强后不匹配的拜耳样式(bayer pattern),这些比较性的数据增强技术将生成低质量的训练
图像。
98.本公开的方面涉及利用来自真实有噪图像的真实噪声来生成附加的合成有噪图像的噪声数据置换方法。通过改变真实噪声的空间分布,用真实内容和噪声生成更多的训练样本。
99.图8是示出根据本公开的一个实施例的用于生成合成有噪图像的方法的框图。如图8所示的方法可以使用适当的处理电路(诸如个人计算机或服务器计算机的处理器和存储器)来实现。
100.如图8所示,真实有噪图像801中的噪声数据的表示或图像由噪声提取器810生成,其中噪声提取器810从其对应的有噪图像801中减去地面实况(无噪声)图像803。得到的噪声数据或噪声图像(例如,真实有噪图像801和无噪声图像803之间的差)被提供给噪声聚类模块820,噪声聚类模块820被配置为基于在地面实况(无噪声)图像803的对应位置处的强度值来将数据分成n个簇(cluster)。例如,n可以指地面实况图像803中的灰度等级(gray level)的数量(例如,在8位色彩的情况下,为每个子像素n=256等级),所以针对1到n中的每一个值k,在地面实况图像803中的每个位置处具有强度k的噪声数据的值一起被分组到第k簇中。
101.在每个簇内,执行随机置换830以交换那些噪声值的位置。例如,噪声置换模块831置换与地面实况图像803中的第一强度值相对应的所有位置的噪声值的位置,噪声置换模块832置换与地面实况图像803中的第i强度值相对应的所有位置的噪声值的位置,并且噪声置换模块833置换与地面实况图像803中的第n强度值相对应的所有位置的噪声值的位置。在置换之后,噪声图像再生成模块840将置换后的噪声值放回到地面实况图像803中相等强度的位置来生成新的合成噪声图像,并且加法器860将合成噪声图像返回与对应的地面实况图像803相加以生成新的合成有噪图像891。这个过程可以用相同的输入图像但是噪声值的不同的置换重复几次,以生成不同的合成有噪图像892。类似地,对于来自训练数据集的每个训练图像和地面实况图像对,该过程可以重复几次。
102.因此,本公开的实施例的一些方面涉及使用噪声置换的数据增强,该数据增强:不引入基于统计噪声模型的人工噪声;很大程度上保留了具有适当n的原始相机数据(例如,原始rgb空间或原始拜耳数据)中的噪声的信号相关性;并且它为给定的地面实况图像提供了具有不同的接近真实的有噪图像的更多训练样本。因此,使用噪声置换的数据增强增加了具有更接近于真实世界情况中会遇到的噪声类型的数据的训练数据集的大小,从而有助于避免训练期间的模型过度拟合。
103.因此,本公开的实施例的各个方面涉及使用包括多尺度残差密集块(mrdb)的卷积神经网络(cnn)进行图像处理的系统和方法。本公开的一些实施例涉及用于包括一个或多个mrdb的cnn的架构。例如,多尺度残差密集网络(mrdn)包括具有残差连接的卷积层和一系列级联的mrdb。作为另一个示例,具有块连接的u
‑
net(u
‑
net
‑
b)基于u
‑
net架构,并且还包括提供u
‑
net
‑
b的编码器部分和解码器部分之间的连接的mrdb。多尺度残差密集级联的具有块连接的u
‑
net包括以级联方式排列的、具有残差连接的多个u
‑
net
‑
b,以训练该网络来学习图像传感器的噪声模式特性。
104.此外,本公开的实施例的一些方面涉及用于去噪的训练数据集的数据增强。根据本公开的这些实施例增强的数据集可以用于训练根据本公开的其他实施例的神经网络。在
一些实施例中,根据本公开实施例的经训练的神经网络(例如,包括mrdb的神经网络、mrdn,包括u
‑
net
‑
b的神经网络或mcu
‑
net)在用户设备(诸如智能手机、数字相机系统等)上部署和执行。
105.虽然已经结合特定示例性实施例描述了本发明,但是应当理解,本发明不限于所公开的实施例,相反,本发明旨在覆盖包括在所附权利要求及其等同物的精神和范围内的各种修改和等同布置。