图像处理方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:29:13
技术领域
本申请涉及图像处理技术领域,更具体地,涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术
随着科技水平和生活水平的快速进步,电子设备(例如智能手机、平板电脑等)被人们广泛使用,而且电子设备的拍摄功能也越来越强,非专业人员也能通过电子设备拍摄出较高质量的图像,但是用户在使用电子设备进行拍照时,仍然会产生图像模糊,因此产生了一些去模糊的方案。随着人工智能的发展,基于图像处理模型的图像去模糊方法取得了比传统方法更好的效果,但是基于人工智能的去模糊方案中,去模糊的效果仍有待提升。
发明内容
鉴于上述问题,本申请提出了一种图像处理方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种图像处理方法,所述方法包括:获取待处理图像;将所述待处理图像输入预先训练的图像处理模型,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像;获得所述图像处理模型输出的所述第二目标图像。
第二方面,本申请实施例提供了一种图像处理装置,所述装置包括:图像获取模块、图像输入模块以及图像获得模块,其中,所述图像获取模块用于获取待处理图像;所述图像输入模块用于将所述待处理图像输入预先训练的图像处理模型,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像;所述图像获得模块用于获得所述图像处理模型输出的所述第二目标图像。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的图像处理方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的图像处理方法。
本申请提供的方案,通过获取待处理图像,将待处理图像输入预先训练的图像处理模型,该图像处理模型至少包括第一子模型以及第二子模型,该第一子模型用于对待处理图像进行去模糊处理,获得第一目标图像,第二子模型用于对第一目标图像进行去模糊处理,获得第二目标图像,获得图像处理模型输出的第二目标图像,从而可以实现对于待处理图像采用级联的子模型进行多阶段的去模糊处理,提升对图像的模糊去除效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施例的图像处理方法流程图。
图2示出了本申请实施例提供的图像处理方法的原理示意图。
图3示出了根据本申请另一个实施例的图像处理方法流程图。
图4示出了本申请另一个实施例提供的图像处理方法中步骤S220的流程图。
图5示出了本申请另一个实施例提供的图像处理模型的训练过程的原理示意图。
图6示出了本申请另一个实施例提供的模糊核的一种显示效果示意图。
图7示出了本申请另一个实施例提供的模糊核的一种显示效果示意图。
图8示出了本申请另一个实施例提供的模糊核的一种显示效果示意图。
图9示出了本申请另一个实施例提供的模糊核的一种显示效果示意图。
图10示出了根据本申请又一个实施例的图像处理方法流程图。
图11示出了根据本申请一个实施例的图像处理装置的一种框图。
图12是本申请实施例的用于执行根据本申请实施例的图像处理方法的电子设备的框图。
图13是本申请实施例的用于保存或者携带实现根据本申请实施例的图像处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
当前,电子设备在日常生活使用中,普及率已近乎全民覆盖,其中,相机模块,已成为电子设备主要功能点,用户可通过电子设备的相机功能,拍摄照片与视频,所得的图像即拍即得,方便快捷,不仅如此,用户也经常将拍摄的图像上传到网上与他人一起分享。电子设备进行拍摄已基本取代了传统的摄像机。
在使用电子设备进行拍照时,可能会存在手持电子设备产生自然抖动,或者在行进时拍照等情况,从而使得拍摄的图像存在模糊。针对图像中的模糊,产生了去模糊的技术。图像去模糊是一种重要的图像处理研究方向,其目标是恢复模糊图像中由于模糊而损失的细节信息。随着神经网络模型的研究推进,基于图像处理模型的图像去模糊方法取得了比传统方法更好的效果,所谓的图像处理模型是一种用于对模糊图像进行图像去模糊处理得到清晰图像的神经网络模型。
相关技术中,通常采用Unet网络结果,通过输入模糊图像,并根据对应的清晰图像进行监督训练,最终使得模型能够有效去除输入图像中的模糊。但是这样的方案中,其去模糊效果会受限在一定范围内,最终模型去模糊效果欠佳,无法得到令人满意的清晰效果。因此,出现了通过同一模型对处理图像进行二遍处理,即对第一遍处理后的图像再输入至模型进行处理,以提升模糊去除的效果。
发明人经过长期的研究发现,由于模糊图像的真实拍摄场景十分复杂,不同图像的模糊程度不同;并且根据导致图像模糊的成因,图像模糊的类型可分为很多种,比如运动模糊、扩散模糊和散焦模糊等。而上述采用二遍处理的方案中,通常针对某些模糊程度的图像、单一模糊类型能够有较佳的去除效果,但是对于不同程度的模糊、不同类型的叠加模糊的去除效果不佳,且容易出现伪影等副作用。
针对上述问题,发明人提出了本申请实施例提供的图像处理方法、装置、电子设备以及存储介质,可以实现对于待处理图像采用级联的子模型进行多阶段的去模糊处理,提升对图像的模糊去除效果。其中,具体的图像处理方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一个实施例提供的图像处理方法的流程示意图。在具体的实施例中,所述图像处理方法应用于如图11所示的图像处理装置400以及配置有所述图像处理装置400的电子设备100(图12)。下面将以电子设备为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的电子设备可以为智能手机、平板电脑、智能手表、智能眼镜、笔记本电脑等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
步骤S110:获取待处理图像。
在本申请实施例中,电子设备可以获取需要对图像进行去模糊处理的待处理图像。可以理解地,人们在拍摄图像时,由于可能处于移动状态,或者拍摄时存在手部抖动从而造成拍摄图像的模糊,也可能成像时由于硬件因素造成图像的模糊,而通常用户需要内容清晰的图像,因此存在对图像进行去模糊处理的需求。
在一些实施方式中,电子设备为智能手机、平板电脑、智能手表等设置有摄像头的移动终端时,可以通过前置摄像头或者后置摄像头进行图像采集,从而获得待处理图像,例如,电子设备可以通过后置摄像头采集图像,并将获得的图像作为待处理图像。
在另一些实施方式中,电子设备可以从本地获取待处理图像,也就是说,电子设备可以从本地存储的文件中获取待处理图像,例如,电子设备为移动终端时,可以从相册获取待处理图像,即电子设备预先通过摄像头采集图像后存储在本地相册,或者预先从网络下载图像后存储在本地相册等,然后在需要对图像进行阴影图像时,从相册中读取待处理图像。
在又一些实施方式中,电子设备为移动终端或者电脑时,也可以从网络下载待处理图像,例如,电子设备可以通过无线网络、数据网络等从相应的服务器下载需求的待处理图像。
在再一些实施方式中,电子设备也可以通过用户在其他设备的输入操作,对输入的待处理图像进行接收,从而获得待处理图像。
当然,电子设备具体获取待处理图像的方式可以不作为限定。
步骤S120:将所述待处理图像输入预先训练的图像处理模型,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像。
在本申请实施例中,电子设备在获取到待处理图像之后,可以将待处理图像输入至预先训练的图像处理模型,以对待处理图像进行去模糊处理。
其中,该图像处理模型至少包括第一子模型以及第二子模型,第二子模型与第一子模型级联,待处理图像输入至第一子模型后,第一子模型输出第一目标图像;第一目标图像再输入至第二子模型,第二子模型输出第二目标图像。第一子模型以及第二子模型均被预先训练,从而可以对图像进行不同程度的去模糊处理。可以理解地,请参阅图2,图2示出了本申请实施例提供的图像处理方法的原理示意图,待处理图像在经过第一子模型后,第一子模型对待处理图像中的部分模糊进行处理,得到第一目标图像,然后再输入至第二子模型,由第二子模型对图像中残余的模糊进行处理,得到第二目标图像。
在一些实施方式中,第一子模型以及第二子模型可以是针对同一清晰图像的不同模糊程度的模糊图像进行训练得到。其中,模糊程度指的是图像中内容模糊化的程度,也可以叫做模糊等级。图像处理模型中第一子模型输出的第一目标图像、第二子模型输出的第二目标图像以及输入的待处理图像,这三者的模糊程度的关系可以是依次升高的关系,也就是说,图像处理模型中,第一子模型以及第二子模型对待处理图像中的模糊进行由粗到精的去除。
本申请实施例对图像处理模型中第一子模型以及第二子模型的种类不作限定,可选地,第一子模型以及第二子模型可以是机器学习模型,或者是深度学习模型,如编码器-解码器模型(encoder-decoder模型)、沙漏网络、自编码网络等;又例如,为方便图像处理模型部署于移动终端类的电子设备,第一子模型以及第二子模型可以为基于Unet网络的去模糊模型,当然,以上仅为举例,但并不构成对本申请实施例的图像处理模型中子网络的具体种类的限定。
在本申请实施例中,图像处理模型中也可以包括更多的子模型,每个子模型可以用于处理部分的模糊处理,实现图像中模糊的由粗到精的去除。例如,图像处理模型可以包括第一子模型、第二子模型以及第三子模型,第一子模型对待处理图像进行去模糊处理,获得第一目标图像;第二子模型对第一目标图像进行去模糊处理,获得第二目标图像;第三子模型对第二目标图像进行去模糊处理,获得第三目标图像,将第三目标图像作为最终输出的图像,也就是去模糊后的清晰图像。其中,待处理图像、第一目标图像、第二目标图像和第三目标图像的模糊程度依次降低。当然,本申请实施例中图像处理模型所包括的子模型的数量可以不做限定。
步骤S130:获得所述图像处理模型输出的所述第二目标图像。
在本申请实施例中,可以将图像处理模型中第二子网络输出的第二目标图像作为最终需求的目标图像。电子设备可以对第二目标图像进行输出,例如进行显示等;也可以将第二目标图像发送至其他设备等,对第二目标图像的具体应用可以不做限定。
本申请实施例提供的图像处理方法,由于本申请实施例中的图像处理模型包括第一子模型以及第二子模型,而且第一子模型被预先训练以针对不同模糊程度的图像进行处理,使得对待处理图像进行由粗到精的去模糊处理,避免了利用同一模型对图像进行二遍的去模糊时,由于两遍去模糊的模型参数固定,造成去模糊的效果不佳的问题,从而提升了对待处理图像的去模糊的效果。
请参阅图3,图3示出了本申请另一个实施例提供的图像处理方法的流程示意图。该图像处理方法应用于上述电子设备,下面将针对图3所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
步骤S210:获取训练样本集合,所述训练样本集合包括多张第一清晰图像、与每张清晰图像对应的第一模糊图像以及第二模糊图像,所述第二模糊图像的模糊程度高于所述第一模糊图像的模糊程度。
针对前述实施例中的图像处理模型,本申请实施例中还包括对该图像处理模型的训练方法,值得说明的是,对图像处理模型的训练可以是根据获取的训练数据集合预先进行的,后续在每次需要对待处理图像进行处理时,则可以利用训练得到的图像处理模型进行,而无需每次对待处理图像进行处理时对图像处理模型进行训练。在本申请实施例中,以图像处理模型包括第一子模型以及第二子模型的结构,对其训练过程进行说明。
在本申请实施例中,训练样本集合可以包括多张第一清晰图像、与每张清晰图像对应的第一模糊图像以及第二模糊图像,其中,第二模糊图像的模糊程度高于第一模糊图像的模糊程度,以便对第一子模型以及第二子模型进行训练,使得第一子模型以及第二子模型对待处理图像进行不同程度的模糊去除,实现对待处理图像进行多阶段的模糊去除。
在一些实施方式中,可以从开源的图像库中获取多张第一清晰图像、与每张清晰图像对应的第一模糊图像以及第二模糊图像;也可以通过对多张第一清晰图像中每张第一清晰图像进行模糊处理,获得与第一清晰图像对应的第一模糊图像以及第二模糊图像。当然,获取训练样本集合的具体方式可以不做限定。
步骤S220:根据所述训练样本集合,对初始模型进行训练,直至所述初始模型满足预设条件,得到训练后的图像处理模型,所述初始模型包括初始的第一子模型以及第二子模型。
在本申请实施例中,在训练得到图像处理模型时,可以构建初始模型,初始模型可以包括初始的第一子模型以及初始的第二子模型,初始的第二子模型与初始的第一子模型级联。其中,图像在输入至图像处理模型后,首先输入至第一子模型,第一子模型将其输出结果输入至第二子模型,第二子模型最终输出结果作为整个模型的输出结果。第一子模型用于对输入的图像进行第一阶段的模糊去除,第二子模型用于对图像进行第二阶段的模糊去除,以实现由粗到精的模糊去除。
在一些实施方式中,初始的第一子模型以及第二子模型可以是机器学习模型,或者是深度学习模型,如编码器-解码器模型(encoder-decoder模型)、沙漏网络、自编码网络等;又例如,为方便图像处理模型部署于移动终端类的电子设备,初始的第一子模型以及第二子模型可以为基于Unet网络的去模糊模型。
可选的,初始的第一子模型以及第二子模型均可以为卷积神经网络。示例性的,第一子模型包括第一编码网络以及第一解码网络,输入第一编码网络的图像经过卷积、批归一化(BN)和激活函数(Relu)激活后,输出图像特征,第一解码网络对输入的图像特征,进行卷积、批归一化和Relu函数的激活,然后再通过多个残差块及卷积层后,输出新的图像;第二子模型包括第二编码网络以及第二解码网络,输入第二编码网络的图像经过卷积、批归一化和激活函数激活后,输出图像特征,第二解码网络对输入的图像特征,进行卷积、批归一化和Relu函数的激活,然后再通过多个残差块及卷积层后,输出新的图像。
可选的,由于需要训练得到的图像处理模型的准确性较高,因此对图像处理模型中第一子模型以及第二子模型的特征表示能力要求比较高,从而可以使用较多层数的卷积神经网络。例如,第一子模型以及第二子模型为编码-解码模型时,第一子模型以及第二子模型中的编码网络以及解码网络可以采用20层全卷积神经网络,下采样使用步长为2的卷积(特征提取阶段),上采样阶段使用转置卷积实现。进一步的,为保证卷积神经网络的网络深度的同时运算量不至于太大,还可以在第一子模型以及第二子模型的Encoder(解码模型)阶段的可以引入深度可分离卷积块以减少运算量,同时增加表征能力。
在本申请实施例中,可以根据训练样本集合中的第一清晰图像、与每张清晰图像对应的第一模糊图像以及第二模糊图像,对初始模型进行训练,以获得图像处理模型。
在一些实施方式中,请参阅图4,根据所述训练样本集合,对初始模型进行训练,直至所述初始模型满足预设条件,可以包括:
步骤S221:将所述第二模糊图像输入至所述初始的第一子模型,获得所述初始的第一子模型输出的第一生成图像。
步骤S222:将所述第一生成图像输入至所述初始的第二子模型,获得所述初始的第二子模型输出的第二生成图像。
步骤S223:根据所述第一生成图像、所述第一模糊图像以及所述清晰图像,获取所述初始模型的总损失值。
步骤S224:根据所述总损失值,对所述初始模型进行迭代训练,直至所述初始模型满足预设条件。
在该实施方式中,图像处理模型的损失主要来源于第一子模型的损失以及第二子模型对图像进行重建的损失,第一子模型以及第二子模型的重建损失越大,则表示其生成的图像的准确性不高。对于上述训练过程而言,每一组图像中,即每张第一清晰图像、与第一清晰图像对应的第一模糊图像以及第二模糊图像;由于要实现第一子模型以及第二子模型对待处理图像进行多阶段的模糊去除,因此,模糊程度最高的第二模糊图像作为输入图像,第一子模型输出的图像应当与第一模糊图像接近,第二子模型输出的图像应当与第一清晰图像接近,因此可以据此定义整个初始模型的损失,以对初始模型的训练进行约束。
可选的,根据所述第一生成图像与所述第一模糊图像的差异,以及所述第二生成图像与所述清晰图像的差异,获取所述初始模型的总损失值,可以包括:
根据所述第一生成图像与所述第一模糊图像之间的差异,获取所述初始的第一子模型的第一损失值;根据所述第二生成图像与所述清晰图像的差异,获取所述初始的第二子模型的第二损失值;根据所述第一损失值以及所述第二损失值,确定所述初始模型的总损失值。
示例性的,将第一子模型输出的第一生成图像与第一模糊图像之间的差异表示为loss_1(即上述第一损失值),将第二子模型输出的第二生成图像与第一清晰图像之间的差异表示为loss_2(即上述第二损失值),初始模型的总损失值可以根据以下公式计算得到:
loss=a*loss1+b*loss2
其中,a为初始的第一子模型对应的第一损失值所占的权重,b为初始的第二子模型对应的第二损失值所占的权重。
可选的,请参阅图5,在获取到总损失值后,可以按反向传播算法反传总损失值的梯度,更新初始模型的第一子模型以及第二子模型中的参数,直至满足预设条件。
预设条件可以为:总损失值小于预设值、总损失值不再变化、或者训练次数达到预设次数等。可以理解的,在根据训练样本集合对初始模型进行多个训练周期的迭代训练后,其中,每个训练周期包括多次的迭代训练,不断对生成器的参数进行优化,则以上总损失值越来越小,最后变小为一个固定值,或者小于以上预设值,此时,则表示初始模型已收敛;当然也可以是在训练次数达到预设次数后,确定初始模型已经收敛。
在一些场景中,图像中的模糊可能包含多种模糊类型的模糊,例如运动模糊、扩散模糊等,而图像中的模糊可以看作为多种模糊类型的模糊的叠加。因此,在构建以上训练样本集合时,可以针对此来获取样本图像,具体地,第一清晰图像对应的第一模糊图像可以包含第一模糊类型的模糊,第一清晰图像对应的第二模糊图像可以包含第一模糊类型的模糊以及第二模糊类型的模糊。其中,第一模糊类型与第二模糊类型不同,第一模糊类型以及第二模糊类型的具体类型可以不做限定,例如,第一模糊类型可以是运动模糊,第二模糊类型可以是扩散模糊,也可以是,第一模糊类型为扩散模糊,第二模糊类型为运动模糊;又例如,第一模糊类型可以是运动模糊,第二模糊类型可以是散焦模糊,也可以是,第一模糊类型为散焦模糊,第二模糊类型为运动模糊;再例如,第一模糊类型可以是扩散模糊,第二模糊类型可以是散焦模糊,也可以是,第一模糊类型为散焦模糊,第二模糊类型为扩散模糊。这样的话,根据训练样本集合所训练得到的图像处理模型中,第一子模型可以去除第一模糊类型的模糊,第二子模型可以去除第二模糊类型的模糊。
可选的,获取训练样本集合,可以包括:
获取多张第一清晰图像;基于第一模糊核,对每张第一清晰图像进行模糊处理,获得所述每张第一清晰图像对应的所述第一模糊图像,所述第一模糊核对应第一模糊类型;基于第二模糊核,对所述每张第一清晰图像对应的第一模糊图像进行模糊处理,获得所述每张第一清晰图像对应的所述第二模糊图像,其中,所述第二模糊核对应第二模糊类型。
其中,图像模糊可以看做清晰图像卷积模糊核得到模糊图像的过程,例如,模糊图像可以根据以下公式获取:
其中,B为模糊图像(blurry image),I为清晰图像(latent image),K为模糊核(blur kernel),N为附加的噪声,
在一些实施方式中,像中的模糊可能包含一种模糊类型的模糊,例如包含运动模糊,又例如,包含扩散模糊等。因此,在构建以上训练样本集合时,可以针对此来获取样本图像,具体地,第一模糊图像以及第二模糊图像均包含同一模糊类型的模糊,只是第二模糊图像的模糊程度高于第一模糊图像的模糊程度。这样的话,据此训练得到的图像处理模型中第一子模型以及第二子模型均用于去除相同模糊类型的模糊。
可选的,获取训练样本集合,可以包括:
获取多张第一清晰图像;基于第三模糊核,对每张第一清晰图像进行模糊处理,获得所述每张清晰图像对应的所述第一模糊图像;基于第四模糊核,对所述每张第一清晰图像对应的所述第一模糊图像进行模糊处理,获得所述每张第一清晰图像对应的所述第二模糊图像,其中,所述第三模糊核对应的模糊类型与所述第四模糊核对应的模糊类型相同。
在获取以上第一模糊图像以及第二模糊图像时,可以根据目标模糊类型的第三模糊核对第一清晰图像进行模糊,获得包含目标模糊类型的模糊的第一模糊图像后;再通过目标模糊类型的第四模糊核对第一模糊图像进行模糊,获得在第一模糊图像的基础上叠加有相同模糊类型的模糊的图像,也就是说,第二模糊图像的模糊程度高于第一模糊图像的模糊程度。
在一些实施方式中,也可以按照上述两种方式获取第一模糊图像以及第二模糊图像,以构建训练样本集合。这样的话,样本集合中不仅包括针对第一清晰图像的包含同种模糊类型的模糊的第一模糊图像以及第二模糊图像,也包括针对第一清晰图像的包含不同模糊类型的模糊的第一模糊图像以及第二模糊图像。从而可以丰富训练样本集合中样本图像的类型,使得训练的图像处理模型能够对包含一种模糊类型的模糊的图像进行去模糊处理,也可以对包含多种模糊类型的模糊的图像进行去模糊处理,并且具有较好的模糊去除效果。
在一些实施方式中,模糊图像中的模糊是具有方向的,而模糊核被可视化后,其图像中的图像内容也是有方向的,并且模糊图像中模糊方向与模糊核的方向是一致的。由于真实图像中的模糊是同一的,整体的,而本申请实施例提供的图像处理模型需要强行将模糊分成两个阶段去除,因此,需要满足:第一模糊图像以及第二模糊方向在模糊形态(模糊方向)是一致的,也就是说,在获取以上第一模糊图像以及第二模糊图像时,模糊核的模糊方向是一致的。
另外,真实场景下的模糊,其模糊程度存在差异,两阶段去除模糊的初衷是为解决中度或重度模糊去除不干净的问题,因此在应对去模糊时,第一子模型进行去模糊处理后,会自然存在一定量的残余模糊,并且期望第二子模型去除残余的模糊。对于,输入的轻微模糊的图像,需要确保第一子模型足够的处理能力,但不认为造成较大比例的残余模糊,而用第二子模型进行去除。因此,第一子模型去除的模糊比例可以控制在0.5~0.7之间,在构建训练样本集合时,可以通过模糊程度来对第一模糊图像以及第二模糊图像进行约束。具体地,模糊程度可以根据模糊核的长轴、短轴的直径加权来衡量,即对根据模糊核的长轴和短轴的直径对模糊程度进行量化,使第一模糊图像相对第二模糊图像的模糊减少0.5~0.7。其中,模糊核可以通过对其可视化,以对其展示,例如,请同时参阅图6及图7,获取第一模糊图像时使用的模糊核如图6所示,获取第二模糊图像时使用的模糊核如图7所示,模糊核在图中对应的区域即图中白色部分的内容;又例如,请同时参阅图8及图9,获取第一模糊图像时使用的模糊核如图8所示,获取第二模糊图像时使用的模糊核如图9所示,模糊核在图中对应的区域即图中白色部分的内容。
步骤S230:获取待处理图像。
步骤S240:将所述待处理图像输入预先训练的图像处理模型,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像。
步骤S250:获得所述图像处理模型输出的所述第二目标图像。
在本申请实施例中,步骤S230至步骤S250可以参阅前述实施例的内容,在此不再赘述。
本申请实施例提供的图像处理方法,由于本申请实施例中的图像处理模型包括第一子模型以及第二子模型,而且第一子模型被预先训练以针对不同模糊程度的图像进行处理,使得对待处理图像进行由粗到精的去模糊处理,避免了利用同一模型对图像进行二遍的去模糊时,由于两遍去模糊的模型参数固定,造成去模糊的效果不佳的问题,从而提升了对待处理图像的去模糊的效果。另外,提供了图像处理模型的训练方法,其通过构建的初始模型进行训练得到,获取到的图像处理模型可以实现对待处理图像进行多阶段的模糊去除。
请参阅图10,图10示出了本申请又一个实施例提供的图像处理方法的流程示意图。该图像处理方法应用于上述电子设备,下面将针对图10所示的流程进行详细的阐述,所述图像处理方法具体可以包括以下步骤:
步骤S310:获取待处理图像。
在本申请实施例中,步骤S310可以参阅前述实施例的内容,在此不再赘述。
步骤S320:获取所述待处理图像中包括的模糊类型。
在本申请实施例中,由于实际的图像中可能存在两种或者两种以上的模糊类型,而以上图像处理模型,可能是针对某一种模糊类型的样本图像训练的,因此还可以针对每种模糊类型,训练图像处理模型;另外,若按照前述实施例中的,第一模糊图像包含第一模糊类型的模糊,第二模糊图像包含第一模糊类型以及第二模糊类型的模糊时,则图像处理模型可以较好地去除包含这两种不同模糊类型的模糊的图像中的模糊,并且可以针对多种不同的模糊类型之间的组合,训练多个不同模糊类型的组合对应的图像处理模型。
在实际进行模糊去除时,可以获取待处理图像中包括的模糊类型,以根据待处理图像中包含的模糊类型,确定待调用的图像处理模型。在一些实施方式中,可以利用预先训练的模糊识别模型,获取待处理图像中包括的模糊类型。
可选的,模糊识别模型可以为神经网络等,在此不做限定。训练模糊识别模型时,可以获取大量的包含一种或者多种模糊类型的模糊的样本图像,并根据样本图像中包含的模糊的类型,对其进行标注;然后根据样本图像,对初始的模型进行训练,最终得到训练完成的模糊识别模型。
步骤S330:基于所述模糊类型,将所述待处理图像输入预先训练的图像处理模型,所述图像处理模型与所述模糊类型对应,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像。
在本申请实施例中,在获取到待处理图像中包含的模糊类型后,则可以基于模糊类型,将待处理图像输入与模糊类型对应图像处理模型,从而得到所需的第二目标图像。其中,若以上图像处理模型针对某一种模糊类型的样本图像训练的,则针对每种模糊类型,训练有每种模糊类型对应的图像处理模型,根据待处理图像中包含的模糊类型,可以确定出对应的需要调用的图像处理模型;若针对多种不同的模糊类型之间的组合,训练多个不同模糊类型的组合对应的图像处理模型,则可以根据待处理图像中包含的模糊类型所构成的组合,确定出对应的需要调用的图像处理模型。
在一些实施方式中,若图像处理模型根据某一种模糊类型的样本图像训练的,在待处理图像包含多种模糊类型时,则可以确定出这些模糊类型对应的图像处理模型,然后将待处理图像输入至这些图像处理模型中的一个图像处理模型,获得输出的图像后,将输出的图像输入至下一个图像处理模型,直至这些图像处理模型均对图像进行了去模糊处理。
在一些实施方式中,若针对多种不同的模糊类型之间的组合,训练多个不同模糊类型的组合对应的图像处理模型,且待处理图像中包括两种以上的模糊类型的模糊时,则可以确定出待处理图像中包含的模糊类型所构成的组合,然后确定出这些组合对应的图像处理模型后,将待处理图像输入至这些图像处理模型中的一个图像处理模型,获得输出的图像后,将输出的图像输入至下一个图像处理模型,直至这些图像处理模型均对图像进行了去模糊处理。
步骤S340:获得所述图像处理模型输出的所述第二目标图像。
在一些实施方式中,在所述获得所述图像处理模型输出的所述第二目标图像之后,所述方法还包括:对所述第二目标图像进行超分辨率重建,获得第三目标图像。其中,超分辨率重建指将一幅低分辨率图像或图像序列进行处理,得到高分辨率图像的一种图像处理技术。可以理解地,在图像处理模型对待处理图像进行去模糊处理时,可能会对图像进行缩放,而使得图像分辨率发生变化,例如降低了分辨率等。因此,在获取到图像处理模型输出的第二目标图像之后,还可以对第二目标图像进行超分辨率重建,以提升图像的分辨率,而使得图像的清晰度进一步提升。
本申请实施例提供的图像处理方法,由于本申请实施例中的图像处理模型包括第一子模型以及第二子模型,而且第一子模型被预先训练以针对不同模糊程度的图像进行处理,使得对待处理图像进行由粗到精的去模糊处理,避免了利用同一模型对图像进行二遍的去模糊时,由于两遍去模糊的模型参数固定,造成去模糊的效果不佳的问题,从而提升了对待处理图像的去模糊的效果。另外,在对待处理图像进行去模糊处理时,根据待处理图像中的模糊类型,确定图像处理模型,进一步提升了对待处理图像的去模糊的效果。
请参阅图11,其示出了本申请实施例提供的一种图像处理装置400的结构框图。该图像处理装置400应用上述的电子设备,该图像处理装置400包括:图像获取模块410、图像输入模块420以及图像获得模块430。其中,所述图像获取模块410用于获取待处理图像;所述图像输入模块420用于将所述待处理图像输入预先训练的图像处理模型,其中,所述图像处理模型至少包括第一子模型以及第二子模型,所述第一子模型用于对所述待处理图像进行去模糊处理,获得第一目标图像,所述第二子模型用于对所述第一目标图像进行去模糊处理,获得第二目标图像;所述图像获得模块430用于获得所述图像处理模型输出的所述第二目标图像。
在一些实施方式中,该图像处理装置还可以包括:样本获取模块以及模型训练模块。样本获取模块用于获取训练样本集合,所述训练样本集合包括多张第一清晰图像、与每张清晰图像对应的第一模糊图像以及第二模糊图像,所述第二模糊图像的模糊程度高于所述第一模糊图像的模糊程度;模型训练模块用于根据所述训练样本集合,对初始模型进行训练,直至所述初始模型满足预设条件,得到训练后的图像处理模型,所述初始模型包括初始的第一子模型以及第二子模型。
在该实施方式中,模型训练模块可以具体用于:将所述第二模糊图像输入至所述初始的第一子模型,获得所述初始的第一子模型输出的第一生成图像;将所述第一生成图像输入至所述初始的第二子模型,获得所述初始的第二子模型输出的第二生成图像;根据所述第一生成图像、所述第一模糊图像以及所述清晰图像,获取所述初始模型的总损失值;根据所述总损失值,对所述初始模型进行迭代训练,直至所述初始模型满足预设条件。
可选的,模型训练模块根据所述第一生成图像与所述第一模糊图像的差异,以及所述第二生成图像与所述清晰图像的差异,获取所述初始模型的总损失值,包括:根据所述第一生成图像与所述第一模糊图像之间的差异,获取所述初始的第一子模型的第一损失值;根据所述第二生成图像与所述清晰图像的差异,获取所述初始的第二子模型的第二损失值;根据所述第一损失值以及所述第二损失值,确定所述初始模型的总损失值。
可选的,所述第一子模型用于去除第一模糊类型的模糊,所述第二子模型用于去除第二模糊类型的模糊,所述第一模糊类型与所述第二模糊类型不同;所述第一模糊图像包括所述第一模糊类型的模糊,所述第二模糊图像包括所述第一模糊类型以及所述第二模糊类型的模糊。
在该方式下,样本获取模块可以具体用于:获取多张第一清晰图像;基于第一模糊核,对每张第一清晰图像进行模糊处理,获得所述每张第一清晰图像对应的所述第一模糊图像,所述第一模糊核对应第一模糊类型;基于第二模糊核,对所述每张第一清晰图像对应的所述第一模糊图像进行模糊处理,获得所述每张第一清晰图像对应的所述第二模糊图像,其中,所述第二模糊核对应第二模糊类型。
可选的,所述第一子模型以及所述第二子模型用于去除相同模糊类型的模糊,所述第一模糊图像与所述第二模糊图像包括相同类型的模糊。样本获取模块可以具体用于:获取多张第一清晰图像;基于第三模糊核,对每张第一清晰图像进行模糊处理,获得所述每张第一清晰图像对应的第一模糊图像;基于第四模糊核,对所述每张第一清晰图像对应的所述第一模糊图像进行模糊处理,获得所述每张第一清晰图像对应的所述第二模糊图像,其中,所述第三模糊核对应的模糊类型与所述第四模糊核对应的模糊类型相同。
在一些实施方式中,图像输入模块420可以具体用于:获取所述待处理图像中包括的模糊类型;基于所述模糊类型,将所述待处理图像输入预先训练的图像处理模型,所述图像处理模型与所述模糊类型对应。
在一些实施方式中,该图像处理装置400还可以包括超分辨率重建模块。超分辨率重建模块用于在所述获得所述图像处理模型输出的所述第二目标图像之后,对所述第二目标图像进行超分辨率重建,获得第三目标图像。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的方案,通过获取待处理图像,将待处理图像输入预先训练的图像处理模型,该图像处理模型至少包括第一子模型以及第二子模型,该第一子模型用于对待处理图像进行去模糊处理,获得第一目标图像,第二子模型用于对第一目标图像进行去模糊处理,获得第二目标图像,获得图像处理模型输出的第二目标图像,从而可以实现对于待处理图像采用级联的子模型进行多阶段的去模糊处理,提升对图像的模糊去除效果。
请参考图12,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、智能手表、智能眼镜、笔记本电脑等能够运行应用程序的电子设备。本申请中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
- 图像处理方法、存储介质、电子设备及图像处理装置
- 图像处理方法和图像处理装置及电子设备和存储介质