图像合成模型的训练方法、装置与电子设备与流程

文档序号:25724037发布日期:2021-07-02 21:09阅读:112来源:国知局
图像合成模型的训练方法、装置与电子设备与流程
本公开涉及图像处理
技术领域
,具体而言,涉及一种图像合成模型的训练方法、装置与电子设备。
背景技术
:目前,单应性变换是指从不同视角拍摄同一平面上物体形成的图像之间存在的映射关系,单应性变换被广泛应用于图像拼接、单目slam、视频稳定等领域,一般用一个3x3矩阵或等价的4-point形式h4pt表示。单应性变换估计传统上一般采用基于局部特征算子,例如sift(scale-invariantfeaturetransform,即尺度不变特征变换,是一种计算机视觉的特征提取算法,用来侦测与描述图像中的局部性)特征和orb(orientedfastandrotatedbrief,尺度和旋转不变性)等,利用特征匹配建立两张图关键点集的对应关系,再使用ransac(随机一致性采样)寻找最佳的单应性变换参数估计。然而,在未能检测到足够多的图像特征关键点的情况下,或者在因图像间光照、视角差异过大引起的关键点匹配错误的情况下,基于特征算子估计单应性变换参数往往很不准确。在相关技术中,随着深度学习技术的发展,对单应性变换参数估计的研究目前已转向了基于深度学习的方法。但是,基于深度学习方式的图像合成方案至少存在以下技术问题:(1)缺少随机一致性采样的处理过程,不能排除运动物体或不在假设平面上的物体影响,造成了单应性变换参数估计不准确的问题。(2)损失函数直接在图像亮度域上计算,缺乏对环境光照变化的鲁棒性。(3)图像合成的方案只适用于描述平面目标的运动或由相机旋转引起的运动。需要说明的是,在上述
背景技术
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:本公开的目的在于提供一种图像合成模型的训练方法、装置与电子设备,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的图像合成效果差问题。根据本公开实施例的第一方面,提供一种图像合成模型的训练方法,包括:对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本;将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵;根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本;确定第一灰度变换图像样本的第i个索引位置的第一像素值,第二灰度遮罩图像样本的第i个索引位置的第二像素值,并确定第一像素值与第二像素值之间的较大值;根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数。在本公开的一种示例性实施例中,在对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理前,还包括:对待合成的两个灰度图像进行高斯滤波,以获得滤波图像;对滤波图像进行梯度算子处理,以获得梯度图像;确定梯度图像中的灰度最大值,并将梯度图像中的每个点的像素值除以灰度最大值,以获得归一化的灰度图像样本;将灰度图像样本中的一个样本确定为第一灰度图像样本,将灰度图像样本中的另一个样本确定为第二灰度遮罩图像样本。在本公开的一种示例性实施例中,对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本,具体包括:对第一灰度图像样本和第二灰度遮罩图像样本进行合并处理,以获得合并图像样本;对合并图像样本进行下采样处理,并将采样处理的结果确定为合成图像样本。在本公开的一种示例性实施例中,将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵,具体包括:将合成图像样本输入至卷积神经网络,卷积神经网络执行1×1的卷积操作,卷积神经网络的输入通道为2,卷积神经网络的输出通道为3;将输出通道的结果执行块归一化操作;将块归一化操作的结果输入至回归骨干网,回归骨干网络输出单应性变换参数;将单应性变换参数输入至直接线性变换层,直接线性变换层输出为单应性变换矩阵。在本公开的一种示例性实施例中,卷积神经网络执行卷积核为5×5,卷积神经网络的执行步长为2,卷积神经网络的执行填充为2。在本公开的一种示例性实施例中,根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本,具体包括:将第一灰度图像样本输入至空间变换层,通过空间变换层的单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本。在本公开的一种示例性实施例中,根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数,具体包括:确定第i个索引位置的第一像素值和第二像素值之间的差值绝对值;确定第i个索引位置的差值绝对值与最大值之间的像素乘积;对全部索引位置的像素乘积进行累加,并将累加结果确定为第一累加和;对第二灰度遮罩图像样本的全部索引位置的像素值进行累加,并将累加结果确定为第二累加和;根据第一累加和与第二累加和之间的比例关系,确定卷积神经网络的训练损失;根据训练损失调整卷积神经网络的配置参数。根据本公开实施例的第二方面,提供一种图像合成模型的训练装置,包括:合成模块,用于对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本;训练模块,用于将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵;变换模块,用于根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本;确定模块,用于确定第一灰度变换图像样本的第i个索引位置的第一像素值,第二灰度遮罩图像样本的第i个索引位置的第二像素值,并确定第一像素值与第二像素值之间的较大值;确定模块,用于根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数。根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行如上述任意一项的方法。根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项的图像合成模型的训练方法。本公开实施例通过对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,确定第一像素值与第二像素值之间的较大值,从而在训练的任意阶段的第i个索引位置的像素值都不小于第二灰度遮罩图像样本的对应索引位置的像素值,从而保证图像边缘位置的像素差信息在训练中得以充分利用,提升了单应性变换参数估计的准确性、图像合成的效果、可靠性和适用性。进一步地,神经网络模型的前向推理只要执行到直接线性变换模块,输出单应性变换矩阵h即可,极大地降低了神经网络模型的计算量。更进一步地,本公开提出了“输入即遮罩”的方法,将训练图像对(ia,ib)进行预处理,仅保留边缘等关键位置信息,生成预处理图像对将同时作为网络输入和遮罩,其中,遮罩图是预处理生成的,训练过程中保持不变,避免了遮罩图像在训练过程中易于滑向0的问题。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开的保护范围。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本公开示例性的一个实施例中图像合成模型的训练方法的流程图;图2是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图3是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图4是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图5是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图6是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图7是本公开示例性的另一个实施例中图像合成模型的训练方法的流程图;图8是本公开示例性的另一个实施例中图像合成模型的训练模型的示意图;图9是本公开示例性的另一个实施例中图像合成模型的训练模型的示意图;图10是本公开示例性的一个实施例中图像合成模型的训练图像的示意图;图11是本公开示例性的另一个实施例中图像合成模型的训练图像的示意图;图12是本公开示例性的另一个实施例中图像合成模型的训练图像的示意图;图13是本公开示例性的另一个实施例中图像合成模型的训练图像的示意图;图14是本公开示例性实施例中一种图像合成模型的训练装置的方框图;图15是本公开示例性实施例中一种电子设备的方框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。下面结合说明书附图图1至图15对本公开示例实施方式进行详细说明。图1是本公开示例性实施例中图像合成模型的训练方法的流程图。参考图1,图像合成模型的训练方法可以包括:步骤s102,对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本。步骤s104,将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵。步骤s106,根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本。步骤s108,确定第一灰度变换图像样本的第i个索引位置的第一像素值,第二灰度遮罩图像样本的第i个索引位置的第二像素值,并确定第一像素值与第二像素值之间的较大值。步骤s110,根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数。在上述实施例中,通过对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,确定第一像素值与第二像素值之间的较大值,从而在训练的任意阶段的第i个索引位置的像素值都不小于第二灰度遮罩图像样本的对应索引位置的像素值,从而保证图像边缘位置的像素差信息在训练中得以充分利用,提升了单应性变换参数估计的准确性、图像合成的效果、可靠性和适用性。进一步地,神经网络模型的前向推理只要执行到直接线性变换模块,输出单应性变换矩阵h即可,极大地降低了神经网络模型的计算量。更进一步地,针对遮罩图像在训练过程中易于滑向0的情况,本公开还提出了“输入即遮罩”的方法,将训练图像对(ia,ib)进行预处理,仅保留边缘等关键位置信息,生成预处理图像对将同时作为网络输入和遮罩,其中,遮罩图像是预处理生成的,训练过程中保持不变,降低了遮罩图像在训练过程中易于滑向0的情况发生。下面,结合图2-图7对图像合成模型的训练方法的各步骤进行详细说明。如图2所示,在对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理前,还包括:步骤s202,对待合成的两个灰度图像进行高斯滤波,以获得滤波图像。步骤s204,对滤波图像进行梯度算子处理,以获得梯度图像。步骤s206,确定梯度图像中的灰度最大值,并将梯度图像中的每个点的像素值除以灰度最大值,以获得归一化的灰度图像样本。步骤s208,将灰度图像样本中的一个样本确定为第一灰度图像样本,将灰度图像样本中的另一个样本确定为第二灰度遮罩图像样本。在上述实施例中,通过对待合成的两个灰度图像进行高斯滤波,以及对滤波图像进行梯度算子处理,并获取归一化后的灰度图像样本,对图像去噪、保留高频信息并归一化,可将不同亮度的图像归1化,增加训练时的稳定性。如图3所示,对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本,具体包括:步骤s302,对第一灰度图像样本和第二灰度遮罩图像样本进行合并处理,以获得合并图像样本。步骤s304,对合并图像样本进行下采样处理,并将采样处理的结果确定为合成图像样本。在上述实施例中,通过对合并图像样本进行下采样处理,并将采样处理的结果确定为合成图像样本,减少了后续输入给回归骨干网的特征图尺寸,降低了回归骨干网的计算量。如图4所示,将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵,具体包括:步骤s402,将合成图像样本输入至卷积神经网络,卷积神经网络执行1×1的卷积操作,卷积神经网络的输入通道为2,卷积神经网络的输出通道为3。步骤s404,将输出通道的结果执行块归一化操作。步骤s406,将块归一化操作的结果输入至回归骨干网,回归骨干网络输出4-point形式的单应性变换参数。步骤s408,将单应性变换参数输入至直接线性变换(dlt,directlinearsolver)层,直接线性变换层输出为单应性变换矩阵。在本公开的一个实施例中,4-point形式的单应性变换参数包括回归骨干网输出4个点坐标,其对应的4个回归参考点一般位于原始输入图像内,且四个点坐标并分别靠近原始输入图像的左上角、右上角、左下角和右下角位置。在上述实施例中,直接线性变换是根据4个回归参考点坐标和回归骨干网输出的4个对应点坐标,直接求解出单应性变换矩阵参数。在本公开的一种示例性实施例中,卷积神经网络执行卷积核为5×5,卷积神经网络的执行步长为2,卷积神经网络的执行填充为2。如图5所示,根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本,具体包括:步骤s502,将第一灰度图像样本输入至空间变换层,通过空间变换层的单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本。在上述实施例中,空间变换(spatialtransformer)层是一种可微的模块,通过反向变换(inversewarping)对输入的图片执行单应性变换,支持采用反向传播进行训练。如图6所示,根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数,具体包括:步骤s602,确定第i个索引位置的第一像素值和第二像素值之间的差值绝对值。步骤s604,确定第i个索引位置的差值绝对值与最大值之间的像素乘积。步骤s606,对全部索引位置的像素乘积进行累加,并将累加结果确定为第一累加和。步骤s608,对第二灰度遮罩图像样本的全部索引位置的像素值进行累加,并将累加结果确定为第二累加和。步骤s610,根据第一累加和与第二累加和之间的比例关系,确定卷积神经网络的训练损失。步骤s612,根据训练损失调整卷积神经网络的配置参数。在上述实施例中,通过确定第i个索引位置的第一像素值和第二像素值之间的最大值,在训练的任意阶段第i个索引位置的值都不小于第二灰度遮罩图像样本对应的第i个索引位置的值,从而保证图像边缘位置的像素差信息在训练中得以充分利用,从而降低了遮罩图像的像素值接近0的情况发生。进一步地,根据第一累加和与第二累加和之间的比例关系,确定训练图像对的权重,存在运动物体或深度落差较大的训练图像对的权重较大,不存在运动物体或深度落差较大的训练图像对的权重较大,这就在提升图像合成效果的同时,提高了图像合成的适用场景,也即适用于静态图像和动态图像等,但不限于此。如图7所示,图像合成模型的训练方法还包括以下实施例:(1)ia和ib为输入图像对。(2)fa和fb为输入图像对经特征提取模块f(.)提取的特征。(3)ma和mb为输入图像对经遮罩生成模块m(.)生成的遮罩图像。(4)ga为ia和ma的点乘,相应的gb为ib和mb的点乘。(5)ga和gb合并后输入卷积神经网络模型800,卷积神经网络模型800输出单应性变换参数hab。(6)对ma应用hab变换输出m′a,对fa应用hab变换输出f′a,损失函数表达为:其中,m为tripletloss的margin(边界),tripletloss是深度学习中的一种损失函数,用于训练差异性较小的样本,如人脸等。如图7所示,输入待合成的原图像1000如图10所示,根据输入图像获得的遮罩图1100如图11所示,易于产生接近全0的遮罩图的原因是缺少对遮罩生成模块的约束。申请人通过分析损失函数lm可以发现,lm对特征提取模块f(.)进行了tripletloss约束,但对遮罩图像生成模块m(.)没有约束。由于大多数训练图像对(ia,ib)中物体存在或多或少的深度差以及局部运动,单应性变化模型不能完全建模(ia,ib)图像对的几何变换,造成多数位置||f′a-fb||1始终为正值,训练过程中m′a或mb多数位置点的值易滑向0以最小化损失lm。由图7可知,遮罩图像可帮助单应性变换参数估计模型训练时忽略掉非关键位置图像信息,只关注关键位置信息,对模型训练是有正面作用的。在图7所示技术方案的基础上,如图8和图9所示,本公开进一步地提出“输入即遮罩”的方法,将训练图像对(ia,ib)进行预处理,仅保留边缘等关键位置信息,生成预处理图像对将同时作为网络输入和遮罩图像。进一步地,如图8所示,根据本公开的图像合成模型的训练方法,还包括以下步骤:步骤s802,输入图片数据对ia和ib,作为训练样本。步骤s804,对ia和ib分别进行预处理生成iap和ibp。步骤s806,合并预处理后的结果,并进行步长为2的下采样。步骤s808,将下采样结果输入至骨干回归网,骨干回归网输出h4pt。步骤s810,将上一步结果输入dltsolver,以解出h。步骤s812,将h和iap输入stlayer变成iap。步骤s814,将ibp和iap’输入损失函数模块计算训练损失。如图8和图9所示,通过“输入即遮罩”的方法获得图12所示的遮罩图像1200,遮罩图像1200是通过预处理生成的,训练过程中保持不变,避免了遮罩图像训练过程中易于滑向0的问题。如图9所示,输入灰度图像对(ia,ib),经过预处理后形成合并为ic后输入下采样模块处理,输出id。将id输入回归骨干网900,回归骨干网900输出4-point形式单应性变换参数h4pt,再通过dltsolver模块解出单应性变换矩阵h。将应用h变换后获得和输入损失模块l计算训练过程的损失。上述实施例的改进点主要体现在预处理模块、下采样模块和损失模块。本方法训练阶段流程如下:(1)对输入灰度图像对(ia,ib)预处理,两张图都按以下步骤分别处理:(1.1)输入灰度图像i,对i应用高斯模糊滤波,输出iblur。(1.2)对iblur应用laplacian(梯度)算子进行计算,输出ihf。(1.3)计算图像ihf的灰度最大值vmax,ihf的每个像素值都除以vmax,输出归一化结果inorm,具体的表达式为ε是为了避免除法溢出选择的一个接近0的小数。其中,对图像去噪、保留高频信息并归一化,通过将不同亮度的图像归1化,增加训练时的稳定性。(2)将预处理后的图像对合并为合成图像ic,然后对ic进行下采样,输出采样图像id,下采样模块如下:(2.1)将ic输入模块,执行卷积核为5x5,stride(步长)为2,padding(填充)为2的depthwise(深度可分离)卷积操作,随后执行batchnorm操作和relu激活。其中,batchnorm是批归一化,batchnorm层的作用是防止训练过程中梯度消失导致收敛速度下降,归一化之后可以使激活函数输入在激活函数的敏感区域内以使网络收敛速度加快。另外,relu是线性整流函数(rectifiedlinearunit),叉称修正线性单元,是一种人工神经网络中常用的激活函数。(2.2)执行1x1卷积操作,1x1卷积操作的输入通道为2,1x1卷积操作的输出通道为3,随后执行batchnorm操作。其中,下采样模块的作用是减少后续输入给回归骨干网的特征图尺寸,降低骨干网络的计算量。其中,将输入回归骨干网的2通道图像转成了3通道图像,这有利于在训练时利用预训练好的骨干网模型的参数,因为骨干网模型的输入图像一般为3通道,2通道输入无法有效利用骨干网第1层的预训练参数初始化。(3)将id输入回归骨干网,输出4-point形式单应性变换参数h4pt。回归骨干网为卷积网络包括resnet(residualnetwork,残差网络)和mobilenet(移动端网络)等,但不限于此。(4)将h4pt输入dlt(directlineartransformation)solver模块求解出单应性变换矩阵h。其中,dlt(directlineartransformation)solver模块为直接线性变换模块。(5)将预处理图片输入st(spatialtransformer)layer,通过上述单应性变换矩h,获得其中,st(spatialtransformer)layer是局部转换层。(6)将上述输入损失函数模块l计算训练过程的损失,l计算公式如下:其中,第i个索引位置是指预处理后图像的像素位置。公式是求取在索引i处像素值和像素值的最大者作为在索引i处遮罩像素值。是计算在索引i处像素值和像素值之差的绝对值,即l1损失。是计算图像在所有索引位置处像素值之和的结果。图7所示的损失函数中,遮罩图像m′a和mb直接做乘积,缺少其它约束,这会造成训练过程中m′a×mb在多数位置都趋于0,即大多数索引位置的像素信息都被忽略,影响所训练结果的鲁棒性。针对图7的实施例中存在的技术问题,申请人提出了在图8和图9所示的损失函数中,将和作为遮罩图像,损失函数中在训练的任意阶段索引i处的值都不小于对应位置的值,从而保证图像边缘位置的像素差信息在训练中得以充分利用。在训练过程中始终大于或等于并趋向与一致。其中,设则对hardexample(存在运动物体或深度落差较大的训练图像对)来说w较大,对easyexample来说w较小,这意味着hardexample在训练过程中权重比easyexample大,利于提升算法性能。另外,在测试阶段,模型前向推理只要执行到dltsolver模块,输出单应性变换矩阵h即可。如图13所示,本公开的实施例采用“dhpairs-train”的训练集,“dhpairs-train”大约包含800k训练数据对。申请人发现“dhpairs-train”训练数据对缺乏纵向平移、旋转、尺度缩小等几何变换,在ar防抖等方面应用受限。因此,对图像对(img1,img2)可以采用一种或组合使用以下增强方法:(1)img2有50%的概率旋转90度。(2)img2均匀随机旋转-1度到+1度。(3)img2均匀随机缩放尺寸-1%到+1%。(4)img2横向和纵向均匀随机平移-7.5到+7.5像素。(5)img1和img2的先后顺序有50%的概率对换。(6)增强以后形成训练数据集“dhpairs-train+”。如图13所示,本公开的实施例采用“dhpairs-test”进行测试,“dhpairs-test”共包含测试数据对约为4.2k,包含re(规则)、lt(少纹理)、ll(低光照)、sf(含小尺寸前景目标)、lf(含大尺寸前景目标)等5个子集。每一测试数据对标记有6对匹配点,如图13所示的第一组匹配点1302、第二组匹配点1304、第三组匹配点1306、第四组匹配点1308、第五组匹配点1310和第六组匹配点1312。进一步地,测试图像数据对的匹配误差计算为:其中是数据对第1张图第i个标记的坐标,是数据对第2张图第i个标记的坐标,n为标记的匹配点数。在“dhpairs-train+”数据集上训练,基础学习率设为1e-3,优化器选为adamw,采用mobilenettinyrfb骨干网。本公开的一个实施例的batchsize(块尺寸)配置为80,训练迭代数164k次,采用现有技术的方法和本公开方法分别训练的模型在“dhpairs-test”上平均匹配误差对比如下表1所示:表1输入尺寸reltllsflfavg现有技术640x3607.467.687.057.844.066.82本公开540x3602.593.604.203.472.303.23可见本公开方法相对现有技术的方法平均匹配误差有显著降低,平均约降低52.6%。我们对特征提取和遮罩预测网络进行了轻量化设计,优化后现有技术的计算量和本公开的计算量对比如下表2所示:表2输入尺寸计算量(flops)现有技术640x360349.8m本公开540x36061.5m对应于上述方法实施例,本公开还提供一种图像合成模型的训练装置,可以用于执行上述方法实施例。图14是本公开示例性实施例中一种图像合成模型的训练装置的方框图。参考图14,图像合成模型的训练装置1400可以包括:合成模块1402,用于对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理,以获得合成图像样本。训练模块1404,用于将采样图像样本数据输入至卷积神经网络进行训练,卷积神经网络的输出为单应性变换矩阵。变换模块1406,用于根据单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本。确定模块1408,用于确定第一灰度变换图像样本的第i个索引位置的第一像素值,第二灰度遮罩图像样本的第i个索引位置的第二像素值,并确定第一像素值与第二像素值之间的较大值。确定模块1408还用于,根据第一像素值、第二像素值和第二灰度遮罩图像样本的全部索引位置的像素值确定卷积神经网络的训练损失,并根据训练损失调整卷积神经网络的配置参数。在本公开的一种示例性实施例中,在对第一灰度图像样本和第二灰度遮罩图像样本进行合成处理前,图像合成模型的训练装置1400还用于:对待合成的两个灰度图像进行高斯滤波,以获得滤波图像;对滤波图像进行梯度算子处理,以获得梯度图像;确定梯度图像中的灰度最大值,并将梯度图像中的每个点的像素值除以灰度最大值,以获得归一化的灰度图像样本;将灰度图像样本中的一个样本确定为第一灰度图像样本,将灰度图像样本中的另一个样本确定为第二灰度遮罩图像样本。在本公开的一种示例性实施例中,合成模块1402还用于:对第一灰度图像样本和第二灰度遮罩图像样本进行合并处理,以获得合并图像样本;对合并图像样本进行下采样处理,并将采样处理的结果确定为合成图像样本。在本公开的一种示例性实施例中,训练模块1404还用于:将合成图像样本输入至卷积神经网络,卷积神经网络执行1×1的卷积操作,卷积神经网络的输入通道为2,卷积神经网络的输出通道为3;将输出通道的结果执行块归一化操作;将块归一化操作的结果输入至回归骨干网,回归骨干网络输出单应性变换参数;将单应性变换参数输入至直接线性变换层,直接线性变换层输出为单应性变换矩阵。在本公开的一种示例性实施例中,卷积神经网络执行卷积核为5×5,卷积神经网络的执行步长为2,卷积神经网络的执行填充为2。在本公开的一种示例性实施例中,变换模块1406还用于:将第一灰度图像样本输入至空间变换层,通过空间变换层的单应性变换矩阵对第一灰度图像样本进行变换,以得第一灰度变换图像样本。在本公开的一种示例性实施例中,确定模块1408还用于:确定第i个索引位置的第一像素值和第二像素值之间的差值绝对值;确定第i个索引位置的差值绝对值与最大值之间的像素乘积;对全部索引位置的像素乘积进行累加,并将累加结果确定为第一累加和;对第二灰度遮罩图像样本的全部索引位置的像素值进行累加,并将累加结果确定为第二累加和;根据第一累加和与第二累加和之间的比例关系,确定卷积神经网络的训练损失;根据训练损失调整卷积神经网络的配置参数。由于装置1400的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。所属
技术领域
的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。下面参照图15来描述根据本发明的这种实施方式的电子设备1500。图15显示的电子设备1500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图15所示,电子设备1500以通用计算设备的形式表现。电子设备1500的组件可以包括但不限于:上述至少一个处理单元1510、上述至少一个存储单元1520、连接不同系统组件(包括存储单元1520和处理单元1510)的总线1530。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1510执行,使得所述处理单元1510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1510可以执行如本公开实施例所示的方法。存储单元1520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)15201和/或高速缓存存储单元15202,还可以进一步包括只读存储单元(rom)15203。存储单元1520还可以包括具有一组(至少一个)程序模块15205的程序/实用工具15204,这样的程序模块15205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线1530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备1500也可以与一个或多个外部设备1540(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1500交互的设备通信,和/或与使得该电子设备1500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1550进行。并且,电子设备1500还可以通过网络适配器1560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1560通过总线1530与电子设备1500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1