一种图片处理方法、装置及电子设备
技术领域
本发明涉及图片处理领域,尤其涉及一种图片处理方法、装置及电子设备。
背景技术
图片处理是对图片进行调色、抠图、合成、明暗修改、彩度和色度的修改、添加特殊效果、编辑、修复等等,使其满足视觉、心理以及其他要求的技术。在现有技术方案中,可以通过图片处理算法将一张原始图片处理为一张具有艺术风格的图片,但是,由于图片处理算法限制,只能根据静态图片产生一组静态图片,或根据动态影片产生动态影片,因而图片处理的形式单一,达不到满足更多用户的需求。
发明内容
本发明实施例提供一种图片处理方法、装置及电子设备。可以解决现有技术方案中图片处理形式单一的技术问题。
本发明第一方面提供了一种图片处理方法,包括:
将同一原始图片缩放成解析度不同的N张缩放图片,所述N为大于等于2的自然数;
通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片;
将所述N张内容图片缩放到同一解析度;
对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
其中,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。
其中,所述通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片包括:
在所述N张缩放图片中的每张缩放图片中添加讯噪背景图片;
将添加所述讯噪背景图片的所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,所述神经算法网络包括影像转换网络和损失网络,所述通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片包括:
通过所述损失网络计算重建损失,所述重建损失是原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的损失;
根据所述重建损失,确定所述神经算法网络的映射权重参数;
基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,所述将同一原始图片缩放成解析度不同的N张缩放图片包括:
通过更改所述同一原始图片的图片属性,将所述同一原始图片缩放成解析度不同的N张缩放图片,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种。
相应地,本发明第二方面提供了一种图片处理装置,包括:
图片缩放模块,用于将同一原始图片缩放成解析度不同的N张缩放图片;
图片映射模块,用于通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片;
所述图片缩放模块,还用于将所述N张内容图片缩放到同一解析度;
图片编码模块,用于对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
其中,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。
其中,所述图片映射模块还用于:
在所述N张缩放图片中的每张缩放图片中添加讯噪背景图片;
将添加所述讯噪背景图片的所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,所述神经算法网络包括影像转换网络和损失网络,所述所述图片映射模块具体用于:
通过所述损失网络计算重建损失,所述重建损失是原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的损失;
根据所述重建损失,确定所述神经算法网络的映射权重参数;
基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,所述图片缩放模块具体用于:
通过更改所述同一原始图片的图片属性,将所述同一原始图片缩放成解析度不同的N张缩放图片,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种。
相应地,本发明第三方面提供了一种电子设备,包括:处理器、存储器、通信接口和总线;
所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器存储可执行程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
将同一原始图片缩放成解析度不同的N张缩放图片;
通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片;
将所述N张内容图片缩放到同一解析度,并对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
相应地,本发明第四方面提供了一种存储介质,其中,所述存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明实施例第一方面提供的一种图片处理方法。
相应地,本发明第五方面提供了一种应用程序,其中,所述应用程序用于在运行时执行本发明实施例第一方面提供的一种图片处理方法。
实施本发明实施例,首先将同一原始图片缩放成解析度不同的N张缩放图片;然后通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片;最后将所述N张内容图片缩放到同一解析度,并对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。通过将静态图片处理为动态影片,提高了图片处理的多样性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提出的一种图片处理方法的第一实施例的流程示意图;
图2是本发明实施例提供的一种神经算法网络的结构示意图;
图3是本发明提出的一种图片处理方法的第二实施例的流程示意图;
图4是本发明实施例提出的一种图片处理装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明提出的一种图片处理方法的第一实施例的流程示意图。本发明实施例的执行主体可以为服务器,也可以为用户终端本地。如图所示,本发明实施例中的方法包括:
S101,将同一原始图片缩放成解析度不同的N张缩放图片,所述N为大于等于2的自然数。
具体实现中,可以通过更改所述同一原始图片的图片属性,进而将所述同一原始图片缩放成解析度不同的N张缩放图片,其中,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种,解析度为图片的分辨频率。
可选的,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。例如,如果最后需要得到的每秒2个影格(帧数)、长度为1.5秒并重播一次的动态影片,则可以将同一原始图片缩放成2*1.5=3张缩放图片。其中,3张缩放图片的解析度可以根据原始图片的解析度依次缩小,缩小的比例可以根据实际机器的运算速度以及缩小后的画质而定,如:3张缩放图片分别使用97%、94%以及91%的缩小比例,但不局限于此。
S102,通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
具体实现中,可以通过所述损失网络计算原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的重建损失;根据所述重建损失,确定所述神经算法网络的映射权重参数;基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
如图2所示,图2是本发明实施例提供的一种神经算法网络的结构示意图。该神经算法网络包括影像转换网络fw和损失网路影像转换网路fw为一个深度残余卷积神经网路,其权重参数为w,一个输入影像x经由的映射,转换成带有风格特征的影像损失网路也为卷积网络,通过损失网路预先进行训练可以计算出影像转换网络fw中的权重参数w。
其中,损失网路定义了多个损失函数,包括特征重建损失函数及风格重建损失函数,特征重建损失函数用于测量原始影像x和经过影像转换网路fw的输出影像之间的高阶语意损失,其中是经由转换而得。欲测量x和之间的高阶语意损失,必须利用损失网路φ提取这两者的高阶语意特征,再计算其欧氏距离,x和之间的高阶语意损失j表示损失网路的第j层,CjHjWj表示及的影像通道、影像长度及影像宽度之间的乘积。
另外,风格重建损失函数用于测量风格影像ys和经过影像转换网路fw的输出影像之间的高阶语意损失,由于影像风格特征不具备空间特性,将转换成格拉姆矩阵 为转成Cj*HjW维的矩阵,高阶语意损失其中,及Gj(y)为弗罗贝尼乌斯范数。
最后,在测量原始影像x和经过影像转换网路fw的输出影像之间的高阶语意损失和风格影像ys和经过影像转换网路fw的输出影像之间的高阶语意损失之后,权重参数其中,λ为第i个损失函数在全部损失函数的比重,i为损失函数的数量,针对每个风格s可以训练出一个影像转换网路fs,w,输入影像x后通过一个已经训练完成的影像转换网路fs,w得到带有s风格的内容图片。
需要说明的是,利用上述神经算法网络,通过GPU加速运算,艺术风格模型快速提取以及多步骤执行的优化方法,可以在短时间内将N张图片套用艺术风格。例如,使用AWSp2.xlarge,K80GPU instance(服务器),相较于8核Intel Xeon E5-2670v2,在运算一张720x 720的图片时,每张处理秒数可以从7.78秒下降至0.81秒,效能提升8.59倍。
S103,将所述N张内容图片缩放到同一解析度。
具体实现中,由于映射得到的N张内容图片的解析度不同,因此需要首先将N张内容图片处理为同一解析度,与S101缩放方法相同,本步骤不再赘述。
S104,对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
具体实现中,可以使用ffmepg视讯编码软体,采用了x264codec来进行图片编码压缩。
在本发明实施例中,神经算法网络主要采用的是艺术风格的神经算法,该艺术风格的神经算法可以在输入同一原始图片而解析度不同的情况下,输出的结果因为神经网络的随机特性而不尽相同。利用此特性,输入同一张静态图片,并产生多组不同解析度的图片,通过艺术风格的神经算法,输出N张相同艺术风格但内容存在差异的N张图片,最后将N张图片组合成为一个动态影片。
请参考图3,图3是本发明提出的一种图片处理方法的第二实施例的流程示意图。如图所示,本发明实施例中的方法包括:
S301,将同一原始图片缩放成解析度不同的N张缩放图片。
具体实现中,可以通过更改所述同一原始图片的图片属性,进而将所述同一原始图片缩放成解析度不同的N张缩放图片,其中,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种,解析度为图片的分辨频率。
可选的,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。例如,如果最后需要得到的每秒2个影格(帧数)、长度为1.5秒并重播一次的动态影片,则可以将同一原始图片缩放成2*1.5=3张缩放图片。其中,3张缩放图片的解析度可以根据原始图片的解析度依次缩小,缩小的比例可以根据实际机器的运算速度以及缩小后的画质而定,如:3张缩放图片分别使用97%、94%以及91%的缩小比例,但不局限于此。
S302,在所述N张缩放图片中的每张缩放图片中添加讯噪背景图片。
S303,将添加所述讯噪背景图片的所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。其中,对于添加具有讯噪背景图片作为背景的缩放图片,通过神经算法网络生成具有艺术风格的内容图片,也会在内容图片上产生相应的讯噪图,从而使得输出的图片不尽相同。
具体实现中,可以通过所述损失网络计算原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的重建损失;根据所述重建损失,确定所述神经算法网络的映射权重参数;基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
S304,将所述N张内容图片缩放到同一解析度,并对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
具体实现中,由于映射得到的N张内容图片的解析度不同,因此需要首先首先将N张内容图片处理为同一解析度,然后对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。其中,可以使用ffmepg视讯编码软体,采用了x264codec来进行图片编码压缩。
在本发明实施例中,神经算法网络主要采用的是艺术风格的神经算法,该艺术风格的神经算法可以在输入同一原始图片而解析度不同的情况下,输出的结果因为神经网络的随机特性而不尽相同。利用此特性,输入同一张静态图片,并产生多组不同解析度的图片,通过艺术风格的神经算法,输出N张相同艺术风格但内容存在差异的N张图片,最后将N张图片组合成为一个动态影片。
请参考图4,图4是本发明实施例提供的一种图片处理装置的结构示意图。如图所示,本发明实施例中的装置包括:
图片缩放模块401,用于将同一原始图片缩放成解析度不同的N张缩放图片。
具体实现中,可以通过更改所述同一原始图片的图片属性,将所述同一原始图片缩放成解析度不同的N张缩放图片,其中,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种,解析度为图片的分辨频率。
可选的,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。例如,如果最后需要得到的每秒2个影格(帧数)、长度为1.5秒并重播一次的动态影片,则可以将同一原始图片缩放成2*1.5=3张缩放图片。其中,3张缩放图片的解析度可以根据原始图片的解析度依次缩小,缩小的比例可以根据实际机器的运算速度以及缩小后的画质而定,如:3张缩放图片分别使用97%、94%以及91%的缩小比例,但不局限于此。
图片映射模块402,用于通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
具体实现中,可以通过所述损失网络计算重建损失,所述重建损失是原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的损失;根据所述重建损失,确定所述神经算法网络的映射权重参数;基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
如图2所示,图2是一种神经算法网络的结构示意图。该神经算法网络如上述所示,在此不再一一赘述。
需要说明的是,利用上述神经算法网络,通过GPU加速运算,艺术风格模型快速提取以及多步骤执行的优化方法,可以在短时间内将N张图片套用艺术风格。例如,使用AWSp2.xlarge,K80GPU instance(服务器),相较于8核Intel Xeon E5-2670v2,在运算一张720x 720的图片时,每张处理秒数可以从7.78秒下降至0.81秒,效能提升8.59倍。
可选的,可以在所述N张缩放图片中的每张缩放图片中添加讯噪背景图片,将添加所述讯噪背景图片的所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。其中,对于添加具有讯噪背景图片作为背景的缩放图片,通过神经算法网络生成具有艺术风格的内容图片,也会在内容图片上产生相应的讯噪图,从而使得输出的图片不尽相同。
所述图片缩放模块401,还用于将所述N张内容图片缩放到同一解析度。
由于映射得到的N张内容图片的解析度不同,因此需要首先将N张内容图片处理为同一解析度,与上述缩放方法相同,本步骤不再赘述
图片编码模块403,用于对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
具体实现中,可以使用ffmepg视讯编码软体,采用了x264codec来进行图片编码压缩。
在本发明实施例中,神经算法网络主要采用的是艺术风格的神经算法,该艺术风格的神经算法可以在输入同一原始图片而解析度不同的情况下,输出的结果因为神经网络的随机特性而不尽相同。利用此特性,输入同一张静态图片,并产生多组不同解析度的图片,通过艺术风格的神经算法,输出N张相同艺术风格但内容存在差异的N张图片,最后将N张图片组合成为一个动态影片。
请参考图5,图5是本发明实施例提出的一种电子设备的结构示意图。如图所示,该电子设备可以包括:至少一个处理器501,例如CPU,至少一个通信接口503,至少一个存储器504,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,本发明实施例中电子设备的通信接口503可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器504可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器504可选的还可以是至少一个位于远离前述处理器501的存储装置。存储器504中存储一组程序代码,且处理器501用于调用存储器中存储的程序代码,用于执行以下操作:
将同一原始图片缩放成解析度不同的N张缩放图片,所述N为大于等于2的自然数;
通过神经算法网络将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片;
将所述N张内容图片缩放到同一解析度;
对同一解析度的所述N张内容图片进行编码组合成为一个动态影片。
其中,所述N张缩放图片的数量为所述动态影片的帧数与所述动态影片的播放时长的乘积值。
其中,处理器501还用于执行如下操作步骤:
在所述N张缩放图片中的每张缩放图片中添加讯噪背景图片;
将添加所述讯噪背景图片的所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,处理器501还用于执行如下操作步骤:
通过所述损失网络计算重建损失,所述重建损失是原始影像与所述原始影像经过所述影像转换网络后的输出影像之间的损失;
根据所述重建损失,确定所述神经算法网络的映射权重参数;
基于所述映射权重参数将所述N张缩放图片分别映射成相同预设风格特征的N张内容图片。
其中,处理器501还用于执行如下操作步骤:
通过更改所述同一原始图片的图片属性,将所述同一原始图片缩放成解析度不同的N张缩放图片,所述图片属性包括图片大小、图片格式以及图片压缩方式中的至少一种。
需要说明的是,本发明实施例同时也提供了一种存储介质,该存储介质用于存储应用程序,该应用程序用于在运行时执行图1所示的一种图片处理方法以及图3所示的一种图片处理方法中接收电子设备执行的操作。
需要说明的是,本发明实施例同时也提供了一种应用程序,该应用程序用于在运行时执行图1所示的一种图片处理方法以及图3所示的一种图片处理方法中接收电子设备执行的操作。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。