图像生成网络的训练及图像处理方法和装置、电子设备
技术领域
本申请涉及图像处理技术,尤其是一种图像生成网络的训练及图像处理方法和装置、电子设备。
背景技术
2D到3D立体效果的转换,需要根据输入的单目图像,恢复其另一个视点下拍摄的场景内容。为了形成3D层次观感,该过程需要理解输入场景的深度信息,并根据双目视差关系,将输入左目的像素按照视差平移,生成右目内容。传统的手工制作过程,通常涉及深度重建、层次分割、以及空洞区域填补等流程,过程较为耗时耗力。随着人工智能领域的兴起,学术界提出采用卷积神经网络建模基于双目视差的图像合成过程,并通过在大量立体图像数据上进行训练,自动学习正确的视差关系。在训练过程中,要求通过该视差将左图平移生成后的右图,与真实右图的颜色值一致。然而,在实际应用中,该方式生成的右图内容经常发生结构缺失与对象形变,严重影响了生成图像的质量。
发明内容
本申请实施例提供的一种图像生成网络的训练及图像处理技术。
根据本申请实施例的一个方面,提供的一种图像生成网络的训练方法,包括:
获取样本图像,所述样本图像包括第一样本图像以及与所述第一样本图像对应的第二样本图像;
基于图像生成网络对所述第一样本图像进行处理,获得预测目标图像;
确定所述预测目标图像与所述第二样本图像之间的差异损失;
基于所述差异损失对所述图像生成网络进行训练,获得训练后的图像生成网络。
可选地,在本申请上述任一方法实施例中,所述确定所述预测目标图像与所述第二样本图像之间的差异损失,包括:
基于结构分析网络确定所述预测目标图像与所述第二样本图像之间的差异损失;
所述基于所述差异损失对所述图像生成网络进行训练,获得训练后的图像生成网络,包括:
基于所述差异损失对所述图像生成网络和所述结构分析网络进行对抗训练,获得训练后的图像生成网络。
本申请实施例中在训练阶段,利用结构分析网络和图像生成网络进行对抗训练,通过对抗训练提升了图像生成网络的性能。
可选地,在本申请上述任一方法实施例中,所述差异损失包括第一结构差异损失以及特征损失;
所述确定所述预测目标图像与所述第二样本图像之间的差异损失,包括:
基于结构分析网络对所述预测目标图像和所述第二样本图像进行处理,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失;
基于所述结构分析网络确定所述预测目标图像与所述第二样本图像之间的特征损失。
本申请实施例中,通过结构分析网络对目标图像和第二样本图像进行处理,可分别获得多个尺度的特征图,对每个尺度的特征图中的每个位置的结构特征,基于目标图像对应的多个特征图中每个位置的结构特征,与第二样本图像对应的多个特征图中每个位置的结构特征,确定第一结构差异损失;而特征损失是基于预测目标图像对应的多个特征图中每个位置和第二样本图像对应的多个特征图中每个位置确定的。
可选地,在本申请上述任一方法实施例中,所述基于结构分析网络对所述预测目标图像和所述第二样本图像进行处理,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失,包括:
基于所述结构分析网络对所述预测目标图像进行处理,确定所述预测目标图像中至少一个位置的至少一个第一结构特征;
基于所述结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的至少一个第二结构特征;
基于所述至少一个第一结构特征和所述至少一个第二结构特征,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失。
本申请实施例通过结构分析网络分别对预测目标图像和第二样本图像进行处理,对于预测目标图像获得至少一个特征图,对每个特征图中的每个位置获得一个第一结构特征,即获得至少一个第一结构特征;对于第二样本图像同样获得至少一个第二结构特征,本申请实施例中的第一结构差异损失通过统计在每个尺度中每个位置对应的目标图像的第一结构特征和第二样本图像的第二结构特征之间的差异获得,即分别计算每个尺度中同样位置对应的第一结构特征和第二结构特征之间的结构差异,以确定两个图像之间的结构差异损失。
可选地,在本申请上述任一方法实施例中,所述基于所述结构分析网络对所述预测目标图像进行处理,确定所述预测目标图像中至少一个位置的至少一个第一结构特征,包括:
基于结构分析网络对所述预测目标图像进行处理,获得所述预测目标图像的至少一个尺度的第一特征图;
对每个所述第一特征图,基于所述第一特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述预测目标图像的至少一个第一结构特征;其中,所述第一特征图中的每个位置对应一个第一结构特征,所述相邻区域特征为以所述位置为中心包括至少两个位置的区域内的每个特征。
可选地,在本申请上述任一方法实施例中,所述基于所述结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的至少一个第二结构特征,包括:
基于结构分析网络对所述第二样本图像进行处理,获得所述第二样本图像在至少一个尺度的第二特征图;
对每个所述第二特征图,基于所述第二特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述第二样本图像的至少一个第二结构特征;其中,所述第二特征图中的每个位置对应一个第二结构特征。
可选地,在本申请上述任一方法实施例中,所述第一特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述基于所述至少一个第一结构特征和所述至少一个第二结构特征,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失,包括:
计算存在对应关系的位置对应的所述第一结构特征与所述第二结构特征之间的距离;
基于所述预测目标图像对应的所有所述第一结构特征与所述第二结构特征之间的距离,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失。
可选地,在本申请上述任一方法实施例中,所述基于所述结构分析网络确定所述预测目标图像与所述第二样本图像之间的特征损失,包括:
基于所述结构分析网络对所述预测目标图像和所述第二样本图像进行处理,获得所述预测目标图像的至少一个尺度的第一特征图和所述第二样本图像在至少一个尺度的第二特征图;
基于所述至少一个第一特征图和所述至少一个第二特征图,确定所述预测目标图像与所述第二样本图像之间的特征损失。
可选地,在本申请上述任一方法实施例中,所述第一特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述基于所述至少一个第一特征图和所述至少一个第二特征图,确定所述预测目标图像与所述第二样本图像之间的特征损失,包括:
计算存在对应关系的位置对应的所述第一特征图中的特征与所述第二特征图中的特征之间的距离;
基于所述第一特征图中的特征与所述第二特征图中的特征之间的距离,确定所述预测目标图像与所述第二样本图像之间的特征损失。
可选地,在本申请上述任一方法实施例中,所述差异损失还包括颜色损失,在基于所述差异损失对所述图像生成网络进行训练,获得训练后的图像生成网络之前,所述方法还包括:
基于所述预测目标图像与所述第二样本图像之间的颜色差异,确定所述图像生成网络的颜色损失;
所述基于所述差异损失对所述图像生成网络和所述结构分析网络进行对抗训练,获得训练后的图像生成网络,包括:
在第一迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;
在第二迭代中,基于所述第一结构差异损失对所述结构分析网络中的网络参数进行调整,其中,所述第一迭代和所述第二迭代为连续执行的两次迭代;
直到满足训练停止条件,获得训练后的图像生成网络。
本申请实施例中,对抗训练的目标为减小图像生成网络获得的预测目标图像与第二样本图像之间的差异。对抗训练通常采用交替训练的方式实现,本申请实施例通过交替对图像生成网络和结构分析网络进行训练,以获得符合要求的图像生成网络。
可选地,在本申请上述任一方法实施例中,在确定所述预测目标图像与所述第二样本图像之间的差异损失之前,还包括:
对所述第二样本图像加入噪声,获得噪声图像;
基于所述噪声图像和所述第二样本图像确定第二结构差异损失。
可选地,在本申请上述任一方法实施例中,所述基于所述噪声图像和所述第二样本图像确定第二结构差异损失,包括:
基于结构分析网络对所述噪声图像进行处理,确定所述噪声图像中至少一个位置的至少一个第三结构特征;
基于结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的所述至少一个第二结构特征;
基于所述至少一个第三结构特征和所述至少一个第二结构特征,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失。
可选地,在本申请上述任一方法实施例中,所述基于结构分析网络对所述噪声图像进行处理,确定所述噪声图像中至少一个位置的至少一个第三结构特征,包括:
基于所述结构分析网络对所述噪声图像进行处理,获得所述噪声图像的至少一个尺度的第三特征图;
对每个所述第三特征图,基于所述第三特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述噪声图像的至少一个第三结构特征;其中,所述第三特征图中的每个位置对应一个第三结构特征,所述相邻区域特征为以所述位置为中心包括至少两个位置的区域内的每个特征。
可选地,在本申请上述任一方法实施例中,所述第三特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述基于所述至少一个第三结构特征和所述至少一个第二结构特征,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失,包括:
计算存在对应关系的位置对应的所述第三结构特征与所述第二结构特征之间的距离;
基于所述噪声图像对应的所有所述第三结构特征与所述第二结构特征之间的距离,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失。
可选地,在本申请上述任一方法实施例中,所述基于所述差异损失对所述图像生成网络和所述结构分析网络进行对抗训练,获得训练后的图像生成网络,包括:
在第三迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;
在第四迭代中,基于所述第一结构差异损失和所述第二结构差异损失对所述结构分析网络中的网络参数进行调整,其中,所述第三迭代和所述第四迭代为连续执行的两次迭代;
直到满足训练停止条件,获得训练后的图像生成网络。
在本申请实施例中,在获得了噪声图像对应的第二结构差异损失之后,为了提高结构分析网络的性能,在调整结构分析网络的网络参数时,加入了第二结构差异损失。
可选地,在本申请上述任一方法实施例中,在基于所述结构分析网络对所述预测目标图像进行处理,确定所述预测目标图像中至少一个位置的至少一个第一结构特征之后,还包括:
基于图像重构网络对所述至少一个第一结构特征进行图像重构处理,获得第一重构图像;
基于所述第一重构图像与所述预测目标图像确定第一重构损失。
可选地,在本申请上述任一方法实施例中,在基于所述结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的至少一个第二结构特征之后,还包括:
基于图像重构网络对所述至少一个第二结构特征进行图像重构处理,获得第二重构图像;
基于所述第二重构图像和所述第二样本图像确定第二重构损失。
可选地,在本申请上述任一方法实施例中,所述基于所述差异损失对所述图像生成网络和结构分析网络进行对抗训练,获得训练后的图像生成网络,包括:
在第五迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;
在第六迭代中,基于所述第一结构差异损失、所述第二结构差异损失、所述第一重构损失和所述第二重构损失对所述结构分析网络中的网络参数进行调整,其中,所述第五迭代和所述第六迭代为连续执行的两次迭代;
直到满足训练停止条件,获得训练后的图像生成网络。
本申请实施例中,对图像生成网络的参数进行调整的损失不变,仅针对结构分析网络的性能进行提升,而由于结构分析网络与图像生成网络之间是对抗训练的,因此,通过对结构分析网络的性能进行提升,可以加快对图像生成网络的训练。
可选地,在本申请上述任一方法实施例中,所述基于所述差异损失对所述图像生成网络进行训练,获得训练后的图像生成网络之后,还包括:
基于所述训练后的图像生成网络对待处理图像进行处理,获得目标图像。
可选地,在本申请上述任一方法实施例中,所述待处理图像包括左目图像;所述目标图像包括与所述左目图像对应的右目图像。
根据本申请实施例的另一个方面,提供的一种图像处理方法,包括:
在三维图像生成场景下,将左目图像输入图像生成网络,获得右目图像;
基于所述左目图像以及所述右目图像生成三维图像;其中,所述图像生成网络经过上述任意一项实施例所述的图像生成网络的训练方法训练获得。
本申请实施例提供的图像处理方法,通过图像生成网络对左目图像处理获得对应的右目图像,受光照、遮挡、噪声等环境因素的影响较小,得以保持视觉面积较小的对象的合成准确度,通过获得的右目图像与左目图像可生成形变较小、细节保留较完整的三维图像。
根据本申请实施例的又一个方面,提供的一种图像生成网络的训练装置,包括:
样本获取单元,用于获取样本图像,所述样本图像包括第一样本图像以及与所述第一样本图像对应的第二样本图像;
目标预测单元,用于基于图像生成网络对所述第一样本图像进行处理,获得预测目标图像;
差异损失确定单元,用于确定所述预测目标图像与所述第二样本图像之间的差异损失;
网络训练单元,用于基于所述差异损失对所述图像生成网络进行训练,获得训练后的图像生成网络。
可选地,在本申请上述任一装置实施例中,所述差异损失确定单元,具体用于基于结构分析网络确定所述预测目标图像与所述第二样本图像之间的差异损失;
所述网络训练单元,具体用于基于所述差异损失对所述图像生成网络和所述结构分析网络进行对抗训练,获得训练后的图像生成网络。
可选地,在本申请上述任一装置实施例中,所述差异损失包括第一结构差异损失以及特征损失;
所述差异损失确定单元,包括:
第一结构差异确定模块,用于基于结构分析网络对所述预测目标图像和所述第二样本图像进行处理,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失;
特征损失确定模块,用于基于所述结构分析网络确定所述预测目标图像与所述第二样本图像之间的特征损失。
可选地,在本申请上述任一装置实施例中,所述第一结构差异确定模块,用于基于所述结构分析网络对所述预测目标图像进行处理,确定所述预测目标图像中至少一个位置的至少一个第一结构特征;基于所述结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的至少一个第二结构特征;基于所述至少一个第一结构特征和所述至少一个第二结构特征,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失。
可选地,在本申请上述任一装置实施例中,所述第一结构差异确定模块在基于所述结构分析网络对所述预测目标图像进行处理,确定所述预测目标图像中至少一个位置的至少一个第一结构特征时,用于基于结构分析网络对所述预测目标图像进行处理,获得所述预测目标图像的至少一个尺度的第一特征图;对每个所述第一特征图,基于所述第一特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述预测目标图像的至少一个第一结构特征;其中,所述第一特征图中的每个位置对应一个第一结构特征,所述相邻区域特征为以所述位置为中心包括至少两个位置的区域内的每个特征。
可选地,在本申请上述任一装置实施例中,所述第一结构差异确定模块在基于所述结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的至少一个第二结构特征时,用于基于结构分析网络对所述第二样本图像进行处理,获得所述第二样本图像在至少一个尺度的第二特征图;对每个所述第二特征图,基于所述第二特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述第二样本图像的至少一个第二结构特征;其中,所述第二特征图中的每个位置对应一个第二结构特征。
可选地,在本申请上述任一装置实施例中,所述第一特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述第一结构差异确定模块在基于所述至少一个第一结构特征和所述至少一个第二结构特征,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失时,用于计算存在对应关系的位置对应的所述第一结构特征与所述第二结构特征之间的距离;基于所述预测目标图像对应的所有所述第一结构特征与所述第二结构特征之间的距离,确定所述预测目标图像与所述第二样本图像之间的第一结构差异损失。
可选地,在本申请上述任一装置实施例中,所述特征损失确定模块,具体用于基于所述结构分析网络对所述预测目标图像和所述第二样本图像进行处理,获得所述预测目标图像的至少一个尺度的第一特征图和所述第二样本图像在至少一个尺度的第二特征图;基于所述至少一个第一特征图和所述至少一个第二特征图,确定所述预测目标图像与所述第二样本图像之间的特征损失。
可选地,在本申请上述任一装置实施例中,所述第一特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述特征损失确定模块在基于所述至少一个第一特征图和所述至少一个第二特征图,确定所述预测目标图像与所述第二样本图像之间的特征损失时,用于计算存在对应关系的位置对应的所述第一特征图中的特征与所述第二特征图中的特征之间的距离;基于所述第一特征图中的特征与所述第二特征图中的特征之间的距离,确定所述预测目标图像与所述第二样本图像之间的特征损失。
可选地,在本申请上述任一装置实施例中,所述差异损失还包括颜色损失;
所述差异损失确定单元,还包括:
颜色损失确定模块,用于基于所述预测目标图像与所述第二样本图像之间的颜色差异,确定所述图像生成网络的颜色损失;
所述网络训练单元,具体用于在第一迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;在第二迭代中,基于所述第一结构差异损失对所述结构分析网络中的网络参数进行调整,其中,所述第一迭代和所述第二迭代为连续执行的两次迭代;直到满足训练停止条件,获得训练后的图像生成网络。
可选地,在本申请上述任一装置实施例中,所述装置还包括:
噪声加入单元,用于对所述第二样本图像加入噪声,获得噪声图像;
第二结构差异损失单元,用于基于所述噪声图像和所述第二样本图像确定第二结构差异损失。
可选地,在本申请上述任一装置实施例中,所述第二结构差异损失单元,具体用于基于结构分析网络对所述噪声图像进行处理,确定所述噪声图像中至少一个位置的至少一个第三结构特征;基于结构分析网络对所述第二样本图像进行处理,确定所述第二样本图像中至少一个位置的所述至少一个第二结构特征;基于所述至少一个第三结构特征和所述至少一个第二结构特征,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失。
可选地,在本申请上述任一装置实施例中,所述第二结构差异损失单元在基于结构分析网络对所述噪声图像进行处理,确定所述噪声图像中至少一个位置的至少一个第三结构特征时,用于基于所述结构分析网络对所述噪声图像进行处理,获得所述噪声图像的至少一个尺度的第三特征图;对每个所述第三特征图,基于所述第三特征图中至少一个位置中每个位置的特征与所述位置的相邻区域特征的余弦距离,获得所述噪声图像的至少一个第三结构特征;其中,所述第三特征图中的每个位置对应一个第三结构特征,所述相邻区域特征为以所述位置为中心包括至少两个位置的区域内的每个特征。
可选地,在本申请上述任一装置实施例中,所述第三特征图中的每个位置与所述第二特征图中的每个位置存在对应关系;
所述第二结构差异损失单元在基于所述至少一个第三结构特征和所述至少一个第二结构特征,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失时,用于计算存在对应关系的位置对应的所述第三结构特征与所述第二结构特征之间的距离;基于所述噪声图像对应的所有所述第三结构特征与所述第二结构特征之间的距离,确定所述噪声图像与所述第二样本图像之间的第二结构差异损失。
可选地,在本申请上述任一装置实施例中,所述网络训练单元,具体用于在第三迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;在第四迭代中,基于所述第一结构差异损失和所述第二结构差异损失对所述结构分析网络中的网络参数进行调整,其中,所述第三迭代和所述第四迭代为连续执行的两次迭代;直到满足训练停止条件,获得训练后的图像生成网络。
可选地,在本申请上述任一装置实施例中,所述第一结构差异确定模块,还用于基于图像重构网络对所述至少一个第一结构特征进行图像重构处理,获得第一重构图像;基于所述第一重构图像与所述预测目标图像确定第一重构损失。
可选地,在本申请上述任一装置实施例中,所述第一结构差异确定模块,还用于基于图像重构网络对所述至少一个第二结构特征进行图像重构处理,获得第二重构图像;基于所述第二重构图像和所述第二样本图像确定第二重构损失。
可选地,在本申请上述任一装置实施例中,所述网络训练单元,具体用于在第五迭代中,基于所述第一结构差异损失、所述特征损失和所述颜色损失对所述图像生成网络中的网络参数进行调整;在第六迭代中,基于所述第一结构差异损失、所述第二结构差异损失、所述第一重构损失和所述第二重构损失对所述结构分析网络中的网络参数进行调整,其中,所述第五迭代和所述第六迭代为连续执行的两次迭代;直到满足训练停止条件,获得训练后的图像生成网络。
可选地,在本申请上述任一装置实施例中,所述装置,还包括:
图像处理单元,用于基于所述训练后的图像生成网络对待处理图像进行处理,获得目标图像。
可选地,在本申请上述任一装置实施例中,所述待处理图像包括左目图像;所述目标图像包括与所述左目图像对应的右目图像。
根据本申请实施例的还一个方面,提供的一种图像处理装置,包括:
右目图像获取单元,用于在三维图像生成场景下,将左目图像输入图像生成网络,获得右目图像;
三维图像生成单元,用于基于所述左目图像以及所述右目图像生成三维图像;其中,所述图像生成网络经过上述任意一项实施例所述的图像生成网络的训练方法训练获得。
根据本申请实施例的再一个方面,提供的一种电子设备,其特征在于,包括处理器,所述处理器包括上述任意一项实施例所述的图像生成网络的训练装置或上述实施例所述的图像处理装置。
根据本申请实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任意一项实施例所述图像生成网络的训练方法的操作,或与所述存储器通信以执行所述可执行指令从而完成上述实施例所述图像处理方法的操作。
根据本申请实施例的又一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行上述任意一项实施例所述图像生成网络的训练方法的操作,或执行上述实施例所述图像处理方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任意一项实施例所述图像生成网络的训练方法的指令,或执行用于实现上述实施例所述图像处理方法的指令。
基于本申请上述实施例提供的一种图像生成网络的训练及图像处理方法和装置、电子设备,获取样本图像,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像;基于图像生成网络对第一样本图像进行处理,获得预测目标图像;确定预测目标图像与第二样本图像之间的差异损失;基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络,通过差异损失对预测目标图像与第二样本图像之间的结构差异进行描述,以差异损失对图像生成网络进行训练,保证了基于图像生成网络生成的图像的结构不失真。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请实施例提供的图像生成网络的训练方法的一个流程示意图。
图2为本申请实施例提供的图像生成网络的训练方法的另一流程示意图。
图3为本申请实施例提供的图像生成网络的训练方法的又一部分流程示意图。
图4为本申请实施例提供的图像生成网络的训练方法中涉及的一种网络结构示意图。
图5为本申请实施例提供的图像处理方法的一个流程示意图。
图6为本申请实施例提供的图像生成网络的训练装置的一个结构示意图。
图7为本申请实施例提供的图像处理装置的一个结构示意图。
图8为适于用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
近年来,3D立体电影、广告、直播平台等媒介的流行极大丰富了人们的日常生活,其产业规模仍在持续扩大。然而,与市场上3D显示硬件的高普及率、高占有比相反,立体图像视频内容的制作由于需要耗费高昂的费用、漫长的制作周期和大量的人工成本,其现有数量较为匮乏。相比之下,2D图像视频素材已经形成了相当规模,并在影视娱乐、文化艺术、科学研究等领域积累了丰富、有价值的信息。若能够以自动、低成本的方式,将这些2D图像视频转换为高质量的立体图像视频,将创造全新的用户体验,具有广泛的市场应用前景。
2D到3D立体效果的转换,需要根据输入的单目图像,恢复其另一个视点下拍摄的场景内容。为了形成3D层次观感,该过程需要理解输入场景的深度信息,并根据双目视差关系,将输入左目的像素按照视差平移,生成右目内容。常见的2D转3D立体方法仅通过对比生成右图与真实右图的平均颜色差异作为训练信号,易受到光照、遮挡、噪声等环境因素影响,且难以保持视觉面积较小的对象的合成准确度,产生形变较大、细节丢失的合成结果。而现有的图像保形生成方法主要通过引入三维世界的监督信号,使网络学习正确的跨视角变换,从而保持不同视角下的形状一致性。然而,所引入的三维信息由于应用条件较为特殊,限制了模型的泛化能力,难以在实际的工业领域发挥作用。
针对上述在2D到3D立体效果的转换过程中出现的问题,本申请实施例提出了以下图像生成网络的训练方法,本申请实施例的训练方法获得的图像生成网络,可实现基于输入到该图像生成网络的单目图像,输出其另一个视点下拍摄的场景内容,实现2D到3D立体效果的转换。
图1为本申请实施例提供的图像生成网络的训练方法的一个流程示意图。如图1所示,该实施例方法包括:
步骤110,获取样本图像。
其中,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像。
本申请实施例中的图像生成网络的误码方法的执行主体可以是终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该图像生成网络的训练方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
其中,上述图像帧可以为单帧图像,可以是由图像采集设备采集的图像,比如终端设备的摄像头拍摄的照片,或者是由视频采集设备采集的视频数据中的单帧图像等,本申请实施例的具体实现不做限定。
可选地,第二样本图像可以是真实图像,可作为本申请实施例中衡量图像生成网络性能的参考信息,图像生成网络的目标是获得的预测目标图像与第二样本图像更加接近。样本图像的获取可以从已知对应关系的图像库中选取或根据实际需要拍摄获得。
步骤120,基于图像生成网络对第一样本图像进行处理,获得预测目标图像。
可选地,本申请实施例提出的图像生成网络可以应用于例如3D图像合成等功能,图像生成网络可以采用任意的立体图像生成网络,例如,华盛顿给大学的Xie等人于2016年提出的Deep3D网络等;而对于其他图像生成应用,可以对图像生成网络进行相应替换,仅需要保证该图像生成网络可以端到端的根据输入的样本图像合成目标图像。
步骤130,确定预测目标图像与第二样本图像之间的差异损失。
本申请实施例提出以差异损失描述图像生成网络获得的预测目标图像与第二样本图像之间的差异,因此,以差异损失训练的图像生成网络,提高了生成的预测目标图像与第二样本图像之间的相似性,提高了图像生成网络的性能。
步骤140,基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络。
基于本申请上述实施例提供的一种图像生成网络的训练方法,获取样本图像,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像;基于图像生成网络对第一样本图像进行处理,获得预测目标图像;确定预测目标图像与第二样本图像之间的差异损失;基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络,通过差异损失对预测目标图像与第二样本图像之间的结构差异进行描述,以差异损失对图像生成网络进行训练,保证了基于图像生成网络生成的图像的结构不失真。
图2为本申请实施例提供的图像生成网络的训练方法的另一流程示意图。如图2所示,本申请实施例包括:
步骤210,获取样本图像。
其中,样本图像第一样本图像以及与第一样本图像对应的第二样本图像。
步骤220,基于图像生成网络对第一样本图像进行处理,获得预测目标图像。
步骤230,基于结构分析网络确定预测目标图像与第二样本图像之间的差异损失。
在一个实施例中,结构分析网络可以提取到三层特征即可,也即包括几层CNN网络组成的编码器即可。可选地,本申请实施中结构分析网络由编码器与解码器组成。其中,编码器以一个图像(本申请实施例中的预测目标图像和第二样本图像)为输入,得到一系列不同尺度的特征图,例如,包括几层CNN网络。解码器以这些特征图为输入,重构出输入图像本身。符合上述要求的网络结构均可以作为结构分析网络。
作为对抗训练的参考信息,该差异损失是基于结构特征确定的,例如,通过预测目标图像的结构特征和第二样本图像的结构特征之间的差异确定差异损失,本申请实施例提出的结构特征可以认为是以一个位置为中心的局部区域与其周围区域的归一化相关性。
作为一个可选实施方式,本申请实施例可采用UNet结构。该结构的编码器包含3个卷积模块,每个模块包含两个卷积层以及一个平均池化层。因此,每经过一个卷积模块,分辨率变为一半,最终得到大小为原图像尺寸1/2,1/4以及1/8的特征图。解码器包含同样3个上采样层,每一层将上一层的输出上采样后再经过两个卷积层,最后一层的输出为原分辨率。
步骤240,基于差异损失对图像生成网络和结构分析网络进行对抗训练,获得训练后的图像生成网络。
可选地,在训练阶段,利用图像生成网络和结构分析网络进行对抗训练,输入图像经过图像生成网络,例如,应用到3D图像生成时,将一个视点下的图像输入到图像生成网络,得到该图像在另一个视点下的生成图像。生成图像与该视点下的真实图像输入同一个结构分析网络,得到各自的多尺度特征图。在每一尺度上,计算各自的特征相关性表达,作为该尺度上的结构表示。训练过程采用对抗的方式进行,要求结构分析网络不断放大生成图像与真实图像的结构表示之间的距离,同时要求图像生成网络得到的生成图像能够尽可能使得该距离变小。
图3为本申请实施例提供的图像生成网络的训练方法的又一部分流程示意图。该实施例中,差异损失包括第一结构差异损失以及特征损失;
上述图1和/或图2所示的实施例中步骤130和/或步骤230包括:
步骤302,基于结构分析网络对所预测目标图像和第二样本图像进行处理,确定预测目标图像与第二样本图像之间的第一结构差异损失。
步骤304,基于结构分析网络确定预测目标图像与第二样本图像之间的特征损失。
本申请实施例中,通过结构分析网络对目标图像和第二样本图像(例如,对应第一样本图像的真实图像)进行处理,可分别获得多个尺度的特征图,对每个尺度的特征图中的每个位置的结构特征,基于目标图像对应的多个特征图中每个位置的结构特征,与第二样本图像对应的多个特征图中每个位置的结构特征,确定第一结构差异损失;而特征损失是基于预测目标图像对应的多个特征图中每个位置和第二样本图像对应的多个特征图中每个位置确定的。
可选地,步骤302包括:
基于结构分析网络对预测目标图像进行处理,确定预测目标图像中至少一个位置的至少一个第一结构特征;
基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征;
基于至少一个第一结构特征和至少一个第二结构特征,确定预测目标图像与第二样本图像之间的第一结构差异损失。
本申请实施例通过结构分析网络分别对预测目标图像和第二样本图像进行处理,对于预测目标图像获得至少一个特征图,对每个特征图中的每个位置获得一个第一结构特征,即获得至少一个第一结构特征;对于第二样本图像同样获得至少一个第二结构特征,本申请实施例中的第一结构差异损失通过统计在每个尺度中每个位置对应的目标图像的第一结构特征和第二样本图像的第二结构特征之间的差异获得,即分别计算每个尺度中同样位置对应的第一结构特征和第二结构特征之间的结构差异,以确定两个图像之间的结构差异损失。
例如,在一个示例中,将本申请实施例应用到3D图像生成网络的训练中,即,图像生成网络完成的是基于左目图像(对应样本图像)生成右目图像(对应目标图像),设输入的左目图像为x,生成的右目图像为y,真实的右目图像为yg。可以通过以下公式(1)计算:
其中,ds(y,yg)表示第一结构差异损失,c(p)表示生成的右目图像y中在一个尺度的特征图中位置p的第一结构特征,cg(p)表示真实的右目图像yg中在一个尺度的特征图中位置p的第二结构特征,P表示所有尺度的特征图中的所有位置,||c(p)-cg(p)||1表示c(p)与cg(p)之间的L1距离。
在训练阶段,结构分析网络寻找一个特征空间,使得能够最大化上式所表示的结构距离。与此同时,图像生成网络通过生成与真实右图的结构尽可能相似的右图,使得结构分析网络难以区分二者的差异性。通过对抗训练,可以发现不同层次的结构差异,并不断用于修正图像生成网络。
可选地,基于结构分析网络对预测目标图像进行处理,确定预测目标图像中至少一个位置的至少一个第一结构特征,包括:
基于结构分析网络对预测目标图像进行处理,获得预测目标图像的至少一个尺度的第一特征图;
对每个第一特征图,基于第一特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得预测目标图像的至少一个第一结构特征。
其中,第一特征图中的每个位置对应一个第一结构特征,相邻区域特征为以位置为中心包括至少两个位置的区域内的每个特征。
可选地,本申请实施例中的相邻区域特征可以表示为以每个位置特征为中心,K*K大小的区域内的每个特征。
在一个可选的示例中,将本申请实施例应用到3D图像生成网络的训练中,即,图像生成网络完成的是基于左目图像(对应样本图像)生成右目图像(对应目标图像),设输入的左目图像为x,生成的右目图像为y,真实的右目图像为yg。分别将y与yg输入结构分析网络后,得到多尺度特征。以下仅以某一尺度为例,其他尺度的处理方法类似。设该尺度上,生成右图与真实右图的特征图分别为f与fg。对于生成右图特征图上某一像素位置p,f(p)表示该位置的特征。则该尺度上,位于位置p的第一结构特征的获得可以基于以下公式(2)实现:
其中,Nk(p)表示以位置p为中心,k×k大小的区域内的位置集合,q为位置集合中的一个位置,f(q)为位置q的特征;||·||2为向量的模,vec表示向量化。上式计算特征图上位置p与其周围邻近位置的余弦距离。可选地,本申请实施例可以将窗口大小k设置为3。
可选地,基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征,包括:
基于结构分析网络对第二样本图像进行处理,获得第二样本图像在至少一个尺度的第二特征图;
对每个第二特征图,基于第二特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得第二样本图像的至少一个第二结构特征。
其中,第二特征图中的每个位置对应一个第二结构特征。
在一个可选的示例中,将本申请实施例应用到3D图像生成网络的训练中,即,图像生成网络完成的是基于左目图像(对应第一样本图像)生成右目图像(对应预测目标图像),设输入的左目图像为x,生成的右目图像为y,真实的右目图像为yg。分别将y与yg输入结构分析网络后,得到多尺度特征。以下仅以某一尺度为例,其他尺度的处理方法类似。设该尺度上,生成右图与真实右图的特征图分别为f与fg。对于真实右图特征图上某一像素位置p,fg(p)表示该位置的特征。则该尺度上,位置p的第二结构特征的获得可以基于以下公式(3)实现:
其中,Nk(p)表示以位置p为中心,k×k大小的区域内的位置集合,q为位置集合中的一个位置,fg(q)为位置q的特征;||·||2为向量的模,vec表示向量化。上式计算特征图上位置p与其周围邻近位置的余弦距离。可选地,本申请实施例可以将窗口大小k设置为3。
可选地,第一特征图中的每个位置与第二特征图中的每个位置存在对应关系;
基于至少一个第一结构特征和至少一个第二结构特征,确定预测目标图像与第二样本图像之间的第一结构差异损失,包括:
计算存在对应关系的位置对应的第一结构特征与第二结构特征之间的距离;
基于预测目标图像对应的所有第一结构特征与第二结构特征之间的距离,确定预测目标图像与第二样本图像之间的第一结构差异损失。
在本申请实施例中计算获得第一结构差异损失的过程可参考上述实施例中的公式(1),基于上述实施例中基于公式(2)和公式(3)可分别获得目标图像y中在一个尺度的特征图中位置p的第一结构特征c(p),以及真实图像yg中在一个尺度的特征图中位置p的第二结构特征cg(p);第一结构特征与第二结构特征之间的距离可以为L1距离。
在一个或多个可选的实施例中,步骤304包括:
基于结构分析网络对预测目标图像和第二样本图像进行处理,获得预测目标图像的至少一个尺度的第一特征图和第二样本图像在至少一个尺度的第二特征图;
基于至少一个第一特征图和至少一个第二特征图,确定预测目标图像与第二样本图像之间的特征损失。
本申请实施例中的特征损失是以预测目标图像与第二样本图像获得的对应的特征图之间的差异确定的,与上述实施例中的获得第一结构差异损失基于结构特征获得不同;可选地,其中,第一特征图中的每个位置与第二特征图中的每个位置存在对应关系;基于至少一个第一特征图和至少一个第二特征图,确定预测目标图像与第二样本图像之间的特征损失,包括:
计算存在对应关系的位置对应的第一特征图中的特征与第二特征图中的特征之间的距离;
基于第一特征图中的特征与第二特征图中的特征之间的距离,确定预测目标图像与第二样本图像之间的特征损失。
在一个可选的实施例中,计算每个位置对应的第一特征图中的特征与第二特征图中的特征之间的L1距离,通过L1距离确定特征损失。可选地,假设预测目标图像为y,第二样本图像为yg。分别将y与yg输入结构分析网络后,得到多尺度特征图。以下仅以某一尺度为例,其他尺度的处理方法类似。设该尺度上,预测目标图像与第二样本图像的特征图分别为f与fg。对于第二样本图像的特征图上某一像素位置p,fg(p)表示该位置的特征;此时,可基于以下公式(4)获得特征损失。
其中,df(y,yg)表示预测目标图像与第二样本图像的特征损失,f(p)为第一特征图中p位置的特征,fg(p)表示第二特征图中p位置的特征。
可选地,差异损失还可以包括颜色损失,在执行步骤240之前还包括:
基于预测目标图像与第二样本图像之间的颜色差异,确定图像生成网络的颜色损失。
本申请实施例通过颜色损失体现预测目标图像与第二样本图像之间的颜色差异,使预测目标图像与第二样本图像之间在颜色上能尽可能接近,可选地,假设预测目标图像为y,第二样本图像为yg,颜色损失可基于以下公式(5)获得。
da(y,yg)=||y-yg||1 公式(5)
其中,da(y,yg)表示预测目标图像与第二样本图像的颜色损失,||y-yg||1表示预测目标图像y与第二样本图像yg之间的L1距离。
在本实施例中,步骤240包括:
在第一迭代中,基于第一结构差异损失、特征损失和颜色损失对图像生成网络中的网络参数进行调整;
在第二迭代中,基于第一结构差异损失对结构分析网络中的网络参数进行调整;
直到满足训练停止条件,获得训练后的图像生成网络。
其中,第一迭代和第二迭代为连续执行的两次迭代。可选地,训练停止条件可以为预先设置的迭代次数或图像生成网络生成的预测目标图像与第二样本图像之间的差异小于设定值等,本申请实施例不限制具体采用哪种训练停止条件。
对抗训练的目标为减小图像生成网络获得的预测目标图像与第二样本图像之间的差异。对抗训练通常采用交替训练的方式实现,本申请实施例通过交替对图像生成网络和结构分析网络进行训练,以获得符合要求的图像生成网络,可选地,对图像生成网络的网络参数进行调整可以通过以下公式(6)进行:
minwsLs(y,yg)=da(y,yg)+ds(y,yg)+df(y,yg) 公式(6)
其中,wS表示图像生成网络中待优化的参数,LS(y,yg)表示图像生成网络对应的总体损失,表示通过调整图像生成网络的参数缩小图像生成网络的总体损失,da(y,yg)、ds(y,yg)、df(y,yg)分别表示图像生成网络生成的预测目标图像和第二样本图像之间的颜色损失、第一结构差异损失和特征损失,可选地,这些损失的获得可参照上述公式(5)、(1)和(4)确定,或通过其他方式获得这三种损失,本申请实施例对获得颜色损失、第一结构差异损失和特征损失的具体方式不作限制。
可选地,对结构分析网络的网络参数进行调整可以通过以下公式(7)进行:
其中,wA表示结构分析网络中待优化的参数,LA(y,yg)表示结构分析网络对应的总体损失,表示通过调整结构分析网络的参数增大结构分析网络的总体损失,ds(y,yg)表示结构分析网络的第一结构差异损失,可选地,第一结构差异损失的获得可参照上述公式(1)确定,或通过其他方式获得,本申请实施例对第一结构差异损失的具体方式不作限制。
在一个或多个可选的实施例中,在确定目标图像与真实图像之间的结构差异损失之前,还包括:
对第二样本图像加入噪声,获得噪声图像;
基于噪声图像和第二样本图像的第二结构差异损失。
由于预测目标图像通过样本图像生成,而第二样本图通常具有光照差异以及会被噪声影响,导致生成的预测目标图像与第二样本图像存在一定的分布差异。为了避免结构分析网络关注这些差异,而非场景结构信息,本申请实施例在训练过程中加入了对噪声的抵抗机制。
可选地,基于噪声图像和第二样本图像的第二结构差异损失,包括:
基于结构分析网络对噪声图像进行处理,确定噪声图像中至少一个位置的至少一个第三结构特征;
基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征;
基于至少一个第三结构特征和至少一个第二结构特征,确定噪声图像与第二样本图像之间的第二结构差异损失。
可选地,噪声图像是基于第二样本图像进行处理得到的,例如,对第二样本图像加入人工噪声,生成噪声图像,加入噪声的方式有多种,例如,加入随机高斯噪声,对真实图像(第二样本图像)做高斯模糊、对比度改变等等。本申请实施例要求加入噪声后获得的噪声图像仅改变第二样本图像中不影响结构的属性(例如,颜色、纹理等),而不改变第二样本图像中的形状结构,本申请实施例不限制具体获得噪声图像的方式。
本申请实施例中的结构分析网络以彩色图像为输入,而现有的结构分析网络主要以掩码图或者灰度图为输入。在处理彩色图像这种高维信号时,更容易受到环境噪声的干扰。因此,本申请实施例提出引入第二结构差异损失增强结构特征的噪声鲁棒性。弥补了现有的结构对抗训练方法没有这种抗噪机制的缺点。
可选地,基于结构分析网络对噪声图像进行处理,确定噪声图像中至少一个位置的至少一个第三结构特征,包括:
基于结构分析网络对噪声图像进行处理,获得噪声图像的至少一个尺度的第三特征图;
对每个第三特征图,基于第三特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得噪声图像的至少一个第三结构特征。
其中,第三特征图中的每个位置对应一个第三结构特征,相邻区域特征为以位置为中心包括至少两个位置的区域内的每个特征。
本申请实施例确定第三结构特征的方式与获得第一结构特征类似,可选地,在一个示例中,假设输入的第一样本图像为x,第二样本图像为yg,噪声图像为yn。分别将yn与yg输入结构分析网络后,得到多尺度特征。以下仅以某一尺度为例,其他尺度的处理方法类似。设该尺度上,噪声图像与第二样本图像的特征图分别为fn与fg。对于噪声图像的特征图上某一像素位置p,fn(p)表示该位置的特征。则该尺度上,位置p的第三结构特征的获得可以基于以下公式(8)实现:
其中,Nk(p)表示以位置p为中心,k×k大小的区域内的位置集合,q为位置集合中的一个位置,fn(q)为位置q的特征;||·||2为向量的模,vec表示向量化。上式计算特征图上位置p与其周围邻近位置的余弦距离。可选地,本申请实施例可以将窗口大小k设置为3。
可选地,第三特征图中的每个位置与第二特征图中的每个位置存在对应关系;
基于至少一个第三结构特征和至少一个第二结构特征,确定噪声图像与第二样本图像之间的第二结构差异损失,包括:
计算存在对应关系的位置对应的第三结构特征与第二结构特征之间的距离;
基于噪声图像对应的所有第三结构特征与第二结构特征之间的距离,确定噪声图像与第二样本图像之间的第二结构差异损失。
在本申请实施例中,获得第二结构差异损失的过程与获得第一结构差异损失的过程类似,仅是将获得第一结构差异损失中的预测目标图像的第一结构特征替换为本申请实施例中的噪声图像的第三结构特征。可选地,可基于以下公式(9)获得第二结构差异损失。
其中,dn(yn,yg)表示第二结构差异损失,cn(p)表示位置p的第三结构特征,P表示所有尺度的特征图中的所有位置,cg(p)表示位置p的第二结构特征(可基于上述公式(3)获得),||cn(p)-cg(p)||1表示cn(p)与cg(p)之间的L1距离。
在一个或多个可选的实施例中,步骤240包括:
在第三迭代中,基于第一结构差异损失、特征损失和颜色损失对图像生成网络中的网络参数进行调整;
在第四迭代中,基于第一结构差异损失和第二结构差异损失对结构分析网络中的网络参数进行调整;
直到满足训练停止条件,获得训练后的图像生成网络。
其中,第三迭代和第四迭代为连续执行的两次迭代。在获得了噪声图像对应的第二结构差异损失之后,为了提高结构分析网络的性能,在调整结构分析网络的网络参数时,加入了第二结构差异损失,此时,对结构分析网络的网络参数进行调整可通过以下公式(10)进行:
其中,wA表示结构分析网络中待优化的参数,LA(y,yg,yn)表示结构分析网络对应的总体损失,表示通过调整结构分析网络的参数增大结构分析网络的总体损失,ds(y,yg)表示结构分析网络的第一结构差异损失,dn(yn,yg)表示结构分析网络的第二结构差异损失,αn表示一个设置的常数,用于调整第二结构差异损失在结构分析网络的参数调整中的比例,可选地,第一结构差异损失和第二结构差异损失的获得可分别参照上述公式(1)和公式(9)确定,或通过其他方式获得,本申请实施例对第一结构差异损失的具体方式不作限制。
在一个或多个可选的实施例中,在基于结构分析网络对预测目标图像进行处理,确定预测目标图像中至少一个位置的至少一个第一结构特征之后,还包括:
基于图像重构网络对至少一个第一结构特征进行图像重构处理,获得第一重构图像;
基于第一重构图像与预测目标图像确定第一重构损失。
在本实施例中,为了提高结构分析网络的性能,在结构分析网络之后增加了图像重构网络,可选地,可参照图4所示在结构分析网络的输出端连接图像重构网络,该图像重构网络以结构分析网络的输出为输入,对输入到结构分析网络中的图像进行重构,例如,在图4所示的3D图像应用场景下,对图像生成网络生成的右目图像(对应上述实施例中的预测目标图像)和真实右目图像(对应上述实施例中的第二样本图像)进行重构,以重构的生成的右目图像与图像生成网络生成的右目图像之间的差异,以及重构的真实右目图像与输入左目图像对应的真实右目图像之间的差异衡量结构分析网络的性能,即通过增加第一重构损失和第二重构损失用于提升结构分析网络的性能,并加快结构分析网络的训练速度。
在一个或多个可选的实施例中,在基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征之后,还包括:
基于图像重构网络对至少一个第二结构特征进行图像重构处理,获得第二重构图像;
基于第二重构图像和第二样本图像确定第二重构损失。
参考上一实施例,本实施例中的图像重构网络对结构分析网络基于第二样本图像获得的第二结构特征进行重构,以获得的第二重构图像与第二样本图像之间的差异衡量图像重构网络和结构分析网络的性能,通过第二重构损失可提升结构分析网络的性能。
可选地,步骤240包括:
在第五迭代中,基于第一结构差异损失、特征损失和颜色损失对图像生成网络中的网络参数进行调整;
在第六迭代中,基于第一结构差异损失、第二结构差异损失、第一重构损失和第二重构损失对结构分析网络中的网络参数进行调整。
直到满足训练停止条件,获得训练后的图像生成网络。
其中,第五迭代和第六迭代为连续执行的两次迭代;在本申请实施例中,对图像生成网络的参数进行调整的损失不变,仅针对结构分析网络的性能进行提升,而由于结构分析网络与图像生成网络之间是对抗训练的,因此,通过对结构分析网络的性能进行提升,可以加快对图像生成网络的训练。在一个可选的示例中,可以利用以下公式(11)获得第一重构损失和第二重构损失。
dr(y,yg)=||y-R(c;wR)||1+||yg-R(cg;wR)||1 公式(11)
其中,dr(y,yg)表示第一重构损失和第二重构损失的和,y表示图像生成网络输出的预测目标图像,yg表示第二样本图像,R(c;wR)表示图像重构网络输出的第一重构图像,R(cg;wR)表示图像重构网络输出的第二重构图像,||y-R(c;wR)||1表示预测目标图像y与第一重构图像之间的L1距离,对应第一重构损失;||yg-R(cg;wR)||1表示第二样本图像与第二重构图像之间的L1距离,对应第二重构损失。
图4为本申请实施例提供的图像生成网络的训练方法中涉及的一种网络结构示意图。如图4所示,在本实施例中图像生成网络的输入为左目图像,图像生成网络基于左目图像获得生成的右目图像(对应上述实施例中的预测目标图像);生成的右目图像、真实右目图像和基于真实右目图像(对应上述实施例的第二样本图像)增加的噪声图像分别输入到同一结构分析网络,通过结构分析网络对生成的右目图像和真实右目图像进行处理,获得特征损失(对应图中特征匹配损失)、第一结构差异损失(对应图中结构损失)、第二结构差异损失(对应图中另一结构损失);在结构分析网络之后还包括图像重构网络,图像重构网络将生成的右目图像生成的特征重构为新的生成的右目图像,并将真实右目图像生成的特征重构为新的真实右目图像。
在一个或多个可选的实施例中,在步骤140之后,还包括:
基于训练后的图像生成网络对待处理图像进行处理,获得目标图像。
本申请实施例提供的训练方法,在具体应用中,基于训练后的图像生成网络对输入的待处理图像进行处理,获得期望得到的目标图像,该图像生成网络可以应用于2D图像视频转3D立体图像、高帧率视频生成等,还包括:已知一个视角的图像通过图像生成网络的处理,获得另一视角的图像。所生成的高质量右目图像也有助于其他视觉任务,例如,基于双目图像(包括左目图像和右目图像)实现深度估计。可选地,当图像生成网络应用于2D图像视频转3D立体图像时,待处理图像包括左目图像;目标图像包括与左目图像对应的右目图像。除了立体图像生成以外,该方法可以应用于其他图像/视频的生成任务。例如,图像的任意新视点内容生成,基于关键帧的视频插值等。在这些情形下,仅需要替换图像生成网络为目标任务所需的网络结构。
在将本申请实施例提供的训练方法应用于三维图像生成场景时,图像生成网络和结构分析网络的一次对抗训练可以包括以下步骤:
1)从训练集(包括的多个样本图像)中,采样包含m个样本图像的左图及其对应的真实右图
2)将左图输入图像生成网络,得到生成的右图针对每一真实右图,添加噪声得到噪声右图
3)将生成右图真实右图与噪声右图分别输入结构分析网络,计算结构表达特征与
4)针对结构分析网络,执行梯度上升:
5)针对图像生成网络,执行梯度下降:
其中,衰减学习率γ可随着迭代次数的增加逐渐衰减,通过学习率控制网络损失在调整网络参数中的比例;而在获得噪声右图时,添加的噪声幅度可以在每次迭代时相同,或者随着迭代次数的增加噪声幅度逐渐衰减。
图5为本申请实施例提供的图像处理方法的一个流程示意图。该实施例方法包括:
步骤510,在三维图像生成场景下,将左目图像输入图像生成网络,获得右目图像。
步骤520,基于左目图像以及右目图像生成三维图像。
其中,图像生成网络经过上述任意一项实施例提供的图像生成网络的训练方法训练获得。
本申请实施例提供的图像处理方法,通过图像生成网络对左目图像处理获得对应的右目图像,受光照、遮挡、噪声等环境因素的影响较小,得以保持视觉面积较小的对象的合成准确度,通过获得的右目图像与左目图像可生成形变较小、细节保留较完整的三维图像。本申请实施例提供的图像处理方法可应用于自动的电影2D转3D。人工的3D电影转制需要耗费高昂的费用、漫长的制作周期和大量人工成本。例如,3D版《泰坦尼克号》转制成本高达1800万美元,参与后期制作的特效工程师300多名,花费75万个小时。自动的2D转3D算法能够大幅降低这一成本,加速3D电影制作流程。生成高质量的3D电影,一个重要因素是需要生成结构不失真、不扭曲的立体图像,营造准确的3D层次感,避免局部形变引起的视觉不适感。因此,形状保持的立体图像生成具有重要意义。
本申请实施例提供的图像处理方法也可以应用于3D广告行业。目前,多个城市已在商业区、电影院、游乐场等设施布置了3D广告显示屏。生成高质量的3D广告,可以加强品牌宣传质量,使得顾客具有更好的现场体验。
本申请实施例提供的图像处理方法同样可以应用于3D直播行业。传统3D直播要求播主购置专业的双目摄像机,提高了行业准入的成本与门槛。通过高质量的自动2D转3D,能够降低准入成本,增加直播的现场感与互动性。
本申请实施例提供的图像处理方法还可以在未来应用于智能手机行业。目前,具有裸眼3D显示功能的手机已经成为热点概念,已有一些厂家设计出了概念机原型。自动将拍摄的2D图像转3D,并通过社交APP允许用户之间传播、分享,可以使基于移动终端的交互具有全新的用户体验。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图6为本申请实施例提供的图像生成网络的训练装置的一个结构示意图。该实施例的装置可用于实现本申请上述各方法实施例。如图5所示,该实施例的装置包括:
样本获取单元61,用于获取样本图像。
其中,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像。
目标预测单元62,用于基于图像生成网络对第一样本图像进行处理,获得预测目标图像。
差异损失确定单元63,用于确定预测目标图像与第二样本图像之间的差异损失。
网络训练单元64,用于基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络。
基于本申请上述实施例提供的一种图像生成网络的训练装置,获取样本图像,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像;基于图像生成网络对第一样本图像进行处理,获得预测目标图像;确定预测目标图像与第二样本图像之间的差异损失;基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络,通过差异损失对预测目标图像与第二样本图像之间的结构差异进行描述,以差异损失对图像生成网络进行训练,保证了基于图像生成网络生成的图像的结构不失真。
在一个或多个可选的实施例中,差异损失确定单元63,具体用于基于结构分析网络确定预测目标图像与第二样本图像之间的差异损失;
网络训练单元64,具体用于基于差异损失对图像生成网络和结构分析网络进行对抗训练,获得训练后的图像生成网络。
可选地,在训练阶段,利用图像生成网络和结构分析网络进行对抗训练,输入图像经过图像生成网络,例如,应用到3D图像生成时,将一个视点下的图像输入到图像生成网络,得到该图像在另一个视点下的生成图像。生成图像与该视点下的真实图像输入同一个结构分析网络,得到各自的多尺度特征图。在每一尺度上,计算各自的特征相关性表达,作为该尺度上的结构表示。训练过程采用对抗的方式进行,要求结构分析网络不断放大生成图像与真实图像的结构表示之间的距离,同时要求图像生成网络得到的生成图像能够尽可能使得该距离变小。
可选地,差异损失包括第一结构差异损失以及特征损失;
差异损失确定单元63,包括:
第一结构差异确定模块,用于基于结构分析网络对预测目标图像和第二样本图像进行处理,确定预测目标图像与第二样本图像之间的第一结构差异损失;
特征损失确定模块,用于基于结构分析网络确定预测目标图像与第二样本图像之间的特征损失。
可选地,第一结构差异确定模块,用于基于结构分析网络对预测目标图像进行处理,确定预测目标图像中至少一个位置的至少一个第一结构特征;基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征;基于至少一个第一结构特征和至少一个第二结构特征,确定预测目标图像与第二样本图像之间的第一结构差异损失。
可选地,第一结构差异确定模块在基于结构分析网络对预测目标图像进行处理,确定预测目标图像中至少一个位置的至少一个第一结构特征时,用于基于结构分析网络对预测目标图像进行处理,获得预测目标图像的至少一个尺度的第一特征图;对每个第一特征图,基于第一特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得预测目标图像的至少一个第一结构特征。
其中,第一特征图中的每个位置对应一个第一结构特征,相邻区域特征为以位置为中心包括至少两个位置的区域内的每个特征。
可选地,第一结构差异确定模块在基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征时,用于基于结构分析网络对第二样本图像进行处理,获得第二样本图像在至少一个尺度的第二特征图;对每个第二特征图,基于第二特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得第二样本图像的至少一个第二结构特征。
其中,第二特征图中的每个位置对应一个第二结构特征。
可选地,第一特征图中的每个位置与第二特征图中的每个位置存在对应关系;
第一结构差异确定模块在基于至少一个第一结构特征和至少一个第二结构特征,确定预测目标图像与第二样本图像之间的第一结构差异损失时,用于计算存在对应关系的位置对应的第一结构特征与第二结构特征之间的距离;基于预测目标图像对应的所有第一结构特征与第二结构特征之间的距离,确定预测目标图像与第二样本图像之间的第一结构差异损失。
可选地,特征损失确定模块,具体用于基于结构分析网络对预测目标图像和第二样本图像进行处理,获得预测目标图像的至少一个尺度的第一特征图和第二样本图像在至少一个尺度的第二特征图;基于至少一个第一特征图和至少一个第二特征图,确定预测目标图像与第二样本图像之间的特征损失。
可选地,第一特征图中的每个位置与第二特征图中的每个位置存在对应关系;
特征损失确定模块在基于至少一个第一特征图和至少一个第二特征图,确定预测目标图像与第二样本图像之间的特征损失时,用于计算存在对应关系的位置对应的第一特征图中的特征与第二特征图中的特征之间的距离;基于第一特征图中的特征与第二特征图中的特征之间的距离,确定预测目标图像与第二样本图像之间的特征损失。
可选地,差异损失还包括颜色损失;
差异损失确定单元63,还包括:
颜色损失确定模块,用于基于预测目标图像与第二样本图像之间的颜色差异,确定图像生成网络的颜色损失;
网络训练单元64,具体用于在第一迭代中,基于第一结构差异损失、特征损失和颜色损失对图像生成网络中的网络参数进行调整;在第二迭代中,基于第一结构差异损失对结构分析网络中的网络参数进行调整,直到满足训练停止条件,获得训练后的图像生成网络。
其中,第一迭代和第二迭代为连续执行的两次迭代。对抗训练的目标为减小图像生成网络获得的预测目标图像与第二样本图像之间的差异。对抗训练通常采用交替训练的方式实现,本申请实施例通过交替对图像生成网络和结构分析网络进行训练,以获得符合要求的图像生成网络。
在一个或多个可选的实施例中,本申请实施例提供的装置还包括:
噪声加入单元,用于对第二样本图像加入噪声,获得噪声图像;
第二结构差异损失单元,用于基于噪声图像和第二样本图像确定第二结构差异损失。
由于预测目标图像通过样本图像生成,而第二样本图通常具有光照差异以及会被噪声影响,导致生成的预测目标图像与第二样本图像存在一定的分布差异。为了避免结构分析网络关注这些差异,而非场景结构信息,本申请实施例在训练过程中加入了对噪声的抵抗机制。
可选地,第二结构差异损失单元,具体用于基于结构分析网络对噪声图像进行处理,确定噪声图像中至少一个位置的至少一个第三结构特征;基于结构分析网络对第二样本图像进行处理,确定第二样本图像中至少一个位置的至少一个第二结构特征;基于至少一个第三结构特征和至少一个第二结构特征,确定噪声图像与第二样本图像之间的第二结构差异损失。
可选地,第二结构差异损失单元在基于结构分析网络对噪声图像进行处理,确定噪声图像中至少一个位置的至少一个第三结构特征时,用于基于结构分析网络对噪声图像进行处理,获得噪声图像的至少一个尺度的第三特征图;对每个第三特征图,基于第三特征图中至少一个位置中每个位置的特征与位置的相邻区域特征的余弦距离,获得噪声图像的至少一个第三结构特征;其中,第三特征图中的每个位置对应一个第三结构特征,相邻区域特征为以位置为中心包括至少两个位置的区域内的每个特征。
可选地,第三特征图中的每个位置与第二特征图中的每个位置存在对应关系;
第二结构差异损失单元在基于至少一个第三结构特征和至少一个第二结构特征,确定噪声图像与第二样本图像之间的第二结构差异损失时,用于计算存在对应关系的位置对应的第三结构特征与第二结构特征之间的距离;基于噪声图像对应的所有第三结构特征与第二结构特征之间的距离,确定噪声图像与第二样本图像之间的第二结构差异损失。
可选地,网络训练单元,具体用于在第三迭代中,基于第一结构差异损失、特征损失和颜色损失对图像生成网络中的网络参数进行调整;在第四迭代中,基于第一结构差异损失和第二结构差异损失对结构分析网络中的网络参数进行调整,直到满足训练停止条件,获得训练后的图像生成网络。其中,第三迭代和第四迭代为连续执行的两次迭代。
可选地,第一结构差异确定模块,还用于基于图像重构网络对至少一个第一结构特征进行图像重构处理,获得第一重构图像;基于第一重构图像与预测目标图像确定第一重构损失。
可选地,第一结构差异确定模块,还用于基于图像重构网络对至少一个第二结构特征进行图像重构处理,获得第二重构图像;基于第二重构图像和第二样本图像确定第二重构损失。
可选地,网络训练单元,具体用于在第五迭代中,基于第一结构差异损失、特征损失和所述颜色损失对图像生成网络中的网络参数进行调整;在第六迭代中,基于第一结构差异损失、第二结构差异损失、第一重构损失和第二重构损失对结构分析网络中的网络参数进行调整;直到满足训练停止条件,获得训练后的图像生成网络。其中,第五迭代和第六迭代为连续执行的两次迭代。
在一个或多个可选的实施例中,本申请实施例提供的装置,还包括:
图像处理单元,用于基于训练后的图像生成网络对待处理图像进行处理,获得目标图像。
本申请实施例提供的训练装置,在具体应用中,基于训练后的图像生成网络对输入的待处理图像进行处理,获得期望得到的目标图像,该图像生成网络可以应用于2D图像视频转3D立体图像、高帧率视频生成等。
可选地,待处理图像包括左目图像;目标图像包括与左目图像对应的右目图像。
图7为本申请实施例提供的图像处理装置的一个结构示意图。该实施例装置包括:
右目图像获取单元71,用于在三维图像生成场景下,将左目图像输入图像生成网络,获得右目图像。
三维图像生成单元72,用于基于左目图像以及右目图像生成三维图像。
其中,图像生成网络经过上述任意一项实施例提供的图像生成网络的训练方法训练获得。
本申请实施例提供的图像处理装置,通过图像生成网络对左目图像处理获得对应的右目图像,受光照、遮挡、噪声等环境因素的影响较小,得以保持视觉面积较小的对象的合成准确度,通过获得的右目图像与左目图像可生成形变较小、细节保留较完整的三维图像。
根据本申请实施例的再一个方面,提供的一种电子设备,其特征在于,包括处理器,所述处理器包括上述任意一项实施例所述的图像生成网络的训练装置或上述实施例所述的图像处理装置。
根据本申请实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成上述任意一项实施例所述图像生成网络的训练方法的操作,或与所述存储器通信以执行所述可执行指令从而完成上述实施例所述图像处理方法的操作。
根据本申请实施例的又一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行上述任意一项实施例所述图像生成网络的训练方法的操作,或执行上述实施例所述图像处理方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任意一项实施例所述图像生成网络的训练方法的指令,或执行用于实现上述实施例所述图像处理方法的指令。
本申请实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备800的结构示意图:如图8所示,电子设备800包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)801,和/或一个或多个专用处理器,专用处理器可作为加速单元813,可包括但不限于图像处理器(GPU)、FPGA、DSP以及其它的ASIC芯片之类专用处理器等,处理器可以根据存储在只读存储器(ROM)802中的可执行指令或者从存储部分808加载到随机访问存储器(RAM)803中的可执行指令而执行各种适当的动作和处理。通信部812可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡。
处理器可与只读存储器802和/或随机访问存储器803中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,获取样本图像,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像;基于图像生成网络对第一样本图像进行处理,获得预测目标图像;确定预测目标图像与第二样本图像之间的差异损失;基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络。
此外,在RAM 803中,还可存储有装置操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。在有RAM803的情况下,ROM802为可选模块。RAM803存储可执行指令,或在运行时向ROM802中写入可执行指令,可执行指令使中央处理单元801执行上述通信方法对应的操作。输入/输出(I/O)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
需要说明的,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如加速单元813和CPU801可分离设置或者可将加速单元813集成在CPU801上,通信部可分离设置,也可集成设置在CPU801或加速单元813上,等等。这些可替换的实施方式均落入本申请公开的保护范围。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,获取样本图像,样本图像包括第一样本图像以及与第一样本图像对应的第二样本图像;基于图像生成网络对第一样本图像进行处理,获得预测目标图像;确定预测目标图像与第二样本图像之间的差异损失;基于差异损失对图像生成网络进行训练,获得训练后的图像生成网络。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能的操作。
可能以许多方式来实现本申请的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。