发明内容
本发明实施方式的目的在于提供一种训练数据的生成方法、装置和终端,使得生成的训练数据与目标图像差异小,从而提高使用该训练数据得到的训练模型的准确性。
为解决上述技术问题,本发明的实施方式提供了一种训练数据的生成方法,包括:获取原始图像;根据图像风格迁移模型和原始图像,确定迁移图像,图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定;根据迁移图像,确定训练数据;其中,原始损失函数用于指示迁移图像与目标图像之间的差异程度,背景损失函数用于指示迁移图像中的背景图像与目标图像中的背景图像之间的差异程度,前景损失函数用于指示迁移图像中的前景图像与目标图像中的前景图像之间的差异程度。
本发明的实施方式还提供了一种训练数据的生成装置,包括:获取模块、第一确定模块和第二确定模块;获取模块用于获取原始图像;第一确定模块用于根据图像风格迁移模型和原始图像,确定迁移图像,图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定;第二确定模块用于根据迁移图像,确定训练数据;其中,原始损失函数用于指示迁移图像与目标图像之间的差异程度,背景损失函数用于指示迁移图像中的背景图像与目标图像中的背景图像之间的差异程度,前景损失函数用于指示迁移图像中的前景图像与目标图像中的前景图像之间的差异程度。
本发明的实施方式还提供了一种终端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的训练数据的生成方法。
本发明实施方式相对于现有技术而言,图像风格迁移模型通过最小化损失函数确定,即损失函数确定的越准确,该图像风格迁移模型确定的迁移图像与目标图像也越接近,而通常一个图像中包括了前景图像和背景图像,若前景图像或背景图像中物品比较驳杂,在确定损失函数的过程中,往往会导致确定的损失函数不准确,本实施方式中由于分别确定了前景损失函数、以及背景损失函数,通过前景损失函数、背景损失函数以及原始损失函数共同确定的损失函数,避免了前景图像对背景图像的影响或背景图像对前景图像的影响,大大提高确定的损失函数的准确性;由于通过图像风格迁移模型和原始图像,确定出的迁移图像与目标图像之间的差异程度小,提高了根据该迁移数据确定的训练数据的准确性,进而提高使用该训练数据得到的训练模型的准确性。
另外,在获取原始图像之前,训练数据的生成方法,还包括:获取第一图像集合和第二图像集合,其中,第一图像集合中的第一图像与原始图像具有相同图像风格,第二图像集合中的第二图像与迁移图像具有相同图像风格;根据第一图像集合和第二图像集合,分别确定原始损失函数、背景损失函数和前景损失函数;最小化由原始损失函数、背景损失函数以及前景损失函数确定的损失函数,构建图像风格迁移模型。在获取原始图像之前,根据大量的第一图像和第二图像进行训练,确定原始损失函数、背景损失函数和前景损失函数,从而构建出准确的图像风格迁移模型。
另外,根据第一图像集合和第二图像集合,分别确定原始损失函数、背景损失函数和前景损失函数,具体包括:将第一图像集合中每个第一图像拆分为第一前景图像和第一背景图像,以及,将第二图像集合中每个第二图像拆分为第二前景图像和第二背景图像;根据每个第一图像和每个第二图像,确定原始损失函数;根据每个第一前景图像以及每个第二前景图像,确定前景损失函数;根据每个第一背景图像以及每个第二背景图像,确定背景损失函数。通过将每个第一图像和每个第二图像进行拆分,从而可以快速且准确地确定出前景损失函数和背景损失函数。
另外,在获取原始图像之后且在确定迁移图像之前,训练数据的生成方法还包括:若确定原始图像不是基于色调、饱和度和亮度组成的图像,则将原始图像转化为基于色调、饱和度和亮度组成的图像。由于基于色调、饱和度和亮度的图像对颜色的敏感度较低,而迁移图像是对图像风格进行迁移,需要确保颜色不发生改变或改变较小;因而将原始图像转换为基于色调、饱和度和亮度的图像,可以大大提高迁移图像的准确性。
另外,根据每个第一前景图像以及每个第二前景图像,确定前景损失函数,具体包括:根据每个第一前景图像和每个第二前景图像,计算将第一前景图像所属图像风格转换为第二前景图像所属图像风格的第一期望函数,以及,计算将第二前景图像所属图像风格转换为第一前景图像所属图像风格的第二期望函数;将第一期望函数和第二期望函数之和作为前景损失函数。根据第一期望函数和第二期望函数,确定前景损失函数,使得通过前景损失函数可以实现从第一前景图像的所属图像风格与第二前景图像的所属图像风格的灵活转换。
另外,根据每个第一背景图像以及每个第二背景图像,确定背景损失函数,具体包括:根据每个第一背景图像和每个第二背景图像,计算将第一背景图像所属图像风格转换为第二背景图像所属图像风格的第三期望函数,以及,计算将第二背景图像所属图像风格转换为第一背景图像所属图像风格的第四期望函数;将第三期望函数和第四期望函数之和作为背景损失函数。根据第三期望函数和第四期望函数,确定背景损失函数,使得通过背景损失函数可以实现从第一背景图像的所属图像风格与第二背景图像的所属图像风格的灵活转换。
另外,根据迁移图像,确定训练数据,具体包括:将基于色调、饱和度和亮度的迁移图像转换回基于三原色的图像;并将转换后的迁移图像作为训练数据。确保了迁移图像中颜色的稳定性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种训练数据的生成方法。该训练数据的生成方法应用于具有计算功能的终端,生成的训练数据可以用于进行物体识别模型的训练,例如,可以使用大量包含货柜和货柜内商品的训练数据,进行商品识别模型的训练。该训练数据的生成方法的具体流程如图1所示。
步骤101:获取原始图像。
具体的说,通过输入端即可获取到原始图像。原始图像可以是合成图像。合成图像可以通过完全模拟真实物体的3D模型获取,例如,模拟货柜的3D图像、以及模拟货柜内的商品的3D图像,通过虚拟相机渲染,即可得到该放置有商品的货柜的合成图像;还可以通过模拟货柜内商品的3D图像,并结合真实的2D背景图像,通过虚拟相机重新渲染,也可得到合成图像,合成图像由于无需人工采集,可以通过调整模拟的商品的3D图像的角度、相机的畸变程度或者货柜内的光照强度,产生出不同的样式的合成图像,以满足商品识别模型的训练需求。
可以理解的是,原始图像也可以是真实的图像。例如,在真实环境中拍摄的货柜和货柜内商品的图像。
步骤102:根据图像风格迁移模型和原始图像,确定迁移图像,图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定。
具体的说,图像风格迁移模型用于将属于不同图像风格的图像进行相互转换。例如,图像风格迁移模型可以将油画风格的图像转换为相机图像风格的图像,或者将相机图像风格的图像转换为油画风格的图像。而图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定。原始损失函数用于指示迁移图像与目标图像之间的差异程度,背景损失函数用于指示迁移图像中的背景图像与目标图像中背景图像之间的差异程度,前景损失函数用于指示迁移图像中前景图像与目标图像中前景图像之间的差异程度。
具体的说,目标图像可以理解为与迁移图像具有相同图像风格的真实图像,而迁移图像是根据图像风格迁移模型确定,即迁移图像可以理解为根据该图像风格迁移模型和原始图像确定的一个预测图像,而目标图像可以理解为一个真实图像。因此,该原始损失函数可以用于指示预测图像与真实图像整体之间的差异程度。一副图像包括前景图像和背景图像,例如,拍摄的货柜内的图像,前景图像即为货柜内的商品的图像,背景图像即为货柜的图像。同理,背景损失函数即可指示代表背景预测图像与真实背景图像之间的差异程度,前景损失函数指示代表前景预测图像与真实前景图像之间的差异程度。
当每获取一个原始图像,根据该图像风格迁移模型,即可确定出具有另一图像风格的迁移图像。
步骤103:根据迁移图像,确定训练数据。
具体的说,可以直接将该迁移图像作为训练数据。
可以理解的是,在步骤101获取原始图像之前,需要构建出该图像风格迁移模型,构建该图像风格迁移模型可以采用如图2所示的子步骤。
步骤1011:获取第一图像集合和第二图像集合。其中,第一图像集合中的第一图像与原始图像具有相同图像风格,第二图像集合中的第二图像与迁移图像具有相同图像风格。
具体的说,第一图像集合需要包含大量的第一图像,第二图像集合需要包含大量的第二图像。仅需保证每个第一图像的图像风格与每个第二图像的图像风格不同即可,无需第一图像与第二图像一一对应,即无需第一图像集合中的第一图像与第二图像集合第二图像成对,例如,第一图像为彩色油画风格的橘子图像,而第二图像可以为相机拍摄的梨子的图像。
需要说明的是,在构建图像风格迁移模型的过程中,第一图像集合中的每个第一图像是基于色调、饱和度和亮度的图像,从而可以降低模型构建构成中的颜色敏感度,提高构建的模型的准确性。
步骤1012:根据第一图像集合和第二图像集合,分别确定原始损失函数、背景损失函数和前景损失函数。
一个具体的实现中,将第一图像集合中每个第一图像拆分为第一前景图像和第一背景图像,以及,将第二图像集合中每个第二图像拆分为第二前景图像和第二背景图像;根据每个第一图像和每个第二图像,确定原始损失函数;根据每个第一前景图像以及每个第二前景图像,确定前景损失函数;根据每个第一背景图像以及每个第二背景图像,确定背景损失函数。
具体的说,在构建该图像风格迁移模型的过程中,需要将每个第一图像和每个第二图像进行拆分,其中,若图像为合成图像,则可以直接进行拆分;而若图像为真实图像,则可先将该图像中属于前景物体用前景标注框圈住,以及将属于背景的图像用背景标注框圈住,进而可以根据不同的标注框对图像进行拆分,对真实图像的拆分过程还可以采用其他的方法,此处将不再进行赘述。
图像风格迁移模型为循环生成式对抗网络模型,根据每个第一图像和每个第二图像,即原始损失函数是根据完整第一图像和完整的第二图像进行确定的,该图像风格迁移模型的原始损失函数的定义如公式(1):
Lstyle=LGAN(G,DY,X,Y)+LGAN(F,DX,X,Y)+λ1Lcyc(G,F)公式 (1);
其中,Lstyle表示为原始损失函数,X表示为第一图像集合,Y表示为第二图像集合,G表示从X到Y的图像风格映射函数,F表示从Y到X的图像风格映射函数,DX表示为对第一图像所属图像风格的鉴别器,DY表示为对第二图像所属图像风格的鉴别器。LGAN代表标准的对抗损失,Lcyc代表了循环一致性损失,λ1表示三个损失之间的权衡的参数。
一个具体的实现中,前景损失函数的确定过程为:根据每个第一前景图像和每个第二前景图像,计算将第一前景图像所属图像风格转换为第二前景图像所属图像风格的第一期望函数,以及,计算将第二前景图像所属图像风格转换为第一前景图像所属图像风格的第二期望函数;将第一期望函数和第二期望函数之和作为前景损失函数。
具体的说,前景损失函数可以用公式(2)表示:
LFG=Ex~pdata(x)[||(G(x)H-xH)⊙MFG(x)||2]+Ey~pdata(y)[||(F(y)H-yH)⊙MFG(y)||2]公式 (2);
公式(2)中的x~pdata(x)表示X的数据分布,y~pdata(y)表示Y的数据分布,MFG(x)表示第一图像x中所有物体的前景图像,MFG(y)表示第二图像y中所有物体的前景图像,“⊙”为张量的积;其中,H表示应用在色调(Hue)通道上。即该公式(2)中的第一项表示第一期望函数,第二项表示第二期望函数。
一个具体的实现中,背景损失函数的确定过程为:根据每个第一背景图像和每个第二背景图像,计算将第一背景图像所属图像风格转换为第二背景图像所属图像风格的第三期望函数,以及,计算将第二背景图像所属图像风格转换为第一背景图像所属图像风格的第四期望函数;将第三期望函数和第四期望函数之和作为背景损失函数。
具体的说,背景损失函数可以用公式(2)表示:
LBG=Ex~pdata(x)[||(G(x)H-xH)⊙MBG(x)||2]+Ey~pdata(y)[||(F(y)H-yH)⊙MBG(y)||2]公式 (3);
公式(2)中的x~pdata(x)表示X数据分布,y~pdata(y)表示Y的数据分布,MBG(x)表示第一图像x中所有物体的背景图像,MBG(y)表示第二图像y中所有物体的背景图像,“⊙”为张量的积,其中,H表示应用在色调(Hue)通道上;即该公式(3)中的第一项表示第三期望函数,第二项表示第四期望函数。
步骤1013:最小化由原始损失函数、背景损失函数以及前景损失函数确定的损失函数,构建图像风格迁移模型。
具体的说,该图像风格迁移模型是由原始损失函数、背景损失函数以及前景损失函数确定(即可以根据公式(1)、公式(2)和公式(3)确定),那么该损失函数可以用公式(4)表示:
LOD=Lstyle+λ2LFG+λ3LBG公式 (4);
其中,LOD表示为该图像风格迁移模型的损失函数,λ2和λ3表示损失函数之间的权衡参数。可以理解的是,λ1、λ2和λ3的具体取值可以根据实际训练进行设置,例如,可以将λ1、λ2和λ3分别设置为10、3和7。
值得一提的是,采用循环生成式对抗网络模型,可以根据实际应用设定该模型的图像信息,例如,可以将该图像风格迁移模型中的图像分辨率设置为1000*1000。另外,在进行图像风格的迁移后,迁移图像中应当包含原始图像中的关键信息,例如,颜色信息、原始图像中每个物品的轮廓信息等。
本发明实施方式相对于现有技术而言,图像风格迁移模型通过最小化损失函数确定,即损失函数确定的越准确,该图像风格迁移模型确定的迁移图像与目标图像也越接近,而通常图像中包括了前景图像和背景图像,若前景图像或背景图像中物品比较驳杂,在确定损失函数的过程中,往往会导致确定的损失函数不准确,本实施方式中由于分别确定了前景损失函数、以及背景损失函数,通过前景损失函数、背景损失函数以及原始损失函数共同确定的损失函数,避免了前景图像对背景图像的影响或背景图像对前景图像的影响,大大提高确定的损失函数的准确性;由于通过图像风格迁移模型和原始图像,确定出的迁移图像与目标图像之间的差异程度小,提高了根据该迁移数据确定的训练数据的准确性,提高使用该训练数据得到的训练模型的准确性。
本发明的第二实施方式涉及一种训练数据的生成方法。第二实施方式是对第一实施方式的进一步改进,主要改进之处在于:在本发明第二实施方式中,在获取原始图像之后且在确定迁移图像之前,若确定原始图像不是基于色调、饱和度和亮度组成的图像,则对该原始图像进行转化。该训练数据的生成方法的具体流程如图3所示。
步骤201:获取原始图像。
步骤202:若确定原始图像不是基于色调、饱和度和亮度组成的图像,则将原始图像转化为基于色调、饱和度和亮度组成的图像。
具体的说,基于色调、饱和度和亮度组成的图像,即为处于色调、饱和度和亮度(“Hue,Saturation,Value”简称“HSV”)颜色空间的图像,通常基于三原色的图像,即处于RGB颜色空间的图像,由于基于RGB颜色空间的图像对颜色的变化非常敏感,为了确定该根据原始图像确定的迁移图像可以保留原始图像中的颜色,则先判断该原始图像是否处于HSV颜色空间,若不是处于HSV颜色空间的图像,则将该原始图像转化为基于RGB颜色空间的图像,当然,若原始图像是基于该HSV颜色空间图像,则无需对该原始图像的颜色空间进行转换。
也就是说,原始图像可以不受颜色空间的限制,在原始图像不是HSV颜色空间时通过转换颜色空间即可进行图像风格的迁移。
步骤203:根据图像风格迁移模型和原始图像,确定迁移图像,图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定。
步骤204:根据迁移图像,确定训练数据。
具体的说,若确定原始图像不是基于色调、饱和度和亮度组成的图像,则在确定了迁移图像之后,还需要将迁移图像转换回基于三原色的图像,即将迁移图像从HSV颜色空间转换回RGB颜色空间,并将该转换后的迁移图像作为最终的训练数据。
需要说明的是,本实施方式中的步骤201、步骤203、步骤204与第一实施方式中的步骤101、步骤102和步骤103大致相同,此处将不再进行赘述。
本实施方式中提供的训练数据的生成方法,通过对原始图像所处的颜色空间进行判断,使得原始图像即使不是基于HSV颜色空间的图像,也可以通过转换为基于HSV颜色空间的图像,实现图像风格的迁移,提高了得到训练数据的灵活性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种训练数据的生成装置,该训练数据的生成装置30包括:获取模块301、第一确定模块302和第二确定模块303。该训练数据的生成装置的具体结构如图4所示。
获取模块301用于获取原始图像;第一确定模块302用于根据图像风格迁移模型和原始图像,确定迁移图像,图像风格迁移模型是通过最小化损失函数获得,损失函数是根据原始损失函数、背景损失函数以及前景损失函数确定;第二确定模块303用于根据迁移图像,确定训练数据;其中,原始损失函数用于指示迁移图像与目标图像之间的差异程度,背景损失函数用于指示迁移图像中的背景图像与目标图像中背景图像之间的差异程度,前景损失函数用于指示迁移图像中前景图像与目标图像中前景图像之间的差异程度。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种终端,该终端40的具体结构如图5所示,包括至少一个处理器401;以及,与至少一个处理器通信连接的存储器402;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一实施方式或第二实施方式中的训练数据的生成方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。