CN115131256A - 图像处理模型、图像处理模型的训练方法及装置 - Google Patents
图像处理模型、图像处理模型的训练方法及装置 Download PDFInfo
- Publication number
- CN115131256A CN115131256A CN202110312292.2A CN202110312292A CN115131256A CN 115131256 A CN115131256 A CN 115131256A CN 202110312292 A CN202110312292 A CN 202110312292A CN 115131256 A CN115131256 A CN 115131256A
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- frequency
- processing
- low
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 905
- 238000000034 method Methods 0.000 title claims abstract description 148
- 238000012549 training Methods 0.000 title claims abstract description 146
- 238000000926 separation method Methods 0.000 claims abstract description 120
- 230000004927 fusion Effects 0.000 claims abstract description 79
- 238000003672 processing method Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 200
- 238000004821 distillation Methods 0.000 claims description 110
- 238000007499 fusion processing Methods 0.000 claims description 72
- 230000015654 memory Effects 0.000 claims description 70
- 238000007781 pre-processing Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 13
- 230000002146 bilateral effect Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 230000004438 eyesight Effects 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 51
- 238000013528 artificial neural network Methods 0.000 description 44
- 238000004364 calculation method Methods 0.000 description 38
- 238000013527 convolutional neural network Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 33
- 230000000694 effects Effects 0.000 description 33
- 239000011159 matrix material Substances 0.000 description 33
- 238000011176 pooling Methods 0.000 description 32
- 239000013598 vector Substances 0.000 description 29
- 238000003384 imaging method Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 24
- 238000012544 monitoring process Methods 0.000 description 15
- 230000004913 activation Effects 0.000 description 14
- 238000005070 sampling Methods 0.000 description 13
- 230000001537 neural effect Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000003062 neural network model Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 10
- 238000013140 knowledge distillation Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004304 visual acuity Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种图像处理模型、图像处理模型的训练方法、图像处理方法及装置,涉及人工智能领域,具体涉及计算机视觉领域。该图像处理模型包括频率分离模块、低频处理模块和频率融合模块,频率分离模块将输入的多帧图像进行频率分离处理,提取不同的频率分量,低频处理模块将多帧图像的低频分量进行融合,频率融合模块将融合后的低频分量和多帧图像的高频分量进行融合,得到增强后的图像,本申请实施例的方案能够减少计算开销和硬件功耗,提高图像处理模型的运算速度。
Description
技术领域
本申请涉及计算机视觉领域,尤其涉及一种图像处理模型、图像处理模型的训练方法、图像处理方法及装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
成像质量的高低对图像处理效果具有显著影响。随着成像技术的发展,智能手机等终端设备拍摄的图像和视频的质量已经有了一定的改善。但是受限于终端设备光学传感器的硬件性能,成像质量仍然存在噪声高、解析力较低、细节缺失以及偏色等问题。通过图像增强处理能够提升成像质量,有助于提高后续的计算机视觉处理的准确度。
深度学习在计算机视觉的多种任务中取得了令人瞩目的效果。相较于传统的图像增强算法,基于深度学习的图像增强算法能够大幅提升图像质量。通常来说,神经网络模型越复杂,图像增强的效果越好。然而,越复杂的神经网络模型所需要的硬件资源越多,即所需的计算开销和运行时的内存开销越大,这样严重影响了神经网络模型处理的实时性,限制神经网络模型应用到实时性要求较高的场景中。而且,过大的神经网络模型也无法部署到计算能力较弱的设备中,例如,手机等终端设备中。
发明内容
本申请提供一种图像处理模型、图像处理模型的训练方法、图像处理方法及装置,能够减少计算开销和硬件功耗,提高图像处理模型的运算速度。
第一方面,提供了一种图像处理模型,该模型包括:频率分离模块、低频处理模块和频率融合模块;频率分离模块,用于对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量;低频处理模块,用于对多帧图像的低频分量进行融合处理,输出融合后的低频分量;频率融合模块,用于对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
根据本申请实施例的方案,提取多帧图像的不同频率分量,将高频分量相对分离,保证了图像中的高频信息不受帧间不对齐问题影响,保留了较好的高频细节,避免增强后的图像出现模糊的问题,将多帧图像的低频分量进行融合,以获得多帧图像中的低频信息,实现帧间互补,解决了偏色、一般纹理模糊等问题,提高了去噪效果,保证了画面色彩的真实性,增强了图像的纹理细节,提升了成像质量。而且,本申请实施例中的方案将高频分量分离出来,使得高频分量不被帧间不对齐问题所影响,因而不需要使用较深的卷积层对多帧图像进行对齐,降低了模型运行时的计算开销和内存开销,提高了模型的运行速度。
本申请实施例中的“高频”和“低频”为相对概念,只要满足高频分量的频率高于低频分量的频率即可。
可选地,频率分离模块可以通过频率变换的方式对多帧图像分别进行频率分离处理。
多帧图像的数量和至少一帧图像对应的增强图像的数量可以相同,也可以不同。增强图像即为模型的输出图像。也就是说,输入模型的图像的数量和输出模型的图像的数量可以相同,也可以不同。
输出的至少一帧图像对应的增强图像可以为一帧或多帧。
结合第一方面,在第一方面的某些实现方式中,至少一帧图像对应的增强图像的数量大于或等于2。
根据本申请实施例的方案,在至少一帧图像为两帧及两帧以上图像的情况下,图像处理模型为多输入多输出模型,可以同时输出两帧及两帧以上图像对应的增强图像。相较于多输入单输出的模型而言,采用多输入多输出的模型可以在一次推理过程中同时处理多帧图像,这样可以适当降低模型推理的速度,因而可以适当增加网络容量,例如使用更深的卷积层,以得到更好的成像质量,或者,也可以增加复原细节所需的有效信息,例如输入更多的图像以得到更好的成像质量,允许计算力较弱的设备使用容量更大的卷积神经网络以进一步提升成像质量。
结合第一方面,在第一方面的某些实现方式中,模型还包括:高频处理模块,用于对多帧图像中的至少一帧图像的高频分量分别进行卷积处理;以及频率融合模块用于对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
卷积处理的次数可以为一次,也可以为多次。
根据本申请实施例的方案,通过对高频分量进行卷积处理,有利于进一步恢复高频细节,以提高高频区域的图像质量。
结合第一方面,在第一方面的某些实现方式中,频率分离模块具体用于:通过小波变换对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
示例性地,小波变换可以为离散小波变换(discrete wavelet transformation,DWT)。
结合第一方面,在第一方面的某些实现方式中,低频处理模块具体用于:对多帧图像的低频分量进行串联合并;对串联合并的结果进行卷积处理,输出融合后的低频分量。
结合第一方面,在第一方面的某些实现方式中,频率融合模块具体用于:对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
结合第一方面,在第一方面的某些实现方式中,频率融合模块具体用于:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
结合第一方面,在第一方面的某些实现方式中,图像处理模型还包括输入处理模块,输入处理模块用于对多帧初始图像进行预处理,输出多帧图像。
示例性地,该多帧初始图像可以是视频中的相邻的多帧图像。再如,该多帧初始图像可以是快门按下时拍摄的多张图像。
结合第一方面,在第一方面的某些实现方式中,输入处理模块具体用于:对多帧初始图像进行特征提取,将提取到的多帧初始图像的特征图作为多帧图像。
示例性地,通过一次或多次卷积处理对多帧初始图像进行特征提取。
结合第一方面,在第一方面的某些实现方式中,输入处理模块具体用于:对多帧初始图像进行下采样处理,将下采样处理后的图像作为多帧图像。
示例性地,通过像素重组对多帧初始图像进行下采样处理,得到下采样处理后的图像。
这样可以得到所需要的分辨率的图像。
结合第一方面,在第一方面的某些实现方式中,输入处理模块具体用于:对多帧初始图像进行下采样处理,对下采样处理后的图像进行特征提取,将提取到的特征图作为多帧图像。
第二方面,提供了一种图像处理模型的训练方法,该方法包括:获取多帧样本图像和多帧样本图像中的至少一帧样本图像对应的目标图像,至少一帧样本图像对应的目标图像的信噪比高于至少一帧样本图像;第一图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第一增强图像;以减小目标损失函数的值为目标对第一图像处理模型的参数进行调整,得到训练好的第一图像处理模型,目标损失函数是根据第一图像处理模型的损失函数确定的,第一图像处理模型的损失函数用于计算至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异;损失函数包括权重值,至少一帧样本图像对应的第一增强图像中的部分或全部区域对应的损失函数的权重值通过权重图指示。
根据本申请实施例的方案,为模型输出的增强图像的不同区域设置不同的损失函数的权重值,为需要模型加强关注的区域设置更高的权重值,能够指导模型更关注指定的区域,进一步提高模型在指定区域处理方面的性能。
样本图像对应的目标图像也可以理解为样本图像对应的监督标签真值(groundtruth,GT)。
应理解,“第一图像处理模型”中的“第一”仅用于区别不同的图像处理模型,不具有其他限定作用。
示例性地,可以采用梯度下降法对第一图像处理模型的参数进行调整。
结合第二方面,在第二方面的某些实现方式中,第一图像处理模型包括第一频率分离模块、第一低频处理模块和第一频率融合模块,其中,第一频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第一高频分量和第一低频分量;第一低频处理模块,用于对多帧样本图像的第一低频分量进行融合处理,输出融合后的第一低频分量;第一频率融合模块,用于对融合后的第一低频分量和至少一帧样本图像的第一高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第一增强图像。
结合第二方面,在第二方面的某些实现方式中,至少一帧样本图像对应的第一增强图像中的高频区域对应的损失函数的权重值大于至少一帧样本图像对应的第一增强图像中的低频区域对应的损失函数的权重值。
根据本申请实施例的方案,通过为高频区域设置更高的损失函数的权重值,使得模型更关注高频难样本,或者说,指导模型更关注高频细节,以提高训练好的模型在高频细节处理方面的性能。
结合第二方面,在第二方面的某些实现方式中,权重图是根据高频权重图确定的,高频权重图用于指示高频区域对应的损失函数的权重值与低频区域对应的损失函数的权重值之间的差值。
例如,权重图w满足如下公式:
w=1+whf;
whf表示高频权重图。
也就是说,低频区域对应的损失函数的权重值为1,高频区域对应的损失函数的权重值为1和高频权重图中的值的和。
结合第二方面,在第二方面的某些实现方式中,通过高通滤波器提取目标图像的高频分量,将得到的高频分量作为高频权值图whf。
例如,whf满足以下公式:
whf=ifft(HP(fft(GT)));
其中,fft()表示快速傅里叶变换,ifft()表示快速傅里叶逆变换,HP()表示高通滤波器。
结合第二方面,在第二方面的某些实现方式中,至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异,包括:至少一帧样本图像对应的第一增强图像中的部分像素和至少一帧样本图像对应的目标图像的部分像素之间的差异。
根据本申请实施例的方案,以第一增强图像和目标图像中的部分像素之间的差异作为第一增强图像和目标图像之间的差异,能够减少计算量;同时,能够根据需要选择部分像素用于计算损失函数的值,能够使得模型仅关注所需的部分像素,更好地满足不同的需求。
结合第二方面,在第二方面的某些实现方式中,部分像素包括像素值小于或等于第一阈值的像素。
根据本申请实施例的方案,在计算第一图像处理模型的损失函数的值时,仅考虑像素值小于或等于第一阈值的像素,不考虑像素值较高的像素,即对图像进行高亮抑制,以减少对高亮区域的关注,有利于恢复暗区细节。
传感器采集到的像素值高于4096的像素均为白色,在图像中显示为高亮的像素。
例如,第一阈值可以为4096。
示例性地,可以通过裁剪(clip)操作得到该部分像素。
结合第二方面,在第二方面的某些实现方式中,损失函数是根据以下至少两项确定的:内容损失、结构相似性损失、上下文双边损失或颜色损失。
也就是说,第一图像处理模型的损失函数可以是根据以下至少两项确定的:第一增强图像与目标图像之间的content loss、第一增强图像与目标图像之间的SSIM loss、第一增强图像与目标图像之间的cobi loss、第一增强图像与目标图像之间的color loss。
在本申请实施例中,构建内容损失能够对模型输出的增强图像进行像素级约束,保证内容的保真度,即保证模型输出的增强图像中的内容的准确性,构建结构相似性损失能够提升输出图像的一般性纹理,构建上下文双边损失能够增加模型输出的增强图像的弱对比度纹理细节,构建颜色损失能够约束输出的增强图像的颜色,纠正输出的增强图像的偏色问题,采用多指标融合的损失函数,能够进一步增强暗区细节、减少紫边伪像(artifacts),即减少经由相机或软件等的处理算法处理后产生的人造失真,避免高频纹理模糊以及颜色失真。
结合第二方面,在第二方面的某些实现方式中,损失函数L满足公式:
L=w*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
其中,Lcontent表示内容损失,LSSIM表示结构相似性损失,Lcobi表示上下文双边损失,Lcolor表示颜色损失,α、β、γ和ρ为参数,w表示权重图。
例如,α的取值范围可以为[0,1],β的取值范围可以为[0,1],γ的取值范围可以为[0,1],ρ的取值范围可以为[0,1],具体的取值可以根据实际情况调整。
结合第二方面,在第二方面的某些实现方式中,方法还包括:第二图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第二增强图像,第二图像处理模型和第一图像处理模型共享部分网络结构;以及目标损失函数是根据第一图像处理模型的损失函数确定的,包括:目标损失函数是根据第一图像处理模型的损失函数、第二图像处理模型的损失函数或第二图像处理模型与第一图像处理模型之间的蒸馏损失确定的,第二图像处理模型的损失函数用于计算至少一帧样本图像对应的第二增强图像和至少一帧样本图像对应的目标图像之间的差异。
根据本申请实施例的方案,通过自蒸馏的方式使小计算量的第一图像处理模型学习到大计算量的第二图像处理模型所学习到的知识,进一步提高了增强后的图像的成像质量,减轻模型的伪像。同时,相对于知识蒸馏的训练方法,自蒸馏的方式能够对第一图像处理模型和第二图像处理模型同时进行训练,大大减少训练所需的时间。
应理解,“第二图像处理模型”中的“第二”仅用于区别不同的图像处理模型,不具有其他限定作用。
第一图像处理模型可以理解为学生模型,第二图像处理模型可以理解为教师模型。
在第一图像处理模型的基础上构建第二图像处理模型,第二图像处理模型的网络结构比第一图像处理模型的网络结构更复杂,或者说,网络容量更大。
结合第二方面,在第二方面的某些实现方式中,第二图像处理模型与第一图像处理模型之间的蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失;其中,特征蒸馏损失用于计算第一图像处理模型的中间层的特征和第二图像处理模型的中间层的特征之间的差异;输出蒸馏损失用于计算第一增强图像和第二增强图像之间的差异。
结合第二方面,在第二方面的某些实现方式中,第二图像处理模型与第一图像处理模型之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示特征蒸馏损失,Loutput表示输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。
根据本申请实施例的方案,根据特征蒸馏损失和输出蒸馏损失共同确定蒸馏损失的值,以使第一图像处理模型既能够学习第二图像处理模型的输出,又能够学习第二图像处理模型的隐藏特征,更好地利用第二图像处理模型,使得小计算量的第一图像处理模型能够达到大计算量的第二图像处理模型的效果。
结合第二方面,在第二方面的某些实现方式中,目标损失函数满足如下公式:
Ltarget=LKD+L1+L2;
其中,Ltarget表示目标损失函数,LKD表示第一图像处理模型与第一图像处理模型之间的蒸馏损失,L1表示第一图像处理模型的损失函数,L2表示第二图像处理模型的损失函数。
结合第二方面,在第二方面的某些实现方式中,第二图像处理模型包括第二频率分离模块、第二低频处理模块和第二频率融合模块,其中:第二频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第二高频分量和第二低频分量;第二低频处理模块,用于对多帧样本图像的第二低频分量进行融合处理,输出融合后的第二低频分量;第二频率融合模块,用于对融合后的第二低频分量和至少一帧样本图像的第二高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第二增强图像;第一频率分离模块和第二频率分离模块共享网络结构,第一低频处理模块和第二低频处理模块共享部分网络结构。
进一步地,若第一图像处理模型包括第一高频处理模块,第二图像处理模型包括第二高频处理模块,第一高频处理模块和第二高频处理模块共享部分网络结构。
进一步地,若第一图像处理模型包括第一输入处理模块,第二图像处理模型包括第二输入处理模块,则第一输入处理模块和第二输入处理模块也可以共享网络结构。
第一图像处理模型中的模块和第二图像处理模型中的模块共享网络结构可以理解为,第二图像处理模型中的模块共享第一图像处理模型中的模块。
例如,第一频率分离模块和第二频率分离模块共享网络结构,也就是说第一频率分离模块即为第二频率分离模块。
再如,第一输入处理模块和第二输入处理模块共享网络结构,也就是说第一输入处理模块即为第二输入处理模块。
第一图像处理模型中的模块和第二图像处理模型中的模块共享部分网络结构可以理解为,第二图像处理模型中的模块共享第一图像处理模型中的模块,且第二图像处理模型中的模块具有其他的网络结构。
例如,第二低频处理模块与第一低频处理模块共享部分网络结构,第二低频处理模块共享第一低频处理模块,并在第一低频处理模块之后增加一个或多个卷积层。也就是说,第一低频处理模块和第一低频处理模块之后增加的一个或多个卷积层共同构成第二低频处理模块。
再如,第二高频处理模块与第一高频处理模块共享部分网络结构,第二高频处理模块共享第一高频处理模块,并在第一高频处理模块之后增加一个或多个卷积层。也就是说,第一高频处理模块和第一高频处理模块之后增加的一个或多个卷积层共同构成第二高频处理模块。
根据本申请实施例的方案,在第二图像处理模型的低频处理模块或高频处理模块等特征处理过程中增加卷积层,能够提高第二图像处理模型的性能,以便于第一图像处理模型能够学习到更优的性能。
结合第二方面,在第二方面的某些实现方式中,第一图像处理模型的中间层的特征包括第一频率融合处理模块的特征,第二图像处理模型的中间层的特征包括第二频率融合处理模块的特征。
根据本申请实施例的方案,基于频率融合模块的特征进行知识蒸馏,有利于提高蒸馏效果,使得第一图像处理模型能够更好地学习到第二图像处理模型的特征。
第三方面,提供了一种图像处理模型的训练方法,该方法包括:获取训练样本,训练样本包括多帧样本图像和多帧样本图像中的至少一帧样本图像对应的目标图像,至少一帧样本图像对应的目标图像的信噪比高于至少一帧样本图像;基于该训练样本对教师网络和学生网络进行训练,将训练好的学生网络作为目标图像处理模型,其中教师网络和学生网络共享部分网络结构,教师网络和学生网络包括频率分离模块、低频处理模块和频率融合模块,频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的高频分量和低频分量;低频处理模块,用于对多帧样本图像的低频分量进行融合处理,输出融合后的低频分量;频率融合模块,用于对融合后的低频分量和至少一帧样本图像的高频分量分别进行频率融合处理,输出至少一帧样本图像对应的增强图像。
根据本申请实施例的方案,通过自蒸馏的方式使小计算量的第一图像处理模型学习到大计算量的第二图像处理模型所学习到的知识,进一步提高了增强后的图像的成像质量,减轻模型的伪像。同时,相对于知识蒸馏的训练方法,自蒸馏的方式能够对第一图像处理模型和第二图像处理模型同时进行训练,大大减少训练所需的时间。
结合第三方面,在第三方面的某些实现方式中,基于该训练样本对教师网络和学生网络进行训练,包括:基于该训练样本计算得到的目标损失函数的值对教师网络和学生网络进行训练,目标损失函数是根据教师网络的损失函数、学生网络的损失函数和教师网络与学生网络之间的蒸馏损失确定的。
结合第三方面,在第三方面的某些实现方式中,蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失;其中,特征蒸馏损失用于计算教师网络的中间层的特征和学生网络的中间层的特征之间的差异;输出蒸馏损失用于计算教师网络的输出和学生网络的输出之间的差异。
结合第三方面,在第三方面的某些实现方式中,学生网络的中间层的特征包括学生网络的频率融合处理模块的特征,教师网络的中间层的特征包括教师网络的频率融合处理模块的特征。
根据本申请实施例的方案,基于频率融合模块的特征进行知识蒸馏,有利于提高蒸馏效果,使得学生网络能够更好地学习到教师网络的特征。
结合第三方面,在第三方面的某些实现方式中,教师网络与学生网络之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示特征蒸馏损失,Loutput表示输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。
根据本申请实施例的方案,根据特征蒸馏损失和输出蒸馏损失共同确定蒸馏损失的值,以使学生网络既能够学习教师网络的输出,又能够学习教师网络的隐藏特征,更好地利用教师网络,使得小计算量的学生网络能够达到大计算量的教师网络的效果。
结合第三方面,在第三方面的某些实现方式中,教师网络的频率分离模块和学生网络的频率分离模块共享网络结构,教师网络的低频处理模块和学生网络的低频处理模块共享部分网络网络结构。
第四方面,提供了一种图像处理方法,该方法包括:对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量;对多帧图像的低频分量进行融合处理,输出融合后的低频分量;对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
根据本申请实施例的方案,提取多帧图像的不同频率分量,将高频分量相对分离,保证了图像中的高频信息不受帧间不对齐问题影响,保留了较好的高频细节,避免增强后的图像出现模糊的问题,将多帧图像的低频分量进行融合,以获得多帧图像中的低频信息,实现帧间互补,解决了偏色、一般纹理模糊等问题,提高了去噪效果,保证了画面色彩的真实性,增强了图像的纹理细节,提升了成像质量。而且,本申请实施例中的方案将高频分量分离出来,使得高频分量不被帧间不对齐问题所影响,因而不需要使用较深的卷积层对多帧图像进行对齐,降低了模型运行时的计算开销和内存开销,提高了模型的运行速度。
结合第四方面,在第四方面的某些实现方式中,方法还包括:对多帧图像中的至少一帧图像的高频分量分别进行卷积处理;以及对融合后的低频分量和多帧图像中的至少一帧图像的高频分量进行频率融合处理,输出至少一帧图像对应的增强图像,包括:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
结合第四方面,在第四方面的某些实现方式中,对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量,包括:通过小波变换对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
结合第四方面,在第四方面的某些实现方式中,对多帧图像的低频分量进行融合处理,输出融合后的低频分量,包括:对多帧图像的低频分量进行串联合并;对串联合并的结果进行卷积处理,输出融合后的低频分量。
结合第四方面,在第四方面的某些实现方式中,对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像,包括:对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
结合第四方面,在第四方面的某些实现方式中,对融合后的低频分量和多帧图像中的至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像,包括:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
结合第四方面,在第四方面的某些实现方式中,方法还包括:对多帧初始图像进行预处理,输出多帧图像。
结合第四方面,在第四方面的某些实现方式中,对多帧初始图像进行预处理,输出多帧图像,包括:对多帧初始图像进行特征提取,将提取到的多帧初始图像的特征图作为多帧图像。
第五方面,提供一种图像处理模型的训练装置,该装置包括用于执行第二方面或第三方面中的任意一种实现方式中的方法的模块/单元。
第六方面,提供一种图像处理装置,该装置包括用于执行第四方面中的任意一种实现方式中的方法的模块/单元。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面、第三方面、第四方面、第五方面和第六方面中相同的内容。
第七方面,提供一种图像处理模型的训练装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第二方面或第三方面中的任意一种实现方式中的方法。
上述第七方面中的处理器既可以是中央处理器(central processing unit,CPU),也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-networkprocessing unit,NPU)和张量处理器(tensor processing unit,TPU)等等。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
第八方面,提供一种图像处理装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第四方面中的任意一种实现方式中的方法。
上述第八方面中的处理器既可以是中央处理器,也可以是CPU与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器、神经网络处理器和张量处理器等等。其中,TPU是谷歌为机器学习全定制的人工智能加速器专用集成电路。
第九方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第二方面至第四方面中的任意一种实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面至第四方面中的任意一种实现方式中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面至第四方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行上述第二方面至第四方面中的任意一种实现方式中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
第十二方面,提供一种电子设备,该电子设备包括上述第五方面至第八方面中的任意一种实现方式中的装置。
第十三方面,提供一种移动终端,该移动终端包括上述第五方面或第八方面中任意一种实现方式中的装置。
第十四方面,提供一种云端,该云端包括上述第五方面或第八方面中任意一种实现方式中的装置。
附图说明
图1是本申请实施例提供的系统架构的结构示意图;
图2是本申请实施例提供的一种卷积神经网络的示意图;
图3是本申请实施例提供的一种芯片硬件结构示意图;
图4是本申请实施例提供的一种系统架构的示意图;
图5是本申请实施例提供的一种图像处理模型的示意性框图;
图6是本申请实施例提供的另一种图像处理模型的示意性框图;
图7是本申请实施例提供的图像处理模型的训练方法的示意性流程图;
图8是本申请实施例提供的自蒸馏网络的示意性框图;
图9是本申请实施例提供的一种图像处理模型的示意性框图;
图10是本申请实施例提供的自蒸馏网络的示意性框图;
图11是本申请实施例提供的不同模型的处理效果的示意图;
图12是本申请实施例提供的不同训练方法得到的模型的处理效果的示意图;
图13是本申请实施例提供的不同模型的处理效果的示意图;
图14是本申请实施例提供的不同模型的处理效果的示意图;
图15是本申请实施例提供的图像处理模型的处理效果的示意图;
图16是本申请实施例提供的一种图像处理方法的示意性流程图;
图17是本申请实施例提供的图像处理模型的训练装置的示意性框图;
图18本申请实施例提供的图像处理装置的示意性框图;
图19是本申请实施例提供的图像处理模型的训练装置的示意性框图;
图20是本申请实施例提供的图像处理装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的方案可以应用于监控、终端播放等需要提高视频质量的领域。下面分别对智慧城市和终端播放场景进行简单的介绍。
监控:
监控场景包括:智慧城市、野外监控、室内监控、室外监控、车内监控等。其中,智慧城市场景下,需要进行多种属性识别,例如行人属性识别和骑行属性识别,监控画面的成像质量对属性识别的准确性具有显著影响。若采集到的监控画面存在分辨率低、对比度差以及图像细节丢失等问题,则会影响后续的识别效果。
通过本申请实施例的图像处理模型对监控视频进行处理,能够显著提高视频的成像质量,更好地满足后续视频处理操作对监控视频的清晰度要求,进而有利于提高属性识别的准确性。此外,通过本申请实施例的图像处理模型对监控视频进行处理后,得到的视频质量能够更好地满足监控人员对监控视频的要求,便于监控人员查看,获取有价值的信息。
终端播放:
当用户在终端设备(例如,手机、智能车、投屏)或者电视等电子设备上播放视频时,通过对视频进行增强可以显著提高视频的成像质量,提升用户体验。
电子设备(例如,手机、智能车、投屏)通过本申请实施例的图像处理模型对待处理的视频进行增强处理,例如,视频降噪处理,输出增强后的视频,提高用户体验。
本申请实施例提供的方法和装置还可以用于扩充训练数据库,如图1所示执行设备110的I/O接口112可以将经执行设备处理过的图像帧和用户输入的待处理的图像帧一起作为训练数据对发送给数据库130,以使得数据库130维护的训练数据更加丰富,从而为训练设备120的训练工作提供更丰富的训练数据。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的图像处理模型的训练方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的多帧样本图像以及多帧样本图像中的至少一帧样本图像对应的目标图像)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的图像处理模型;并且,本申请实施例提供的图像处理方法可以运用上述训练好的图像处理模型,将输入数据(如本申请中的初始视频或多帧初始图像)输入到所述训练好的图像处理模型中,得到输出数据(如本申请中的增强后的视频或增强图像)。需要说明的是,本申请实施例提供的图像处理模型的训练方法和图像处理方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于对神经网络中获取到的特征进行非线性变换,将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量。由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取特征的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的网络模型中的参数的大小,使得模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的模型中的参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的模型参数,例如,权重矩阵。
(6)图像/视频增强
图像/视频增强指的是对图像/视频所做的能够提高成像质量的动作。例如,增强处理包括超分、降噪、锐化或去马赛克等。
下面介绍本申请实施例提供的系统架构。
参见图1,本申请实施例提供了一种系统架构100。如系统架构100所示,数据采集设备160用于采集训练数据。示例性地,本申请实施例中训练数据可以包括:多帧样本图像和多帧样本图像中的至少一帧样本图像对应的目标图像;在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述。示例性地,训练设备120对多帧样本图像进行处理,将输出的增强图像与目标图像进行对比,直到训练设备120输出的增强图像与目标图像之间的差异小于一定的阈值,从而完成目标模型/规则101的训练。具体描述详见后文中的训练方法。
该目标模型/规则101能够用于实现本申请实施例提供的图像处理方法,即,将待处理的视频或图像,通过相关预处理后输入该目标模型/规则101,即可得到增强后的视频或图像。本申请实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端,电视等,还可以是服务器或者云端等。在图1中,执行设备110配置有(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:待处理的视频或图像。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的增强后的视频返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是本申请中的图像处理模型。
CNN是一种非常常见的神经网络,下面结合图2重点对CNN的结构进行详细的介绍。如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及全连接层(fully connected layer)230。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
全连接层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用全连接层230来生成一个或者一组所需要的类的数量的输出。因此,在全连接层230中可以包括多层隐含层(如图2所示的231、232至23n),该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等。
在全连接层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,仅包括图2中所示的网络结构的一部分,比如,本申请实施例中所采用的卷积神经网络可以仅包括输入层210、卷积层/池化层220和输出层240。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本申请实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。本申请实施例中的图像处理方法以及图像处理模型的训练方法均可在如图3所示的芯片中得以实现。
神经网络处理器50可以是神经网络处理器(neural-network processing unit,NPU),张量处理器(tensor processing unit,TPU),或者图形处理器(graphicsprocessing unit,GPU)等一切适合用于大规模异或运算处理的处理器。以NPU为例:神经网络处理器NPU50作为协处理器挂载到主中央处理器(central processing unit,CPU)(hostCPU)上,由主CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。其中,TPU是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路503从权重存储器502中取矩阵B的权重数据,并缓存在运算电路503中的每一个PE上。运算电路503从输入存储器501中取矩阵A的输入数据,根据矩阵A的输入数据与矩阵B的权重数据进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现中,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,向量计算单元507将经处理的向量存储到统一存储器506。在一些实现中,经向量计算单元507处理过的向量能够用作运算电路503的激活输入,例如用于神经网络中后续层中的使用,如图2所示,若当前处理层是隐含层1(231),则经向量计算单元507处理过的向量还可以被用到隐含层2(232)中的计算。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)305,被存入到权重存储器502中。输入数据也通过DMAC被存入到统一存储器506中。
总线接口单元(bus interface unit,BIU)310,用于DMAC和取指存储器(instruction fetch buffer)509的交互;总线接口单元501还用于取指存储器509从外部存储器获取指令;总线接口单元501还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据存入到统一存储器506中,或将权重数据存入到权重存储器502中,或将输入数据存入到输入存储器501中。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图2所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。示例性地,本申请实施例中的图像处理模型的训练方法以及图像处理方法均可以由运算电路503或向量计算单元507执行。
如图4所示,本申请实施例提供了一种系统架构300。该系统架构包括本地设备301、本地设备302以及执行设备310和数据存储系统350,其中,本地设备301和本地设备302通过通信网络与执行设备310连接。
执行设备310可以由一个或多个服务器实现。可选的,执行设备310可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备310可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备310可以使用数据存储系统350中的数据,或者调用数据存储系统350中的程序代码来实现本申请实施例的图像处理模型的训练方法。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备310进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备310进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备301、本地设备302从执行设备310获取到图像处理模型,将图像处理模型部署在本地设备301、本地设备302上,利用该图像处理模型进行图像增强。
在另一种实现中,执行设备310上可以直接部署图像处理模型,执行设备310通过从本地设备301和本地设备302获取待处理的视频,并采用图像处理模型对待处理的视频进行图像增强。
上述执行设备310也可以为云端设备,此时,执行设备310可以部署在云端;或者,上述执行设备310也可以为终端设备,此时,执行设备310可以部署在用户终端侧,本申请实施例对此并不限定。
通常,神经网络的复杂程度越高,增强处理的效果越好。然而,越复杂的神经网络模型所需要的硬件计算资源也越多,即计算开销和运行时的内存开销越大。这样的神经网络模型对设备的硬件要求较高,神经网络模型的运行速度较慢,难以应用于实时性较高的场景中。过大的神经网络模型甚至无法部署到计算能力较弱的设备中。例如,去噪卷积神经网络(denoising CNN,DnCNN)模型通过20个残差块(residual block)提高了降噪的精度,但也增加了模型的复杂度。以30帧每秒处理分辨率为4096x2304的4k视频时,现有的手机的峰值计算力通常为20~60GMACs,可用的高速缓冲存储器大小约为8MB。DnCNN所需的计算量为1.6TMACs,远远超过目前手机的峰值计算力。再如,RDN+由具有复杂连接的残差密度块(residual dense block,RDB)组成。对于分辨率为4096x2304的4k视频而言,每个RDB将占用3.6G的高速缓存,远远超过目前手机的最大高速缓存容量。而且,DnCNN和RDN+即使在高性能的平台上推理一帧4k图像所需时间也均超过300ms,远大于实时视频推理时间(30帧每秒)的时间限制。
在图像增强领域可以利用当前帧的相邻帧为当前帧的增强处理提供更多的有效信息,即以当前帧以及相邻帧共同作为图像处理模型的输入,以提高当前帧的成像质量。然而,当前帧与相邻帧之间存在像素不对齐等问题,图像处理模型中仍然需要设置较深的卷积层来解决像素不对齐的问题,以获得较好的图像增强效果。若图像处理模型中缺少像素对齐所需的卷积层的深度,增强后的图像可能会出现鬼影、高频细节模糊以及偏色等问题。较深的卷积层需要较大的计算力,无法部署于计算力较弱的设备中。
因此,如何降低图像处理模型运行所需的硬件计算资源成为一个亟待解决的问题。
本申请提供了一种图像处理模型,能够用于对图像或视频进行处理,在提高成像质量的同时,降低模型运行所需的硬件计算资源,提高模型的运算速度。
本申请实施例中的图像处理模型可以应用于图像/视频去噪、超分辨率或高动态范围等多种增强任务中,还可以用于图像/视频复原任务或重建任务中,提高图像/视频的成像质量。
具体地,本申请实施例中的图像处理模型将输入的多帧图像进行频率分离处理,提取不同的频率分量,将多帧图像的低频分量进行融合,将融合后的低频分量和多帧图像的高频分量进行融合,得到增强后的图像。
图5为本申请实施例提供的一种图像处理模型的结构示意图。如图5所示,该图像处理模型500包括:输入处理模块510、频率分离模块520、低频处理模块530、高频处理模块540和频率融合模块550。
该图像处理模型可以部署于图像处理装置上,即图像处理装置能够执行该图像处理模型中的运算。该图像处理装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器、手机、电视等运算能力足以用来执行图像处理模型的运算的装置,也可以为图像信号处理器(image signal processor,ISP)中,还可以是由云服务设备和终端设备构成的系统。示例性地,图像处理模型可以部署于图1中的执行设备110、图3中的神经网络处理器50或图4中的执行设备310或本地设备上。
例如,图像处理模型具体可以部署于如图1所示的执行设备110上,图像处理模型即为图1中的目标模型/规则101。
可选地,图像处理模型可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
输入处理模块510用于接收多帧初始图像,对多帧初始图像进行预处理,输出多帧图像。多帧初始图像即为图5中的多帧输入图像。
输入处理模块510为可选模块。在图像处理模型500不包括输入处理模块510的情况下,多帧初始图像可以直接输入至频率分离模块520中。
频率分离模块520用于对多帧图像进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
例如,多帧图像包括图像A和图像B。频率分离模块520用于对图像A和图像B分别进行频率分离处理,得到图像A的高频分量和低频分量,以及图像B的高频分量和低频分量。
需要说明的是,在图像处理模型500不包括输入处理模块510的情况下,该多帧图像可以为多帧初始图像。
低频处理模块530,用于对多帧图像的低频分量进行融合处理,输出融合后的低频分量。
例如,多帧图像包括图像A和图像B。低频处理模块530用于对图像A的低频分量和图像B的低频分量进行融合处理,输出融合后的低频分量。
高频处理模块540,用于对多帧图像中的至少一帧图像的高频分量分别进行卷积处理,输出至少一帧图像的卷积处理后的高频分量。
例如,多帧图像包括图像A和图像B,至少一帧图像为图像A,高频处理模块540用于对图像A的高频分量进行卷积处理,输出处理后的图像A的高频分量。
再如,多帧图像包括图像A和图像B,至少一帧图像为图像A和图像B,高频处理模块540用于对图像A的高频分量进行卷积处理,输出处理后的图像A的高频分量;并对图像B的高频分量进行卷积处理,输出处理后的图像B的高频分量。
高频处理模块540为可选模块。在图像处理模型500不包括高频处理模块540的情况下,至少一帧图像的高频分量可以直接输入至频率融合模块550中。
通过对高频分量进行卷积处理,有利于进一步恢复高频细节,以提高高频区域的图像质量。
频率融合模块550,用于对融合后的低频分量和至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
在模型500包括高频处理模块540的情况下,频率融合模块550用于对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
例如,多帧图像包括图像A和图像B,至少一帧图像为图像A,频率融合模块550用于对融合后的低频分量和图像A的卷积处理后的高频分量进行频率融合处理,输出图像A对应的增强图像。
再如,多帧图像包括图像A和图像B,至少一帧图像为图像A和图像B,频率融合模块550用于对融合后的低频分量和图像A的卷积处理后的高频分量进行频率融合处理,输出图像A对应的增强图像;频率融合模块550用于对融合后的低频分量和图像B的卷积处理后的高频分量进行频率融合处理,输出图像B对应的增强图像。
图6示出了一种图像处理模型的结构示意图,图6中的模型可以视为图5中的模型500的一种具体实现方式。
下面结合图6对图像处理模型中的各个模块进行详细描述。
输入处理模块:用于分别对多帧初始图像进行预处理,输出多帧图像。
示例性地,该多帧初始图像可以是视频中的相邻的多帧图像。再如,该多帧初始图像可以是快门按下时拍摄的多张图像。
如图6所示,输入图像处理模型中的多帧初始图像为k帧初始图像,即k帧输入,如图6中的第t-k-1帧输入至第t帧输入。其中,k为大于1的整数。t-k-1为整数。t为整数。输入处理模块可以分别对k帧初始图像中的每一帧初始图像进行预处理,输出k帧图像。
可选地,预处理包括以下至少一项:下采样处理或特征提取。
或者可以理解为,输入处理模块具体用于执行以下至少一项操作:下采样处理或特征提取。
示例性地,输入处理模块通过像素重组(pixel shuffle)操作对多帧初始图像进行下采样处理,得到下采样处理后的图像。该下采样处理后的图像可以作为输入频率分离模块的多帧图像。
也就是说,通过pixel shuffle对多帧初始图像进行结构重组,得到所需分辨率的图像。
图像也可以表示为张量(tensor)。比如,输入的图像可以表示为分辨率为M×N×C的tensor,经过pixel shuffle操作后变换为分辨率为M/2×N/2×4C的tensor或者分辨率为M/4×N/4×16C的tensor。
示例性地,输入处理模块通过一次或多次卷积处理对多帧初始图像进行特征提取,得到多帧初始图像的特征图,多帧初始图像的特征图可以作为输入频率分离模块的多帧图像。
该特征图也可以称为CNN特征图。
例如,卷积处理可以通过卷积层的运算实现。或者,卷积处理也可以通过卷积层和卷积层之后的激活函数的运算实现。例如,激活函数可以为修正线性单元(rectifiedliner unit,ReLU)函数。
如图6所示,将多帧初始图像表示为Ii,即Ii表示第i帧输入,i的取值范围为{t-k-1,t-k,…,t}。经过输入处理模块后提取到Ii的特征图Fi=Φ1(Ii),其中,Φ1可以理解为一次或多次卷积处理的变换函数。
可替换地,预处理操作包括下采样处理和特征提取。
在该情况下,输入处理模块对多帧初始图像进行特征提取,可以理解为:输入处理模块对下采样处理后的图像进行特征提取,得到多帧特征图,该多帧特征图即为多帧初始图像的特征图。
例如,输入处理模块通过pixel shuffle操作对输入的tensor进行下采样处理,得到相应分辨率的tensor,然后通过一次或多次卷积处理对相应分辨率的tensor进行特征提取。
应理解,以上预处理操作仅为示意,输入处理模块还可以对多帧初始图像执行其他预处理操作。
输入处理模块为可选模块。在图像处理模型不包括输入处理模块的情况下,多帧初始图像可以直接输入至频率分离模块中。
频率分离模块:用于对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
本申请实施例中的“高频”和“低频”为相对概念,只要满足高频分量的频率高于低频分量的频率即可。
高频分量也可以称为高频特征,低频分量也可以称为低频特征。
频率分离模块可以通过频率变换的方式分别对多帧图像进行频率分离。
可选地,频率分离模块具体用于:通过小波变换对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。这些高频分量和低频分量为后续的不同频率的针对性处理提供了基础特征。
示例性地,小波变换可以为离散小波变换(discrete wavelet transformation,DWT)。
例如,通过DWT将多帧图像中的每帧图像分离为高高(high high,hh)分量、高低(high low,hl)分量、低高(low high,lh)分量和低低(low low,ll)分量,将其中的hh分量作为高频分量,将hl分量、lh分量和ll分量作为低频分量。
在图像处理模型包括输入处理模块的情况下,输入频率分离模块的数据为输入处理模块输出的结果,例如,多帧初始图像的特征图。也就是说图像Ii的高频分量Hi和低频分量Li可以是通过频率分离模块对Fi进行频率分离处理得到的。
在图像处理模型不包括输入处理模块的情况下,输入频率分离模块的数据可以为多帧初始图像。也就是说,也就是说图像Ii的高频分量Hi和低频分量Li可以是通过频率分离模块对Ii自身进行频率分离处理得到的。
低频处理模块:对多帧图像的低频分量进行融合处理,输出融合后的低频分量。
可选地,低频处理模块具体用于:对多帧图像的低频分量进行串联合并(concat),对串联合并的结果进行卷积处理,输出融合后的低频分量。
为了更清楚地描述本申请的图像处理模型,图6将串联合并操作在低频处理模块之前单独示出。应理解,串联合并操作可以由低频处理模块完成。
串联合并的结果可以表示为[Lt-k-1,Lt-k,...Lt],融合后的低频分量可以表示为M=Φ2([Lt-k-1,Lt-k,...Lt])。其中,Φ2可以理解为一次或多次卷积处理的变换函数。Φ1和Φ2可以相同,也可以不同。
需要说明的是,本申请实施例中的卷积处理可以为一次,也可以为多次。
对多帧图像的低频分量进行融合处理包括对多帧图像中的部分图像或全部图像的低频分量进行融合处理。为了便于描述,本申请实施例中仅以对多帧图像中的全部图像的低频分量进行融合处理,不对本申请实施例的方案构成限定。
高频处理模块:用于对多帧图像中的至少一帧图像的高频分量分别进行卷积处理,输出至少一帧图像的卷积处理后的高频分量。
也就是说高频处理模块利用一次或多次卷积处理对至少一帧图像的高频分量继续进行特征提取,得到至少一帧图像的卷积处理后的高频分量。
多帧图像的数量和至少一帧图像的数量可以相同,也可以不同。例如,如图6所示,模型的输入为k帧初始图像,模型的输出为与其对应的k帧增强图像,即第t-k-1帧输出至第t帧输出。图6中仅为示意,模型的输出的图像的数量还可以为其他值,例如,模型的输出的图像的数量可以为1,输出图像可以为第t帧输出。也就是说,模型的输入图像的数量和模型的输出图像的数量可以根据需要设定,本申请实施例对此不做限定。
输出的至少一帧图像对应的增强图像可以为一帧或多帧。
可选地,至少一帧图像对应的增强图像的数量大于或等于2。
图像Ii的高频分量Hi经过高频处理模块处理后的结果可以表示为Hi'=Φ3(Hi)。其中,Φ3可以理解为一次或多次卷积处理的变换函数。Φ1、Φ2和Φ3可以相同,也可以不同。
高频处理模块为可选模块。
频率融合模块:对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
增强图像即为模型的输出图像。
可选地,频率融合模块具体用于:对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
在模型包括高频处理模块的情况下,频率融合模块用于对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
可选地,频率融合模块具体用于:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
为了更清楚地描述本申请的图像处理模型,图6将串联合并操作在频率融合模块之前单独示出。应理解,串联合并操作可以由频率融合模块完成。
融合后的低频分量M与图像Ii的高频分量Hi串联合并后的结果可以表示为[M,Hi],图像Ii对应的增强图像,即图像Ii对应的输出可以表示为outputi=Φ4([M,Hi])。其中,Φ4可以理解为一次或多次卷积处理的变换函数。Φ1、Φ2、Φ3和Φ4可以相同,也可以不同。
在模型包括高频处理模块的情况下,至少一帧图像的高频分量即为高频处理模块处理后的至少一帧图像的高频分量。
融合后的低频分量M与处理后的图像Ii的高频分量Hi'串联合并后的结果可以表示为[M,Hi'],图像Ii对应的增强图像,即图像Ii对应的输出可以表示为outputi=Φ4([M,Hi'])。
频率融合模型还可以用于实现输出整合,以使输出图像的分辨率和输入图像的分辨率一致。即使至少一帧图像对应的增强图像和至少一帧图像的分辨率一致。
根据本申请实施例的方案,提取多帧图像的不同频率分量,将高频分量相对分离,保证了图像中的高频信息不受帧间不对齐问题影响,保留了较好的高频细节,避免增强后的图像出现模糊的问题,将多帧图像的低频分量进行融合,以获得多帧图像中的低频信息,实现帧间互补,解决了偏色、一般纹理模糊等问题,提高了去噪效果,保证了画面色彩的真实性,增强了图像的纹理细节,提升了成像质量。而且,本申请实施例中的方案将高频分量分离出来,使得高频分量不被帧间不对齐问题所影响,因而不需要使用较深的卷积层对多帧图像进行对齐,降低了模型运行时的计算开销和内存开销,提高了模型的运行速度。
此外,在至少一帧图像为两帧及两帧以上图像的情况下,图像处理模型为多输入多输出模型,可以同时输出两帧及两帧以上图像对应的增强图像。例如,在视频ISP中,在处理30帧每秒的视频时,模型的输出帧数设置为2时,仅需要按照15次每秒的处理速度进行推理即可实现30帧每秒的实际效果。同理,当模型的输出帧数设置为3时,模型仅需要按照10次每秒的速度进行推理即可实现30帧每秒的实际效果。也就是说,相较于多输入单输出的模型而言,采用多输入多输出的模型可以在一次推理过程中同时处理多帧图像,这样可以适当降低模型推理的速度,因而可以适当增加网络容量,例如使用更深的卷积层,以得到更好的成像质量,或者,也可以增加复原细节所需的有效信息,例如输入更多的图像以得到更好的成像质量,允许计算力较弱的设备使用容量更大的卷积神经网络以进一步提升成像质量。
本申请实施例中的图像处理模型可以通过现有的训练方式进行训练,即将训练样本输入图像处理模型中进行训练,得到训练好的图像处理模型。训练好的图像处理模型可以用于对待处理的视频或图像进行增强处理。
具体地,在对上述图像处理模型进行训练的过程中,可以为图像处理模型设置一套初始的模型参数,然后根据训练样本中的样本图像与样本图像对应的GT之间的差异来调整图像处理模型的参数,直到满足训练终止条件,将此时的图像处理模型的参数作为图像处理模型最终的参数,这样就完成了对图像处理模型的训练,得到训练好的图像处理模型。
为了提高图像处理模型的性能,本申请实施例提供了一种图像处理模型的训练方法。
图7示出了本申请实施例提供的图像处理模型的训练方法700。训练方法700可以由图像处理模型的训练装置来执行。该图像处理模型的训练装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行图像处理模型的训练方法的装置,也可以是由云服务设备和终端设备构成的系统。示例性地,训练方法700可以由图1中的训练设备120、图3中的神经网络处理器50或图4中的执行设备310或本地设备执行。
例如,训练方法700具体可以由如图1所示的训练设备120执行,训练过程中的训练样本可以是如图1所示的数据库130中维护的训练数据。
可选地,训练方法700可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
训练方法700包括步骤S710至步骤S730。
S710,获取训练样本。
训练样本包括多帧样本图像及多帧样本图像中的至少一帧样本图像对应的目标图像,至少一帧样本图像对应的目标图像的信噪比高于至少一帧样本图像。
样本图像对应的目标图像也可以理解为样本图像对应的监督标签真值(groundtruth,GT)。
信噪比指的是信号与噪声之比,例如,信号与噪声的功率谱之比,或者,信号与噪声的方差之比等。信噪比越高,图像质量越好,图像越清晰。
也就是说,GT可以理解为样本图像对应的高清图像。
S720,第一图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第一增强图像。
图像处理模型用于对输入模型中的图像进行增强处理,输出增强后的图像,即增强图像,或者也可以称为输出图像。
应理解,“第一图像处理模型”中的“第一”仅用于区别不同的图像处理模型,不具有其他限定作用。第一图像处理模型可以采用如图5所示的图像处理模型500。
可选地,第一图像处理模型包括第一频率分离模块、第一低频处理模块和第一频率融合模块,其中,第一频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第一高频分量和第一低频分量;第一低频处理模块,用于对多帧样本图像的第一低频分量进行融合处理,输出融合后的第一低频分量;第一频率融合模块,用于对融合后的第一低频分量和至少一帧样本图像的第一高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第一增强图像。
可选地,第一图像处理模型还包括第一高频处理模块。第一高频处理模块,用于对多帧样本图像中的至少一帧样本图像的第一高频分量分别进行卷积处理,第一频率融合模型用于对融合后的第一低频分量和至少一帧图像的卷积处理后的第一高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第一增强图像。
其他关于第一图像处理模型的描述可以参见前文中的模型500。即将模型500中输入图像替换为样本图像即可,此处不再赘述。
具体地,将多帧样本图像作为图像处理模型的输入,经过前向传播后得到至少一帧样本图像对应的增强图像。
相应地,将多帧样本图像作为第一图像处理模型的输入,经过前向传播后即可得到至少一帧样本图像对应的第一增强图像。
应理解,“第一”仅用于限定由第一图像处理模型处理得到的结果,不具有其他限定作用。例如,“第一增强图像”中的“第一”仅用于限定该增强图像是由第一图像处理模型输出的,不具有其他限定作用。也就是说,由第一图像处理模型输出的图像均可以称为第一增强图像。
S730,以减小目标损失函数的值为目标对第一图像处理模型的参数进行调整,得到训练好的第一图像处理模型,目标损失函数是根据第一图像处理模型的损失函数确定的。第一图像处理模型的损失函数用于计算至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异。
也就是说,步骤S730中,可以基于该至少一帧样本图像对应的第一增强图像和该至少一帧样本图像对应的目标图像计算第一图像处理模型的损失函数的值,进而确定目标损失函数的值。以减小目标损失函数的值为目标对第一图像处理模型的参数进行调整,直至得到训练好的第一图像处理模型。
示例性地,可以采用梯度下降法对第一图像处理模型的参数进行调整。即根据目标损失函数的值反向传播以计算模型的参数梯度,并基于参数梯度调整第一图像处理模型中的参数,直至训练完成。
可选地,至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异,包括:至少一帧样本图像对应的第一增强图像中的全部像素和至少一帧样本图像对应的目标图像的全部像素之间的差异。
或者说,可以基于该至少一帧样本图像对应的第一增强图像中的全部像素和该至少一帧样本图像对应的目标图像中的全部像素计算第一图像处理模型的损失函数的值。
可选地,至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异,包括:至少一帧样本图像对应的第一增强图像中的部分像素和至少一帧样本图像对应的目标图像的部分像素之间的差异。
或者说,可以基于该至少一帧样本图像对应的第一增强图像中的部分像素和该至少一帧样本图像对应的目标图像中的部分像素计算第一图像处理模型的损失函数的值。
以第一增强图像和目标图像中的部分像素之间的差异作为第一增强图像和目标图像之间的差异,能够减少计算量;同时,能够根据需要选择部分像素用于计算损失函数的值,能够使得模型仅关注所需的部分像素,更好地满足不同的需求。
可选地,部分像素包括像素值小于或等于第一阈值的像素。
也就是说,在计算第一图像处理模型的损失函数的值时,对图像进行高亮抑制,即不考虑像素值较高的像素,以减少对高亮区域的关注,有利于恢复暗区细节。
传感器采集到的像素值高于4096的像素均为白色,在图像中显示为高亮的像素。
例如,第一阈值可以为4096。
示例性地,可以通过裁剪(clip)操作得到该部分像素。
具体地,对该至少一帧样本图像对应的第一增强图像执行裁剪(clip)操作,得到该至少一帧样本图像对应的第一增强图像中的部分像素;对该至少一帧样本图像对应的目标图像执行clip操作,得到该至少一帧样本图像对应的目标图像中的部分像素。
为了便于描述,后文中将“至少一帧样本图像对应的第一增强图像”简称为“第一增强图像”,将“至少一帧样本图像对应的目标图像”简称为“目标图像”。
例如,裁剪操作的结果可以满足以下公式:
output'=clip(output,0,4096);
GT'=clip(GT,0,4096);
其中,output表示增强图像,output'表示经过裁剪处理后的增强图像,即前述增强图像中的部分像素;GT'表示经过裁剪处理后的GT,即前述目标图像中的部分像素,clip()表示裁剪操作。
在该情况下,可以基于output'和GT'计算损失函数的值。
在一种实现方式中,损失函数可以是根据以下至少两项确定的:内容损失(content loss)、结构相似性损失(structural similarity loss,SSIM loss)、上下文双边损失(contextual bilateral loss,cobi loss)或颜色损失(color loss)。
该损失函数也可以称为多指标损失函数。
也就是说,第一图像处理模型的损失函数可以是根据以下至少两项确定的:第一增强图像与目标图像之间的content loss、第一增强图像与目标图像之间的SSIM loss、第一增强图像与目标图像之间的cobi loss、第一增强图像与目标图像之间的color loss。
为了描述简洁,下面为对图像处理模型的损失函数进行说明。应理解,以下关于损失函数的描述适用于第一图像处理模型,即将以下描述中的“图像处理模型”替换为“第一图像处理模型”,“增强图像”替换为“第一增强图像”即可。
content loss通过GT对模型输出的增强图像进行像素级约束,保证内容的保真度,即保证模型输出的增强图像中的内容的准确性。
示例性地,content loss可以通过L1范式确定。
例如,内容损失值Lcontent满足以下公式:
Lcontent=|output-GT|;
或者,内容损失Lcontent满足以下公式:
Lcontent=|output'-GT'|;
SSIM loss用于提升输出图像的一般性纹理。
例如,结构相似性损失LSSIM满足以下公式:
LSSIM=SSIM(output-GT);
或者,结构相似性损失LSSIM满足以下公式:
LSSIM=SSIM(output'-GT');
cobi loss可以采用对视觉效果友好的VGG损失函数,对齐VGG特征,用于增加模型输出的增强图像的弱对比度纹理细节。
例如,上下文双边损失Lcobi满足以下公式:
Lcobi=cobi(output-GT);
或者,上下文双边损失Lcobi满足以下公式:
Lcobi=cobi(output'-GT');
color loss用于约束输出图像的颜色,纠正输出图像的偏色问题。
例如,颜色损失Lcolor满足以下公式:
Lcolor=∠RGB(output-GT);
其中,∠RGB表示计算像素的RGB向量夹角。
或者,颜色损失Lcolor满足以下公式:
Lcolor=∠RGB(output'-GT');
可选地,损失函数L满足以下公式:
L=α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor;
其中,α、β、γ和ρ为参数,分别表示content loss、SSIM loss、cobi loss和colorloss在损失函数中对应的权重系数。例如,α的取值范围可以为[0,1],β的取值范围可以为[0,1],γ的取值范围可以为[0,1],ρ的取值范围可以为[0,1],具体的取值可以根据实际情况调整。
损失函数包括权重值,至少一帧样本图像对应的第一增强图像中的部分或全部区域对应的损失函数的权重值通过权重图指示。
也就是说,模型输出的增强图像的不同区域对应的权重值可以是相同的,也可以是不同的。
根据本申请实施例的方案,为模型输出的增强图像的不同区域设置不同的损失函数的权重值,为需要模型加强关注的区域设置更高的权重值,能够指导模型更关注指定的区域,进一步提高模型在指定区域处理方面的性能。
可选地,至少一帧样本图像对应的第一增强图像中的高频区域对应的损失函数的权重值大于至少一帧样本图像对应的第一增强图像中的低频区域对应的损失函数的权重值。
或者说,可以增加模型输出的增强图像中的高频区域对应的损失函数的权重值,即为模型输出的增强图像中的高频区域设置更高的损失函数的权重值。
这样,可以使得模型更关注高频难样本,或者说,指导模型关注高频细节,以提高训练好的模型在高频细节处理方面的性能。
可选地,权重图是根据高频权重图(weight map)确定的,高频权重图用于指示高频区域对应的损失函数的权重值与低频区域对应的损失函数的权重值之间的差值。
例如,权重图w满足如下公式:
w=1+whf;
whf表示高频权重图,公式中的“1”为全1矩阵。
也就是说,低频区域对应的损失函数的权重值为1,高频区域对应的损失函数的权重值为1和高频权重图中的值的和。
示例性地,通过高通滤波器提取GT的高频分量,将得到的高频分量作为高频权值图whf。
例如,whf满足以下公式:
whf=ifft(HP(fft(GT)));
其中,fft()表示快速傅里叶变换,ifft()表示快速傅里叶逆变换,HP()表示高通滤波器。可选地,损失函数L满足以下公式:
L=w*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
进一步地,损失函数L满足以下公式:
L=(1+whf)*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
whf表示高频权值图,公式中的“1”为全1矩阵。
根据本申请实施例的方案,采用多指标融合的损失函数,能够进一步增强暗区细节、减少紫边伪像(artifacts),即减少经由相机或软件等的处理算法处理后产生的人造失真,避免高频纹理模糊以及颜色失真。
为了进一步提高视频的成像质量,本申请实施例还提供了一种采用自蒸馏的方式训练图像处理模型的方法。该训练过程也可以理解为模型压缩过程。
使用自蒸馏的方式对学生网络进行知识蒸馏,以使学生网络学习到教师网络学习到的知识,将训练好的学生网络作为目标图像处理模型,提升视频的成像质量。
为了更好的说明本申请实施例的图像处理模型的训练方法,下面结合图8对训练过程中使用的自蒸馏压缩网络进行说明。
图8示出了本申请实施例中的一种自蒸馏压缩网络800的结构示意图。
自蒸馏压缩网络800包括学生网络和教师网络。教师网络是基于学生网络构建的,共享学生网络的部分结构。或者说,教师网络和学生网络共享部分结构。
如图8所示,学生网络包括网络共享部分811和学生网络不共享部分812。教师网络包括网络共享部分811和教师网络不共享部分822。
教师网络的结构比学生网络的结构更复杂,对图像的处理效果优于学生网络。
根据学生网络810的损失函数的值(如图8中的学生损失)、教师网络的损失函数的值(如图8中的教师损失)以及学生网络和教师网络之间的蒸馏损失对学生网络和教师网络进行训练。
如图8所示,蒸馏损失是通过特征蒸馏或输出蒸馏确定的。特征蒸馏的蒸馏点为网络的中间层,即基于教师网络的中间层的特征(如图8中的教师特征)对学生网络的中间层的特征(如图8中的学生特征)进行知识蒸馏。输出蒸馏的蒸馏点为网络的输出,即基于教师网络的输出(如图8中的教师输出)对学生网络的输出(如图8中的学生输出)进行知识蒸馏。
学生损失用于计算学生输出和监督标签之间的差异,教师损失用于计算教师输出和监督标签之间的差异。
下面结合图8对本申请实施例中的训练方法进行说明。
可选地,方法700还包括:第二图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第二增强图像,第二图像处理模型和第一图像处理模型共享部分网络结构。
目标损失函数是根据第一图像处理模型的损失函数确定的,包括:目标损失函数是根据第一图像处理模型的损失函数、第二图像处理模型的损失函数或第二图像处理模型与所述第一图像处理模型之间的蒸馏损失确定的,第二图像处理模型的损失函数用于计算至少一帧样本图像对应的第二增强图像和至少一帧样本图像对应的目标图像之间的差异。
也就是说,将第一图像处理模型作为学生网络,在第一图像处理模型的基础上构建第二图像处理模型,将第二图像处理模型作为教师网络。第二图像处理模型的网络结构比第一图像处理模型的网络结构复杂,或者说,网络容量更大。
应理解,“第二图像处理模型”中的“第二”仅用于区别不同的图像处理模型,不具有其他限定作用。第二图像处理模型可以采用如图5所示的图像处理模型500。
也就是说,第一图像处理模型和第二图像处理模型的结构可以是相同的。
可选地,第二图像处理模型包括第二频率分离模块、第二低频处理模块和第二频率融合模块。
其中,第二频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第二高频分量和第二低频分量;第二低频处理模块,用于对多帧样本图像的第二低频分量进行融合处理,输出融合后的第二低频分量;第二频率融合模块,用于对融合后的第二低频分量和至少一帧样本图像的第二高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第二增强图像。
可选地,第二图像处理模型还包括第二高频处理模块。第二高频处理模块,用于对多帧样本图像中的至少一帧样本图像的第二高频分量分别进行卷积处理,第二频率融合模块用于对融合后的第二低频分量和至少一帧样本图像的卷积处理后的第二高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第二增强图像。
其他关于第二图像处理模型的描述可以参见前文中的模型500。即将模型500中输入图像替换为样本图像即可,此处不再赘述。
例如,将多帧样本图像作为图像处理模型的输入,经过前向传播后得到至少一帧样本图像对应的增强图像。
相应地,将多帧样本图像作为第二图像处理模型的输入,经过前向传播后即可得到至少一帧样本图像对应的第二增强图像。
应理解,“第二”仅用于限定由第二图像处理模型处理得到的结果,不具有其他限定作用。例如,“第二增强图像”中的“第二”仅用于限定该增强图像是由第二图像处理模型输出的,不具有其他限定作用。也就是说,由第二图像处理模型输出的图像均可以称为第二增强图像。
为了便于描述,后文中将“至少一帧样本图像对应的第二增强图像”简称为“第二增强图像”。
如前所述,第一图像处理模型和第二图像处理模型共享部分网络结构。具体地,在频率分离模块、低频处理模块、频率融合模块、高频处理模块或输入处理模块中的任一个或多个模块中均可以共享部分结构。
可选地,第一频率分离模块和第二频率分离模块共享网络结构,第一低频处理模块和第二低频处理模块共享部分网络结构。
进一步地,若第一图像处理模型包括第一高频处理模块,第二图像处理模型包括第二高频处理模块,第一高频处理模块和第二高频处理模块共享部分网络结构。
进一步地,若第一图像处理模型包括第一输入处理模块,第二图像处理模型包括第二输入处理模块,则第一输入处理模块和第二输入处理模块也可以共享网络结构。
第一图像处理模型中的模块和第二图像处理模型中的模块共享网络结构可以理解为,第二图像处理模型中的模块共享第一图像处理模型中的模块。
例如,第一频率分离模块和第二频率分离模块共享网络结构,也就是说第一频率分离模块即为第二频率分离模块。
再如,第一输入处理模块和第二输入处理模块共享网络结构,也就是说第一输入处理模块即为第二输入处理模块。
第一图像处理模型中的模块和第二图像处理模型中的模块共享部分网络结构可以理解为,第二图像处理模型中的模块共享第一图像处理模型中的模块,且第二图像处理模型中的模块具有其他的网络结构。
例如,第二低频处理模块与第一低频处理模块共享部分网络结构,第二低频处理模块共享第一低频处理模块,并在第一低频处理模块之后增加一个或多个卷积层。也就是说,第一低频处理模块和第一低频处理模块之后增加的一个或多个卷积层共同构成第二低频处理模块。
再如,第二高频处理模块与第一高频处理模块共享部分网络结构,第二高频处理模块共享第一高频处理模块,并在第一高频处理模块之后增加一个或多个卷积层。也就是说,第一高频处理模块和第一高频处理模块之后增加的一个或多个卷积层共同构成第二高频处理模块。
在本申请实施例中,在第二图像处理模型的低频处理模块或高频处理模块等特征处理过程中增加卷积层,能够提高第二图像处理模型的性能,以便于第一图像处理模型能够学习到更优的性能。
目标损失函数是根据以下至少一项确定的:第一图像处理模型的损失函数、第二图像处理模型的损失函数或第二图像处理模型与所述第一图像处理模型之间的蒸馏损失。
示例性地,第一图像处理模型的损失函数可以采用步骤S730中描述的多指标损失函数。即基于步骤S730中的公式确定第一增强图像和目标图像之间的差异。或者,第一图像处理模型的损失函数也可以采用其他方式确定,只要第一图像处理模型的损失函数的值能够指示第一增强图像和目标图像之间的差异即可。
示例性地,第二图像处理模型的损失函数可以采用步骤S730中描述的多指标损失函数。即基于步骤S730中的公式确定第二增强图像和目标图像之间的差异。或者,第二图像处理模型的损失函数也可以采用其他方式确定,只要第二图像处理模型的损失函数的值能够指示第二增强图像和目标图像之间的差异即可。
可选地,第二图像处理模型与第一图像处理模型之间的蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失。
其中,特征蒸馏损失用于计算第一图像处理模型的中间层的特征和第二图像处理模型的中间层的特征之间的差异。输出蒸馏损失用于计算第一增强图像和第二增强图像之间的差异。
第一图像处理模型和第二图像处理模型基于样本图像执行前向传播,特征蒸馏损失可以是根据第一图像处理模型的中间层的特征和第二图像处理模型的中间层的特征之间的距离确定的。
可选地,第一图像处理模型的中间层的特征包括第一频率融合处理模块的特征,第二图像处理模型的中间层的特征包括第二频率融合处理模块的特征。
基于频率融合模块的特征进行知识蒸馏,有利于提高蒸馏效果,使得第一图像处理模型能够更好地学习到第二图像处理模型的特征。
示例性地,特征蒸馏损失可以采用L2损失计算。
例如,特征蒸馏损失Lfeature可以满足以下公式:
Lfeature=|Tfeature-Sfeature|2;
其中,Tfeature表示第二图像处理模型的中间层的特征,Sfeature表示第一图像处理模型的中间层的特征。
第一图像处理模型和第二图像处理模型基于样本图像执行前向传播,输出蒸馏损失可以是根据该样本图像对应的第一增强图像和该样本图像对应的第二增强图像之间的距离确定的。
示例性地,输出蒸馏损失可以采用L2损失计算。
例如,输出蒸馏损失Loutput可以满足以下公式:
Loutput=|Toutput-Soutput|2;
其中,Toutput表示第二图像处理模型的输出,即第二增强图像,Soutput表示第一图像处理模型的输出,即第一增强图像。
可选地,第二图像处理模型与第一图像处理模型之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示特征蒸馏损失,Loutput表示输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。示例性地,a的取值范围为[0,1],b的取值范围为[0,1],例如,a为1;b为1。a和b的取值可以根据实际情况调整。
根据特征蒸馏损失和输出蒸馏损失共同确定蒸馏损失的值,以使第一图像处理模型既能够学习第二图像处理模型的输出,又能够学习第二图像处理模型的隐藏特征,更好地利用第二图像处理模型,使得小计算量的第一图像处理模型能够达到大计算量的第二图像处理模型的效果。
可选地,目标损失函数满足如下公式:
Ltarget=LKD+L1+L2;
其中,Ltarget表示目标损失函数,L1表示第一图像处理模型的损失函数,L2表示第二图像处理模型的损失函数。
应理解,上述公式中LKD、L1和L2的权重系数为1仅为示意,还可以为LKD、L1和L2设置其他的权重系数。
在本申请实施例中的方案中,通过自蒸馏的方式使小计算量的第一图像处理模型学习到大计算量的第二图像处理模型所学习到的知识,进一步提高了增强后的图像的成像质量,减轻模型的artifacts。同时,相对于知识蒸馏的训练方法,自蒸馏的方式能够对第一图像处理模型和第二图像处理模型同时进行训练,大大减少训练所需的时间。
训练好的第一图像处理模型可以部署于计算设备上,用于对图像或视频进行增强处理。
图9示出了本申请实施例提供的一种图像处理模型的结构示意图。图9中所示的图像处理模型可以视为图5或图6所示的图像处理模型的一种具体实现方式。具体描述可以参见前文中的模型500,为了避免重复,在描述图9所示的模型时做适当的省略。
图9中的图像处理模型的输入包括2帧图像,图像处理模型的输出包括2帧图像。应理解,此处输入至模型的图像的数量和模型输出的图像的数量相同仅为示例,输入至模型的图像的数量和模型输出的图像的数量也可以不同。图9中的输入至模型的图像的数量和模型输出的图像的数量仅为示例,不对本申请实施例的方案构成限定。
如图9所示,输入图像处理模型的多帧初始图像包括第t-1帧输入图像和第t帧输入图像。第t-1帧输入图像和第t帧输入图像可以为视频序列中相邻的两帧图像。
下面结合图9对本申请实施例中的图像处理模型的处理流程进行说明。
(1)对输入的多帧初始图像分别进行预处理,得到多帧初始图像对应的预处理结果。
步骤(1)为可选步骤,具体描述参见前述模型500,此处不再赘述。
示例性地,对输入的多帧初始图像分别进行下采样处理,并对下采样处理后的结果进行特征提取,得到多帧特征图,作为多帧图像输入频率分离模块中。
例如,下采样处理可以利用pixel shuffle操作完成。通过pixel shuffle操作实现下采样不会损失信息。
示例性地,特征提取可以通过一次或多次卷积操作完成。
示例性地,该步骤可以由图5中的输入处理模块510执行。或者,该步骤可以由图9中的输入处理模块执行。
例如,如图9所示,输入处理模块分别对第t-1帧输入图像和第t帧输入图像执行pixel shuffle操作,实现4倍下采样,即将分辨率为M×N×C的两张输入图像转换为分辨率为M/4×N/4×16C的两张图像。然后通过一个64通道的3×3卷积操作以提取特征。如图9所示,将下采样处理后的第t-1帧输入图像输入卷积层以及卷积层之后的激活函数层中,通过卷积层的运算以及激活函数层的运算提取第t-1帧输入图像的特征,得到第t-1帧输入图像的特征图。将下采样处理后的第t帧输入图像输入卷积层以及卷积层之后的激活函数层中,通过卷积层的运算以及激活函数层的运算提取第t帧输入图像的特征,得到第t帧输入图像的特征图。例如,激活函数可以为ReLU函数。
本申请实施例中,对多帧图像的处理可以是并行执行的。例如,步骤(1)中可以并行提取多帧初始图像的特征。
(2)对多帧图像分别进行频率分离,输出多帧图像中每帧图像的高频分量和低频分量。
该多帧图像为步骤(1)中的多帧初始图像的预处理结果。
在不包括步骤(1)的情况下,相应地,该多帧图像可以多帧初始图像。
示例性地,可以利用离散小波变换(discrete wavelet transformation,DWT)分别将多帧图像对应的预处理结果分离为hh分量、hl分量、lh分量和ll分量。将hh分量作为高频分量,将hl分量、lh分量和ll分量作为低频分量。也就是说,hh分量输入高频处理模块,其他分量输入低频处理模块。若模型不包括高频处理模块,则hh分量也可以直接输入频率融合模块。
其中,DWT的小波基为哈尔小波。
经过DWT分离后得到各个分量的分辨率下降为分离前的分辨率的1/2。例如,经过DWT分离后得到各个分量的分辨率为多帧初始图像的分辨率的1/2。或者,经过DWT分离后得到各个分量的分辨率为多帧初始图像的预处理结果的分辨率的1/2。
示例性地,该步骤可以由图5中的频率分离模块520执行。或者,该步骤可以由图9中的频率分离模块执行。
如图9所示,频率分离模块利用DWT对步骤(1)得到的第t-1帧输入图像的特征图进行频率分离处理,得到第t-1帧输入图像对应的hh分量、hl分量、lh分量和ll分量。其中,hh分量输入高频处理模块,其他分量输入低频处理模块。频率分离模块利用DWT对步骤(1)得到的第t帧输入图像的特征图进行频率分离处理,得到第t帧输入图像对应的hh分量、hl分量、lh分量和ll分量。其中,hh分量输入高频处理模块,其他分量输入低频处理模块。
(3)对多帧图像的低频分量进行串联合并,对串联合并的结果进行卷积处理,输出融合后的低频分量。
也就是说,通过串联操作将多帧图像对应的第二频段特征合并,并通过卷积处理对合并后的结果进行特征融合。
示例性地,该步骤可以由图5中的低频处理模块530执行。或者,该步骤可以由图9中的低频处理模块执行。
例如,如图9所示,低频处理模块利用串联操作对第t-1帧输入图像对应的hl分量、lh分量和ll分量以及第t帧输入图像对应的hl分量、lh分量和ll分量进行合并,并通过3层128通道的3×3卷积操作进行特征融合,得到融合后的低频分量。
(4)对多帧图像中的至少一帧图像的高频分量分别进行卷积处理,输出至少一帧图像的卷积处理后的高频分量。
步骤(4)为可选步骤,具体描述可以参见前文中的模型500,此处不再赘述。
也就是说,通过一次或多次卷积操作对至少一帧图像的高频分量进行特征提取。
示例性地,该步骤可以由图5中的高频处理模块540执行。或者,该步骤可以由图9中的高频处理模块执行。
例如,如图9所示,该至少一帧图像包括第t-1帧输入图像和第t帧输入图像。高频处理模块通过一层64通道的3×3卷积操作对第t-1帧输入图像对应的hh分量进行处理,得到处理后的第t-1帧输入图像对应的hh分量。高频处理模块通过一层64通道的3×3卷积操作对第t帧输入图像对应的hh分量进行处理,得到处理后的第t帧输入图像对应的hh分量。
(5)对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
至少一帧图像的高频分量可以为步骤(4)得到的至少一帧图像的卷积处理后的高频分量。
若不包括步骤(4),至少一帧图像的高频分量可以为步骤(2)得到的至少一帧图像的高频分量。
具体地,对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。或者,对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行串联合并;对串联合并的结果进行卷积处理。
也就是说,通过串联合并将融合后的低频分量和至少一帧图像的高频分量分别进行特征融合,进而通过一次或多次卷积操作对串联合并的结果进行特征提取,输出至少一帧图像对应的增强图像。
频率融合模型还可以用于实现输出整合,以使输出图像的分辨率和输入图像的分辨率一致。也就是说频率融合模型输出的至少一帧图像对应的增强图像和该至少一帧图像的分辨率一致。
示例性地,该步骤可以由图5中的频率融合模块550执行。或者,该步骤可以由图9中的频率融合模块执行。
例如,如图9所示,由于步骤(2)中执行了离散小波变换,对多帧图像进行了2倍下采样处理,频率融合模块对将融合后的低频分量进行2倍上采样处理,将处理后的第t-1帧输入图像对应的hh分量进行2倍上采样处理。利用串联操作将上采样后的低频分量和上采样后的第t-1帧输入图像对应的hh分量进行合并,并通过一个16通道的3×3卷积操作进行特征融合,然后对特征融合的结果进行4倍上采样处理,输出第t-1帧输入图像对应的增强图像,即第t-1帧输出。输出图像和输出图像的分辨率相同,即输出图像的分辨率为M×N×C。
频率融合模块对将融合后的低频分量进行2倍上采样处理,将处理后的第t帧输入图像对应的hh分量进行2倍上采样处理。利用串联操作将上采样后的低频分量和上采样后的第t帧输入图像对应的hh分量进行合并,并通过一个16通道的3×3卷积操作进行特征融合,然后对特征融合的结果进行4倍上采样处理,输出第t帧输入图像对应的增强图像,即第t帧输出。输出图像和输出图像的分辨率相同,即输出图像的分辨率为M×N×C。
其中,上采样处理可以利用pixel shuffle操作完成。通过pixel shuffle操作实现上采样不会损失信息。
图9中的图像处理模型可以是通过现有的方案训练得到的。或者,图9中的图像处理模型也可以是通过本申请实施例中的方案训练得到的。
具体地,将图9中的模型作为学生网络,即本申请实施例中的第一图像处理模型,在此基础上构建教师网络,即本申请实施例中的第二图像处理模型。第二图像处理模型与第一图像处理模型共享部分网络结构,或者说,第一图像处理模型中的部分网络结构也属于第二图形增强模型。
第二图像处理模型和第一图像处理模型可以包括相同的网络结构。例如,第一图像处理模型和第二图像处理模型均可以包括输入处理模块、频率分离模块、低频处理模块、高频处理模块和频率融合模块。其中,部分模块为两个模型共享。
图10示出了本申请实施例提供的一种自蒸馏网络结构的示意图。图10中的第一图像处理模型采用图9所示的模型结构,第二图像处理模型是在图9的基础上构建的,与图9中的图像处理模型共享部分网络结构,在此基础上,第二图像处理模型增加了额外的卷积层以达到更好的去噪效果。
如图10所示的第二图像处理模型共享第一图像处理模型的输入处理模块、频率分离模块、低频处理模块和高频处理模块。
在第一图像处理模型的低频处理模块之后叠加卷积层,共同构成第二图像处理模型的低频处理模块。例如,如图10所示,第一图像处理模型的低频处理模块的三个卷积层之后又叠加了三个128通道3×3的卷积层,第一图像处理模型的低频处理模块和叠加的三个卷积层共同构成了第二图像处理模型的低频处理模块。
在第一图像处理模型的高频处理模块之后叠加卷积层,共同构成第二图像处理模型的高频处理模块。例如,如图10所示,第一图像处理模型的高频处理模块的卷积层之后又叠加了一个64通道3×3的卷积层,第一图像处理模型的高频处理模块和叠加的一个卷积层共同构成了第二图像处理模型的高频处理模块。
图10中的第一图像处理模型和第二图像处理模型可以具有相同的频率融合模块,但两者不共享频率融合模块。
将训练样本输入图10所示的网络中进行训练。
具体地,基于训练样本中的样本图像执行前向传播,得到第一图像处理模型的损失函数的值、第二图像处理模型的损失函数的值以及蒸馏损失的值,基于第一图像处理模型的损失函数的值、第二图像处理模型的损失函数的值以及蒸馏损失的值调整该网络的参数。
示例性地,可以通过梯度下降法训练该网络,训练好的第一图像模型能够部署于计算力较弱的计算设备中,用于对图像或视频进行增强。
例如,将第t-1帧样本图像和第t帧样本图像输入如图10所示的模型中进行前向传播,得到第一图像处理模型输出的第t-1帧样本图像对应的第一增强图像(如图10中的第t-1帧输出1#)以及第t帧样本图像对应的第一增强图像(如图10中的第t帧输出1#),以及,第二图像处理模型输出的第t-1帧样本图像对应的第二增强图像(如图10中的第t-1帧输出2#)以及第t帧样本图像对应的第二增强图像(如图10中的第t帧输出2#)。
根据第一增强图像和目标图像计算第一图像处理模型的损失函数的值。即将第t-1帧输出1#与第t-1帧样本图像对应的GT进行比较,将第t帧输出1#与第t帧样本图像对应的GT进行比较,计算第一图像处理模型的损失函数的值。
根据第二增强图像和目标图像计算第二图像处理模型的损失函数的值。即将第t-1帧输出2#与第t-1帧样本图像对应的GT进行比较,将第t帧输出2#与第t帧样本图像对应的GT进行比较,计算第二图像处理模型的损失函数的值。
示例性地,第一图像处理模型的损失函数和第二图像处理模型的损失函数可以采用前文中的多指标损失函数。例如,第一图像处理模型和第二图像处理模型的损失函数均可以采用如下公式计算:
L=(1+whf)*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
或者,第一图像处理模型的损失函数和第二图像处理模型的损失函数也可以采用其他方式计算。
如图10所示,第一图像处理模型和第二图像处理模型之间的蒸馏损失可以是根据特征蒸馏损失和输出蒸馏损失确定的。
图10中的特征蒸馏损失用于计算第一图像处理模型的频率融合模块的特征和第二图像处理模型的频率融合模块的特征之间的差异。
图10中的输出蒸馏损失用于计算第一图像处理模型的输出和第二图像处理模型的输出之间的差异,即图10中的第t帧输出图像1#与第t帧输出图像2#之间的差异,以及第t-1帧输出图像1#与第t-1帧输出图像2#之间的差异。
例如,第二图像处理模型与第一图像处理模型之间的蒸馏损失LKD可以满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示特征蒸馏损失,Loutput表示输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。例如,a为1;b为1。
表1示出了采用本申请实施例中的模型和其他增强模型在手机暗光视频数据集上进行去噪测试的结果。
表1
其中,inputs/outputs表示输入模型的图像的帧数/模型输出的图像的帧数,每秒10亿定点累加乘法操作(giga multiply-accumulation operations per second,GMACs)用于衡量模型的计算量,峰值信噪比(peak signal-to-noise radio,PSNR)用于表示信号最大可能功率和影响它的精度的破坏性噪声功率的比值。PSNR可以用于衡量图像处理领域中信号重建质量。PNSR的值越大,则图像的质量越高。time表示模型在麒麟990NPU上推理一次分辨率为4096×2304的图像的时间。
表1中采用单输入单输出的DnCNN作为对照,测试了两种不同计算量的模型结构的去噪效果。下面以计算量为25GMACs的模型结构为例对表1进行说明。算量为25GMACs的DnCNN模型推理一次耗时48ms,无法满足实时处理30帧每秒的4k分辨率的视频的需求。本申请中的计算量为25GMACs的模型,推理一次耗时48ms,推理一次输出两帧视频,等效于处理一帧图像仅需要24ms,可以用于在麒麟990NPU上实时地处理30帧每秒的4k分辨率的视频。而且,与相同计算量的DnCNN模型相比,本申请的模型的PSNR高1-2DB,也就是说,本申请的模型的去噪效果远超相同大小的DnCNN模型。
图11中示出了不同模型的处理效果的对比图。图11的(a)为具有频率分离模块的模型的处理效果与不具有频率分离模块的模型的处理效果的对比图。图11的(b)为具有频率分离模块的模型的处理效果与不具有频率分离模块的模型的处理效果的对比图。
具有频率分离模块的模型,即本申请实施例中的模型,通过DWT得到的1/4的特征分量(即hh分量)输入高频处理模块。利用pixel shuffel下采样操作替换DWT模块,作为对照模型,即对照模型不具有频率分离模块。对照模型中通过pixel shuffel下采样后得到的特征中的1/4的特征分量输入高频处理模块。这样使得对照模型和本申请的模型具有相同的计算复杂度,以实现公平对比。对比效果图如图11所示,图11的(a)中,左图为由不具有DWT的对照模型处理得到的图像,右图为由本申请中的模型处理得到的图像。相较于左图而言,右图中的高频细节更清晰,画面质量更高。图11的(b)中,左图为由不具有DWT的对照模型处理得到的图像,中间为由本申请中的模型处理得到的图像,右图为GT。相较于左图而言,中间的颜色与GT的颜色更接近,颜色偏差更小。
本申请的方案中采用分频融合的方式,区别处理不同的频率分量,将高频分量分离以提高模型的高频解析力,有利于修复图像的高频细节;通过融合低频分量以减少图像颜色偏差,有利于恢复图像的真实颜色。
图12示出了采用不同训练方法得到的模型的处理效果的对比图。图12的(a)中,左图为采用现有方案训练的模型处理得到的图像,右图为采用自蒸馏的方式训练的模型处理得到的图像。相较于左图而言,右图中的暗区细节更清晰。图12的(b)中,左图为采用现有方案训练的模型处理得到的图像,右图为采用自蒸馏的方式训练的模型处理得到的图像。相较于左图而言,右图的紫边更少。
本申请的方案中采用自蒸馏的方式,将教师网络学习到的知识蒸馏到计算量更小的学生网络中,既能够满足弱计算力的终端设备的算力约束,也能够得到去噪效果较好的模型。通过自蒸馏的方式能够明显提升模型的暗区细节,减少紫边artifact。
图13和图14示出了不同模型的处理效果的对比图。图13的(a)为1勒克斯(lux)的光照条件下由手机拍摄的图像,即待处理图像;图13的(b)为计算量为25GMACs的DnCNN模型处理后得到的图像;图13的(c)为计算量为25GMACs的本申请的模型处理后得到的图像;图13的(d)为计算量为118GMACs的的本申请的模型处理后得到的图像。如图13所示,相较于25GMACs的DnCNN模型,计算量为25GMACs的本申请的模型处理后的图像具有更少的彩色噪声以及更清晰的高频细节,计算量为25GMACs的本申请的模型处理后的图像的去噪视觉效果明显超过25GMACs的DnCNN模型。
图14的(a)为1勒克斯(lux)的光照条件下由手机拍摄的图像,即待处理图像;图14的(b)为计算量为25GMACs的DnCNN模型处理后得到的图像;图14的(c)为计算量为25GMACs的本申请的模型处理后得到的图像;图14的(d)为计算量为118GMACs的的本申请的模型处理后得到的图像。如图14所示,相较于25GMACs的DnCNN模型,计算量为25GMACs的本申请的模型处理后的图像具有更少的颜色偏差,计算量为25GMACs的本申请的模型处理后的图像的去噪视觉效果明显超过25GMACs的DnCNN模型。
图15为手机拍摄的图像与本申请的模型处理后的图像的对比图。图15的(a)为5lux光照条件下的DXO测试场景图。图15的(b)中,左图为手机拍摄的图像,右图为本申请的模型处理后的图像,从图15的(b)中可以看出,本申请的模型处理后的图像具有更多的纹理细节。图15的(c)中,左图为手机拍摄的图像,右图为本申请的模型处理后的图像,从图15的(c)中可以看出,本申请的模型处理后的图像的彩色噪声更少。图15的(d)中,左图为手机拍摄的图像,右图为本申请的模型处理后的图像,从图15的(d)中可以看出,本申请的模型处理后的图像具有更多的暗区细节,即暗区质量更高。图15的(e)中,左图为手机拍摄的图像,右图为本申请的模型处理后的图像,从图15的(e)中可以看出,本申请的模型处理后的图像具有稳定的高频细节。图15的(d)中,左图为手机拍摄的图像,右图为本申请的模型处理后的图像,从图15的(f)中可以看出,本申请的模型处理后的图像具有更强的弱对比度纹理。
图16为本申请实施例提供的一种图像处理方法1600。方法1600可以由图像处理装置执行。该图像处理装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器、手机、电视等运算能力足以用来执行图像处理模型的运算的装置,也可以为图像信号处理器(image signal processor,ISP)中,还可以是由云服务设备和终端设备构成的系统。示例性地,方法1600可以由图1中的执行设备110、图3中的神经网络处理器50或图4中的执行设备310或本地设备执行。
例如,图像处理方法具体可以由如图1所示的执行设备110执行。
可选地,图像处理方法可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
方法1600中采用本申请实施例中的图像处理模型对图像进行处理,为了避免不必要的重复,下面在介绍方法1600时适当省略重复的描述。
方法1600包括步骤S1610至步骤S1650。
S1610,对多帧初始图像进行预处理,输出多帧图像。
示例性地,该多帧初始图像可以为待处理的视频中的多帧初始图像。
步骤S1610为可选步骤。
可选地,步骤S1610包括:对多帧初始图像进行特征提取,将提取到的多帧初始图像的特征图作为所述多帧图像。
S1620,对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
可选地,步骤S1620包括:通过小波变换对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
S1630,对多帧图像的低频分量进行融合处理,输出融合后的低频分量。
可选地,步骤S1630包括:对多帧图像的低频分量进行串联合并;对串联合并的结果进行卷积处理,输出融合后的低频分量。
S1640,对多帧图像中的至少一帧图像的高频分量分别进行卷积处理,输出至少一帧图像的卷积处理后的高频分量。
步骤S1640为可选步骤。
S1650,对融合后的低频分量和多帧图像中的至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
示例性地,在方法1600不包括S1640的情况下,步骤S1650可以包括:对融合后的低频分量和至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
可选地,步骤S1650包括:对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
根据本申请实施例的方案,提取多帧图像的不同频率分量,将高频分量相对分离,保证了图像中的高频信息不受帧间不对齐问题影响,保留了较好的高频细节,避免增强后的图像出现模糊的问题,将多帧图像的低频分量进行融合,以获得多帧图像中的低频信息,实现帧间互补,解决了偏色、一般纹理模糊等问题,提高了去噪效果,保证了画面色彩的真实性,增强了图像的纹理细节,提升了成像质量。而且,本申请实施例中的方案将高频分量分离出来,使得高频分量不被帧间不对齐问题所影响,因而不需要使用较深的卷积层对多帧图像进行对齐,降低了模型运行时的计算开销和内存开销,提高了模型的运行速度。
下面结合图17至图20对本申请实施例的装置进行说明。应理解,下面描述的装置能够执行前述本申请实施例的方法,为了避免不必要的重复,下面在介绍本申请实施例的装置时适当省略重复的描述。
图17是本申请实施例的图像处理模型的训练装置的示意性框图。图17所示的图像处理模型的训练装置2000包括获取单元2010和处理单元2020。
获取单元2010和处理单元2020可以用于执行本申请实施例的图像处理模型的训练方法700。
示例性地,获取单元2010,用于获取多帧样本图像和多帧样本图像中的至少一帧样本图像对应的目标图像,至少一帧样本图像对应的目标图像的信噪比高于至少一帧样本图像。
处理单元2020,用于采用第一图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第一增强图像;以减小目标损失函数的值为目标对第一图像处理模型的参数进行调整,得到训练好的第一图像处理模型。目标损失函数是根据第一图像处理模型的损失函数确定的,第一图像处理模型的损失函数用于计算至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异;损失函数包括权重值,至少一帧样本图像对应的第一增强图像中的部分或全部区域对应的损失函数的权重值通过权重图指示。
可选地,作为一个实施例,第一图像处理模型包括第一频率分离模块、第一低频处理模块和第一频率融合模块,其中,第一频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第一高频分量和第一低频分量;第一低频处理模块,用于对多帧样本图像的第一低频分量进行融合处理,输出融合后的第一低频分量;第一频率融合模块,用于对融合后的第一低频分量和至少一帧样本图像的第一高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第一增强图像。
可选地,作为一个实施例,至少一帧样本图像对应的第一增强图像中的高频区域对应的损失函数的权重值大于至少一帧样本图像对应的第一增强图像中的低频区域对应的损失函数的权重值。
可选地,作为一个实施例,至少一帧样本图像对应的第一增强图像和至少一帧样本图像对应的目标图像之间的差异,包括:至少一帧样本图像对应的第一增强图像中的部分像素和至少一帧样本图像对应的目标图像的部分像素之间的差异。
可选地,作为一个实施例,部分像素包括像素值小于或等于第一阈值的像素。
可选地,作为一个实施例,损失函数是根据以下至少两项确定的:内容损失、结构相似性损失、上下文双边损失或颜色损失。
可选地,作为一个实施例,损失函数L满足公式:
L=w*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
其中,Lcontent表示内容损失,LSSIM表示结构相似性损失,Lcobi表示上下文双边损失,Lcolor表示颜色损失,α、β、γ和ρ为参数,w表示权重图。
可选地,作为一个实施例,处理单元2020还用于:采用第二图像处理模型基于多帧样本图像执行前向传播得到至少一帧样本图像对应的第二增强图像,第二图像处理模型和第一图像处理模型共享部分网络结构;以及目标损失函数是根据第一图像处理模型的损失函数确定的,包括:目标损失函数是根据第一图像处理模型的损失函数、第二图像处理模型的损失函数或第二图像处理模型与第一图像处理模型之间的蒸馏损失确定的,第二图像处理模型的损失函数用于计算至少一帧样本图像对应的第二增强图像和至少一帧样本图像对应的目标图像之间的差异。
可选地,作为一个实施例,第二图像处理模型与第一图像处理模型之间的蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失;其中,特征蒸馏损失用于计算第一图像处理模型的中间层的特征和第二图像处理模型的中间层的特征之间的差异;输出蒸馏损失用于计算第一增强图像和第二增强图像之间的差异。
可选地,作为一个实施例,第二图像处理模型与第一图像处理模型之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示特征蒸馏损失,Loutput表示输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。
可选地,作为一个实施例,目标损失函数满足如下公式:
Ltarget=LKD+L1+L2;
其中,Ltarget表示目标损失函数,LKD表示第一图像处理模型与第一图像处理模型之间的蒸馏损失,L1表示第一图像处理模型的损失函数,L2表示第二图像处理模型的损失函数。
可选地,作为一个实施例,第二图像处理模型包括第二频率分离模块、第二低频处理模块和第二频率融合模块,其中:第二频率分离模块,用于对多帧样本图像分别进行频率分离处理,输出多帧样本图像中每帧样本图像的第二高频分量和第二低频分量;第二低频处理模块,用于对多帧样本图像的第二低频分量进行融合处理,输出融合后的第二低频分量;第二频率融合模块,用于对融合后的第二低频分量和至少一帧样本图像的第二高频分量分别进行频率融合处理,输出至少一帧样本图像对应的第二增强图像;第一频率分离模块和第二频率分离模块共享网络结构,第一低频处理模块和第二低频处理模块共享部分网络结构。
可选地,作为一个实施例,第一图像处理模型的中间层的特征包括第一频率融合处理模块的特征,第二图像处理模型的中间层的特征包括第二频率融合处理模块的特征。
图18是本申请实施例的图像处理装置的示意性框图。图18所示的图像处理装置3000包括获取单元3010和处理单元3020。
获取单元3010和处理单元3020可以用于执行本申请实施例的图像处理方法1600。
示例性地,获取单元3010用于获取多帧图像。
处理单元3020用于对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量;对多帧图像的低频分量进行融合处理,输出融合后的低频分量;对融合后的低频分量和多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
可选地,作为一个实施例,处理单元3020还用于:对多帧图像中的至少一帧图像的高频分量分别进行卷积处理;以及处理单元3020具体用于:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出至少一帧图像对应的增强图像。
可选地,作为一个实施例,处理单元3020具体用于:通过小波变换对多帧图像分别进行频率分离处理,输出多帧图像中每帧图像的高频分量和低频分量。
可选地,作为一个实施例,处理单元3020具体用于:对多帧图像的低频分量进行串联合并;对串联合并的结果进行卷积处理,输出融合后的低频分量。
可选地,作为一个实施例,处理单元3020具体用于:对融合后的低频分量和至少一帧图像的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
可选地,作为一个实施例,处理单元3020具体用于:对融合后的低频分量和至少一帧图像的卷积处理后的高频分量分别进行串联合并;对串联合并的结果进行卷积处理,输出至少一帧图像对应的增强图像。
可选地,作为一个实施例,处理单元3020还用于:对多帧初始图像进行预处理,输出多帧图像。
可选地,作为一个实施例,处理单元3020具体用于:对多帧初始图像进行特征提取,将提取到的多帧初始图像的特征图作为多帧图像。
需要说明的是,上述装置2000和装置3000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图19是本申请实施例提供的一种图像处理模型的训练装置的硬件结构示意图。图19所示的图像处理模型的训练装置4000(该装置4000具体可以是一种计算机设备)包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼此之间的通信连接。
存储器4001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002和通信接口4003用于执行本申请实施例中的图像处理模型的训练方法的各个步骤。具体地,处理器4002可以执行上文中方法700。
处理器4002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理模型的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的图像处理模型的训练方法。
处理器4002还可以是一种集成电路芯片,具有信号的处理能力。例如,可以是图3所示的芯片。在实现过程中,本申请的图像处理模型的训练方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述的处理器4002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002读取存储器4001中的信息,结合其硬件完成本申请实施例的图像处理模型的训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理模型的训练方法。
通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。例如,可以通过通信接口4003获取训练样本(如方法700中的多帧样本图像和多帧样本图像中的至少一帧样本图像对应的目标图像)。
总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。
应理解,图像处理模型的训练装置2000中的获取单元2010相当于图像处理模型的训练装置4000中的通信接口4003,处理单元2020可以相当于处理器4002。
图20是本申请实施例提供的图像处理装置的硬件结构示意图。图20所示的图像处理装置5000(该装置5000具体可以是一种计算机设备)包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是ROM,静态存储设备,动态存储设备或者RAM。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002和通信接口5003用于执行本申请实施例的图像处理方法的各个步骤。
处理器5002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理装置中的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的图像处理方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器5002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成本申请实施例的图像处理装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取输入数据(如本申请实施例中的多帧图像)。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
应理解,图像处理装置3000中的获取单元3010相当于图像处理装置5000中的通信接口5003;图像处理装置3000中的处理单元3020可以相当于处理器5002。
应注意,尽管图19和图20所示的装置4000和5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000和5000还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置4000和5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000和5000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图19或图20中所示的全部器件。
可以理解,装置4000相当于1中的训练设备120,装置5000相当于图1中的执行设备110。
本申请实施例还提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行本申请实施例中的方法。
本申请实施例还提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行本申请实施例中的方法。
本申请实施例还提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行本申请实施例中的方法。
本申请实施例还提供一种移动终端,该移动终端包括本申请实施例的任一种装置,例如图17、图18、图19或图20所示的装置。
示例性地,该移动终端可以为无人机或机器人等。
本申请实施例还提供一种云端,该云端包括本申请实施例的任一种装置,例如图17、图18、图19或图20所示的装置。
本申请实施例还提供一种可穿戴设备,该可穿戴设备包括本申请实施例的任一种装置,例如图17、图18、图19或图20所示的装置。
示例性地,可穿戴设备可以包括眼镜或智能手表等。
本申请实施例还提供一种车辆,该车辆包括本申请实施例的任一种装置,例如图17、图18、图19或图20所示的装置。
本申请实施例还提供一种电子设备,该电子设备包括本申请实施例中的任一种装置,例如图17、图18、图19或图20所示的装置。
示例性地,电子设备包括电视、电脑或手机等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(USB flash disk,UFD),UFD也可以简称为U盘或者优盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (53)
1.一种图像处理模型,其特征在于,包括:频率分离模块、低频处理模块和频率融合模块;
所述频率分离模块,用于对多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量;
所述低频处理模块,用于对所述多帧图像的低频分量进行融合处理,输出融合后的低频分量;
所述频率融合模块,用于对所述融合后的低频分量和所述多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
2.根据权利要求1所述的图像处理模型,其特征在于,所述模型还包括:高频处理模块,用于对所述多帧图像中的至少一帧图像的高频分量分别进行卷积处理;以及
所述频率融合模块用于对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
3.根据权利要求1或2所述的图像处理模型,其特征在于,所述频率分离模块具体用于:
通过小波变换对所述多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量。
4.根据权利要求1至3中任一项所述的图像处理模型,其特征在于,所述低频处理模块具体用于:
对所述多帧图像的低频分量进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述融合后的低频分量。
5.根据权利要求1、3、4中任一项所述的图像处理模型,其特征在于,所述频率融合模块具体用于:
对所述融合后的低频分量和所述至少一帧图像的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
6.根据权利要求2至4中任一项所述的图像处理模型,其特征在于,所述频率融合模块具体用于:
对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
7.根据权利要求1至6中任一项所述的图像处理模型,其特征在于,所述图像处理模型还包括输入处理模块,所述输入处理模块用于对多帧初始图像进行预处理,输出所述多帧图像。
8.根据权利要求7所述的图像处理模型,其特征在于,所述输入处理模块具体用于:
对所述多帧初始图像进行特征提取,将提取到的所述多帧初始图像的特征图作为所述多帧图像。
9.一种图像处理模型的训练方法,其特征在于,所述方法包括:
获取多帧样本图像和所述多帧样本图像中的至少一帧样本图像对应的目标图像,所述至少一帧样本图像对应的目标图像的信噪比高于所述至少一帧样本图像;
第一图像处理模型基于所述多帧样本图像执行前向传播得到所述至少一帧样本图像对应的第一增强图像;
以减小目标损失函数的值为目标对所述第一图像处理模型的参数进行调整,得到训练好的第一图像处理模型,所述目标损失函数是根据所述第一图像处理模型的损失函数确定的,所述第一图像处理模型的损失函数用于计算所述至少一帧样本图像对应的第一增强图像和所述至少一帧样本图像对应的目标图像之间的差异;
所述损失函数包括权重值,所述至少一帧样本图像对应的第一增强图像中的部分或全部区域对应的损失函数的所述权重值通过权重图指示。
10.根据权利要求9所述的方法,其特征在于,所述第一图像处理模型包括第一频率分离模块、第一低频处理模块和第一频率融合模块,其中,
所述第一频率分离模块,用于对所述多帧样本图像分别进行频率分离处理,输出所述多帧样本图像中每帧样本图像的第一高频分量和第一低频分量;
所述第一低频处理模块,用于对所述多帧样本图像的第一低频分量进行融合处理,输出融合后的第一低频分量;
所述第一频率融合模块,用于对所述融合后的第一低频分量和所述至少一帧样本图像的第一高频分量分别进行频率融合处理,输出所述至少一帧样本图像对应的第一增强图像。
11.根据权利要求9或10所述的方法,其特征在于,所述至少一帧样本图像对应的第一增强图像中的高频区域对应的损失函数的权重值大于所述至少一帧样本图像对应的第一增强图像中的低频区域对应的损失函数的权重值。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述至少一帧样本图像对应的第一增强图像和所述至少一帧样本图像对应的目标图像之间的差异,包括:所述至少一帧样本图像对应的第一增强图像中的部分像素和所述至少一帧样本图像对应的目标图像的部分像素之间的差异。
13.根据权利要求12所述的方法,其特征在于,所述部分像素包括像素值小于或等于第一阈值的像素。
14.根据权利要求9至13中任一项所述的方法,其特征在于,所述损失函数是根据以下至少两项确定的:内容损失、结构相似性损失、上下文双边损失或颜色损失。
15.根据权利要求14所述的方法,其特征在于,所述损失函数L满足公式:
L=w*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
其中,Lcontent表示所述内容损失,LSSIM表示所述结构相似性损失,Lcobi表示所述上下文双边损失,Lcolor表示所述颜色损失,α、β、γ和ρ为参数,w表示所述权重图。
16.根据权利要求9至15中任一项所述的方法,其特征在于,所述方法还包括:
第二图像处理模型基于所述多帧样本图像执行前向传播得到所述至少一帧样本图像对应的第二增强图像,所述第二图像处理模型和所述第一图像处理模型共享部分网络结构;
以及所述目标损失函数是根据所述第一图像处理模型的损失函数确定的,包括:所述目标损失函数是根据所述第一图像处理模型的损失函数、所述第二图像处理模型的损失函数或所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失确定的,所述第二图像处理模型的损失函数用于计算所述至少一帧样本图像对应的第二增强图像和所述至少一帧样本图像对应的目标图像之间的差异。
17.根据权利要求16所述的方法,其特征在于,所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失;
其中,所述特征蒸馏损失用于计算所述第一图像处理模型的中间层的特征和所述第二图像处理模型的中间层的特征之间的差异;
所述输出蒸馏损失用于计算所述第一增强图像和所述第二增强图像之间的差异。
18.根据权利要求17所述的方法,其特征在于,所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示所述特征蒸馏损失,Loutput表示所述输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。
19.根据权利要求16至18中任一项所述的方法,其特征在于,所述目标损失函数满足如下公式:
Ltarget=LKD+L1+L2;
其中,Ltarget表示所述目标损失函数,LKD表示所述第一图像处理模型与所述第一图像处理模型之间的蒸馏损失,L1表示所述第一图像处理模型的损失函数,L2表示所述第二图像处理模型的损失函数。
20.根据权利要求16至19中任一项所述的方法,其特征在于,所述第二图像处理模型包括第二频率分离模块、第二低频处理模块和第二频率融合模块,其中:
所述第二频率分离模块,用于对所述多帧样本图像分别进行频率分离处理,输出所述多帧样本图像中每帧样本图像的第二高频分量和第二低频分量;
所述第二低频处理模块,用于对所述多帧样本图像的第二低频分量进行融合处理,输出融合后的第二低频分量;
所述第二频率融合模块,用于对所述融合后的第二低频分量和所述至少一帧样本图像的第二高频分量分别进行频率融合处理,输出所述至少一帧样本图像对应的第二增强图像;
所述第一频率分离模块和所述第二频率分离模块共享网络结构,所述第一低频处理模块和所述第二低频处理模块共享部分网络结构。
21.根据权利要求20所述的方法,其特征在于,所述第一图像处理模型的中间层的特征包括所述第一频率融合处理模块的特征,所述第二图像处理模型的中间层的特征包括所述第二频率融合处理模块的特征。
22.一种图像处理方法,其特征在于,包括:
对多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量;
对所述多帧图像的低频分量进行融合处理,输出融合后的低频分量;
对所述融合后的低频分量和所述多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
23.根据权利要求22所述的图像处理方法,其特征在于,所述方法还包括:
对所述多帧图像中的至少一帧图像的高频分量分别进行卷积处理;以及
所述对所述融合后的低频分量和所述多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像,包括:
对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
24.根据权利要求22或23所述的图像处理方法,其特征在于,所述对多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量,包括:
通过小波变换对所述多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量。
25.根据权利要求22至24中任一项所述的图像处理方法,其特征在于,所述对所述多帧图像的低频分量进行融合处理,输出融合后的低频分量,包括:
对所述多帧图像的低频分量进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述融合后的低频分量。
26.根据权利要求22、24、25中任一项所述的图像处理方法,其特征在于,所述对所述融合后的低频分量和所述多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像,包括:
对所述融合后的低频分量和所述至少一帧图像的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
27.根据权利要求23至25中任一项所述的图像处理方法,其特征在于,所述对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像,包括:
对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
28.根据权利要求22至27中任一项所述的图像处理方法,其特征在于,所述方法还包括:
对多帧初始图像进行预处理,输出所述多帧图像。
29.根据权利要求28所述的图像处理方法,其特征在于,所述对多帧初始图像进行预处理,输出所述多帧图像,包括:
对所述多帧初始图像进行特征提取,将提取到的所述多帧初始图像的特征图作为所述多帧图像。
30.一种图像处理模型的训练装置,其特征在于,包括:
获取单元,用于获取多帧样本图像和所述多帧样本图像中的至少一帧样本图像对应的目标图像,所述至少一帧样本图像对应的目标图像的信噪比高于所述至少一帧样本图像;
处理单元,用于采用第一图像处理模型基于所述多帧样本图像执行前向传播得到所述至少一帧样本图像对应的第一增强图像;
以减小目标损失函数的值为目标对所述第一图像处理模型的参数进行调整,得到训练好的第一图像处理模型,所述目标损失函数是根据所述第一图像处理模型的损失函数确定的,所述第一图像处理模型的损失函数用于计算所述至少一帧样本图像对应的第一增强图像和所述至少一帧样本图像对应的目标图像之间的差异;
所述损失函数包括权重值,所述至少一帧样本图像对应的第一增强图像中的部分或全部区域对应的损失函数的所述权重值通过权重图指示。
31.根据权利要求30所述的训练装置,其特征在于,所述第一图像处理模型包括第一频率分离模块、第一低频处理模块和第一频率融合模块,其中,
所述第一频率分离模块,用于对所述多帧样本图像分别进行频率分离处理,输出所述多帧样本图像中每帧样本图像的第一高频分量和第一低频分量;
所述第一低频处理模块,用于对所述多帧样本图像的第一低频分量进行融合处理,输出融合后的第一低频分量;
所述第一频率融合模块,用于对所述融合后的第一低频分量和所述至少一帧样本图像的第一高频分量分别进行频率融合处理,输出所述至少一帧样本图像对应的第一增强图像。
32.根据权利要求30或31所述的训练装置,其特征在于,所述至少一帧样本图像对应的第一增强图像中的高频区域对应的损失函数的权重值大于所述至少一帧样本图像对应的第一增强图像中的低频区域对应的损失函数的权重值。
33.根据权利要求30至32中任一项所述的训练装置,其特征在于,所述至少一帧样本图像对应的第一增强图像和所述至少一帧样本图像对应的目标图像之间的差异,包括:所述至少一帧样本图像对应的第一增强图像中的部分像素和所述至少一帧样本图像对应的目标图像的部分像素之间的差异。
34.根据权利要求33所述的训练装置,其特征在于,所述部分像素包括像素值小于或等于第一阈值的像素。
35.根据权利要求30至34中任一项所述的训练装置,其特征在于,所述损失函数是根据以下至少两项确定的:内容损失、结构相似性损失、上下文双边损失或颜色损失。
36.根据权利要求35所述的训练装置,其特征在于,所述损失函数L满足公式:
L=w*(α*Lcontent+β*LSSIM+γ*Lcobi+ρ*Lcolor);
其中,Lcontent表示所述内容损失,LSSIM表示所述结构相似性损失,Lcobi表示所述上下文双边损失,Lcolor表示所述颜色损失,α、β、γ和ρ为参数,w表示所述权重图。
37.根据权利要求30至36中任一项所述的训练装置,其特征在于,所述处理单元还用于:
采用第二图像处理模型基于所述多帧样本图像执行前向传播得到所述至少一帧样本图像对应的第二增强图像,所述第二图像处理模型和所述第一图像处理模型共享部分网络结构;
以及所述目标损失函数是根据所述第一图像处理模型的损失函数确定的,包括:所述目标损失函数是根据所述第一图像处理模型的损失函数、所述第二图像处理模型的损失函数或所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失确定的,所述第二图像处理模型的损失函数用于计算所述至少一帧样本图像对应的第二增强图像和所述至少一帧样本图像对应的目标图像之间的差异。
38.根据权利要求37所述的训练装置,其特征在于,所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失是根据以下至少一项确定的:特征蒸馏损失或输出蒸馏损失;
其中,所述特征蒸馏损失用于计算所述第一图像处理模型的中间层的特征和所述第二图像处理模型的中间层的特征之间的差异;
所述输出蒸馏损失用于计算所述第一增强图像和所述第二增强图像之间的差异。
39.根据权利要求38所述的训练装置,其特征在于,所述第二图像处理模型与所述第一图像处理模型之间的蒸馏损失LKD满足如下公式:
LKD=a*Lfeature+b*Loutput;
其中,Lfeature表示所述特征蒸馏损失,Loutput表示所述输出蒸馏损失,a表示Lfeature的权重系数,b表示Loutput的权重系数。
40.根据权利要求37至39中任一项所述的训练装置,其特征在于,所述目标损失函数满足如下公式:
Ltarget=LKD+L1+L2;
其中,Ltarget表示所述目标损失函数,LKD表示所述第一图像处理模型与所述第一图像处理模型之间的蒸馏损失,L1表示所述第一图像处理模型的损失函数,L2表示所述第二图像处理模型的损失函数。
41.根据权利要求37至40中任一项所述的训练装置,其特征在于,所述第二图像处理模型包括第二频率分离模块、第二低频处理模块和第二频率融合模块,其中:
所述第二频率分离模块,用于对所述多帧样本图像分别进行频率分离处理,输出所述多帧样本图像中每帧样本图像的第二高频分量和第二低频分量;
所述第二低频处理模块,用于对所述多帧样本图像的第二低频分量进行融合处理,输出融合后的第二低频分量;
所述第二频率融合模块,用于对所述融合后的第二低频分量和所述至少一帧样本图像的第二高频分量分别进行频率融合处理,输出所述至少一帧样本图像对应的第二增强图像;
所述第一频率分离模块和所述第二频率分离模块共享网络结构,所述第一低频处理模块和所述第二低频处理模块共享部分网络结构。
42.根据权利要求41所述的训练装置,其特征在于,所述第一图像处理模型的中间层的特征包括所述第一频率融合处理模块的特征,所述第二图像处理模型的中间层的特征包括所述第二频率融合处理模块的特征。
43.一种图像处理装置,其特征在于,包括:
获取单元,用于获取多帧图像;
处理单元,用于:
对所述多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量;
对所述多帧图像的低频分量进行融合处理,输出融合后的低频分量;
对所述融合后的低频分量和所述多帧图像中的至少一帧图像的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
44.根据权利要求43所述的装置,其特征在于,所述处理单元还用于:
对所述多帧图像中的至少一帧图像的高频分量分别进行卷积处理,以及
所述处理单元具体用于:
对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行频率融合处理,输出所述至少一帧图像对应的增强图像。
45.根据权利要求43或44所述的装置,其特征在于,所述处理单元具体用于:
通过小波变换对所述多帧图像分别进行频率分离处理,输出所述多帧图像中每帧图像的高频分量和低频分量。
46.根据权利要求43至45中任一项所述的装置,其特征在于,所述处理单元具体用于:
对所述多帧图像的低频分量进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述融合后的低频分量。
47.根据权利要求43、45、46中任一项所述的装置,其特征在于,所述处理单元具体用于:
对所述融合后的低频分量和所述至少一帧图像的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
48.根据权利要求44至46中任一项所述的装置,其特征在于,所述处理单元具体用于:
对所述融合后的低频分量和所述至少一帧图像的卷积处理后的高频分量分别进行串联合并;
对所述串联合并的结果进行卷积处理,输出所述至少一帧图像对应的增强图像。
49.根据权利要求43至48中任一项所述的装置,其特征在于,所述处理单元还用于:
对多帧初始图像进行预处理,输出所述多帧图像。
50.根据权利要求49所述的装置,其特征在于,所述处理单元具体用于:
对所述多帧初始图像进行特征提取,将提取到的所述多帧初始图像的特征图作为所述多帧图像。
51.一种图像处理模型的训练装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求9至21中任一项所述的方法。
52.一种图像处理装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求22至29中任一项所述的方法。
53.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求9至21或22至29中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312292.2A CN115131256A (zh) | 2021-03-24 | 2021-03-24 | 图像处理模型、图像处理模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312292.2A CN115131256A (zh) | 2021-03-24 | 2021-03-24 | 图像处理模型、图像处理模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131256A true CN115131256A (zh) | 2022-09-30 |
Family
ID=83374683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110312292.2A Pending CN115131256A (zh) | 2021-03-24 | 2021-03-24 | 图像处理模型、图像处理模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115131256A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115713585A (zh) * | 2023-01-05 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 纹理图像重建方法、装置、计算机设备和存储介质 |
CN115953330A (zh) * | 2023-03-13 | 2023-04-11 | 腾讯科技(深圳)有限公司 | 虚拟场景图像的纹理优化方法、装置、设备和存储介质 |
CN117455798A (zh) * | 2023-11-17 | 2024-01-26 | 北京同力数矿科技有限公司 | 一种轻量级视频去噪方法及系统 |
-
2021
- 2021-03-24 CN CN202110312292.2A patent/CN115131256A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115713585A (zh) * | 2023-01-05 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 纹理图像重建方法、装置、计算机设备和存储介质 |
CN115953330A (zh) * | 2023-03-13 | 2023-04-11 | 腾讯科技(深圳)有限公司 | 虚拟场景图像的纹理优化方法、装置、设备和存储介质 |
CN117455798A (zh) * | 2023-11-17 | 2024-01-26 | 北京同力数矿科技有限公司 | 一种轻量级视频去噪方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021164731A1 (zh) | 图像增强方法以及图像增强装置 | |
CN110532871B (zh) | 图像处理的方法和装置 | |
CN111402146B (zh) | 图像处理方法以及图像处理装置 | |
CN112308200B (zh) | 神经网络的搜索方法及装置 | |
WO2020177607A1 (zh) | 图像去噪方法和装置 | |
CN112446270A (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
CN112446834A (zh) | 图像增强方法和装置 | |
CN112236779A (zh) | 基于卷积神经网络的图像处理方法和图像处理装置 | |
WO2022042049A1 (zh) | 图像融合方法、图像融合模型的训练方法和装置 | |
WO2022134971A1 (zh) | 一种降噪模型的训练方法及相关装置 | |
CN111667399A (zh) | 风格迁移模型的训练方法、视频风格迁移的方法以及装置 | |
CN115131256A (zh) | 图像处理模型、图像处理模型的训练方法及装置 | |
WO2021063341A1 (zh) | 图像增强方法以及装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
CN113065645B (zh) | 孪生注意力网络、图像处理方法和装置 | |
CN112070664B (zh) | 一种图像处理方法以及装置 | |
CN111145097A (zh) | 图像处理方法、装置和图像处理系统 | |
CN113011562A (zh) | 一种模型训练方法及装置 | |
CN111951195A (zh) | 图像增强方法及装置 | |
US20220157046A1 (en) | Image Classification Method And Apparatus | |
CN111797882A (zh) | 图像分类方法及装置 | |
CN112307826A (zh) | 行人检测方法、装置、计算机可读存储介质和芯片 | |
CN113191489B (zh) | 二值神经网络模型的训练方法、图像处理方法和装置 | |
CN112529904A (zh) | 图像语义分割方法、装置、计算机可读存储介质和芯片 |
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 |