CN110717851B - 图像处理方法及装置、神经网络的训练方法、存储介质 - Google Patents

图像处理方法及装置、神经网络的训练方法、存储介质 Download PDF

Info

Publication number
CN110717851B
CN110717851B CN201910995755.2A CN201910995755A CN110717851B CN 110717851 B CN110717851 B CN 110717851B CN 201910995755 A CN201910995755 A CN 201910995755A CN 110717851 B CN110717851 B CN 110717851B
Authority
CN
China
Prior art keywords
image
level
output
training
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910995755.2A
Other languages
English (en)
Other versions
CN110717851A (zh
Inventor
那彦波
陈文彬
刘瀚文
朱丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN201910995755.2A priority Critical patent/CN110717851B/zh
Publication of CN110717851A publication Critical patent/CN110717851A/zh
Priority to PCT/CN2020/120586 priority patent/WO2021073493A1/zh
Priority to US17/419,350 priority patent/US11954822B2/en
Application granted granted Critical
Publication of CN110717851B publication Critical patent/CN110717851B/zh
Priority to US18/396,866 priority patent/US20240233074A9/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

一种图像处理方法及装置、神经网络的训练方法及存储介质。该图像处理方法包括:基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对中间特征图像进行合成处理,以得到输出图像。循环缩放处理包括:N‑1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括依次执行的下采样处理、联接处理、上采样处理和残差链接相加处理;当前层级的联接处理基于当前层级的下采样处理的输出和下一层级的初始特征图像进行联接得到当前层级的联合处理的输出;下一层级的缩放处理嵌套在当前层级的下采样处理和联接处理之间。

Description

图像处理方法及装置、神经网络的训练方法、存储介质
技术领域
本公开的实施例涉及一种图像处理方法、图像处理装置、神经网络的训练方法、合成网络模型的图像处理方法、合成网络模型的构建方法以及存储介质。
背景技术
当前,基于人工神经网络的深度学习技术已经在诸如图像分类、图像捕获和搜索、面部识别、年龄和语音识别等领域取得了巨大进展。深度学习的优势在于可以利用通用的结构以相对类似的***解决非常不同的技术问题。卷积神经网络(Convolutional NeuralNetwork,CNN)是近年发展起来并引起广泛重视的一种人工神经网络,CNN是一种特殊的图像识别方式,属于非常有效的带有前向反馈的网络。现在,CNN的应用范围已经不仅仅限于图像识别领域,也可以应用在人脸识别、文字识别、图像处理等应用方向。
发明内容
本公开至少一个实施例提供一种图像处理方法,包括:获取输入图像;基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对所述中间特征图像进行合成处理,以得到输出图像;其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
例如,所述第i层级的联接处理基于所述第i层级的下采样输出和所述第i+1层级的初始特征图像进行联接得到所述第i层级的联合输出,包括:将所述第i层级的下采样输出作为所述第i+1层级的缩放处理的输入,以得到所述第i+1层级的缩放处理的输出;以及将所述第i+1层级的缩放处理的输出与所述第i+1层级的初始特征图像进行联接,以得到所述第i层级的联合输出。
例如,至少一个层级的缩放处理连续执行多次,且前一次缩放处理的输出作为后一次缩放处理的输入。
例如,每个层级的缩放处理连续执行两次。
例如,在所述N个层级的初始特征图像中,第1层级的初始特征图像的分辨率最高,且第1层级的初始特征图像的分辨率与所述输入图像的分辨率相同。
例如,前一层级的初始特征图像的分辨率为后一层级的初始特征图像的分辨率的整数倍。
例如,基于所述输入图像,得到分辨率从高到低排列的所述N个层级的初始特征图像,包括:将所述输入图像与随机噪声图像进行联接,以得到联合输入图像;以及对所述联合输入图像进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的所述N个层级的初始特征图像。
例如,获取所述输入图像,包括:获取具有第一分辨率的原始输入图像;以及对所述原始输入图像进行分辨率转换处理,以得到具有第二分辨率的所述输入图像,所述第二分辨率大于第一分辨率。
例如,采用双立方插值算法、双线性插值算法和兰索斯(Lanczos)插值算法之一进行所述分辨率转换处理。
例如,所述的图像处理方法还包括:对所述输入图像进行裁剪处理,以得到具有交叠区域的多个子输入图像;
所述基于输入图像得到分辨率从高到低排列的N个层级的初始特征图像具体包括:基于每个子输入图像,得到分辨率从高到低排列的N个层级的子初始特征图像,N为正整数,且N>2;
所述基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像具体包括:基于第2~N层级的子初始特征图像,对所述第1层级的子初始特征图像进行循环缩放处理,以得到子中间特征图像;
所述对所述中间特征图像进行合成处理,以得到输出图像具体包括:对所述子中间特征图像进行合成处理,以得到对应的子输出图像;以及将所述多个子输入图像对应的子输出图像拼接为所述输出图像。
例如,所述多个子输入图像的尺寸大小相同,所述多个子输入图像的中心形成均匀规则的网格,且在行方向和列方向上,相邻的两个子输入图像的交叠区域的尺寸大小均是恒定的,所述输出图像中每个像素点的像素值表示为:
其中,Yp表示所述输出图像中的任意一个像素点p的像素值,T表示包括该像素点p的子输出图像的数量,Yk,(p)表示该像素点p在第k幅包括该像素点p的子输出图像中的像素值,sk表示在所述第k幅包括该像素点p的子输出图像中该像素点p到所述第k幅包括该像素点p的子输出图像的中心的距离。
本公开至少一个实施例还提供一种合并神经网络的图像处理方法,其中,所述合并神经网络包括多个神经网络,所述多个神经网络用于执行同一图像处理任务,所述多个神经网络的输入图像的分辨率相同,所述多个神经网络的输出图像的分辨率相同,所述多个神经网络两两之间至少结构和参数之一不同;所述合并神经网络的图像处理方法,包括:将输入图像输入所述合并神经网络中的所述多个神经网络,以分别得到所述多个神经网络的输出;以及将所述多个神经网络的输出相加取平均值,以得到所述合并神经网络的输出。
例如,所述多个神经网络包括第一神经网络,所述第一神经网络用于执行第一图像处理方法,所述第一图像处理方法包括:获取输入图像;基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对所述中间特征图像进行合成处理,以得到输出图像;其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
本公开至少一个实施例还提供一种神经网络的训练方法,其中,所述神经网络包括:分析网络、循环缩放网络和合成网络;所述训练方法包括:获取第一训练输入图像;使用所述分析网络对所述第一训练输入图像进行处理,以得到分辨率从高到低排列的N个层级的训练初始特征图像,N为正整数,且N>2;使用所述循环缩放网络,基于第2~N层级的训练初始特征图像,对第1层级的训练初始特征图像进行循环缩放处理,以得到训练中间特征图像;使用所述合成网络对所述训练中间特征图像进行合成处理,以得到第一训练输出图像;基于所述第一训练输出图像,通过损失函数计算所述神经网络的损失值;以及根据所述神经网络的损失值对所述神经网络的参数进行修正;其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括依次执行的下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
例如,所述损失函数表示为:
其中,L(Y,X)表示所述损失函数,Y表示所述第一训练输出图像,X表示所述第一训练输入图像对应的第一训练标准图像,Sk-1(Y)表示对所述第一训练输出图像进行第k-1层级下采样处理得到的输出,Sk-1(X)表示对所述第一训练标准图像进行第k-1层级的下采样处理得到的输出,E[]表示对矩阵能量的计算。
例如,使用所述分析网络对所述第一训练输入图像进行处理,以得到分辨率从高到低排列的所述N个层级的训练初始特征图像,包括:将所述第一训练输入图像与随机噪声图像进行联接,以得到训练联合输入图像;以及使用所述分析网络对所述训练联合输入图像进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的所述N个层级的训练初始特征图像。
例如,基于所述第一训练输出图像,通过所述损失函数计算所述神经网络的损失值,包括:使用判别网络对所述第一训练输出图像进行处理,并基于所述第一训练输出图像对应的判别网络的输出计算所述神经网络的损失值。
例如,所述判别网络包括:M-1个层级的下采样子网络、M个层级的判别支网络、合成子网络和激活层;所述M-1个层级的下采样子网络用于对所述判别网络的输入进行不同层级的下采样处理,以得到M-1个层级的下采样子网络的输出;所述判别网络的输入和所述M-1个层级的下采样子网络的输出分别对应作为所述M个层级的判别支网络的输入;每个层级的判别支网络包括依次连接的亮度处理子网络、第一卷积子网络和第二卷积子网络;第t层级的判别支网络中的第二卷积子网络的输出与第t+1层级的判别支网络中的第一卷积子网络的输出进行联接后作为第t+1层级的判别支网络中的第二卷积子网络的输入,其中,t=1,2,…,M-1;所述合成子网络用于对第M层级的判别支网络中的第二卷积子网络的输出进行合成处理,以得到判别输出图像;所述激活层用于对所述判别输出图像进行处理,以得到表征所述判别网络的输入的质量的数值。
例如,所述亮度处理子网络包括亮度特征提取子网络、归一化子网络和平移相关子网络,所述亮度特征提取子网络用于提取亮度特征图像,所述归一化子网络用于对所述亮度特征图像进行归一化处理,以得到归一化亮度特征图像,所述平移相关子网络用于对所述归一化亮度特征图像进行多次图像平移处理,以得到多个移位图像,并根据所述归一化亮度特征图像与每个所述移位图像之间的相关性,生成多个相关性图像。
例如,所述损失函数表示为:
L(Y,X)=λ1LG(YW=1)+λ2LL1(SM(YW=1),SM(X))+λ3Lcont(YW=1,X)+λ4LL1(YW=0,X)+λ5LL1(SM(YW=0),SM(X))
其中,L(Y,X)表示损失函数,Y表示所述第一训练输出图像,Y包括YW=1和YW=0,X表示所述第一训练输入图像对应的第一训练标准图像,LG(YW=1)表示生成损失函数,YW=1表示所述随机噪声图像的噪声幅度不为0的情况下得到的第一训练输出图像,LL1(SM(YW=1),SM(X))表示第一对比损失函数,Lcont(YW=1,X)表示内容损失函数,LL1((YW=0),X)表示第二对比损失函数,YW=0表示所述随机噪声图像的噪声幅度为0的情况下得到的第一训练输出图像,LL1(SM(YW=0),SM(X))表示第三对比损失函数,SM()表示进行第M层级的下采样处理,λ1、λ2、λ3、λ4、λ5分别表示预设的权值;
所述生成损失函数LG(YW=1)表示为:
LG(YW=1)=-E[log(Sigmoid(C(YW=1)-C(X)))]
其中,C(YW=1)表示所述随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像,C(X)表示第一训练标准图像作为判别网络的输入得到的判别输出图像;所述第一对比损失函数LL1(SM(YW=1),SM(X))、所述第二对比损失函数LL1((YW=0),X)和所述第三对比损失函数LL1(SM(YW=0),SM(X))分别表示为:
其中,E[]表示对矩阵能量的计算;
所述内容损失函数表示Lcont(YW=1,X)为:
其中,S1为常数,Fij表示在内容特征提取模块中第i个卷积核提取的第一训练输出图像的第一内容特征图中第j个位置的值,Pij表示在所述内容特征提取模块中第i个卷积核提取的第一训练标准图像的第二内容特征图中第j个位置的值。
例如,所述神经网络的训练方法还包括:基于所述神经网络,对所述判别网络进行训练;以及,交替地执行所述判别网络的训练过程和所述神经网络的训练过程,以得到训练好的神经网络;其中,基于所述神经网络,对所述判别网络进行训练,包括:获取第二训练输入图像;使用所述神经网络对所述第二训练输入图像进行处理,以得到第二训练输出图像;基于所述第二训练输出图像,通过判别损失函数计算判别损失值;以及根据所述判别损失值对所述判别网络的参数进行修正。
例如,所述判别损失函数表示为:
LD(VW=1)=-E[log(Sigmoid(C(U)-C(VW=1)))]
其中,LD(VW=1)表示判别损失函数,U表示所述第二训练输入图像对应的第二训练标准图像,VW=1表示所述随机噪声图像的噪声幅度不为0的情况下得到的第二训练输出图像,C(U)表示所述第二训练标准图像作为所述判别网络的输入得到的判别输出图像,C(VW=1)表示所述随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像。
例如,所述神经网络的训练方法还包括:在进行训练之前,对训练集的各个样本图像进行裁剪处理和解码处理,以得到二进制数据格式的多个子样本图像;在进行训练时,基于所述二进制数据格式的子样本图像对所述神经网络进行训练。
例如,所述多个子样本图像的尺寸大小相等。
本公开至少一个实施例还提供一种合并神经网络的构建方法,包括:获取多个训练好的神经网络模块,其中,所述多个神经网络用于执行同一图像处理任务,所述多个神经网络的输入图像的分辨率相同,所述多个神经网络的输出图像的分辨率相同,所述多个神经网络两两之间至少结构和参数之一不同;在同一验证集上获得所述多个神经网络的输出,根据预定的图像质量评估标准确定所述多个神经网络的评估质量,并将所述多个神经网络按照评估质量从高到低进行排序;将评估质量最高的神经网络作为所述合并神经网络中的第1个神经网络;以及判断当前余下的评估质量最高的神经网络能否加入当前的合并神经网络,若能,则将当前余下的评估质量最高的神经网络加入当前的合并神经网络,若不能,则将当前的合并神经网络作为获得的合并神经网络。
例如,所述的合并神经网络的构建方法还包括:对所述获得的合并神经网络进行训练,以得到训练好的合并神经网络。
例如,所述预定的图像质量评估标准包括均方误差、相似度和峰值信噪比之一。
例如,所述多个神经网络包括第一神经网络,所述第一神经网络用于执行第一图像处理方法,所述第一图像处理方法包括:获取输入图像;基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对所述N个层级的初始特征图像中的第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对所述中间特征图像进行合成处理,以得到输出图像;其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
本公开至少一个实施例还提供一种神经网络处理器,包括分析电路、循环缩放电路和合成电路;所述分析电路配置为基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;所述循环缩放电路配置为基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;所述合成电路配置为对所述中间特征图像进行合成处理,以得到输出图像;其中,所述循环缩放电路包括N-1个层级的逐层嵌套的缩放电路,每个层级的缩放电路包括下采样电路、联接电路、上采样电路和残差链接相加电路;第i层级的下采样电路基于第i层级的缩放电路的输入进行下采样得到第i层级的下采样输出,第i层级的联接电路基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样电路基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加电路将所述第i层级的缩放电路的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放电路的输出,其中,i=1,2,…,N-1;第j+1层级的缩放电路嵌套在第j层级的下采样电路和第j层级的联接电路之间,所述第j层级的下采样电路的输出作为所述第j+1层级的缩放电路的输入,其中,j=1,2,…,N-2。
本公开至少一个实施例还提供一种图像处理装置,包括:图像获取模块,配置为获取输入图像;图像处理模块,配置为:基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对所述中间特征图像进行合成处理,以得到输出图像;其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理输入,其中,j=1,2,…,N-2。
本公开至少一个实施例还提供一种图像处理装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行本公开任一实施例提供的图像处理方法,或者执行本公开任一实施例提供的合并神经网络模型的图像处理方法,或者执行本公开任一实施例提供的神经网络的训练方法,或者执行根据本公开任一实施例提供的合并神经网络模型的构建方法。
本公开至少一个实施例还提供一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时可以执行本公开任一实施例提供的图像处理方法的指令,或者可以执行本公开任一实施例提供的合并神经网络模型的图像处理方法的指令,或者可以执行本公开任一实施例提供的神经网络的训练方法的指令,或者可以执行本公开任一实施例提供的合并神经网络模型的构建方法的指令。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种卷积神经网络的示意图;
图2A为一种卷积神经网络的结构示意图;
图2B为一种卷积神经网络的工作过程示意图;
图3为本公开一些实施例提供的一种图像处理方法的流程图;
图4A为本公开一些实施例提供的一种对应于图3所示的图像处理方法的示意性流程框图;
图4B为本公开另一些实施例提供的一种对应于图3所示的图像处理方法的示意性流程框图;
图5为本公开一些实施例提供的一种裁剪处理和拼接处理的示意图;
图6为本公开一些实施例提供的一种合并神经网络的示意图;
图7为本公开一实施例提供的一种神经网络的结构示意框图;
图8A为本公开一实施例提供的一种神经网络的训练方法的流程图;
图8B为本公开一实施例提供的一种对应于图8A中所示的训练方法训练图7所示的神经网络的示意性架构框图;
图9为本公开一些实施例提供的一种判别网络的结构示意图;
图10为本公开一些实施例提供的一种生成对抗式训练的流程图;
图11A为本公开一些实施例提供的一种判别网络的训练方法的流程图;
图11B为本公开一些实施例提供的一种对应于图11A中所示的训练方法训练图9所示的神经网络的示意性架构框图;
图12为本公开一些实施例提供的一种合并神经网络的构建方法的流程图;
图13A为本公开一些实施例提供的一种神经网络处理器的示意性框图;
图13B为本公开一些实施例提供的另一种神经网络处理器的示意性框图;
图14A为本公开一些实施例提供的一种图像处理装置的示意性框图;
图14B为本公开一些实施例提供的另一种图像处理装置的示意性框图;以及
图15为本公开一些实施例提供的一种存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,可省略已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同或类似的参考标号表示。
图像增强是图像处理领域的研究热点之一。由于在图像采集过程中存在各种物理因素的限制(例如,手机相机的图像传感器尺寸太小以及其他软件、硬件的限制等)以及环境噪声的干扰,会导致图像质量大大降低。图像增强的目的是通过图像增强技术,改善图像的灰度直方图,提高图像的对比度,从而凸显图像细节信息,改善图像的视觉效果。
最初,卷积神经网络(Convolutional Neural Network,CNN)主要用于识别二维形状,其对图像的平移、比例缩放、倾斜或其他形式的变形具有高度不变性。CNN主要通过局部感知野和权值共享来简化神经网络的复杂性、减少权重的数量。随着深度学习技术的发展,CNN的应用范围已经不仅仅限于图像识别领域,其也可以应用在人脸识别、文字识别、动物分类、图像处理等领域。
图1示出了一种卷积神经网络的示意图。例如,该卷积神经网络可以用于图像处理,其使用图像作为输入和输出,并通过卷积核替代标量的权重。图1中仅示出了具有3层结构的卷积神经网络,本公开的实施例对此不作限制。如图1所示,卷积神经网络包括输入层101、隐藏层102和输出层103。输入层101具有4个输入,隐藏层102具有3个输出,输出层103具有2个输出,最终该卷积神经网络最终输出2幅图像。
例如,输入层101的4个输入可以为4幅图像,或者1幅图像的四种特征图像。隐藏层102的3个输出可以为经过输入层101输入的图像的特征图像。
例如,如图1所示,卷积层具有权重和偏置/>权重/>表示卷积核,偏置/>是叠加到卷积层的输出的标量,其中,k是表示输入层101的标签,i和j分别是输入层101的单元和隐藏层102的单元的标签。例如,第一卷积层201包括第一组卷积核(图1中的/>)和第一组偏置(图1中的/>)。第二卷积层202包括第二组卷积核(图1中的/>)和第二组偏置(图1中的/>)。通常,每个卷积层包括数十个或数百个卷积核,若卷积神经网络为深度卷积神经网络,则其可以包括至少五层卷积层。
例如,如图1所示,该卷积神经网络还包括第一激活层203和第二激活层204。第一激活层203位于第一卷积层201之后,第二激活层204位于第二卷积层202之后。激活层(例如,第一激活层203和第二激活层204)包括激活函数,激活函数用于给卷积神经网络引入非线性因素,以使卷积神经网络可以更好地解决较为复杂的问题。激活函数可以包括线性修正单元(ReLU)函数、S型函数(Sigmoid函数)或双曲正切函数(tanh函数)等。ReLU函数为非饱和非线性函数,Sigmoid函数和tanh函数为饱和非线性函数。例如,激活层可以单独作为卷积神经网络的一层,或者激活层也可以被包含在卷积层(例如,第一卷积层201可以包括第一激活层203,第二卷积层202可以包括第二激活层204)中。
例如,在第一卷积层201中,首先,对每个输入应用第一组卷积核中的若干卷积核和第一组偏置中的若干偏置/>以得到第一卷积层201的输出;然后,第一卷积层201的输出可以通过第一激活层203进行处理,以得到第一激活层203的输出。在第二卷积层202中,首先,对输入的第一激活层203的输出应用第二组卷积核中的若干卷积核/>和第二组偏置中的若干偏置/>以得到第二卷积层202的输出;然后,第二卷积层202的输出可以通过第二激活层204进行处理,以得到第二激活层204的输出。例如,第一卷积层201的输出可以为对其输入应用卷积核/>后再与偏置/>相加的结果,第二卷积层202的输出可以为对第一激活层203的输出应用卷积核/>后再与偏置/>相加的结果。
在利用卷积神经网络进行图像处理前,需要对卷积神经网络进行训练。经过训练之后,卷积神经网络的卷积核和偏置在图像处理期间保持不变。在训练过程中,各卷积核和偏置通过多组输入/输出示例图像以及优化算法进行调整,以获取优化后的卷积神经网络。
图2A示出了一种卷积神经网络的结构示意图,图2B示出了一种卷积神经网络的工作过程示意图。例如,如图2A和2B所示,输入图像通过输入层输入到卷积神经网络后,依次经过若干个处理过程(如图2A中的每个层级)后输出类别标识。卷积神经网络的主要组成部分可以包括多个卷积层、多个下采样层和全连接层等。本公开中,应该理解的是,多个卷积层、多个下采样层和全连接层等这些层每个都指代对应的处理操作,即卷积处理、下采样处理、全连接处理等,所描述的神经网络也都指代对应的处理操作,以下将要描述的实例标准化层或层标准化层等也与此类似,这里不再重复说明。例如,一个完整的卷积神经网络可以由这三种层叠加组成。例如,图2A仅示出了一种卷积神经网络的三个层级,即第一层级、第二层级和第三层级。例如,每个层级可以包括一个卷积模块和一个下采样层。例如,每个卷积模块可以包括卷积层。由此,每个层级的处理过程可以包括:对输入图像进行卷积(convolution)以及下采样(sub-sampling/down-sampling)。例如,根据实际需要,每个卷积模块还可以包括实例标准化(instance normalization)层或层标准化(layernormalization)层,从而每个层级的处理过程还可以包括实例标准化处理或层标准化处理。
例如,实例标准化层用于对卷积层输出的特征图像进行实例标准化处理,以使特征图像的像素的灰度值在预定范围内变化,从而简化图像生成过程,改善图像增强的效果。例如,预定范围可以为[-1,1]等。实例标准化层根据每个特征图像自身的均值和方差,对该特征图像进行实例标准化处理。例如,实例标准化层还可用于对单幅图像进行实例标准化处理。
例如,假设小批梯度下降法(mini-batch gradient decent)的尺寸为T,某一卷积层输出的特征图像的数量为C,且每个特征图像均为H行W列的矩阵,则特征图像的模型表示为(T,C,H,W)。从而,实例标准化层的实例标准化公式可以表示如下:
其中,xtijk为该卷积层输出的特征图像集合中的第t个特征块(patch)、第i个特征图像、第j行、第k列的值。ytijk表示经过实例标准化层处理xtijk后得到的结果。ε1为一个很小的整数,以避免分母为0。
例如,层标准化层与实例标准化层类似,也用于对卷积层输出的特征图像进行层标准化处理,以使特征图像的像素的灰度值在预定范围内变化,从而简化图像生成过程,改善图像增强的效果。例如,预定范围可以为[-1,1]。与实例标准化层不同的是,层标准化层根据每个特征图像每一列的均值和方差,对该特征图像的每一列进行层标准化处理,从而实现对该特征图像的层标准化处理。例如,层标准化层也可用于对单幅图像进行层标准化处理。
例如,仍然以上述小批梯度下降法(mini-batch gradient decent)为例,特征图像的模型表示为(T,C,H,W)。从而,层标准化层的层标准化公式可以表示如下:
其中,xtijk为该卷积层输出的特征图像集合中的第t个特征块(patch)、第i个特征图像、第j行、第k列的值。y′tijk表示经过层标准化层处理xtijk后得到的结果。ε2为一个很小的整数,以避免分母为0。
卷积层是卷积神经网络的核心层。在卷积神经网络的卷积层中,一个神经元只与部分相邻层的神经元连接。卷积层可以对输入图像应用若干个卷积核(也称为滤波器),以提取输入图像的多种类型的特征。每个卷积核可以提取一种类型的特征。卷积核一般以随机小数矩阵的形式初始化,在卷积神经网络的训练过程中卷积核将通过学习以得到合理的权值。对输入图像应用一个卷积核之后得到的结果被称为特征图像(feature map),特征图像的数目与卷积核的数目相等。每个特征图像由一些矩形排列的神经元组成,同一特征图像的神经元共享权值,这里共享的权值就是卷积核。一个层级的卷积层输出的特征图像可以被输入到相邻的下一个层级的卷积层并再次处理以得到新的特征图像。例如,如图2A所示,第一层级的卷积层可以输出第一层级特征图像,该第一层级特征图像被输入到第二层级的卷积层再次处理以得到第二层级特征图像。
例如,如图2B所示,卷积层可以使用不同的卷积核对输入图像的某一个局部感受域的数据进行卷积,卷积结果被输入激活层,该激活层根据相应的激活函数进行计算以得到输入图像的特征信息。
例如,如图2A和2B所示,下采样层设置在相邻的卷积层之间,下采样层是下采样的一种形式。一方面,下采样层可以用于缩减输入图像的规模,简化计算的复杂度,在一定程度上减小过拟合的现象;另一方面,下采样层也可以进行特征压缩,提取输入图像的主要特征。下采样层能够减少特征图像的尺寸,但不改变特征图像的数量。例如,一个尺寸为12×12的输入图像,通过6×6的卷积核对其进行采样,那么可以得到2×2的输出图像,这意味着输入图像上的36个像素合并为输出图像中的1个像素。最后一个下采样层或卷积层可以连接到一个或多个全连接层,全连接层用于连接提取的所有特征。全连接层的输出为一个一维矩阵,也就是向量。
本公开至少一个实施例提供一种图像处理方法。该图像处理方法包括:获取输入图像;基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2,其中,分辨率最高的第1层级的初始特征图像的分辨率与输入图像的分辨率相同;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像,中间特征图像的分辨率与输入图像的分辨率相同;以及对中间特征图像进行合成处理,以得到输出图像;其中,循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将第i层级的缩放处理的输入与第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,第j层级的下采样处理的输出作为所述第j+1层级的缩放处理输入,其中,j=1,2,…,N-2。
本公开的一些实施例还提供对应于上述图像处理方法的图像处理装置、神经网络的训练方法、合成网络模型的图像处理方法、合成网络模型的构建方法以及存储介质。
本公开至少一个实施例提供的图像处理方法基于输入图像得到多种不同分辨率的初始特征图像,并结合这些不同分辨率的初始特征图像对分辨率最高的初始特征图像进行循环缩放处理,可以获取更高的图像保真度以及大幅提升输出图像的质量,同时还可以提高处理速度。
下面结合附图对本公开的一些实施例及其示例进行详细说明。
图3为本公开一些实施例提供的一种图像处理方法的流程图,图4A为本公开一些实施例提供的一种对应于图3所示的图像处理方法的示意性流程框图,图4B为本公开另一些实施例提供的一种对应于图3所示的图像处理方法的示意性流程框图。以下,结合图4A和图4B,对图3所示的图像处理方法进行详细说明。
例如,如图3所示,该图像处理方法包括:
步骤S110:获取输入图像。
例如,如图4A和图4B所示,输入图像标记为INP。
例如,输入图像INP可以包括通过智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、监控摄像头或者网络摄像头等拍摄采集的照片,其可以包括人物图像、动植物图像或风景图像等,本公开的实施例对此不作限制。
例如,输入图像INP可以为灰度图像,也可以为彩色图像。例如,彩色图像包括但不限于3个通道的RGB图像等。需要说明的是,在本公开的实施例中,当输入图像INP为灰度图像时,输出图像OUTP也是灰度图像;当输入图像INP是彩色图像时,输出图像OUTP也是彩色图像。
例如,在一些实施例中,输入图像是通过获取具有第一分辨率的原始输入图像,并对原始输入图像进行分辨率转换处理(例如,图像超分辨率重构处理)得到的。例如,在一些实施例中,输入图像具有第二分辨率,且第二分辨率大于第一分辨率。图像超分辨率重构是对图像进行分辨率提升,以获得更高分辨率的图像的技术。在常用的图像超分辨率重构技术的实现方式中,超分辨率图像通常是采用插值算法生成的。例如,常用的插值算法包括最临近插值、双线性插值、双立方插值、兰索斯(Lanczos)插值等等。利用上述插值算法之一,可以基于原始输入图像中的一个像素生成多个像素从而获得基于原始输入图像的超分辨率的输入图像。也就是说,本公开的实施例提供的图像处理方法可以对常规方法生成的超分辨率图像进行增强处理,从而提高该超分辨率图像的质量。
步骤S120:基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2。
例如,在一些实施例中,如图4A所示,可以通过分析网络对输入图像INP进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的N个层级的初始特征图像F01~F0N(例如,图4A所示的F01~F05)。例如,如图4A所示,分析网络包括N个分析子网络ASN,各分析子网络ASN分别用于进行上述不同层级的分析处理,以分别得到分辨率从高到低排列的N个层级的初始特征图像F01~F0N(例如,图4A所示的F01~F05)。例如,各分析子网络ASN可以实现为包括诸如卷积神经网络CNN、残差网络ResNet、密集网络DenseNet等的卷积网络模块,例如,各分析子网络ASN可以包括卷积层、下采样层、标准化层等,但不限于此。
例如,在一些实施例中,如图4B所示,可以先将输入图像INP与随机噪声图像noise联接(concatenate,如图中CONCAT所示),以得到联合输入图像;然后通过分析网络对联合输入图像进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的N个层级的初始特征图像F01~F0N。例如,联接处理CONCAT可以看作:将待联接的多个(例如,两个或两个以上)图像的各通道图像堆叠,从而使得联接得到的图像的通道数为待联接的多个图像的通道数之和。例如,联合输入图像的各通道图像即为输入图像的各通道图像与随机噪声图像的各通道图像的综合。例如,随机噪声图像noise中的随机噪声可以符合高斯分布,但不限于此。例如,图4B所示的实施例中的分析处理的具体过程和细节可以参考图4A所示的实施例中的分析处理的相关描述,在此不再重复赘述。
需要说明的是,在进行图像增强处理时,输出图像中的细节特征(例如,毛发、线条等)往往会和噪声有关。在应用神经网络进行图像增强处理时,根据实际需要(是否需要突出细节以及细节的突出程度等),来调节输入噪声的幅度,从而使输出图像满足实际需求。例如,在一些实施例中,随机噪声图像的噪声幅度可以为0;例如,在另一些实施例中,随机噪声图像的噪声幅度可以不为0。本公开的实施例对此不作限制。
例如,在图4A和图4B中,各层级的次序是按照自上而下的方向进行确定。
例如,在一些实施例中,分辨率最高的第1层级的初始特征图像F01的分辨率可以与输入图像INP的分辨率相同。例如,在一些实施例中,输入图像是通过对原始输入图像进行分辨率转换处理(例如,图像超分辨率重构处理)得到的,在此情况下,分辨率最低的第N层级的初始特征图像的分辨率可以与原始输入图像的分辨率相同,需要说明的是,本公开的实施例包括但不限于此。
例如,在一些实施例中,前一层级(例如,第i层级)的初始特征图像的分辨率为后一层级(例如,第i+1层级)的初始特征图像的分辨率的整数倍,例如2倍,3倍,4倍,…,等等,本公开的实施例对此不作限制。
需要说明的是,虽然图4A和图4B均示出了得到5个层级的初始特征图像F01~F05(即N=5)的情形,但不应视作对本公开的限制,即N的取值可以根据实际需要进行设置。
步骤S130:基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像。
例如,如图4A和图4B所示,循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括依次执行的下采样处理DS、联接处理CONCAT、上采样处理US和残差链接相加处理ADD。
例如,如图4A和图4B所示,第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将第i层级的缩放处理的输入与第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1。
例如,如图4A和图4B所示,第i层级的联接处理基于第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,包括:将第i层级的下采样输出作为第i+1层级的缩放处理的输入,以得到第i+1层级的缩放处理的输出;以及将第i+1层级的缩放处理的输出与第i+1层级的初始特征图像进行联接,以得到第i层级的联合输出。
下采样处理DS用于减小特征图的尺寸,从而减少特征图的数据量,例如可以通过下采样层进行下采样处理,但不限于此。例如,下采样层可以采用最大值合并(maxpooling)、平均值合并(average pooling)、跨度卷积(strided convolution)、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等下采样方法实现下采样处理。例如,下采样层还可以采用内插值、双线性插值、双立方插值(Bicubic Interprolation)、兰索斯(Lanczos)插值等插值算法进行下采样处理。例如,在利用插值算法进行下采样处理时,可以仅保留***值而去除原始像素值,从而减小特征图的尺寸。
上采样处理US用于增大特征图的尺寸,从而增加特征图的数据量,例如可以通过上采样层进行上采样处理,但不限于此。例如,上采样层可以采用跨度转置卷积(stridedtransposed convolution)、插值算法等上采样方法实现上采样处理。插值算法例如可以包括内插值、双线性插值、两次立方插值(Bicubic Interprolation)、兰索斯(Lanczos)插值等算法。例如,在利用插值算法进行上采样处理时,可以保留原始像素值和***值,从而增大特征图的尺寸。
每个层级的缩放处理可以视为一个残差网络,残差网络可以通过残差链接相加处理将其输入以一定的比例保持在其输出中,即通过残差链接相加处理ADD,可以将每个层级的缩放处理的输入以一定的比例保持在每个层级的缩放处理的输出中。例如,残差链接相加处理ADD的输入与输出的尺寸相同。例如,以特征图像为例,残差链接相加处理可以包括将两幅特征图像的矩阵的每一行、每一列的值对应相加,但不限于此。
需要说明的是,在本公开的一些实施例中,同一层级的下采样处理的下采样因子与上采样处理的上采样因子对应,即:当该下采样处理的下采样因子为1/y时,则该上采样处理的上采样因子为y,其中y为正整数,且y通常等于或大于2。从而,可以确保同一层级的上采样处理的输出和下采样处理的输入尺寸相同。
需要说明的是,在本公开的一些实施例(不限于本实施例)中,不同层级的下采样处理的参数(即该下采样处理对应的网络结构的参数)可以相同,也可以不同;不同层级的上采样处理的参数(即该上采样处理对应的网络结构的参数)可以相同,也可以不同;不同层级的残差链接相加处理的参数可以相同,也可以不同。本公开的实施例对此不作限制。
需要说明的是,在本公开的一些实施例(不限于本实施例)中,不同次序的同一层级的下采样处理的参数可以相同,也可以不同;不同次序的同一层级的上采样处理的参数可以相同,也可以不同;不同次序的同一层级的残差链接相加处理的参数可以相同,也可以不同。本公开的实施例对此不作限制。
例如,在本公开的一些实施例中,为了改善特征图像的亮度、对比度等全局特征,多尺度循环采样处理还可以包括:对下采样处理的输出、上采样处理的输出等进行实例标准化处理或层标准化处理。需要说明的是,下采样处理的输出、上采样处理的输出等可以采用相同的标准化处理方法(实例标准化处理或层标准化处理),也可以采用不同的标准化处理方法,本公开的实施例对此不作限制。
例如,如图4A和4B所示,第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,其中,j=1,2,…,N-2。也就是说,第j层级的下采样处理的输出作为第j+1层级的缩放处理的输入,同时,第j+1层级的缩放处理的输出作为第j层级的联接处理的输入之一(第j+1层级的初始特征图像作为第j层级的联接处理的输入之另一)。
需要说明的是,在本公开中,“嵌套”是指一个对象中包括与该对象相似或相同的另一个对象,所述对象包括但不限于流程或者网络结构等。
例如,在一些实施例中,至少一个层级的缩放处理可以连续执行多次,即每个层级可以包括多次缩放处理,例如,前一次缩放处理的输出作为后一次缩放处理的输入。例如,如图4A和图4B所示,每个层级的缩放处理可以连续执行两次,在此情况下,既可以提升输出图像的质量,又可以避免网络结构复杂化。需要说明的是,本公开的实施例对每个层级的缩放处理的具体执行次数并不作限制。
例如,在一些实施例中,中间特征图像的分辨率与输入图像INP的分辨率相同。
例如,如图4A和图4B所示,在N=5的情形下,可以基于第2~5层级的初始特征图像F01~F05,对第1层级的初始特征图像F01进行上述循环缩放处理,以得到中间特征图像FM。
步骤S140:对中间特征图像进行合成处理,以得到输出图像。
例如,在一些实施例中,如图4A和图4B所示,可以通过合成网络MERG对中间特征图像FM进行合成处理,以得到输出图像OUTP。例如,在一些实施例中,合成网络可以包括卷积层等。例如,该输出图像可以包括1个通道的灰度图像,也可以包括例如3个通道的RGB图像(即彩色图像)。需要说明的是,本公开的实施例对合成网络MERG的结构和参数不作限制,只要其能将卷积特征维度(即中间特征图像FM)转换为输出图像OUTP即可。
需要说明的是,直接使用上述图像处理方法对较高分辨率(例如,分辨率在4k或4k以上等)的输入图像进行处理,对图像处理装置的硬件条件(例如,显存等)的要求较高。因此,在一些实施例中,为了解决上述问题,可以先对输入图像进行裁剪处理,以得到具有交叠区域的多个子输入图像;然后,利用上述图像处理方法(例如前述步骤S110值步骤S140等)对该多个子输入图像分别进行处理,以得到对应的多个子输出图像;最后,将该对应的多个子输出图像拼接为输出图像。
图5为本公开一些实施例提供的一种裁剪处理和拼接处理的示意图。以下,结合图5对上述裁剪处理和拼接处理进行详细说明。
例如,在一些实施例中,如图5所示,可以将输入图像裁剪为具有交叠区域的多个子输入图像(例如,如图5中以各自的中心T1~T4表示的四个矩形框所示)。该多个子输入图像应当覆盖整个输入图像,即输入图像中的每个像素点应包括于至少一个子输入图像中。例如,在一些实施例中,该多个子输入图像的尺寸大小和分辨率都相同,且该多个子输入图像的中心形成一个均匀规则的网格,即在水平方向(即行方向)和在竖直方向(即列方向)上的相邻的中心之间的距离必须分别恒定。例如,在一些实施例中,在行方向或/和列方向上,相邻的两个子输入图像的交叠区域的尺寸大小是恒定的。
应当理解的是,输入图像中的像素点的行列位置与输出图像中的像素点的行列位置一一对应,各子输入图像中的像素点的行列位置与对应的子输出图像中的像素点的行列位置一一对应,也就是说,图5中以各自的中心T1~T4表示的四个矩形框还可以表示对应的四幅子输出图像。
例如,在将对应的多个子输出图像拼接为输出图像的过程中,可以通过以下公式计算输出图像中每个像素点的像素值:
其中,Yp表示输出图像中的任意一个像素点p的像素值,T表示包括该像素点p的子输出图像的数量,Yk,(p)表示该像素点p在第k幅包括该像素点p的子输出图像中的像素值,sk表示在第k幅包括该像素点p的子输出图像中该像素点p到该第k幅包括该像素点p的子输出图像的中心的距离。
例如,在一些实施例中,可以通过以下步骤计算实现上述拼接处理过程:
(1)初始化输出图像矩阵,其中,所有像素值设置为零。需要说明的是,当输出图像为灰度图像时,输出图像矩阵具有1个通道;当输出图像为3个通道的RGB图像(即彩色图像)时,输出图像矩阵相应具有3个通道。
(2)初始化计数矩阵,其中,所有元素值设置为零。该计数矩阵的尺寸大小(分辨率)与输出图像矩阵的尺寸大小(分辨率)相同,且该计数矩阵具有1个通道。
(3)将每个子输出图像中的每个像素点到该子输出图像的中心的距离与该像素点对应的计数矩阵的元素的当前值相加后作为该对应的计数矩阵的元素的新值;将每个子输出图像中的每个像素点的像素值乘以该子输出图像中该像素点到该子输出图像的中心的距离后与该像素点对应的输出图像矩阵的当前像素值相加后作为该对应的输出图像矩阵的新像素值。
(4)将输出图像矩阵中的每个像素值除以计数矩阵中与之对应的元素值,得到最终的像素值,从而得到最终的输出图像矩阵,即输出图像。应当理解的是,在上述除法过程中,应该确保技术矩阵中的每个元素值大于零。
需要说明的是,虽然图5中仅示出了T=4的情形,但不应视作对本公开的限制,即T的取值可以根据实际需要进行设置。
需要说明的是,上述拼接处理的算法是示例性的,本公开的实施例对此不作限制,对于其他拼接处理的算法,只要其能够对交叠区域中的像素点的像素值进行合理处理并满足实际需求即可。
应当理解的是,当输出图像为彩色图像,例如3个通道的RGB图像时,上述裁剪处理和拼接处理的对象应当是各个通道的图像。
本公开的实施例提供的图像处理方法基于输入图像得到多种不同分辨率的初始特征图像,并结合这些不同分辨率的初始特征图像对分辨率最高的初始特征图像进行循环缩放处理,可以获取更高的图像保真度以及大幅提升输出图像的质量,同时还可以提高处理速度。
本公开至少一实施例还提供一种合并神经网络的图像处理方法。图6为本公开一些实施例提供的一种合并神经网络的示意图。例如,如图6所示,该合并神经网络包括多个神经网络。例如,该多个神经网络用于执行同一图像处理任务,该多个神经网络的输入图像的分辨率(即尺寸)相同,该多个神经网络的输出图像的分辨率(即尺寸)也相同;同时,该多个神经网络两两之间至少结构和参数之一不同(参数不同是指参数至少不完全相同)。例如,在一些实施例中,结构相同而参数不同的神经网络可以是基于不同的训练配置训练得到。例如,上述不同的训练配置是指不同的训练集、不同的初始参数、不同的卷积核尺寸、不同的超参数等之一或其任意组合。
例如,如图6所示,该合并神经网络的图像处理方法可以包括:将输入图像输入该合并神经网络中的多个神经网络,以分别得到该多个神经网络的输出;以及将该多个神经网络的输出相加取平均值,以得到该合并神经网络的输出(即输出图像)。
需要说明的是,在实际应用中,通常会对多种神经网络结构的模型通过调节超参数来进行训练,从而产生很多训练过的模型;之后,在这些模型之中挑选表现最好(即输出效果最好)的模型作为主要解决方案,在接下来的阶段里主要集中调优该模型,但是那些拥有相似或略差表现却被淘汰的模型往往不会再被利用上。相比之下,本公开的实施例提供的合并神经网络的图像处理方法可以将这些拥有相似或略差表现的模型利用起来,从而使合并神经网络的输出效果比表现最好的单一神经网络的输出效果更优。
应当理解的是,对于执行相同图像处理任务而具有其它具体结构的神经网络(此时,对训练配置是否相同不作要求),如果其输入和输出的尺寸与上述单一神经网络的输入和输出的尺寸相同,则可以将其以加入或替换(例如,替换表现较差的模型)等方式并入现有的合并神经网络,只要其可以使新的合并神经网络具有更优的输出效果即可。
例如,在一些实施例中,该多个神经网络可以包括第一神经网络,该第一神经网络用于执行第一图像处理方法,例如第一图像处理方法即为前述实施例提供的图像处理方法(例如,包括上述步骤S110至步骤S140等),本公开的实施例包括但不限于此。
需要说明的是,虽然图6中仅示出了合并神经网络包括三个神经网络NNM1~NNM3的情形,但不应视作对本公开的限制,即合并神经网络可以根据实际需求包括更多或更少的神经网络。
需要说明的是,合并神经网络的构建可以参考后续将要说明的合并神经网络的构建方法的相关描述,在此不再赘述。
本公开的实施例提供的合并神经网络的图像处理方法,可以直接平均多个神经网络的输出以获得更优的输出效果,且该合并神经网络便于更新(即加入新的神经网络,或用新的神经网络替换现有合并神经网络中表现较差的神经网络等)。
本公开的实施例提供的合并神经网络的图像处理方法的技术效果可以参考前述实施例中关于图像处理方法的相应描述,在此不再赘述。
本公开至少一实施例还提供一种神经网络的训练方法。图7为本公开一实施例提供的一种神经网络的结构示意框图,图8A为本公开一实施例提供的一种神经网络的训练方法的流程图,图8B为本公开一实施例提供的一种对应于图8A中所示的训练方法训练图7所示的神经网络的示意性架构框图。
例如,如图7所示,该神经网络100包括分析网络110、循环缩放网络120和合成网络130。例如,该神经网络100可以用于执行前述实施例(例如,图4A或图4B所示的实施例)提供的图像处理方法。例如,分析网络110可以用于执行前述图像处理方法中的步骤S120,即分析网络110可以对输入图像进行处理以得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;循环缩放网络120可以用于执行前述图像处理方法中的步骤S130,即循环缩放网络120可以基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;合成网络130可以用于执行前述图像处理方法中的步骤S140,即合成网络130可以中间特征图像进行合成处理,以得到输出图像。例如,神经网络100、分析网络110、循环缩放网络120和合成网络130的具体结构及其对应的具体处理过程和细节可以参考前述图像处理方法中的相关描述,在此不再重复赘述。
例如,输入图像和输出图像也可以参考前述实施例提供的图像处理方法中关于输入图像和输出图像的描述,在此不再重复赘述。
例如,结合图8A和图8B所示,该神经网络的训练方法包括步骤S210至步骤S260。
步骤S210:获取第一训练输入图像。
例如,与前述步骤S110中的输入图像类似,第一训练输入图像也可以包括通过智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、数码照相机的镜头、监控摄像头或者网络摄像头等拍摄采集的照片,其可以包括人物图像、动植物图像或风景图像等,本公开的实施例对此不作限制。
例如,第一训练输入图像可以为灰度图像,也可以为彩色图像。例如,彩色图像包括但不限于3个通道的RGB图像等。
例如,在一些实施例中,第一训练输入图像是通过获取训练原始输入图像,并对训练原始输入图像进行分辨率转换处理(例如,图像超分辨率重构处理)得到的。在常用的图像超分辨率重构技术的实现方式中,超分辨率图像通常是采用插值算法生成的。例如,常用的插值算法包括最临近插值、双线性插值、双立方插值、兰索斯(Lanczos)插值等等。利用上述插值算法之一,可以基于训练原始输入图像中的一个像素生成多个像素从而获得基于训练原始输入图像的超分辨率的第一训练输入图像。
步骤S220:使用分析网络对第一训练输入图像进行处理,以得到分辨率从高到低排列的N个层级的训练初始特征图像,N为正整数,且N>2。
例如,与前述步骤S120中的分析网络类似,分析网络110可以包括N个分析子网络,各分析子网络分别用于进行不同层级的分析处理,以分别得到分辨率从高到低排列的N个层级的训练初始特征图像。例如,各分析子网络可以实现为包括诸如卷积神经网络CNN、残差网络ResNet、密集网络DenseNet等的卷积网络模块,例如,各分析子网络可以包括卷积层、下采样层、标准化层等,但不限于此。
例如,在一些实施例中,分辨率最高的第1层级的训练初始特征图像的分辨率可以与第一训练输入图像的分辨率相同。例如,在一些实施例中,第一训练输入图像是通过对训练原始输入图像进行分辨率转换处理(例如,图像超分辨率重构处理)得到的,在此情况下,分辨率最低的第N层级的训练初始特征图像的分辨率可以与训练原始输入图像的分辨率相同,需要说明的是,本公开的实施例包括但不限于此。
步骤S230:使用循环缩放网络,基于第2~N层级的训练初始特征图像,对第1层级的训练初始特征图像进行循环缩放处理,以得到训练中间特征图像。
例如,步骤S230中的循环缩放网络120的循环缩放处理的具体过程和细节可以参考前述步骤S130中关于循环缩放处理的相关描述,在此不再重复赘述。
步骤S240:使用合成网络对训练中间特征图像进行合成处理,以得到第一训练输出图像。
例如,与前述步骤S140中的合成网络类似,合成网络130也可以包括卷积层等。例如,该第一训练输出图像可以为包括1个通道的灰度图像,也可以为包括例如3个通道的RGB图像(即彩色图像)。需要说明的是,本公开的实施例对合成网络330的结构和参数不作限制,只要其能将卷积特征维度(即训练中间特征图像)转换为第一训练输出图像即可。
步骤S250:基于第一训练输出图像,通过损失函数计算神经网络的损失值。
例如,神经网络100的参数包括分析网络110的参数、循环缩放网络120的参数和合成网络130的参数。例如,神经网络100的初始参数可以为随机数,例如随机数符合高斯分布,本公开的实施例对此不作限制。
例如,在一些实施例中,N个层级的训练初始特征图像是通过分析网络110直接对第一训练输入图像(不与随机噪声图像联接)进行不同层级的分析处理得到的(参考图4A所示)。在此情况下,上述损失函数可以表示为:
其中,L(Y,X)表示损失函数,Y表示第一训练输出图像,X表示第一训练输入图像对应的第一训练标准图像,Sk-1()表示进行第k-1层级的下采样处理,Sk-1(Y)表示对第一训练输出图像进行第k-1层级下采样处理得到的输出,Sk-1(X)表示对所述第一训练标准图像进行第k-1层级的下采样处理得到的输出,E[]表示对矩阵能量的计算。例如,E[]可以为计算“[]”中的矩阵中元素的最大值或平均值。
例如,第一训练标准图像X具有与第一训练输入图像相同的场景,即二者的内容相同,同时,第一训练标准图像X的质量比第一训练输出图像的质量高。例如,第一训练标准图像X相当于神经网络100的目标输出图像。例如,图像的质量评价标准包括均方误差(MSE)、相似度(SSIM)、峰值信噪比(PSNR)等。例如,第一训练标准图像X可以为例如数码单镜反光相机拍摄的照片图像。例如,在一些实施例中,可以采用双线性插值、双立方插值、兰索斯(Lanczos)插值等插值算法对第一训练标准图像X进行下采样处理以得到训练原始输入图像,然后对训练原始输入图像进行分辨率转换处理(例如,图像超分辨率重构处理)以得到第一训练输入图像,从而可以确保第一训练标准图像X与第一训练输入图像具有相同的场景。需要说明的是,本公开的实施例包括但不限于此。
例如,当k=1时,Sk-1()=S0(),即第0层级的下采样处理,表示不进行下采样处理;当k>1时,第k-1层级的下采样处理的输出的分辨率随着k的增大而减小,例如,第k-1层级的下采样处理采用的下采样方法可以与前述循环缩放处理中的第k-1层级的下采样处理的下采样方法相同。例如,在一些实施例中,S1(Y)和S1(X)的分辨率与前述循环缩放处理中的第1层级的下采样输出的分辨率相同,S2(Y)和S2(X)的分辨率与前述循环缩放处理中的第2层级的下采样输出的分辨率相同,S3(Y)和S3(X)的分辨率与前述循环缩放处理中的第3层级的下采样输出的分辨率相同,…,以此类推,SN-1(Y)和SN-1(X)的分辨率与前述循环缩放处理中的第N-1层级的下采样输出的分辨率相同。需要说明的是,本公开的实施例对此不作限制。
例如,在本实施例中,神经网络100的训练目标是最小化损失值。例如,在神经网络100的训练过程中,神经网络100的参数被不断地修正,以使经过参数修正后的神经网络100输出的第一训练输出图像不断接近于第一训练标准图像,从而不断地减小损失值。需要说明的是,本实施例提供的上述损失函数是示例性的,本公开的实施例包括但不限于此。
例如,在另一些实施例中,N个层级的训练初始特征图像是通过先将第一训练输入图像与随机噪声图像联接(CONCAT)以得到训练联合输入图像,然后再通过分析网络110对训练联合输入图像进行N个不同层级的分析处理得到的(参考图4B所示)。在此情况下,神经网络100的训练过程需要联合判别网络而进行。例如,在一些实施例中,可以使用判别网络对第一训练输出图像进行处理,并基于第一训练输出图像对应的判别网络的输出计算神经网络100的损失值。
图9为本公开一些实施例提供的一种判别网络的结构示意图。如图9所示,该判别网络200包括M-1个层级的下采样子网络DSN、M个层级的判别支网络、合成子网络和激活层,其中,M为正整数,且M>1。例如,图9中示出了M=3的情形,但不应视作对本公开的限制,即M的取值可以根据实际需要进行设置。例如,在一些实施例中,M=N-1。例如,在图9中,各层级的次序是按照自上而下的方向进行确定。
例如,如图9所示,使用判别网络对第一训练输出图像进行处理时,首先通过M-1个层级的下采样子网络分别对第一训练输出图像进行不同层级的下采样处理,以得到M-1个层级的下采样子网络的输出;然后,将第一训练输出图像和该M-1个层级的下采样子网络的输出分别对应作为M个层级的判别支网络的输入。例如,在一些实施例中,上一个层级的下采样子网络的输出的分辨率高于下一个层级的下采样子网络的输出的分辨率。例如,在一些实施例中,第一训练输出图像作为第1层级的判别支网络的输入,第1层级的下采样子网络的输出作为第2层级的判别支网络的输入,第2层级的下采样子网络的输出作为第3层级的判别支网络的输入,…,以此类推,第M-1层级的下采样子网络的输出作为第M层级的判别支网络的输入。
例如,下采样子网络包括下采样层。例如,下采样子网络可以采用最大值合并(maxpooling)、平均值合并(average pooling)、跨度卷积(strided convolution)、欠采样(decimation,例如选择固定的像素)、解复用输出(demuxout,将输入图像拆分为多个更小的图像)等下采样方法实现下采样处理。例如,下采样层还可以采用内插值、双线性插值、双立方插值(Bicubic Interprolation)、兰索斯(Lanczos)插值等插值算法进行下采样处理。
例如,如图9所示,每个层级的判别支网络包括依次连接的亮度处理子网络(如图9中虚线框所示)、第一卷积子网络和第二卷积子网络。例如,在一些实施例中,该亮度处理子网络可以包括亮度特征提取子网络、归一化子网络和平移相关子网络。
例如,每个层级的亮度特征提取子网络用于提取该层级的判别支网络的输入的亮度特征图像。由于人眼对图像的亮度特征比较敏感,而对其他特征并不敏感,因此,通过提取训练图像的亮度特征,能够去除一些不必要的信息,从而减少运算量。应当理解的是,亮度特征提取子网络可以用于提取彩色图像的亮度特征图像,即亮度特征提取子网络在第一训练输出图像为彩色图像时起作用;而当判别支网络的输入(即第一训练输出图像等)为灰度图像时,可以不需要亮度特征提取子网络。
以第一训练输出图像为3个通道的RGB图像(即彩色图像)为例,在情况下,M-1个层级的下采样子网络的输出也均为3个通道的RGB图像,也就是说,每个层级的判别支网络的输入均为3个通道的RGB图像。此时,特征提取子网络可以通过下述公式提取亮度特征图像:
P=0.299R+0.587G+0.114B
其中,R、G和B分别表示RGB格式图像的红色信息(即第一通道的数据信息)、绿色信息(即第二通道的数据信息)和蓝色信息(即第三通道的数据信息),P表示转换得到的亮度信息。
例如,归一化子网络用于对上述亮度特征图像进行归一化处理,以得到归一化亮度特征图像,通过归一化处理后,能够将归一化亮度特征图像的像素值统一在比较小的数值范围内,防止某些像素值过大或过小,从而更便于相关性的计算。
例如,归一化子网络可以通过下述公式进行归一化处理:
其中,J为归一化亮度特征图像,I为亮度特征图像;Blur()为高斯模糊运算。即,Blur(I)表示对亮度特征图像进行高斯模糊运算,Blur(I2)表示将亮度特征图像中各像素值进行平方得到新的特征图像,并对该新的特征图像进行高斯模糊运算。μ为亮度特征图像经过高斯模糊运算后得到的图像,σ2为亮度特征图像的局部方差图像(variancenormalized image)。
例如,平移相关子网络用于对上述归一化亮度特征图像进行多次图像平移处理,以得到多个移位图像;并根据该归一化亮度特征图像与每个移位图像之间的相关性,生成多个相关性图像。
例如,在一些实施例中,每次图像平移处理包括:将归一化亮度特征图像的后a列像素沿行方向平移至其余像素之前,以得到中间图像;然后,将该中间图像的后b行像素沿列方向平移至其余像素之前,以得到移位图像。其中,0≤a<H,0≤b<W,a、b均为整数,H为归一化亮度特征图像中像素的总行数,W为归一化亮度特征图像中像素的总列数;并且,在任意两次图像平移过程中,a、b中至少一者的取值发生改变。经过这种方式的图像平移处理得到的移位图像中,各像素的值与该亮度特征图像的各像素的值一一对应相同;并且,所有移位图像中第i行第j列的像素的值分别来自于第一特征图像中不同位置的像素。
需要说明的是,当a和b同时为0时,则移位图像即为归一化亮度特征图像本身。另外,每次图像平移也可以先将归一化亮度特征图像的后b行像素沿列方向平移至其余像素之前,以得到中间图像,然后再将中间图像的后a列像素沿行方向平移至其余像素之前,以得到移位图像。例如,在一些实施例中,图像平移处理的次数为H×W次(其中,a和b同时为0时也算一次),从而获得H×W个相关性图像。
例如,在一些实施例中,根据归一化亮度特征图像与每个移位图像之间的相关性,生成多个相关性图像,包括:将归一化亮度特征图像中第i行第j列像素的值与每个移位图像中第i行第j列像素的值的乘积作为对应的相关性图像中第i行第j列像素的值;其中,1≤i≤H,1≤j≤W,i、j均为整数。
例如,第一卷积子网络用于对多个相关性图像进行卷积处理,以得到第一卷积特征图像,即第一卷积子网络可以包括卷积层。例如,在一些实施例中,第一卷积子网络还可以包括标准化层,从而第一卷积子网络还可以进行标准化处理,需要说明的是,本公开的实施例包括但不限于此。
例如,第二卷积子网络可以包括卷积层和下采样层,从而可以对第二卷积子网络的输入进行卷积处理和下采样处理。例如,如图9所示,第1层级的判别支网络中的第一卷积子网络的输出作为第1层级的判别支网络中的第二卷积子网络的输入;第t层级的判别支网络中的第二卷积子网络的输出与第t+1层级的判别支网络中的第一卷积子网络的输出进行联接(CONCAT)后作为第t+1层级的判别支网络中的第二卷积子网络的输入,其中,t为整数,且1≤t≤M-1。
例如,如图9所示,合成子网络连接到第M层级的判别支网络中的第二卷积子网络连接,合成子网络用于对第M层级的判别支网络中的第二卷积子网络的输出进行合成处理,以得到判别输出图像。例如,在一些实施例中,合成子网络的具体结构及其进行合成处理的具体过程和细节可以参考前述合成网络的相关描述,在此不再重复赘述。
例如,如图9所示,激活层连接到合成子网络。例如,在一些实施例中,该激活层的激活函数可以采用Sigmoid函数,从而,该激活层的输出(即判别网络200的输出)为一个在[0,1]的取值范围内的数值。例如,判别网络200的输出可以用于表征例如第一训练输出图像的质量。例如,判别网络200输出的数值越大,例如趋近于1,则表示判别网络200认定第一训练输出图像的质量越高(例如,越接近于第一训练标准图像的质量);例如,判别网络200输出的数值越小,例如趋近于0,则表示判别网络200认定第一训练输出图像的质量越低。
例如,在联合上述判别网络200对神经网络100进行训练的情况下,神经网络100的损失函数可以表示为:
L(Y,X)=λ1LG(YW=1)+λ2LL1(SM(YW=1),SM(X))+λ3Lcont(YW=1,X)+λ4LL1(YW=0,X)+λ5LL1(SM(YW=0),SM(X))
其中,L(Y,X)表示损失函数,Y表示第一训练输出图像(包括YW=1和YW=0),X表示第一训练输入图像对应的第一训练标准图像,LG(YW=1)表示生成损失函数,YW=1表示随机噪声图像的噪声幅度不为0的情况下得到的第一训练输出图像,LL1(SM(YW=1),SM(X))表示第一对比损失函数,Lcont(YW=1,X)表示内容损失函数,LL1((YW=0),X)表示第二对比损失函数,YW=0表示随机噪声图像的噪声幅度为0的情况下得到的第一训练输出图像,LL1(SM(YW=0),SM(X))表示第三对比损失函数,SM()表示进行第M层级的下采样处理,λ1、λ2、λ3、λ4、λ5分别表示预设的权值。
例如,上述预设的权值可以根据实际需求进行调整。例如,在一些实施例中,λ12345=0.001:10:0.1:10:10,本公开的实施例包括但不限于此。
例如,在一些实施例中,生成损失函数LG(YW=1)可以表示为:
LG(YW=1)=-E[log(Sigmoid(C(YW=1)-C(X)))]
其中,C(YW=1)表示随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像,C(X)表示第一训练标准图像作为判别网络的输入得到的判别输出图像。
需要说明的是,上述公式表示的生成损失函数是示例性的,例如,生成损失函数还可以表示为其他常用的公式,本公开的实施例对此不作限制。
例如,在一些实施例中,第一对比损失函数LL1(SM(YW=1),SM(X))、第二对比损失函数LL1((YW=0),X)和第三对比损失函数LL1(SM(YW=0),SM(X))可以分别表示为:
其中,E[]表示对矩阵能量的计算。例如,E[]可以为计算“[]”中的矩阵中元素的最大值或平均值。
例如,在一些实施例中,可以采用内容特征提取模块提供第一训练输出图像和第一训练标准图像的内容特征。例如,在一些实施例中,该内容特征提取模块可以为VGG-19网络中的conv3-4模块,本公开的实施例包括但不限于此。需要说明的是,VGG-19网络为深度卷积神经网络的一种,其是由牛津大学视觉几何组(Visual Geometry Group)开发,已经在视觉识别领域得到广泛应用。例如,在一些实施例中,内容损失函数Lcont(YW=1,X)可以表示为:
其中,S1为常数,Fij表示在内容特征提取模块中第i个卷积核提取的第一训练输出图像的第一内容特征图中第j个位置的值,Pij表示在内容特征提取模块中第i个卷积核提取的第一训练标准图像的第二内容特征图中第j个位置的值。
需要说明的是,上述公式表示的内容损失函数是示例性的,例如,内容损失函数还可以表示为其他常用的公式,本公开的实施例对此不作限制。
需要说明的是,上述神经网络100的损失函数的具体表达形式是示例性的,本公开的实施例对此不作限制,即神经网络100的损失函数可以根据实际需要包括更多或更少的组成部分。
步骤S260:根据神经网络的损失值对神经网络的参数进行修正。
例如,在神经网络100的训练过程中还可以包括优化函数(图8B中未示出),优化函数可以根据损失函数计算得到的损失值计算神经网络100的参数的误差值,并根据该误差值对神经网络100的参数进行修正。例如,优化函数可以采用随机梯度下降(stochasticgradient descent,SGD)算法、批量梯度下降(batch gradient descent,BGD)算法等计算神经网络100的参数的误差值。
例如,在一些实施例中,神经网络100的训练方法还可以包括:判断神经网络的训练是否满足预定条件,若不满足预定条件,则重复执行上述训练过程(即步骤S210至步骤S260);若满足预定条件,则停止上述训练过程,得到训练好的神经网络。例如,在一些实施例中,上述预定条件为连续两幅(或更多幅)第一训练输出图像对应的损失值不再显著减小。例如,在另一些实施例中,上述预定条件为神经网络的训练次数或训练周期达到预定数目。需要说明的是,本公开的实施例对此不作限制。
例如,训练好的神经网络100输出的第一训练输出图像Y在内容和质量等方面都接近于第一训练标准图像X。
需要说明的是,在联合判别网络200对神经网络100进行训练的过程中,通常需要进行生成对抗式训练。图10为本公开一些实施例提供的一种生成对抗式训练的流程图。例如,如图10所示,生成对抗式训练包括:
步骤S300:基于神经网络,对判别网络进行训练;
步骤S400:基于判别网络,对神经网络进行训练;以及,
交替地执行上述训练过程,以得到训练好的神经网络。
例如,步骤S400中的神经网络的训练过程可以通过上述步骤S210至步骤S260实现,在此不再重复赘述。需要说明的是,在神经网络100的训练过程中,判别网络200的参数保持不变。需要说明的是,在生成对抗式训练中,神经网络100通常也可以称为生成网络100。
图11A为本公开一些实施例提供的一种判别网络的训练方法的流程图,图11B为本公开一些实施例提供的一种对应于图11A中所示的训练方法训练图9所示的神经网络的示意性架构框图。以下,结合图11A和图11B对判别网络200的训练过程(即步骤S300)进行详细说明。
例如,结合图11A和图11B所示,判别网络200的训练过程,即步骤S300,包括步骤S310至步骤S340,如下所示:
步骤S310:获取第二训练输入图像;
步骤S320:使用神经网络对第二训练输入图像进行处理,以得到第二训练输出图像;
步骤S330:基于第二训练输出图像,通过判别损失函数计算判别损失值;
步骤S340:根据判别损失值对判别网络的参数进行修正。
例如,判别网络200的训练过程,即步骤S400还可以包括:判断判别网络200的训练是否满足预定条件,若不满足预定条件,则重复执行上述判别网络200的训练过程;若满足预定条件,则停止判别网络200的训练过程,得到训练好的判别网络200。例如,在一个示例中,上述预定条件为连续两幅(或更多幅)第二训练输出图像和第二训练标准图像对应的判别损失值不再显著减小。例如,在另一个示例中,上述预定条件为判别网络200的训练次数或训练周期达到预定数目。需要说明的是,本公开的实施例对此不作限制。
例如,如图11A所示,在判别网络200的训练过程中,需要联合神经网络100进行训练。需要说明的是,在判别网络200的训练过程中,神经网络100的参数保持不变。
需要说明的是,上述示例仅是示意性说明判别网络的训练过程。本领域技术人员应当知道,在训练阶段,需要利用大量样本图像对判别网络进行训练;同时,在每一幅样本图像训练过程中,都可以包括多次反复迭代以对判别网络的参数进行修正。又例如,训练阶段还包括对判别网络的参数进行微调(fine-tune),以获取更优化的参数。
例如,判别网络200的初始参数可以为随机数,例如随机数符合高斯分布,本公开的实施例对此不作限制。
例如,判别网络200的训练过程中还可以包括优化函数(图11A中未示出),优化函数可以根据判别损失函数计算得到的判别损失值计算判别网络200的参数的误差值,并根据该误差值对判别网络200的参数进行修正。例如,优化函数可以采用随机梯度下降(stochastic gradient descent,SGD)算法、批量梯度下降(batch gradient descent,BGD)算法等计算判别网络200的参数的误差值。
例如,第二训练输入图像可以与第一训练输入图像相同,例如,第二训练输入图像的集合与第一训练输入图像的集合是同一个图像集合,本公开的实施例包括但不限于此。例如,第二训练输入图像可以参考前述第一训练输入图像的相关描述,在此不再重复赘述。
例如,在一些实施例中,判别损失函数可以表示为:
LD(VW=1)=-E[log(Sigmoid(C(U)-C(VW=1)))]
其中,LD(VW=1)表示判别损失函数,U表示第二训练输入图像对应的第二训练标准图像,VW=1表示随机噪声图像的噪声幅度不为0的情况下得到的第二训练输出图像,C(U)表示第二训练标准图像作为判别网络的输入得到的判别输出图像,C(VW=1)表示随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像。
例如,第二训练标准图像U具有与第二训练输入图像相同的场景,即二者的内容相同,同时,第二训练标准图像U的质量比第二训练输出图像的质量高。例如,第二训练标准图像U可以参考前述第一训练标准图像X的相关描述,在此不再重复赘述。
需要说明的是,上述公式表示的判别损失函数是示例性的,例如,判别损失函数还可以表示为其他常用的公式,本公开的实施例对此不作限制。
例如,判别网络200的训练目标是最小化判别损失值。例如,在神经网络200的训练过程中,判别网络200的参数被不断地修正,以使经过参数修正后的判别网络200能够准确鉴别第二训练输出图像和第二训练标准图像,也就是,使判别网络200认定第二训练输出图像与第二训练标准图像的偏差越来越大,从而不断地减小判别损失值。
需要说明的是,在本实施例中,神经网络100的训练和判别网络200的训练是交替迭代进行的。例如,对于未经训练的神经网络100和判别网络200,一般先对判别网络200进行第一阶段训练,提高判别网络200的鉴别能力,得到经过第一阶段训练的判别网络200;然后,基于经过第一阶段训练的判别网络200对神经网络100进行第一阶段训练,提高神经网络100的图像增强处理能力,得到经过第一阶段训练的神经网络100。与第一阶段训练类似,在第二阶段训练中,基于经过第一阶段训练的神经网络100,对经过第一阶段训练的判别网络200进行第二阶段训练,提高判别网络200的鉴别能力,得到经过第二阶段训练的判别网络200;然后,基于经过第二阶段训练的判别网络200对经过第一阶段训练的神经网络100进行第二阶段训练,提高神经网络100的图像增强处理能力,得到经过第二阶段训练的神经网络100,依次类推,接下来对判别网络200和神经网络100进行第三阶段训练、第四阶段训练、……,直到得到的神经网络100的输出的质量可以接近于对应的训练标准图像的质量。
需要说明的是,在神经网络100和判别网络200的交替训练过程中,神经网络100和判别网络200的对抗体现在判别损失函数与神经网络的损失函数中的生成损失函数相反。还需要说明的是,理想情况下,经过训练得到的神经网络100输出的图像为高质量图像(即接近于训练标准图像的质量),判别网络200针对第二训练标准图像和该神经网络100生成的第二训练输出图像的输出趋近于一致,即神经网络100和判别网络200经过对抗博弈达到纳什均衡。
需要说明的是,在本公开的实施例提供的训练方法中,通常涉及对训练集中的大量样本图像(包括第一/第二训练输入图像、第一/第二训练标准图像等)的读操作和解码操作。例如,在一些实施例中,读操作是指将存储在存储器中的样本图像读取到处理器中的操作;例如,在一些实施例中,解码操作是指将图片格式(例如PNG、TIFF、JPEG等格式)的样本图像解码为二进制数据格式的操作,样本图像通常需要解码之后才能通过神经网络进行处理。
对于分辨率较高的样本图像,每一次读操作和解码操作都会占用大量的计算资源,不利于提高训练速度;当分辨率较高的样本图像的数量较多时,该问题尤为严重。因此,在一些实施例中,为了解决上述问题,在正式开始训练之前,可以提前对训练集的各个样本图像进行裁剪处理和解码处理,以得到二进制数据格式的多个子样本图像,从而可以基于该二进制数据格式的多个子样本图像对神经网络进行训练。
例如,在一些实施例中,可以先将训练集中的每个样本图像裁剪为多个子样本图像,再将该多个子样本图像分别解码为二进制数据格式的子样本图像并进行存储。例如,在另一些实施例中,可以先将训练集中的每个样本图像解码为二进制数据格式的,再对该二进制格式的样本图像进行裁剪以得到多个二进制数据格式的子样本图像并进行保存。
例如,每个样本图像对应的多个子样本图像之间可以相互交叠,也可以互不交叠,本公开的实施例对此不作限制。例如,每个样本图像对应的多个子样本图像的尺寸大小可以完全相等,也可以部分相等,也可以互不相等,本公开的实施例对此不作限制。例如,每个样本图像对应的多个子样本图像的中心可以呈均匀分布,也可以呈非均匀分布,本公开的实施例对此不作限制。
例如,同一个样本图像对应的多个子样本图像可以存储在同一个存储路径(例如同一个文件夹)中,而不同的样本图像对应的子样本图像则分别存储在不同的存储路径中。例如,在一些实施例中,每一个样本图像对应一个文件夹,该样本图像对应的多个子样本图像以预定的命名方式存储在该文件夹中;同时,全部的样本图像对应的文件夹又可以存储在一个大文件夹中,即训练集可以对应该大文件夹。例如,每个样本图像对应的各子样本图像可以按照“样本图像名”+“子样本图像序号”的命名方式进行命名,本公开的实施例包括但不限于此。
例如,在基于上述二进制数据格式的多个子样本图像对神经网络进行训练时,可以随机读取一个文件夹(相当于选择一个样本图像),再随机读取该文件夹中的一个二进制数据格式的子样本图像,然后,以读取的二进制数据格式的子样本图像作为例如训练输入图像等进行训练。由此,可以在训练过程中节省计算资源。
本公开的实施例提供的神经网络的训练方法,可以对本公开实施例的图像处理方法中采用的神经网络进行训练,通过该训练方法训练好的神经网络,可以对输入图像进行图像增强处理,可以获取更高的图像保真度以及大幅提升输出图像的质量,同时还可以提高处理速度。
本公开至少一实施例还提供一种合并神经网络的构建方法。图12为本公开一些实施例提供的一种合并神经网络的构建方法的流程图。例如,如图12所示,该合并神经网络的构建方法包括步骤S410至步骤S450。
步骤S410:获取多个训练好的神经网络模块,其中,该多个神经网络用于执行同一图像处理任务,该多个神经网络的输入图像的分辨率相同,该多个神经网络的输出图像的分辨率相同,该多个神经网络两两之间至少结构和参数之一不同。
例如,在步骤S410中,该多个神经网络中可以包括结构相同而参数不同的神经网络。例如,该结构相同而参数不同的神经网络可以是基于不同的训练配置训练得到。例如,不同的训练配置是指不同的训练集、不同的初始参数、不同的卷积核尺寸(例如,3×3,5×5,7×7等)、不同的超参数等之一或其任意组合。应当理解的是,当各神经网络的具体结构之间存在差异时,可以基于相同的训练配置进行训练,本公开的实施例对此不作限制。
例如,在一些实施例中,该多个神经网络可以包括第一神经网络,该第一神经网络用于执行第一图像处理方法,例如第一图像处理方法即为前述实施例提供的图像处理方法(例如,包括上述步骤S110至步骤S140等),本公开的实施例包括但不限于此。
步骤S420:在同一验证集上获得该多个神经网络的输出,根据预定的图像质量评价标准确定该多个神经网络的评估质量,并将该多个神经网络按照评估质量从高到低进行排序。
例如,在步骤S420中,验证集包括验证输入图像和与验证输入图像对应的验证标准图像。例如,验证输入图像可以参考前述训练输入图像(例如,第一训练输入图像、第二训练输入图像)的相关描述,验证标准图像可以参考前述训练标准图像(例如,第一训练标准图像、第二训练标准图像)的相关描述,在此不再重复赘述。应当理解的是,验证集和训练集通常不作严格区分,例如,在某些情况下,验证集可以用作训练集,而训练集的一部分可以用作验证集。
例如,在一些实施例中,将上述验证输入图像输入该多个神经网络,以得到该多个神经网络的验证输出图像,然后基于各验证输出图像和验证标准图像,确定各神经网络的评估质量。例如,通常验证输出图像越接近于验证标准图像,则说明神经网络的评估质量越高。例如,图像的质量评价标准包括均方误差(MSE)、相似度(SSIM)、峰值信噪比(PSNR)等。以评价标准为均方误差为例,可以通过下述公式计算验证输出图像和验证标准图像之间的均方误差:
MSE=E[(X’-Y’)2]
其中,MSE表示均方误差,Y’表示验证输出图像,X’表示验证输出图像对应的验证标准图像,E[]表示对矩阵能量的计算。
例如,均方误差MSE越小,表明验证输出图像越接近于验证标准图像,即神经网络的评估质量越高;均方误差MSE越大,表明验证输出图像越偏离于验证标准图像,即神经网络的评估质量越低。例如,在此情况下,将该多个神经网络按照评估质量从高到低进行排序,即为将该多个神经网络按照均方误差从小到大进行排序。
步骤S430:将评估质量最高的神经网络作为合并神经网络中的第1个神经网络。
例如,在一些实施例中,可以将均方误差最小的神经网络作为合并神经网络中的第1个神经网络,本公开的实施例包括但不限于此。例如,在另一些实施例中,可以将PSNR最大的神经网络作为合并神经网络中的第1个神经网络。
步骤S440:判断当前余下的评估质量最高的神经网络能否加入当前的合并神经网络,若能,则将当前余下的评估质量最高的神经网络加入当前的合并神经网络,若不能,则将当前的合并神经网络作为获得的合并神经网络。
例如,一方面,可以将验证输入图像输入当前的合并神经网络中的各神经网络,以得到当前的合并神经网络中的各神经网络的输出;然后,将当前的合并神经网络中的各神经网络的输出相加取平均值,以得到当前的合并神经网络的输出,并基于当前的合并神经网络的输出确定当前的合并神经网络的评估质量。另一方面,可以将验证输入图像输入当前余下的评估质量最高的神经网络(当前余下的神经网络是指当前还未并入合并神经网络的神经网络),以得到当前余下的评估质量最高的神经网络的输出;然后,将当前余下的评估质量最高的神经网络的输出与当前的合并神经网络中的各神经网络的输出相加取平均值,以得到临时合并神经网络的输出,并基于该临时合并神经网络的输出确定临时合并神经网络的评估质量。如果临时合并神经网络的评估质量不低于当前的合并神经网络的评估质量,则将当前余下的评估质量最高的神经网络加入当前的合并神经网络中,并继续对余下的评估质量最高的神经网络进行判断;如果临时合并神经网络的评估质量低于当前的合并神经网络的评估质量,则结束步骤S440。
应当理解的是,在合并神经网络仅包括第1个神经网络时,直接将该第1个神经网络的输出作为合并神经网络的输出。还应当理解的是,如果步骤S410中得到的多个神经网络均加入了合并神经网络,也自然结束步骤S440。
步骤S450:使用神经网络的训练方法对获得的合并神经网络进行训练,以得到训练好的合并神经网络。
例如,对获得的合并神经网络进行训练,即对获得的合并神经网络中的各神经网络同时进行训练,具体训练过程可以参考前述神经网络的训练方法的相关描述,在此不再重复赘述。
应当理解的是,在公开的实施例提供的合并神经网络的构建方法中,并不要求各神经网络的具体结构及处理过程和细节等完全相同。例如,对于执行相同图像处理任务而具有其它具体结构的神经网络(此时,对训练配置是否相同不作要求),只要其输入和输出的尺寸与上述多个神经网络的输入和输出的尺寸相同,就可以将其以加入或替换(例如,替换表现较差的模型)等方式并入现有的合并神经网络,只要其可以使新的合并神经网络具有更高的评估质量即可。
本公开的实施例提供的合并神经网络的构建方法的技术效果可以参考前述实施例中关于合并神经网络的图像处理方法的相应描述,在此不再赘述。
本公开至少一实施例还提供一种神经网络处理器。图13A为本公开一些实施例提供的一种神经网络处理器的示意性框图。例如,如图13A所示,该神经网络处理器50包括分析电路60、循环缩放电路70和合成电路80。例如,该神经网络处理器50可以用于执行前述图像处理方法。
例如,分析电路60配置为基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2,即分析电路60可以用于执行前述图像处理方法的步骤S120,具体过程和细节参考前述相关描述,在此不再重复赘述。
例如,循环缩放电路70配置为基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像,即循环缩放电路70可以用于执行前述图像处理方法的步骤S130,具体过程和细节参考前述相关描述,在此不再重复赘述。
例如,合成电路80配置为对中间特征图像进行合成处理,以得到输出图像,即合成电路80可以用于执行前述图像处理方法的步骤S140,具体过程和细节参考前述相关描述,在此不再重复赘述.
例如,如图13A所示,循环缩放电路70可以包括N-1个层级的逐层嵌套的缩放电路75,每个层级的缩放电路75包括下采样电路751、联接电路752、上采样电路753和残差链接相加电路754,从而该循环缩放电路70可以用于执行前述图像处理方法中的循环缩放处理的过程。例如,第i层级的下采样电路基于第i层级的缩放电路的输入进行下采样得到第i层级的下采样输出,第i层级的联接电路基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样电路基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加电路将所述第i层级的缩放电路的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放电路的输出,其中,i=1,2,…,N-1;第j+1层级的缩放电路嵌套在第j层级的下采样电路和第j层级的联接电路之间,所述第j层级的下采样电路的输出作为所述第j+1层级的缩放电路的输入,其中,j=1,2,…,N-2。
图13B为本公开一些实施例提供的另一种神经网络处理器的示意性框图。例如,如图4A和/或图4B等卷积神经网络中各层的算法均可以在图13B所示的神经网络处理器10中得以实现。
例如,神经网络网络处理器(NPU)10可以作为协处理器挂载到主CPU(图13B中未示出)上,由主CPU分配任务。NPU的核心部分为运算电路11,控制器12控制运算电路11提取内部存储器13中的数据(例如,输入矩阵和权重矩阵等)并进行运算。
例如,在一些实施例中,运算电路11内部可以包括多个处理单元(ProcessEngine,PE)。例如,在一些实施例中,运算电路11是二维脉动阵列。运算电路11还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。例如,在一些实施例中,运算电路11是通用的矩阵处理器。
例如,在一些实施例中,运算电路11可以从内部存储器12中读取权重矩阵的相应数据,并缓存在运算电路11中每一个PE上;另外,运算电路11还从内部存储器12中读取输入矩阵的数据与权重矩阵进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器14中。
例如,向量计算单元15可以对运算电路11的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元15可以用于神经网络中非卷积/非全连接层的网络计算,如下采样,标准化等。
例如,在一些实施例中,向量计算单元15可以将经过处理的输出的向量存储到统一存储器16中。例如,向量计算单元15可以将非线性函数应用到运算电路11的输出,例如累加值的向量,用以生成激活值。例如,在一些实施例中,向量计算单元15生成标准化的值、合并值,或二者均有。例如,在一些实施例中,处理过的输出的向量能够用作运算电路11的激活输入,例如用于在卷积神经网络中的后续层中的使用。
本公开的实施例提供的图像处理方法以及神经网络的训练方法的部分或全部步骤可以由运算电路11或向量计算单元15执行。
例如,神经网络处理器10可以通过存储单元访问控制器17将外部存储器(图13B中未示出)中的输入数据等写入到内部存储器13和/或统一存储器16,还将统一存储器16中的数据存入外部存储器。
例如,总线接口单元20,用于通过总线实现主CPU、存储单元访问控制器17和取指存储器18等之间的交互。例如,与控制器12连接的取指存储器18,用于存储控制器12使用的指令。例如,控制器12,用于调用取指存储器18中缓存的指令,实现控制运算电路11的工作过程。
例如,图4A和/或图4B所示的卷积神经网络中各层的运算可以由运算电路11或向量计算单元15执行。
本公开至少一实施例还提供一种图像处理装置。图14A为本公开一些实施例提供的一种图像处理装置的示意性框图。例如,如图14A所示,该图像处理装置470包括图像获取模块480和图像处理模块490。
例如,图像处理装置470可以用于执行前述图像处理方法,本公开的实施例包括但不限于此。
例如,图像获取模块480可以用于执行前述图像处理方法的步骤S110,本公开的实施例包括但不限于此。例如,图像获取模块480可以用于获取输入图像。例如,图像获取模块480可以包括存储器,存储器存储有输入图像;或者,图像获取模块480也可以包括一个或多个摄像头,以获取输入图像。
例如,图像处理模块490可以用于执行前述图像处理方法的步骤S120-步骤S140,本公开的实施例包括但不限于此。例如,图像处理模块可以:基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对中间特征图像进行合成处理,以得到输出图像。例如,循环缩放处理的具体过程和细节可以参考前述图像处理方法中的相关描述,在此不再重复赘述。
例如,在一些实施例中,图像获取模块480和图像处理模块490可以实现为硬件、软件、固件以及它们的任意可行的组合。
图14B为本公开一些实施例提供的另一种图像处理装置的示意性框图。例如,如图14B所示,该图像处理装置500包括存储器510和处理器520。例如,存储器510用于非暂时性存储计算机可读指令,处理器520用于运行该计算机可读指令,该计算机可读指令被处理器520运行时执行本公开任一实施例提供的图像处理方法或/和合并神经网络的图像处理方法或/和神经网络的训练方法或/和合并神经网络的构建方法。
例如,存储器510和处理器520之间可以直接或间接地互相通信。例如,在一些示例中,如图14B所示,该图像处理装置500还可以包括***总线530,存储器510和处理器520之间可以通过***总线530互相通信,例如,处理器520可以通过***总线530访问存储器510。例如,在另一些示例中,存储器510和处理器520等组件之间可以通过网络连接进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
例如,处理器520可以控制图像处理装置中的其它组件以执行期望的功能。处理器520可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有数据处理能力和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
例如,存储器510可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。
例如,在存储器510上可以存储一个或多个计算机指令,处理器520可以运行所述计算机指令,以实现各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如输入图像、输出图像、第一/第二训练输入图像、第一/第二训练输出图像、第一/第二训练标准图像以及应用程序使用和/或产生的各种数据等。
例如,存储器510存储的一些计算机指令被处理器520执行时可以执行根据上文所述的图像处理方法或合并神经网络的图像处理方法中的一个或多个步骤。又例如,存储器510存储的另一些计算机指令被处理器520执行时可以执行根据上文所述的神经网络的训练方法或合并神经网络的构建方法中的一个或多个步骤。
例如,如图14B所示,图像处理装置500还可以包括允许外部设备与图像处理装置500进行通信的输入接口540。例如,输入接口540可被用于从外部计算机设备、从用户等处接收指令。图像处理装置500还可以包括使图像处理装置500和一个或多个外部设备相互连接的输出接口550。例如,图像处理装置500可以通过输出接口550显示图像等。通过输入接口1010和输出接口1012与图像处理装置500通信的外部设备可被包括在提供任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘、鼠标、遥控器等之类的输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然用户界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与图像处理装置500交互。相反,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。
另外,图像处理装置500尽管在图9中被示出为单个***,但可以理解,图像处理装置500也可以是分布式***,还可以布置为云设施(包括公有云或私有云)。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由图像处理装置500执行的任务。
例如,关于图像处理方法的处理过程的详细说明可以参考上述图像处理方法的实施例中的相关描述,关于合并神经网络的图像处理方法的处理过程的详细说明可以参考上述合并神经网络的图像处理方法的实施例中的相关描述,关于神经网络的训练方法的处理过程的详细说明可以参考上述神经网络的训练方法的实施例中的相关描述,关于合并神经网络的构建方法的处理过程的详细说明可以参考上述合并神经网络的构建方法的实施例中的相关描述,重复之处不再赘述。
需要说明的是,本公开的实施例提供的图像处理装置是示例性的,而非限制性的,根据实际应用需要,该图像处理装置还可以包括其他常规部件或结构,例如,为实现图像处理装置的必要功能,本领域技术人员可以根据具体应用场景设置其他的常规部件或结构,本公开的实施例对此不作限制。
本公开的实施例提供的图像处理装置的技术效果可以参考上述实施例中关于图像处理方法、合并神经网络的图像处理方法、神经网络的训练方法以及合并神经网络的构建方法的相应描述,在此不再赘述。
本公开至少一实施例还提供一种存储介质。图15为本公开一实施例提供的一种存储介质的示意图。例如,如图15所示,该存储介质600非暂时性地存储计算机可读指令601,当非暂时性计算机可读指令601由计算机(包括处理器)执行时可以执行本公开任一实施例提供的图像处理方法或合并神经网络的图像处理方法的指令或者可以执行本公开任一实施例提供的神经网络的训练方法或合并神经网络的构建方法的指令。
例如,在存储介质600上可以存储一个或多个计算机指令。存储介质600上存储的一些计算机指令可以是例如用于实现上述图像处理方法或合并神经网络的图像处理方法中的一个或多个步骤的指令。存储介质上存储的另一些计算机指令可以是例如用于实现上述神经网络的训练方法或合并神经网络的构建方法中的一个或多个步骤的指令。
例如,存储介质可以包括平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
本公开的实施例提供的存储介质的技术效果可以参考上述实施例中图像处理方法、合并神经网络的图像处理方法、神经网络的训练方法以及合并神经网络的构建方法的相应描述,在此不再赘述。
对于本公开,有以下几点需要说明:
(1)本公开实施例附图中,只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开同一实施例及不同实施例中的特征可以相互组合。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (30)

1.一种图像处理方法,包括:
获取输入图像;
基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;
基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及
对所述中间特征图像进行合成处理,以得到输出图像;
其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;
第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
2.根据权利要求1所述的图像处理方法,其中,所述第i层级的联接处理基于所述第i层级的下采样输出和所述第i+1层级的初始特征图像进行联接得到所述第i层级的联合输出,包括:
将所述第i层级的下采样输出作为所述第i+1层级的缩放处理的输入,以得到所述第i+1层级的缩放处理的输出;以及
将所述第i+1层级的缩放处理的输出与所述第i+1层级的初始特征图像进行联接,以得到所述第i层级的联合输出。
3.根据权利要求2所述的图像处理方法,其中,至少一个层级的缩放处理连续执行多次,且前一次缩放处理的输出作为后一次缩放处理的输入。
4.根据权利要求3所述的图像处理方法,其中,每个层级的缩放处理连续执行两次。
5.根据权利要求1-4任一项所述的图像处理方法,其中,在所述N个层级的初始特征图像中,第1层级的初始特征图像的分辨率最高,且第1层级的初始特征图像的分辨率与所述输入图像的分辨率相同。
6.根据权利要求1-4任一项所述的图像处理方法,其中,前一层级的初始特征图像的分辨率为后一层级的初始特征图像的分辨率的整数倍。
7.根据权利要求1-4任一项所述的图像处理方法,其中,基于所述输入图像,得到分辨率从高到低排列的所述N个层级的初始特征图像,包括:
将所述输入图像与随机噪声图像进行联接,以得到联合输入图像;以及
对所述联合输入图像进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的所述N个层级的初始特征图像。
8.根据权利要求1-4任一项所述的图像处理方法,其中,获取所述输入图像,包括:
获取具有第一分辨率的原始输入图像;以及
对所述原始输入图像进行分辨率转换处理,以得到具有第二分辨率的所述输入图像,所述第二分辨率大于第一分辨率。
9.根据权利要求8所述的图像处理方法,其中,采用双立方插值算法、双线性插值算法和兰索斯(Lanczos)插值算法之一进行所述分辨率转换处理。
10.根据权利要求1-4任一项所述的图像处理方法,还包括:
对所述输入图像进行裁剪处理,以得到具有交叠区域的多个子输入图像;
所述基于输入图像得到分辨率从高到低排列的N个层级的初始特征图像具体包括:
基于每个子输入图像,得到分辨率从高到低排列的N个层级的子初始特征图像,N为正整数,且N>2;
所述基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像具体包括:
基于第2~N层级的子初始特征图像,对所述第1层级的子初始特征图像进行循环缩放处理,以得到子中间特征图像;
所述对所述中间特征图像进行合成处理,以得到输出图像具体包括:
对所述子中间特征图像进行合成处理,以得到对应的子输出图像;以及
将所述多个子输入图像对应的子输出图像拼接为所述输出图像。
11.根据权利要求10所述的图像处理方法,其中,所述多个子输入图像的尺寸大小相同,所述多个子输入图像的中心形成均匀规则的网格,且在行方向和列方向上,相邻的两个子输入图像的交叠区域的尺寸大小均是恒定的,所述输出图像中每个像素点的像素值表示为:
其中,Yp表示所述输出图像中的任意一个像素点p的像素值,T表示包括该像素点p的子输出图像的数量,Yk,(p)表示该像素点p在第k幅包括该像素点p的子输出图像中的像素值,sk表示在所述第k幅包括该像素点p的子输出图像中该像素点p到所述第k幅包括该像素点p的子输出图像的中心的距离。
12.一种合并神经网络的图像处理方法,其中,所述合并神经网络包括多个神经网络,所述多个神经网络用于执行同一图像处理任务,所述多个神经网络的输入图像的分辨率相同,所述多个神经网络的输出图像的分辨率相同,所述多个神经网络两两之间至少结构和参数之一不同;
所述合并神经网络的图像处理方法,包括:
将输入图像输入所述合并神经网络中的所述多个神经网络,以分别得到所述多个神经网络的输出;以及
将所述多个神经网络的输出相加取平均值,以得到所述合并神经网络的输出,
其中,所述多个神经网络包括第一神经网络,所述第一神经网络用于执行第一图像处理方法,所述第一图像处理方法包括:
获取输入图像;
基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;
基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及
对所述中间特征图像进行合成处理,以得到输出图像;
其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;
第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
13.一种神经网络的训练方法,其中,所述神经网络包括:分析网络、循环缩放网络和合成网络;
所述训练方法包括:
获取第一训练输入图像;
使用所述分析网络对所述第一训练输入图像进行处理,以得到分辨率从高到低排列的N个层级的训练初始特征图像,N为正整数,且N>2;
使用所述循环缩放网络,基于第2~N层级的训练初始特征图像,对第1层级的训练初始特征图像进行循环缩放处理,以得到训练中间特征图像;
使用所述合成网络对所述训练中间特征图像进行合成处理,以得到第一训练输出图像;
基于所述第一训练输出图像,通过损失函数计算所述神经网络的损失值;以及
根据所述神经网络的损失值对所述神经网络的参数进行修正;
其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括依次执行的下采样处理、联接处理、上采样处理和残差链接相加处理;
第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
14.根据权利要求13所述的神经网络的训练方法,其中,所述损失函数表示为:
其中,L(Y,X)表示所述损失函数,Y表示所述第一训练输出图像,X表示所述第一训练输入图像对应的第一训练标准图像,Sk-1(Y)表示对所述第一训练输出图像进行第k-1层级下采样处理得到的输出,Sk-1(X)表示对所述第一训练标准图像进行第k-1层级的下采样处理得到的输出,E[]表示对矩阵能量的计算。
15.根据权利要求13所述的神经网络的训练方法,其中,使用所述分析网络对所述第一训练输入图像进行处理,以得到分辨率从高到低排列的所述N个层级的训练初始特征图像,包括:
将所述第一训练输入图像与随机噪声图像进行联接,以得到训练联合输入图像;以及
使用所述分析网络对所述训练联合输入图像进行N个不同层级的分析处理,以分别得到分辨率从高到低排列的所述N个层级的训练初始特征图像。
16.根据权利要求15所述的神经网络的训练方法,其中,基于所述第一训练输出图像,通过所述损失函数计算所述神经网络的损失值,包括:
使用判别网络对所述第一训练输出图像进行处理,并基于所述第一训练输出图像对应的判别网络的输出计算所述神经网络的损失值。
17.根据权利要求16所述的神经网络的训练方法,其中,所述判别网络包括:M-1个层级的下采样子网络、M个层级的判别支网络、合成子网络和激活层;
所述M-1个层级的下采样子网络用于对所述判别网络的输入进行不同层级的下采样处理,以得到M-1个层级的下采样子网络的输出;
所述判别网络的输入和所述M-1个层级的下采样子网络的输出分别对应作为所述M个层级的判别支网络的输入;
每个层级的判别支网络包括依次连接的亮度处理子网络、第一卷积子网络和第二卷积子网络;
第t层级的判别支网络中的第二卷积子网络的输出与第t+1层级的判别支网络中的第一卷积子网络的输出进行联接后作为第t+1层级的判别支网络中的第二卷积子网络的输入,其中,t=1,2,…,M-1;
所述合成子网络用于对第M层级的判别支网络中的第二卷积子网络的输出进行合成处理,以得到判别输出图像;
所述激活层用于对所述判别输出图像进行处理,以得到表征所述判别网络的输入的质量的数值。
18.根据权利要求17所述的神经网络的训练方法,其中,所述亮度处理子网络包括亮度特征提取子网络、归一化子网络和平移相关子网络,
所述亮度特征提取子网络用于提取亮度特征图像,
所述归一化子网络用于对所述亮度特征图像进行归一化处理,以得到归一化亮度特征图像,
所述平移相关子网络用于对所述归一化亮度特征图像进行多次图像平移处理,以得到多个移位图像,并根据所述归一化亮度特征图像与每个所述移位图像之间的相关性,生成多个相关性图像。
19.根据权利要求17所述的神经网络的训练方法,其中,所述损失函数表示为:
L(Y,X)=λ1LG(YW=1)+λ2LL1(SM(YW=1),SM(X))+λ3Lcont(YW=1,X)+λ4LL1(YW=0,X)+λ5LL1(SM(YW=0),SM(X))
其中,L(Y,X)表示损失函数,Y表示所述第一训练输出图像,Y包括YW=1和YW=0,X表示所述第一训练输入图像对应的第一训练标准图像,LG(YW=1)表示生成损失函数,YW=1表示所述随机噪声图像的噪声幅度不为0的情况下得到的第一训练输出图像,LL1(SM(YW=1),SM(X))表示第一对比损失函数,Lcont(YW=1,X)表示内容损失函数,LL1((YW=0),X)表示第二对比损失函数,YW=0表示所述随机噪声图像的噪声幅度为0的情况下得到的第一训练输出图像,LL1(SM(YW=0),SM(X))表示第三对比损失函数,SM()表示进行第M层级的下采样处理,λ1、λ2、λ3、λ4、λ5分别表示预设的权值;
所述生成损失函数LG(YW=1)表示为:
LG(YW=1)=-E[log(Sigmoid(C(YW=1)-C(X)))]
其中,C(YW=1)表示所述随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像,C(X)表示第一训练标准图像作为判别网络的输入得到的判别输出图像;
所述第一对比损失函数LL1(SM(YW=1),SM(X))、所述第二对比损失函数LL1((YW=0),X)和所述第三对比损失函数LL1(SM(YW=0),SM(X))分别表示为:
其中,E[]表示对矩阵能量的计算;
所述内容损失函数表示Lcont(YW=1,X)为:
其中,S1为常数,Fij表示在内容特征提取模块中第i个卷积核提取的第一训练输出图像的第一内容特征图中第j个位置的值,Pij表示在所述内容特征提取模块中第i个卷积核提取的第一训练标准图像的第二内容特征图中第j个位置的值。
20.根据权利要求16-19任一项所述的神经网络的训练方法,还包括:
基于所述神经网络,对所述判别网络进行训练;以及,
交替地执行所述判别网络的训练过程和所述神经网络的训练过程,以得到训练好的神经网络;
其中,基于所述神经网络,对所述判别网络进行训练,包括:
获取第二训练输入图像;
使用所述神经网络对所述第二训练输入图像进行处理,以得到第二训练输出图像;
基于所述第二训练输出图像,通过判别损失函数计算判别损失值;以及
根据所述判别损失值对所述判别网络的参数进行修正。
21.根据权利要求20所述的神经网络的训练方法,其中,所述判别损失函数表示为:
LD(VW=1)=-E[log(Sigmoid(C(U)-C(VW=1)))]
其中,LD(VW=1)表示判别损失函数,U表示所述第二训练输入图像对应的第二训练标准图像,VW=1表示所述随机噪声图像的噪声幅度不为0的情况下得到的第二训练输出图像,C(U)表示所述第二训练标准图像作为所述判别网络的输入得到的判别输出图像,C(VW=1)表示所述随机噪声图像的噪声幅度不为0的情况下得到的判别输出图像。
22.根据权利要求13-19任一项所述的神经网络的训练方法,还包括:
在进行训练之前,对训练集的各个样本图像进行裁剪处理和解码处理,以得到二进制数据格式的多个子样本图像;
在进行训练时,基于所述二进制数据格式的子样本图像对所述神经网络进行训练。
23.根据权利要求22所述的神经网络的训练方法,其中,所述多个子样本图像的尺寸大小相等。
24.一种合并神经网络的构建方法,包括:
获取多个训练好的神经网络模块,其中,所述多个神经网络用于执行同一图像处理任务,所述多个神经网络的输入图像的分辨率相同,所述多个神经网络的输出图像的分辨率相同,所述多个神经网络两两之间至少结构和参数之一不同;
在同一验证集上获得所述多个神经网络的输出,根据预定的图像质量评估标准确定所述多个神经网络的评估质量,并将所述多个神经网络按照评估质量从高到低进行排序;
将评估质量最高的神经网络作为所述合并神经网络中的第1个神经网络;以及
判断当前余下的评估质量最高的神经网络能否加入当前的合并神经网络,若能,则将当前余下的评估质量最高的神经网络加入当前的合并神经网络,若不能,则将当前的合并神经网络作为获得的合并神经网络,
其中,所述多个神经网络包括第一神经网络,所述第一神经网络用于执行第一图像处理方法,所述第一图像处理方法包括:
获取输入图像;
基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;
基于第2~N层级的初始特征图像,对所述N个层级的初始特征图像中的第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及
对所述中间特征图像进行合成处理,以得到输出图像;
其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;
第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理的输入,其中,j=1,2,…,N-2。
25.根据权利要求24所述的合并神经网络的构建方法,还包括:
对所述获得的合并神经网络进行训练,以得到训练好的合并神经网络。
26.根据权利要求24或25所述的合并神经网络的构建方法,其中,所述预定的图像质量评估标准包括均方误差、相似度和峰值信噪比之一。
27.一种神经网络处理器,包括分析电路、循环缩放电路和合成电路;
所述分析电路配置为基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;
所述循环缩放电路配置为基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;
所述合成电路配置为对所述中间特征图像进行合成处理,以得到输出图像;其中,
所述循环缩放电路包括N-1个层级的逐层嵌套的缩放电路,每个层级的缩放电路包括下采样电路、联接电路、上采样电路和残差链接相加电路;
第i层级的下采样电路基于第i层级的缩放电路的输入进行下采样得到第i层级的下采样输出,第i层级的联接电路基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样电路基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加电路将所述第i层级的缩放电路的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放电路的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放电路嵌套在第j层级的下采样电路和第j层级的联接电路之间,所述第j层级的下采样电路的输出作为所述第j+1层级的缩放电路的输入,其中,j=1,2,…,N-2。
28.一种图像处理装置,包括:
图像获取模块,配置为获取输入图像;
图像处理模块,配置为:基于输入图像,得到分辨率从高到低排列的N个层级的初始特征图像,N为正整数,且N>2;基于第2~N层级的初始特征图像,对第1层级的初始特征图像进行循环缩放处理,以得到中间特征图像;以及对所述中间特征图像进行合成处理,以得到输出图像;
其中,所述循环缩放处理包括:N-1个层级的逐层嵌套的缩放处理,每个层级的缩放处理包括下采样处理、联接处理、上采样处理和残差链接相加处理;
第i层级的下采样处理基于第i层级的缩放处理的输入进行下采样得到第i层级的下采样输出,第i层级的联接处理基于所述第i层级的下采样输出和第i+1层级的初始特征图像进行联接得到第i层级的联合输出,第i层级的上采样处理基于所述第i层级的联合输出得到第i层级的上采样输出,第i层级的残差链接相加处理将所述第i层级的缩放处理的输入与所述第i层级的上采样输出进行残差链接相加得到第i层级的缩放处理的输出,其中,i=1,2,…,N-1;
第j+1层级的缩放处理嵌套在第j层级的下采样处理和第j层级的联接处理之间,所述第j层级的下采样处理的输出作为所述第j+1层级的缩放处理输入,其中,j=1,2,…,N-2。
29.一种图像处理装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时执行根据权利要求1-11任一项所述的图像处理方法,或者执行根据权利要求12所述的合并神经网络的图像处理方法,或者执行根据权利要求13-23任一项所述的神经网络的训练方法,或者执行根据权利要求24-27任一项所述的合并神经网络的构建方法。
30.一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时可以执行根据权利要求1-11任一项所述的图像处理方法的指令,或者可以执行根据权利要求12所述的合并神经网络的图像处理方法的指令,或者可以执行根据权利要求13-23任一项所述的神经网络的训练方法的指令,或者可以执行根据权利要求24-27任一项所述的合并神经网络的构建方法的指令。
CN201910995755.2A 2019-10-18 2019-10-18 图像处理方法及装置、神经网络的训练方法、存储介质 Active CN110717851B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910995755.2A CN110717851B (zh) 2019-10-18 2019-10-18 图像处理方法及装置、神经网络的训练方法、存储介质
PCT/CN2020/120586 WO2021073493A1 (zh) 2019-10-18 2020-10-13 图像处理方法及装置、神经网络的训练方法、合并神经网络模型的图像处理方法、合并神经网络模型的构建方法、神经网络处理器及存储介质
US17/419,350 US11954822B2 (en) 2019-10-18 2020-10-13 Image processing method and device, training method of neural network, image processing method based on combined neural network model, constructing method of combined neural network model, neural network processor, and storage medium
US18/396,866 US20240233074A9 (en) 2019-10-18 2023-12-27 Image processing method and device, training method of neural network, image processing method based on combined neural network model, constructing method of combined neural network model, neural network processor, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910995755.2A CN110717851B (zh) 2019-10-18 2019-10-18 图像处理方法及装置、神经网络的训练方法、存储介质

Publications (2)

Publication Number Publication Date
CN110717851A CN110717851A (zh) 2020-01-21
CN110717851B true CN110717851B (zh) 2023-10-27

Family

ID=69212868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910995755.2A Active CN110717851B (zh) 2019-10-18 2019-10-18 图像处理方法及装置、神经网络的训练方法、存储介质

Country Status (3)

Country Link
US (1) US11954822B2 (zh)
CN (1) CN110717851B (zh)
WO (1) WO2021073493A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113767416A (zh) * 2019-05-06 2021-12-07 索尼集团公司 电子装置、方法、以及计算机程序
CN110717851B (zh) 2019-10-18 2023-10-27 京东方科技集团股份有限公司 图像处理方法及装置、神经网络的训练方法、存储介质
CN113556496B (zh) * 2020-04-23 2022-08-09 京东方科技集团股份有限公司 视频分辨率提升方法及装置、存储介质及电子设备
CN111932474A (zh) * 2020-07-30 2020-11-13 深圳市格灵人工智能与机器人研究院有限公司 基于深度学习的图像去噪方法
CN112164227B (zh) * 2020-08-26 2022-06-28 深圳奇迹智慧网络有限公司 违停车辆告警方法、装置、计算机设备和存储介质
CN112215789B (zh) * 2020-10-12 2022-10-25 北京字节跳动网络技术有限公司 图像去雾方法、装置、设备和计算机可读介质
CN112215751A (zh) * 2020-10-13 2021-01-12 Oppo广东移动通信有限公司 图像缩放方法、图像缩放装置及终端设备
RU2764395C1 (ru) 2020-11-23 2022-01-17 Самсунг Электроникс Ко., Лтд. Способ и устройство для совместного выполнения дебайеризации и устранения шумов изображения с помощью нейронной сети
CN112784897B (zh) * 2021-01-20 2024-03-26 北京百度网讯科技有限公司 图像处理方法、装置、设备和存储介质
CN115335848A (zh) * 2021-03-01 2022-11-11 京东方科技集团股份有限公司 视频块处理方法及装置、神经网络的训练方法和存储介质
US20220286696A1 (en) * 2021-03-02 2022-09-08 Samsung Electronics Co., Ltd. Image compression method and apparatus
US20220301127A1 (en) * 2021-03-18 2022-09-22 Applied Materials, Inc. Image processing pipeline for optimizing images in machine learning and other applications
CN115735224A (zh) * 2021-06-25 2023-03-03 京东方科技集团股份有限公司 非抽取的图像处理方法及装置
CN114494022B (zh) * 2022-03-31 2022-07-29 苏州浪潮智能科技有限公司 模型训练方法、超分辨率重建方法、装置、设备及介质
CN114925746B (zh) * 2022-04-19 2023-08-01 淮阴工学院 一种基于Air-Net的目标检测方法
WO2023217270A1 (zh) * 2022-05-13 2023-11-16 北京字跳网络技术有限公司 图像超分方法、超分网络参数调整方法、相关装置及介质
CN115861662B (zh) * 2023-02-22 2023-05-12 脑玺(苏州)智能科技有限公司 基于组合神经网络模型的预测方法、装置、设备及介质
CN117392009B (zh) * 2023-12-06 2024-03-19 国网山东省电力公司淄博供电公司 图像自动透雾处理方法、***、终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810999A (zh) * 2014-02-27 2014-05-21 清华大学 基于分布式神经网络的语言模型训练方法及其***
CN106991506A (zh) * 2017-05-16 2017-07-28 深圳先进技术研究院 智能终端及其基于lstm的股票趋势预测方法
CN108537762A (zh) * 2017-12-29 2018-09-14 西安电子科技大学 基于深度多尺度网络的二次jpeg压缩图像取证方法
CN110018322A (zh) * 2019-04-18 2019-07-16 北京先见智控科技有限公司 一种基于深度学习的转速检测方法及***
CN110188776A (zh) * 2019-05-30 2019-08-30 京东方科技集团股份有限公司 图像处理方法及装置、神经网络的训练方法、存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010122502A1 (en) * 2009-04-20 2010-10-28 Yeda Research And Development Co. Ltd. Super-resolution from a single signal
US8917948B2 (en) * 2011-09-16 2014-12-23 Adobe Systems Incorporated High-quality denoising of an image sequence
US9760977B2 (en) * 2013-03-27 2017-09-12 Thomson Licensing Method and apparatus for generating a super-resolved image from a single image
US9659384B2 (en) * 2014-10-03 2017-05-23 EyeEm Mobile GmbH. Systems, methods, and computer program products for searching and sorting images by aesthetic quality
CN110223224A (zh) * 2019-04-29 2019-09-10 杰创智能科技股份有限公司 一种基于信息过滤网络的图像超分辨实现算法
CN110717851B (zh) * 2019-10-18 2023-10-27 京东方科技集团股份有限公司 图像处理方法及装置、神经网络的训练方法、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810999A (zh) * 2014-02-27 2014-05-21 清华大学 基于分布式神经网络的语言模型训练方法及其***
CN106991506A (zh) * 2017-05-16 2017-07-28 深圳先进技术研究院 智能终端及其基于lstm的股票趋势预测方法
CN108537762A (zh) * 2017-12-29 2018-09-14 西安电子科技大学 基于深度多尺度网络的二次jpeg压缩图像取证方法
CN110018322A (zh) * 2019-04-18 2019-07-16 北京先见智控科技有限公司 一种基于深度学习的转速检测方法及***
CN110188776A (zh) * 2019-05-30 2019-08-30 京东方科技集团股份有限公司 图像处理方法及装置、神经网络的训练方法、存储介质

Also Published As

Publication number Publication date
US11954822B2 (en) 2024-04-09
US20240135490A1 (en) 2024-04-25
WO2021073493A1 (zh) 2021-04-22
US20220084166A1 (en) 2022-03-17
CN110717851A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN110717851B (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
CN111767979B (zh) 神经网络的训练方法、图像处理方法、图像处理装置
WO2020239026A1 (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
CN111402143B (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN112308200B (zh) 神经网络的搜索方法及装置
WO2020192483A1 (zh) 图像显示方法和设备
CN111402130B (zh) 数据处理方法和数据处理装置
CN113066017B (zh) 一种图像增强方法、模型训练方法及设备
CN112598597A (zh) 一种降噪模型的训练方法及相关装置
CN112819910A (zh) 基于双鬼注意力机制网络的高光谱图像重建方法
CN114730456A (zh) 神经网络模型的训练方法、图像处理方法及其装置
CN113095470A (zh) 神经网络的训练方法、图像处理方法及装置、存储介质
CN112561028A (zh) 训练神经网络模型的方法、数据处理的方法及装置
CN113673545A (zh) 光流估计方法、相关装置、设备及计算机可读存储介质
CN112132741A (zh) 一种人脸照片图像和素描图像的转换方法及***
JP2024018938A (ja) 周波数領域における自己注意機構に基づく夜間オブジェクト検出、訓練方法及び装置
CN113066018A (zh) 一种图像增强方法及相关装置
CN113284055A (zh) 一种图像处理的方法以及装置
CN113096023A (zh) 神经网络的训练方法、图像处理方法及装置、存储介质
WO2020187029A1 (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
CN113076966B (zh) 图像处理方法及装置、神经网络的训练方法、存储介质
CN116266336A (zh) 视频超分辨率重建方法、装置、计算设备及存储介质
US20240233074A9 (en) Image processing method and device, training method of neural network, image processing method based on combined neural network model, constructing method of combined neural network model, neural network processor, and storage medium
WO2022183325A1 (zh) 视频块处理方法及装置、神经网络的训练方法和存储介质
Dong et al. MFIFusion: An infrared and visible image enhanced fusion network based on multi-level feature injection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant