发明内容
本发明提供一种图片合成的方法及装置,用以解决图片背景随机性不强的问题。
第一方面,本发明实施例提供一种图片合成的方法,该方法包括:针对第一图片集合中的任一第一图片,从所述第一图片的背景图中截取背景子图;以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片;针对第二图片集合中的任一第二图片,从所述第二图片中获取前景对象;以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片;所述合成图片中各前景对象之间的重叠区域小于第一设定阈值。
基于该方案,通过将截取自第一图片集合中的多个第一图片的背景子图布局为背景图片,实现了将不同图片的背景置于同一图片上,极大地增强了所得到的图片的背景随机性;此外,通过随机的方式、将取自第二图片集合中的多个第二图片的前景对象布局在所述背景图片上,实现了将不同图片的前景置于同一图片上,有利于程序同时对同一张图片上的多个前景对象进行学习;进一步地,由于各个前景对象之间的重叠概率低,使得所述背景图片上布局的各个前景对象符合人眼识别规律。
作为一种可能实现的方法,以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片,包括:随机确定各背景子图的图中心在所述图片中的位置;随机对各背景子图进行图片转换操作;将转换操作后的各背景子图按照各背景子图的图中心在所述图片中的位置,布局出所述背景图片。
基于该方案,通过对各背景子图执行各种类型的转换操作,并将转换操作后的各背景子图布局在同一张图片中预先设定好的位置,极大地增加了各背景子图在所述图片中的随机性。
作为一种可能实现的方法,以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片,包括:在所述背景图片中随机确定多个前景对象框,其中,各前景对象框之间的重叠区域小于所述第一设定阈值;随机对各前景对象进行图片转换操作;将转换操作后的各前景对象填充至所述各前景对象框中,从而布局出所述合成图片。
基于该方案,通过将转换操作后的各前景对象填充至所述背景图片中随机确定多个前景对象框,实现了将多个前景对象布局在同一张图片上,增加了目标的随机性;此外由于多个前景对象框之间的重叠率低下,使得多个前景对象框中填充的各前景对象之间绝大程度上处于相互独立、互不影响的状态,使得所合成的图片更加符合人眼识别规律。
作为一种可能实现的方法,将转换操作后的各前景对象填充至所述各前景对象框中,包括:所述各前景对象框中至少存在两个前景对象框的大小不同;从各前景对象中筛选出与所述各前景对象框大小匹配的前景对象;将大小匹配的前景对象填充至对应的前景对象框中。
基于该方案,通过将各前景对象与各前景对象框进行大小的匹配,并将大小匹配的前景对象填充至对应前景对象框中,实现了将各前景对象布局在背景图片上,从而可以得到合成后的图片。
作为一种可能实现的方法,随机对各背景子图进行图片转换操作,包括:对各背景子图进行随机旋转和/或随机缩放;随机对各前景对象进行图片转换操作,包括:对各前景对象进行随机旋转和/或随机缩放。
基于该方案,通过对各背景子图执行各种类型的转换操作,增加了各背景子图的随机性;通过对各前景对象执行各种类型转换操作,增加了各前景对象的随机性。
作为一种可能实现的方法,从所述第一图片的背景图中截取背景子图,包括:将所述第一图片中的前景图的像素置为预设值;按照设定截取框对所述第一图片进行截取;若截取图片中所述预设值的像素占所述截取图片的像素的比率小于第二设定阈值,则将所述截取图片作为所述背景子图。
基于该方案,对于截取自所述第一图片中的截取图片,由于前景图占所述截取图片的比率低下,也即所述截取图片中绝大程度上是所述第一图片的背景,因此可以将该截取图片作为背景子图。
作为一种可能实现的方法,对各前景对象进行随机旋转和/或随机缩放,包括:根据前景对象占第二图片的比率,确定前景对象的缩小比例和前景对象的旋转角度;其中,比率越大,旋转角度越小且缩小比例越大;比率越小,旋转角度越大且缩小比例越小。
基于该方案,针对不同大小规格的前景对象,具有对应且合理的转换操作规则:对于相对较大的前景对象来说,可以对该种相对较大的前景对象做相对较小角度的旋转操作以及对其做相对较大比例的缩小操作;对于相对较小的前景对象来说,可以对该种相对较小的前景对象做相对较大角度的旋转操作以及对其做相对较小比例的缩小操作。
第二方面,本发明实施例提供一种图片合成的装置,该装置包括:获取单元,用于针对第一图片集合中的任一第一图片,从所述第一图片的背景图中截取背景子图;确定单元,用于以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片;所述获取单元,还用于针对第二图片集合中的任一第二图片,从所述第二图片中获取前景对象;所述确定单元,还用于以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片;所述合成图片中各前景对象之间的重叠区域小于第一设定阈值。
基于该方案,通过将截取自第一图片集合中的多个第一图片的背景子图布局为背景图片,实现了将不同图片的背景置于同一图片上,极大地增强了所得到的图片的背景随机性;此外,通过随机的方式、将取自第二图片集合中的多个第二图片的前景对象布局在所述背景图片上,实现了将不同图片的前景置于同一图片上,有利于程序同时对同一张图片上的多个前景对象进行学习;进一步地,由于各个前景对象之间的重叠概率低,使得所述背景图片上布局的各个前景对象符合人眼识别规律。
作为一种可能实现的方法,所述确定单元,具体用于随机确定各背景子图的图中心在所述图片中的位置;随机对各背景子图进行图片转换操作;将转换操作后的各背景子图按照各背景子图的图中心在所述图片中的位置,布局出所述背景图片。
基于该方案,通过对各背景子图执行各种类型的转换操作,并将转换操作后的各背景子图布局在同一张图片中预先设定好的位置,极大地增加了各背景子图在所述图片中的随机性。
作为一种可能实现的方法,所述确定单元,具体用于在所述背景图片中随机确定多个前景对象框,其中,各前景对象框之间的重叠区域小于所述第一设定阈值;随机对各前景对象进行图片转换操作;将转换操作后的各前景对象填充至所述各前景对象框中,从而布局出所述合成图片。
基于该方案,通过将转换操作后的各前景对象填充至所述背景图片中随机确定多个前景对象框,实现了将多个前景对象布局在同一张图片上,增加了目标的随机性;此外由于多个前景对象框之间的重叠率低下,使得多个前景对象框中填充的各前景对象之间绝大程度上处于相互独立、互不影响的状态,使得所合成的图片更加符合人眼识别规律。
作为一种可能实现的方法,所述确定单元,具体用于所述各前景对象框中至少存在两个前景对象框的大小不同;从各前景对象中筛选出与所述各前景对象框大小匹配的前景对象;将大小匹配的前景对象填充至对应的前景对象框中。
基于该方案,通过将各前景对象与各前景对象框进行大小的匹配,并将大小匹配的前景对象填充至对应前景对象框中,实现了将各前景对象布局在背景图片上,从而可以得到合成后的图片。
作为一种可能实现的方法,所述确定单元,具体用于对各背景子图进行随机旋转和/或随机缩放;所述确定单元,具体用于对各前景对象进行随机旋转和/或随机缩放。
基于该方案,通过对各背景子图执行各种类型的转换操作,增加了各背景子图的随机性;通过对各前景对象执行各种类型转换操作,增加了各前景对象的随机性。
作为一种可能实现的方法,所述确定单元,具体用于将所述第一图片中的前景图的像素置为预设值;按照设定截取框对所述第一图片进行截取;若截取图片中所述预设值的像素占所述截取图片的像素的比率小于第二设定阈值,则将所述截取图片作为所述背景子图。
基于该方案,对于截取自所述第一图片中的截取图片,由于前景图占所述截取图片的比率低下,也即所述截取图片中绝大程度上是所述第一图片的背景,因此可以将该截取图片作为背景子图。
作为一种可能实现的方法,根据前景对象占第二图片的比率,确定前景对象的缩小比例和前景对象的旋转角度;其中,比率越大,旋转角度越小且缩小比例越大;比率越小,旋转角度越大且缩小比例越小。
基于该方案,针对不同大小规格的前景对象,具有对应且合理的转换操作规则:对于相对较大的前景对象来说,可以对该种相对较大的前景对象做相对较小角度的旋转操作以及对其做相对较大比例的缩小操作;对于相对较小的前景对象来说,可以对该种相对较小的前景对象做相对较大角度的旋转操作以及对其做相对较小比例的缩小操作。
第三方面,本发明实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一所述的方法。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种合成图片的方法,该方法包括以下步骤:
步骤101,针对第一图片集合中的任一第一图片,从所述第一图片的背景图中截取背景子图。
步骤102,以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片。
步骤103,针对第二图片集合中的任一第二图片,从所述第二图片中获取前景对象。
步骤104,以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片;所述合成图片中各前景对象之间的重叠区域小于第一设定阈值。
基于该方案,通过将截取自第一图片集合中的多个第一图片的背景子图布局为背景图片,实现了将不同图片的背景置于同一图片上,极大地增强了所得到的图片的背景随机性;此外,通过随机的方式、将取自第二图片集合中的多个第二图片的前景对象布局在所述背景图片上,实现了将不同图片的前景置于同一图片上,有利于程序同时对同一张图片上的多个前景对象进行学习;进一步地,由于各个前景对象之间的重叠概率低,使得所述背景图片上布局的各个前景对象符合人眼识别规律。
对于上述步骤101,通常可以将Microsoft COCO2017数据集中的实例分割部分的海量图片作为第一图片的集合,该实例分割部分的海量图片的数量约为11万。从这11万图片的数据集中随机选取一张图片,记为Picture_A;若无法正常读取Picture_A的标注信息,或Picture_A的标注信息中出现空值,则不能将Picture_A作为第一图片;若可以正常读取Picture_A的标注信息,且Picture_A的标注信息表现为正常状态,则可以将Picture_A作为第一图片。依照如此规则,可以确定出第一图片集合中的第一图片。
对于第一图片集合中的任一第一图片,如Picture_A,根据Picture_A标注信息,可以确定出Picture_A的前景对象以及背景;进一步地,还可以从Picture_A的背景图中截取一部分,令所截取的背景图为背景子图A。
对于第一图片集合中的任一第一图片,如Picture_B,根据Picture_B标注信息,可以确定出Picture_B的前景对象以及背景;进一步地,还可以从Picture_B的背景图中截取一部分,令所截取的背景图为背景子图B。
通过上述方式,可以得到第一图片集合中的任一第一图片的背景子图。对于生成其他背景子图的方式可以参考生成背景子图A和背景子图B的过程,在此不赘述。
对于上述步骤102,根据第一随机方式,可以确定各背景子图在图片中的位置,从而可以将步骤101中生成的多个背景子图布局在所述图片上,得到随机生成的背景图片。
需要说明的是,所述图片为背景像素均为零、且不含任何前景对象的背景底图。
对于上述步骤103,通常可以将Microsoft COCO2017数据集中的实例分割部分的海量图片作为第二图片的集合,该实例分割部分的海量图片的数量约为11万。也即,本发明实施例中的第一图片集合和第二图片集合可以为同一个图片的数据集,对此,本发明不做限定。
从这11万图片的数据集中随机选取一张图片,记为Picture_C;若无法正常读取Picture_C的标注信息,或Picture_C的标注信息中出现空值,则不能将Picture_C作为第二图片;若可以正常读取Picture_C的标注信息,且Picture_C的标注信息表现为正常状态,则可以将Picture_C作为第二图片。依照如此规则,可以确定出第二图片集合中的第二图片。
对于第二图片集合中的任一第二图片,如Picture_C,根据Picture_C标注信息,可以确定出Picture_C的前景对象以及背景;进一步地,从第二图片Picture_C中获取前景对象C。
对于第一图片集合中的任一第二图片,如Picture_D,根据Picture_D标注信息,可以确定出Picture_D的前景对象以及背景;进一步地,从第二图片Picture_D中获取前景对象D。
通过上述方式,可以得到第二图片集合中的任一第二图片的前景对象。对于获取其他前景对象的方式可以参考获取前景对象C和前景对象D的过程,在此不赘述。
对于上述步骤104,根据第二随机方式,可以确定各前景对象在所述背景图片中的位置,从而可以将各前景对象布局在所述背景图片中,得到合成图片。在所述合成图片中,各前景对象之间的重叠区域小于第一设定阈值。
作为一种可能实现的方法,以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片,包括:随机确定各背景子图的图中心在所述图片中的位置;随机对各背景子图进行图片转换操作;将转换操作后的各背景子图按照各背景子图的图中心在所述图片中的位置,布局出所述背景图片。
下面结合一个具体的例子,说明是如何得到背景图片的。
假设,从Microsoft COCO2017数据集中随机选取一张图片,记作Picture_A;通过对Picture_A的标注信息的读取,确定Picture_A可以作为一张第一图片;根据对Picture_A的标注信息,提取Picture_A中所有前景对象所在的位置,并以此获取Picture_A中背景所在的位置。
保留Picture_A中背景所在位置的像素,以及将Picture_A中所有前景对象所在位置的像素设为一个固定的像素值,比如可以将Picture_A中所有前景对象所在位置的像素均设为“0”。此时,经过处理的Picture_A显示为一张前景对象所在位置为黑色、背景照旧的图片。
在Picture_A中随机生成一个矩形框,描述所述矩形框的重要参数有宽w、高h、中心横坐标x和中心纵坐标y。其中,要求宽w和高h在预先设定的比例最小值size_min和比例最大值size_max之间。
比如,Picture_A的宽w为4cm,高h为2cm,其中预先设定size_min为0.1,预先设定size_max为0.9;则在Picture_A中随机生成的一个矩形框的宽w介于0.4cm~3.6cm之间,该矩形框的高h介于0.2cm~1.8cm之间。比如可以将随机生成的矩形框的宽w值设为0.5cm,高h值设为0.3cm,也可以是将随机生成的矩形框的宽w值设为3.4cm,高h值设为1.2cm,当然也可以是其他尺寸的矩形框,对此,本发明不做限定。
假设在宽w为4cm,高h为2cm的Picture_A中随机生成矩形框的宽为0.6cm,高h为0.4cm,还需确定该随机生成的矩形框的中心横坐标x和中心纵坐标y,其目的是为了不让该随机生成的矩形框超出Picture_A的范围。如图2所示,为本发明实施例提供的一种中心横坐标x和中心纵坐标y的示例图。参考图2,4cm*2cm的矩形表示为Picture_A,将Picture_A的宽扣除两份的0.3cm,以及将Picture_A的高扣除两份的0.2cm,得到一个与Picture_A同中心的小矩形,尺寸为3.4cm*1.6cm,则可以将该小矩形中任意区域的一点作为随机生成的矩形框的中心,也即获得了中心横坐标x和中心纵坐标y。
设此时在Picture_A中任意区域随机生成了一个满足条件的矩形框,则还需要进一步判断该矩形框所包含着的Picture_A的背景比例:若该矩形框所圈出的Picture_A背景的像素数量超过一个预设比例,则可以确定该矩形框为有效的矩形框,也即可以将该矩形框所圈出的Picture_A背景作为有效背景,其中,预设比例可以由本领域技术人员根据经验进行人为设定,比如可以是0.9;若该矩形框所圈出的Picture_A背景的像素数量低于所设的预设比例,这意味着该矩形框所圈出的Picture_A背景过少,则放弃该矩形框,需重新随机生成一个矩形框,并进行判断。
设此时在Picture_A中生成了一个尺寸合适的矩形框,且该矩形框内的像素值也有符合预设条件,则提取该矩形框中有关于Picture_A的背景部分A1,并把背景部分A1平移至一个全新的背景底图的中心,并将背景部分A1随机旋转任意角度:旋转角度随机、旋转方向也随机。其中,这个全新的背景底图可以视作合成图片的起点图,其尺寸是可以通过图像比例(img_size)进行设定,比如可以将背景底图的宽w设为500像素,高h设为500像素。
设在该500像素*500像素的背景底图上,对背景部分A1执行了随机旋转的操作,获得了旋转操作后的背景部分A2;随后可以进一步将该背景部分A2在背景底图上随机地进行平移,其目的是为了将背景部分A2布局在背景底图上的任意区域,进一步增加了所合成图片的背景的随机性。其中,在随机平移背景部分A2时,需要首先确定平移过程中的横向偏移量x_offset和纵向偏移量y_offset,其横向偏移量x_offset介于背景底图宽w的(-img_size/2,img_size/2)和纵向偏移量y_offset介于背景底图高h的(-img_size/2,img_size/2)。由于前述的例子中宽w为500像素,则随机平移背景部分A2的横向偏移量x_offset介于(-250,250)的范围,比如可以是150像素;同样的,由于前述的例子中高h为500像素,则随机平移背景部分A2的纵向偏移量y_offset介于(-250,250)的范围,比如可以是-200像素。
以上描述了如何在背景底图上随机生成一张背景图片,参考其过程,可以在该背景底图上随机生成其他更多的背景图片。当然,处于实际的需求,可以将背景图片的数目设为一个定值,比如可以是30,也即,可以将30张不同的背景图片随机地布局在背景底图上。当背景底图上随机的布局有30张不同的背景图片后,对该新合成的背景图做一次膨胀操作,目的是为了去除旋转操作所带来的黑边,可以令卷积核的大小为2*2。如图3所示,为本发明实施例提供的一种合成的背景图,从图3可以看出,该合成的背景图中截取了多张图片内的背景部分,这些背景部分通过不同的随机方式被布局在合成的背景图的任意区域,从而增加了该合成的背景图的背景的随机性。
作为一种可能实现的方法,以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片,包括:在所述背景图片中随机确定多个前景对象框,其中,各前景对象框之间的重叠区域小于所述第一设定阈值;随机对各前景对象进行图片转换操作;将转换操作后的各前景对象填充至所述各前景对象框中,从而布局出所述合成图片。
具体地,在一张合成的背景图片中随机生成一个前景对象框,设置前景对象框的目的是为了后期放置前景对象。该前景对象的框的形状随机,比如可以是矩形、圆形、椭圆形以及其他形状,对此本发明不做限定。其中,本发明实施例以前景对象框的形状为矩形进行说明。如图4所示,为本发明实施例提供的一种在背景图片中随机生成的前景对象框,需要说明的是,为了清晰的显示随机生成前景对象框,将背景图片用一张同尺寸的背景底图进行表示,也即,可以将黑色正方形想象成一张前述图3所示的背景图片。
参考图4,设在黑色正方形的背景底图上随机确定一个左上角坐标,随后确定右下角坐标,其中在生成右下角坐标时需要确保右下角坐标至少比左上角坐标大一定的预设像素值,比如可以是40像素,该预设像素值可以由本领域技术人员根据经验进行预先设定,比如在黑色正方形的背景底图上随机生成了前景对象框1;按照随机生成前景对象框1的方法,可以确定第二个前景对象框2,其中还需要判断前景对象框2与前景对象框1的交并比IoU:若IoU>P,则放弃该前景对象框2,需重新生成前景对象框2,直到生成满足交并比条件的前景对象框2;若IoU≤P,则保留该前景对象框2。其中,P即为第一设定阈值,P的取值可以由本领域技术人员根据实际的需要进行设定,比如可以是0.02。后续每生成一个新的前景对象框时,都要求该前景对象框与之前所有已随机生成的前景对象框求交并比IoU,当所有的交并比IoU均小于P时,该前景对象框才可以作为有效的前景对象框。循环这个随机生成前景对象框的过程,直到达到预设数目的前景对象框或者预设的运行时间。参考图4,可以想象黑色正方形的背景底图上被要求随机生成8个前景矩形框。
将前述获取的各前景对象进行图片转换操作,并将转换后的各前景对象填充至各前景对象框,可以的到合成的图片。
作为一种可能实现的方法,将转换操作后的各前景对象填充至所述各前景对象框中,包括:所述各前景对象框中至少存在两个前景对象框的大小不同;从各前景对象中筛选出与所述各前景对象框大小匹配的前景对象;将大小匹配的前景对象填充至对应的前景对象框中。
具体地,一方面,参考图4,所需新合成图片中随机生成了8个前景对象框,其中,这8个前景对象框的尺寸存在大小的差异,如可以按照尺寸从大到小的顺序、将这8个前景对象框进行排序,也可以按照尺寸从小到达的顺序,将这8个前景对象框进行排序,当然还可以是按照其他的顺序对这8个前景对象框进行排序,比如本发明实施例中按照从大到小的顺序将这8个前景对象框进行排序,得到排序后的各前景对象框。另一方面,对于前述步骤3,从第二图片集合中获取了预设数目的第二图片,比如可以是获取了30张第二图片,通过读取这30张第二图片的标注信息,发现这30张第二图片中一共包含了45个前景对象。通过对这45个前景对象进行随机旋转和/或随机缩放后,可以得到变换后的前景对象,所述变换后的前景对象的数目可能会减少,比如会缩减至30个前景对象,将这30个前景对象同样按照尺寸从大到小的顺序进行排列,得到排序后的各前景对象。如对于排序后的第一个前景对象框(也即尺寸最大前景对象框),将排序后的第一个前景对象(也即尺寸最大的前景对象)与之进行匹配:若排序后的第一个前景对象的尺寸大于排序后的第一个前景对象框的尺寸,则舍弃这个排序后的第一个前景对象,继续选择排序后的第二个前景对象与排序后的第一个前景对象框进行匹配;若排序后的第二个前景对象的尺寸与排序后的第一个前景对象的尺寸匹配,则将排序后的第二个前景对象填充至排序后的第一个前景对象。对于把余下的前景对象填充至前景对象框中的具体实现过程可以参考上述的方法。
需要说明的是,将前景对象填充至前景对象框中的过程可能会出现以下几种结果:
第一种:各前景对象框均没有可填充的前景对象,也即所合成图片仅为一张合成的背景图片。出现此种结果的原因在于,位于排序后的前景对象中的最后一个前景对象(也即尺寸最小的前景对象)的尺寸大于排序后的前景对象框中的第一个前景对象框。
第二种,部分的前景对象框没有被填充前景对象。可以想象的是,如果排序后的第5个前景对象框中被填充了排序后的第15号前景对象,而排序后的第16号至第30号的这15个前景对象的尺寸均大于第6个前景对象框的尺寸,则会出现所合成图片中会包含5个来自于不同图片的前景对象。
第三种,所有的前景对象框中都被填充了前景对象。
作为一种可能实现的方法,随机对各背景子图进行图片转换操作,包括:对各背景子图进行随机旋转和/或随机缩放;随机对各前景对象进行图片转换操作,包括:对各前景对象进行随机旋转和/或随机缩放。
可以将前述获取到的背景部分A1可以理解为背景子图,可以对背景部分A1执行各种转换操作,比如可以是以下任意一种数据增强的方法或任意几种数据增强方法的结合:
1、图像反转:包括水平和垂直翻转;
2、图像平移:图像向水平或者垂直方向偏移;
3、图像缩放/裁剪:缩放图像或裁去部分图像;
4、图像旋转/仿射:旋转图像或对图像做仿射变换;
5、添加噪声:对图像添加噪声,如随机噪声、高斯噪声等;
6、色彩抖动:变换图像的亮度、饱和度、对比度等;
7、其它方式。
本发明实施例中,对背景子图执行了随机旋转操作。
可以对前述获取到的各前景对象执行各种转换操作,比如可以是以上任意一种数据增强的方法或任意几种数据增强方法的结合,本发明不做限定。优选地,考虑到所获取的各前景对象的大小和位置的差异,本发明实施例对获取到的各前景对象的提供一套详细的转换操作规则,具体如下:
当ratio≥0.1时,横向平移范围为(-80,80)像素,纵向平移范围为(-60,60)像素,旋转中心位于(2/5,3/5)*图片宽和高的范围内,旋转角度范围为0~10°,缩放比例的范围为0.70~1.00。
当0.01≤ratio<0.1时,横向平移范围为(-120,120)像素,纵向平移范围为(-100,100)像素,旋转中心位于(1/3,2/3)*图片宽和高的范围内,旋转角度范围为0~30°,缩放比例的范围为0.85~1.00。
当0.002≤ratio<0.01时,横向平移范围为(-160,160)像素,纵向平移范围为(-120,120)像素,旋转中心位于(1/4,3/4)*图片宽和高的范围内,旋转角度范围为0~60°,无缩放。
当ratio<0.002时,抛弃这个目标。
其中,ratio表示的是每一个前景对象的像素数量占该前景对象所在图片总像素数量的比例。
如对前述45个前景对象执行一遍上述的转换操作,由于ratio过小的因素,抛弃了其中的15个前景对象,在所合成背景图片上得到了30个符合条件的前景对象,需要对这30个前景对象所在的背景图片做一次膨胀,以去除各前景对象因为旋转而产生的黑边,卷积核的大小为2*2。
作为一种可能实现的方法,从所述第一图片的背景图中截取背景子图,包括:将所述第一图片中的前景图的像素置为预设值;按照设定截取框对所述第一图片进行截取;若截取图片中所述预设值的像素占所述截取图片的像素的比率小于第二设定阈值,则将所述截取图片作为所述背景子图。
具体地,设对于第一图片Picture_A,根据对Picture_A的标注信息,确定出Picture_A的前景对象和背景;保留背景的像素值,以及把前景对象的全部像素统一标记为一个预设值,比如可以是“0”。
设在Picture_A中任意区域随机生成了一个满足条件的矩形框,该矩形框也即为设定截取框;进一步判断该设定截取框中所包含着的Picture_A的前景对象的比例:若依据设定截取框对Picture_A进行截取后,得到的截取图片中前景对象的像素数量小于第二设定阈值,则可以将该截取图片视作一个有效的截取图片,也即可以将该截取图片作为一张背景子图;其中,第二设定阈值可以由本领域技术人员根据经验进行设定,比如可以是0.1。此步骤的目的在于若判断出截取图片中的背景比例过少、而前景对象的比例过大,则这张截取图片不可以作为有效的背景子图,需要重新设定合适的截取框,选取有效的截取图片作为背景子图。
作为一种可能实现的方法,对各前景对象进行随机旋转和/或随机缩放,包括:根据前景对象占第二图片的比率,确定前景对象的缩小比例和前景对象的旋转角度;其中,比率越大,旋转角度越小且缩小比例越大;比率越小,旋转角度越大且缩小比例越小。
在将第二图片集合中任一第二图片平移至所合成的背景图片的中心后,为了进一步增加前景对象的随机性以及图片合成的效果,可以对各前景对象执行各种数据增强的方法。本发明实施例考虑到前景对象的大小和位置的差异,对于不同尺寸的前景对象采取不同的平移、旋转、缩小策略:根据前景对象占第二图片的比率,确定前景对象的缩小比例和前景对象的旋转角度;其中,比率越大,旋转角度越小且缩小比例越大;比率越小,旋转角度越大且缩小比例越小。其中,具体的策略表示如下:
当ratio≥0.1时,横向平移范围为(-80,80)像素,纵向平移范围为(-60,60)像素,旋转中心位于(2/5,3/5)*图片宽和高的范围内,旋转角度范围为0~10°,缩放比例的范围为0.70~1.00。
当0.01≤ratio<0.1时,横向平移范围为(-120,120)像素,纵向平移范围为(-100,100)像素,旋转中心位于(1/3,2/3)*图片宽和高的范围内,旋转角度范围为0~30°,缩放比例的范围为0.85~1.00。
当0.002≤ratio<0.01时,横向平移范围为(-160,160)像素,纵向平移范围为(-120,120)像素,旋转中心位于(1/4,3/4)*图片宽和高的范围内,旋转角度范围为0~60°,无缩放。
当ratio<0.002时,抛弃这个目标。
其中,ratio表示的是每一个前景对象的像素数量占该前景对象所在图片总像素数量的比例。
基于同样的构思,本发明实施例还提供一种图片合成的装置,如图5所示,该装置包括:
获取单元501,用于针对第一图片集合中的任一第一图片,从所述第一图片的背景图中截取背景子图。
确定单元502,用于以第一随机方式确定各背景子图在图片中的位置,从而将各背景子图布局为背景图片。
所述获取单元501,还用于针对第二图片集合中的任一第二图片,从所述第二图片中获取前景对象。
所述确定单元502,还用于以第二随机方式确定各前景对象在所述背景图片中的位置,从而将各前景对象布局在所述背景图片中得到合成图片;所述合成图片中各前景对象之间的重叠区域小于第一设定阈值。
进一步地,对于所述装置,所述确定单元502,具体用于随机确定各背景子图的图中心在所述图片中的位置;随机对各背景子图进行图片转换操作;将转换操作后的各背景子图按照各背景子图的图中心在所述图片中的位置,布局出所述背景图片。
进一步地,对于所述装置,所述确定单元502,具体用于在所述背景图片中随机确定多个前景对象框,其中,各前景对象框之间的重叠区域小于所述第一设定阈值;随机对各前景对象进行图片转换操作;将转换操作后的各前景对象填充至所述各前景对象框中,从而布局出所述合成图片。
进一步地,对于所述装置,所述确定单元502,具体用于所述各前景对象框中至少存在两个前景对象框的大小不同;从各前景对象中筛选出与所述各前景对象框大小匹配的前景对象;将大小匹配的前景对象填充至对应的前景对象框中。
进一步地,对于所述装置,所述确定单元502,具体用于对各背景子图进行随机旋转和/或随机缩放;所述确定单元,具体用于对各前景对象进行随机旋转和/或随机缩放。
进一步地,对于所述装置,所述确定单元502,具体用于将所述第一图片中的前景图的像素置为预设值;按照设定截取框对所述第一图片进行截取;若截取图片中所述预设值的像素占所述截取图片的像素的比率小于第二设定阈值,则将所述截取图片作为所述背景子图。
进一步地,对于所述装置,根据前景对象占第二图片的比率,确定前景对象的缩小比例和前景对象的旋转角度;其中,比率越大,旋转角度越小且缩小比例越大;比率越小,旋转角度越大且缩小比例越小。
本发明实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于图片合成的方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行图片合成的方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行图片合成的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。