模型训练方法、装置及拍照终端与流程

文档序号:15494012发布日期:2018-09-21 21:15阅读:234来源:国知局

本申请涉及图像处理技术领域,具体而言,涉及一种模型训练方法、装置及拍照终端。



背景技术:

由于移动终端(如,手机)的硬件的固有特性,几乎所有移动终端在弱光环境下都存在拍照画质较低的问题。照片画质低主要表现在噪点数量多和颜色失真。在现有技术中,虽然可以通过延长快门时间(即,曝光时间)来提升画质,但过长的曝光时间容易出现抖动问题,从而导致拍摄的照片很模糊,这种情况必须要使用专业拍照的三脚架才能有所缓解。而对普通的移动终端用户而言,在拍照时需要使用专业的三脚架才能得到高画质的图片,非常不便。

申请内容

有鉴于此,本申请的目的包括提供一种模型训练方法、装置及拍照终端,以改善上述问题。

为了达到上述目的,本申请实施例采用如下技术方案:

本申请实施例提供一种模型训练方法,用于对包括去噪模型和调色模型的cnn模型进行训练,该方法包括:

获取训练数据,该训练数据包括分别在短曝光和长曝光两种条件下对同一场景进行采集得到的短曝光图像和长曝光图像;

对所述训练数据中的短曝光图像进行小波分解,得到第一低频子图和第一高频子图,对所述训练数据中的长曝光图像进行小波分解,得到第二低频子图和第二高频子图;

对所述去噪模型进行初始化,得到第一去噪模型实例和第二去噪模型实例;

将第一低频子图输入所述第一去噪模型实例得到去噪后的第一低频子图,并根据所述第二低频子图和所述去噪后的第一低频子图对所述第一去噪模型实例的各参数的值进行更新;

将第一高频子图输入所述第二去噪模型实例得到去噪后的第一高频子图,并根据所述第二高频子图和所述去噪后的第一高频子图对所述第二去噪模型实例的各参数的值进行更新;

对所述去噪后的第一低频子图和所述去噪后的第一高频子图进行小波重建,将重建得到的图像输入所述调色模型输出图像,并根据所述输出图像和所述长曝光图像对所述调色模型的各参数的值进行更新。

本申请实施例还提供一种模型训练装置,用于对包括去噪模型和调色模型的cnn模型进行训练,该装置包括:

数据获取模块,用于获取训练数据,该训练数据包括分别通过短曝光和长曝光对同一场景进行采集得到的短曝光图像和长曝光图像;

数据处理模块,用于对所述训练数据中的短曝光图像进行小波分解,得到第一低频子图和第一高频子图,对所述训练数据中的长曝光图像进行小波分解,得到第二低频子图和第二高频子图;

初始化模块,用于对所述去噪模型进行初始化,得到第一去噪模型实例和第二去噪模型实例;

第一训练模块,用于将第一低频子图输入所述第一去噪模型实例得到去噪后的第一低频子图,并根据所述第二低频子图和所述去噪后的第一低频子图对所述第一去噪模型实例的各参数的值进行更新;

第二训练模块,用于将第一高频子图输入所述第二去噪模型实例得到去噪后的第一高频子图,并根据所述第二高频子图和所述去噪后的第一高频子图对所述第二去噪模型实例的各参数的值进行更新;

第三训练模块,用于对所述去噪后的第一低频子图和所述去噪后的第一高频子图进行小波重建,将重建得到的图像输入所述调色模型输出图像,并根据所述输出图像和所述长曝光图像对所述调色模型的各参数的值进行更新。

本申请实施例还提供一种拍照终端,包括处理器及机器可读存储介质,该机器可读存储介质存储有通过本申请实施例提供的模型训练方法训练得到的cnn模型;所述处理器将在短曝光条件下采集到的图像输入所述cnn模型,得到对应的长曝光图像。

相对于现有技术而言,本申请实施例具有以下有益效果:

本申请实施例提供一种模型训练方法、装置及拍照终端。通过以下方式对包括去噪模型和调色模型的cnn模型进行训练:获取训练数据,该训练数据包括分别在短曝光条件下和在长曝光条件下对同一场景进行采集得到的短曝光图像和长曝光图像。对该短曝光图像进行小波分解得到第一低频子图和第一高频子图,对该长曝光图像进行小波分解得到第二低频子图和第二高频子图。对去噪模型初始化,得到第一去噪模型实例和第二去噪模型实例。根据第一低频子图和第二低频子图训练第一去噪模型,根据第一高频子图和第二高频子图训练第二去噪模型。对经过去噪模型处理的第一低频子图和第一高频子图进行小波重构,跟重构的图像和长曝光图像对调色模型进行训练。如此,可以通过训练完成后的cnn模型直接将图像从短曝光画质提升到长曝光画质,而不必真的在长曝光条件下进行拍照,也就不必借助三脚架等外部结构来固定移动终端,使用起来非常方便。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种拍照终端的方框示意图;

图2为本申请实施例提供的一种模型训练方法的流程示意图;

图3为本申请实施例提供的一种去噪模型的网络结构示意图;

图4为本申请实施例提供的一种调色模型的网络结构示意图;

图5为本申请实施例提供的一种模型训练装置的功能模块框图。

图标:100-拍照终端;110-存储器;120-处理器;130-图像传感器;140-显示单元;200-cnn模型;300-模型训练装置;310-数据获取模块;320-数据处理模块;330-初始化模块;340-第一训练模块;350-第二训练模块;360-第三训练模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和展示的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

鉴于通过延长曝光时间来提升所拍照片的画质,容易导致所拍照片模糊,需要使用专业的三脚架才能改善这一问题,发明人通过多方研究发现,若能直接将移动终端拍摄的短曝光画质的照片提升到长曝光画质,则可以不必去延长移动终端拍照时的曝光时间,也就不必使用专门的三脚架来避免移动终端在拍照过程中发生抖动。

基于此,发明人进一步提出了通过卷积神经网路(convolutionalneutralnetwork,cnn)模型来将短曝光画质提升到长曝光画质。

请参照图1,是本申请实施例提供的一种拍照中的100的方框示意图,所述拍照中的100可以是任意具有拍照功能及图像处理功能的移动终端。所述拍照中的100包括cnn模型200、存储器110、处理器120及图像传感器130。

所述存储器110、处理器120以及图像传感器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有机器可读存储介质,该机器可读存储介质上存储有cnn模型200;图像传感器130用于拍摄照片并将拍到的照片发送给处理器120进行处理;处理器120用于调用并执行该cnn模型200所包括的软件功能模块,从而实现将图像传感器130所拍摄的短曝光画质的照片提升到相应长曝光画质。

应当理解,图1所示的结构仅为示意,拍照终端100可以具有比图1所示更少或更多的组件,例如,拍照终端100还可以包括显示单元140,该显示单元140可以用于显示经处理器120处理后的照片。此外,拍照终端100也可以具有与图1所示完全不同的配置。值得说明的是,图1所示的各组件可以软件、硬件或其组合实现。

经发明人分析,短曝光画质的照片主要存在噪点数量多和颜色失真两个问题。对应地,需要对短曝光画质的照片进行去噪和调色,因而在本实施例中,所述cnn模型可以包括去噪模型(denoisingmodel,dem)和调色模型(enhancemodel,enm),其中,去噪模型用于对拍摄到的短曝光图像进行去噪,调色模型用于对去噪后的短曝光图像进行调色,以得到相应的长曝光图像。

可选地,在本实施例中,去噪模型的网络结构可以如图2所示,调色模型的网络结构可以如图3所示。其中,带有_conx_relu标识的网络层表示在进行卷积操作后会进行relu激活操作,带有_skip_layerx_layery标识的表示layerx层的输出(激活后的输出)回合layery层的输出(激活后的输出)进行相加操作。kernel表示通道数量,stride表示步长,imaps表示输入图像的通道数,omaps表示输出图像的通道数,pading表示卷积过程中填充的用于辅助计算的行数和列数,比如,当pading=1时,会在输入图像的上下各填充一行,在输入图像的左右各填充一列。

在本实施例中,在将cnn模型200应用到拍照终端100中之前,还需对该cnn模型200进行训练。

如图4所示,是本申请实施例提供的一种模型训练方法的流程示意图,通过该方法可以对上述的包括去噪模型和调色模型的cnn模型200进行训练。下面将结合图4对该方法的具体步骤做详细阐述。

步骤s410,获取训练数据,该训练数据包括分别在短曝光和长曝光两种条件下对同一场景进行采集得到的短曝光图像和长曝光图像。

训练数据的质量会对cnn模型200提升画质的效果造成很大程度的影响。在本实施例中,可以对用于采集训练数据的拍照终端100进行专项设置,具体可以在该拍照终端100的硬件上将该拍照终端100拍照时的曝光时间,例如,可以设置长曝光时间为2秒,设置短曝光时间为1/60秒。通过该设置,拍照终端100在产生一张长曝光图像的同时还会快速地产生一张短曝光图像。

实施时,选取各种弱光场景,通过上述经过设置的拍照终端100进行数据采集在本实施例中,可以采集2000组训练数据,每组训练数据包括针对同一场景采集到的长曝光图像和短曝光图像。其中,在采集时,可以利用专业的三脚架假设拍照终端100,以避免采集到模糊的图像。

在采集到训练数据之后,可以基于该训练数据对所述cnn模型200进行训练。其中,在步骤s410中所获取的训练数据是指采集到的训练数据中的一组。

在本实施例中,以一组训练数据中的长曝光图像为目标(target)图,短曝光图像为源(source)图,并根据预设的损失函数进行训练。其中,该预设的损失函数可以是mse(meansquareerror,均方误差)函数。

步骤s420,通过预设的去噪软件对所述训练数据进行去噪。

在本实施例中,由于长曝光图像本身也存在一定数量的细粒度噪声,为确保训练效果,在进行训练前,可以通过预设的去噪软件对长曝光图像进行去噪预处理。其中,该预设的去噪软件可以是neatimage。

步骤s430,对所述训练数据中的短曝光图像进行小波分解,得到第一低频子图和第一高频子图,对所述训练数据中的长曝光图像进行小波分解,得到第二低频子图和第二高频子图。

在实施时,分别对所述训练数据中的短曝光图像和长曝光图像进行小波分解,具体可以是一级小波分解。其中,针对短曝光图像,对该短曝光图像三个通道分别进行一级小波分解,针对每个通道得到与该通道对应的四个子图。其中,与第i个通道对应的四个子图记为:src_ca1_i,src_ch1_i,src_cv1_i、src_cd1_i。将三个通道的src_ca1图级联(concate)成一张src_str图,即第一低频子图;将三个通道的src_ch1,src_cv1,src_cd1图级联成一张src_frq图,即第一高频子图。其中,第一低频子图为三通道的图,第一高频子图为九通道的图。其中,第一低频子图包含了短曝光图像的基本特性,第二高频子图中包含了短曝光图像的边缘、纹理、轮廓等特征。

对应地,针对长曝光图像也采取上述处理得到三通道的tar_str图(即第二低频子图)和九通道的tar_frq图(即第二高频子图)。

步骤s440,对所述去噪模型进行初始化,得到第一去噪模型实例和第二去噪模型实例。

在本实施例中,基于已经构建的去噪模型进行初始化得到相同的两个去噪模型实例(instance),应当理解,此处的相同是指在训练之前相同。该两个去噪模型实例分别为第一去噪模型实例和第二去噪模型实例。

步骤s450,将所述第一低频子图输入所述第一去噪模型实例得到去噪后的第一低频子图,并根据所述第二低频子图和所述去噪后的第一低频子图对所述第一去噪模型实例的各参数的值进行更新。

假设对去噪模型初始化得到的第一去噪模型实例为dem_instance1,则将上述的src_str图输入dem_instance1,得到去噪后的第一低频子图out_str,则可以根据out_str图和tar_str图(第二低频子图)对dem_instance1的各参数的值进行更新。

可选地,在本实施例中,步骤s450可以包括以下子步骤:

根据所述第二低频子图、所述去噪后的第一低频子图、预设的损失函数及预设步长,计算所述第一去噪模型实例中每个参数当前的梯度下降值;

当计算出的各个梯度下降值均小于预设的终止距离时,针对所述第一去噪模型实例中的每个参数,将该参数的值更新为该参数的当前值与该参数当前的梯度下降值之差。

下面以损失函数是mse函数为例,实施时,在得到out_str之后,可以根据mse函数计算out_str图和tar_str图的误差损失,并根据该误差损失计算dem_instance1中每个参数当前的梯度,即输入为src_str图、输出为out_str图时的梯度,再将该梯度乘以预设步长(如图2或图3中的stride)即可得到该参数当前的梯度下降值。然后,判断计算出的各个梯度下降值是否均小于预设的终止距离,若是,则将每个参数的值更新为该参数的当前值与该参数当前的梯度下降值之差。

在根据每组训练数据进行训练时,均可以按照上述过程对dem_instance1进行训练,若计算出的dem_instance1的任意一个参数的梯度下降值不为0,则可以在更新dem_instance1的各参数的值且完成对dem_instance2和enm模型的本轮训练后,继续获取下一组训练数据,以对dem_instance1进行训练。若计算出的dem_instance1(第一去噪模型实例)的各参数当前的梯度下降值为0时,即可停止更新所述第一去噪模型实例中的各参数的值,即停止对第一去噪模型实例的训练。

步骤s460,将所述第一高频子图输入所述第二去噪模型实例得到去噪后的第一高频子图,并根据所述第二高频子图和所述去噪后的第一高频子图对所述第二去噪模型实例的各参数的值进行更新。

假设对去噪模型初始化得到的第二去噪模型实例为dem_instance2,则将上述的src_frq图输入dem_instance2,得到去噪后的第一高频子图out_frq,则可以根据out_frq和tar_frq图(第二高频子图)对dem_instance2的各参数的值进行更新。

可选地,在本实施例中,步骤s460可以包括以下子步骤:

根据所述第二高频子图、所述去噪后的第一高频子图、所述损失函数及所述预设步长计算所述第二去噪模型实例中每个参数当前的梯度下降值;

当计算出的各个梯度下降值均小于所述终止距离时,针对所述第二去噪模型实例中的每个参数,将该参数的值更新为该参数的当前值与该参数当前的梯度下降值之差。

仍旧以损失函数是mse函数为例,实施时,在得到out_frq之后,可以根据mse函数计算out_frq图和tar_frq图的误差损失,并根据该误差损失计算dem_instance2中每个参数当前的梯度,即输入为src_frq图、输出为out_frq图时的梯度,再将该梯度乘以所述预设步长即可得到该参数当前的梯度下降值。如此即可得到dem_instance2的各个参数当前的梯度下降值。然后,判断计算出的各个梯度下降值是否均小于所述终止距离,若是,则将每个参数的值更新为该参数的当前值与该参数的梯度下降值之差。

在进行每组训练时,均可以按照上述过程训练dem_instance2(第二去噪模型实例),若计算出的dem_instance2的任意一个参数的值不为0,则可以在更新dem_instance2的各参数的值,并完成对enm模型的本轮训练后,重新获取下一组训练数据,以对所述dem_instance2进行训练。

若计算出的第二去噪模型实例的各参数当前的梯度下降值为0时,即可停止更新所述第二去噪模型实例中的各参数的值,即停止训练所述第二去噪模型实例。

步骤s470,对所述去噪后的第一低频子图和所述去噪后的第一高频子图进行小波重建,将重建得到的图像输入所述调色模型输出图像,并根据所述输出图像和所述长曝光图像对所述调色模型的各参数的值进行更新。

所述小波重建过程是与步骤s430中的小波分解相逆的过程,通过该过程可以得到去噪后的短曝光图像。

以上述示例为例,可以对out_str图和out_frq图进行一级小波重建,从而得到输出图像output,其中输出图像output即为去噪后的短曝光图像source。

可选地,在本实施例中,步骤s470可以包括以下子步骤:

根据所述输出图像、所述长曝光图像、所述损失函数及所述预设步长计算所述调色模型中每个参数当前的梯度下降值;

当计算出的各个梯度下降值均小于所述终止距离时,针对所述调色模型中的每个参数,将该参数的值更新为改参数的当前值与该参数当前的梯度下降值之差。

参照上述示例,实施时,在得到output图之后,可以根据mse函数计算output图和target图之间的误差损失,并基于该误差损失计算enm模型中每个参数当前的梯度,即输入为去噪后的短曝光图像、输出为output图时的梯度,再将该梯度乘以所述预设步长即可得到该参数当前的梯度下降值,再判断计算出的各梯度下降值是否小于所述终止距离,若是,则将每个参数的值更新为该参数的当前值与该参数当前的梯度下降值之差。

其中,在基于每组训练数据对enm模型进行训练时,均可以按照上述过程进行,若是计算出的enm模型中任意一个参数的梯度下降值不为0,则在更新enm模型中各参数的值后,可以重新获取下一组训练数据,对cnn模型200进行新一轮的训练。

若计算出的所述enm模型中各参数的梯度下降值为0,或是本轮计算出的损失函数的函数值与前一轮计算出的损失函数的函数值之差小于预设阈值(例如,10的负4次方)时可以停止训练该enm模型。

通过上述过程训练得到的cnn模型200,可以直接将短曝光画质的图像提升到长曝光画质,并能够较好地还原真实环境的颜色,既方便了用户操作,又得到了更好的效果。

如图5所示,是本申请实施例提供的一种模型训练装置300的功能模块框图,该模型训练装置300用于对包括去噪模型和调色模型的cnn模型200进行训练。

该模型训练装置300包括数据获取模块310、数据处理模块320、初始化模块330、第一训练模块340、第二训练模块350和第三训练模块360。

其中,数据获取模块310用于获取训练数据,该训练数据包括分别在短曝光和长曝光两种条件下对同一场景进行采集得到的短曝光图像和长曝光图像。

在本实施例中,关于数据获取模块310的描述具体可参考上述内容中对图4所示步骤s410的详细描述,即步骤s410可以由数据获取模块310执行。

数据处理模块320用于对所述训练数据中的短曝光图像进行小波分解,得到第一低频子图和第一高频子图,对所述训练数据中的长曝光图像进行小波分解,得到第二低频子图和第二高频子图。

在本实施例中,关于数据处理模块320的描述具体可参考上述内容中对图4所示步骤s430的详细描述,即步骤s430可以由数据处理模块320执行。

初始化模块330用于对所述去噪模型进行初始化,得到第一去噪模型实例和第二去噪模型实例。

在本实施例中,关于初始化模块330的描述具体可参考对图4所示步骤s440的详细描述,即步骤s440可以由初始化模块330执行。

第一训练模块340用于将第一低频子图输入所述第一去噪模型实例得到去噪后的第一低频子图,并根据所述第二低频子图和所述去噪后的第一低频子图对所述第一去噪模型实例的各参数的值进行更新。

在本实施例中,关于第一训练模块340的描述具体可参考上述内容中对图4所示步骤s450的详细描述,即步骤s450可以由第一训练模块340执行。

第二训练模块350用于将第一高频子图输入所述第二去噪模型实例得到去噪后的第一高频子图,并根据所述第二高频子图和所述去噪后的第一高频子图对所述第二去噪模型实例的各参数的值进行更新。

在本实施例中,关于第二训练模块350的描述具体可参考上述内容中对图4所示步骤s460的详细描述,即步骤s460可以由第二训练模块350执行。

第三训练模块360用于对所述去噪后的第一低频子图和所述去噪后的第一高频子图进行小波重建,将重建得到的图像输入所述调色模型输出图像,并根据所述输出图像和所述长曝光图像对所述调色模型的各参数的值进行更新。

在本实施例中,关于第三训练模块360的描述具体可参考对图4所示步骤s470的详细描述,即步骤s470可以由所述第三训练模块360执行。

综上所述,本申请实施例提供一种模型训练方法、装置及拍照终端。通过以下方式对包括去噪模型和调色模型的cnn模型进行训练:获取训练数据,该训练数据包括分别在短曝光条件下和在长曝光条件下对同一场景进行采集得到的短曝光图像和长曝光图像。对该短曝光图像进行小波分解得到第一低频子图和第一高频子图,对该长曝光图像进行小波分解得到第二低频子图和第二高频子图。对去噪模型初始化,得到第一去噪模型实例和第二去噪模型实例。根据第一低频子图和第二低频子图训练第一去噪模型,根据第一高频子图和第二高频子图训练第二去噪模型。对经过去噪模型处理的第一低频子图和第一高频子图进行小波重构,跟重构的图像和长曝光图像对调色模型进行训练。如此,可以通过训练完成后的cnn模型直接将图像从短曝光画质提升到长曝光画质,而不必真的在长曝光条件下进行拍照,也就不必借助三脚架等外部结构来固定移动终端,使用起来非常方便。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1