一种香烟终端陈列样本图像自动生成的仿真方法与模型与流程

文档序号:31844430发布日期:2022-10-18 23:25阅读:72来源:国知局
一种香烟终端陈列样本图像自动生成的仿真方法与模型与流程

1.本发明涉及深度学习技术领域,尤其涉及一种香烟终端陈列样本图像自动生成的仿真方法与模型。


背景技术:

2.深度学习是学习样本数据的内在规律和表示层次,最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
3.在深度学习中,收集训练样本是必不可少也是最重要的一环,训练样本的好坏程度间接决定了深度学习模型的效果,由于烟草行业的特殊性,导致收集样本的过程漫长且困难,需要一种能够快速生成烟盒陈列或摆放的样本图像的方法。
4.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:针对某些行业,现有的技术方案难以快速获取其深度学习所需的大量样本图像。


技术实现要素:

5.本发明的目的在于提供一种香烟终端陈列样本图像自动生成的仿真方法与模型,以解决现有技术中存在的针对某些行业,现有的技术方案难以快速获取其深度学习所需的大量样本图像的技术问题。本发明提供的诸多技术方案中的优选技术方案所能产生的诸多技术效果详见下文阐述。
6.为实现上述目的,本发明提供了以下技术方案:本发明提供的一种香烟终端陈列样本图像自动生成的仿真方法,包括以下步骤:s100:获取真实样本图像的基础数据,建立基础模型,预设所述基础模型生成样本图像的数量;所述基础模型包括柜台模型和样本对象模型;s200:通过python将所述样本对象模型生成的多个所述样本对象随机分布在所述柜台模型生成的柜台内部,得到待处理图像;s300:对所述待处理图像进行坐标相对转换处理,得到带有坐标标注的所述样本图像;s400:判断所述样本图像的数量是否达到预设值;若否,循环步骤s200~s400;若是,结束所述样本图像的生成。
7.优选的,所述s300步骤中,对所述待处理图像进行坐标相对转换处理,具体包括:s310:对所述待处理图像进行渲染,设定3d相机的位置和3d仿真的原点;s320:将所述样本对象在3d空间中的3d坐标信息均通过坐标矩阵转换算法转换为2d图像的2d坐标信息;所述2d坐标信息保存为所述样本图像的所述坐标标注。。
8.优选的,所述s200步骤的具体流程为:
s210:所述样本对象模型、柜台模型分别生成所述样本对象、柜台;s220:所述样本对象、柜台均赋予体积碰撞属性,为所述样本对象赋予重力信息;s230:设定所述柜台的长宽高和初始3d坐标为(x,y,z),通过python将所述样本对象随机分布在所述柜台内部,生成初始图像;s240:通过重力和时序算法获取所述样本对象的3d坐标;s250:保存所述3d坐标、初始图像,输出为所述待处理图像。
9.优选的,所述s310步骤中,对所述待处理图像进行渲染之前,还包括为所述3d空间增加随机光照亮度。
10.优选的,所述样本对象的所述3d坐标在python中均保存在(obj_x,obj_y,obj_z)列表。
11.优选的,所述s320步骤中,所述坐标矩阵转换算法包括平移矩阵公式和旋转矩阵公式。
12.优选的,所述平移矩阵的公式为:move_point=original_point-[ obj_x,obj_y,obj_z];所述旋转矩阵的公式为:r_x=[[1,0,0],[0,cos(obj_x),sin(obj_x)],[0,-sin(obj_x),cos(obj_x)]]r_y=[[cos(obj_y),0,-sin(obj_y)],[0,1,0],[sin(obj_y),0,cos(obj_y)]]r_z=[[cos(obj_z),sin(obj_z),0],[-sin(obj_z),cos(obj_z),0],[0,0,1]];其中,所述r_x、r_y、r_z分别为所述样本对象在3d空间中距离所述原点绕x轴、y轴、z轴的相对坐标转换向量;所述move_point为所述样本对象距离所述原点的移动距离;所述original_point为原点坐标;所述cos(obj_x)、cos(obj_y)、cos(obj_z)、sin(obj_x)、sin(obj_y)和sin(obj_z)均为所述旋转矩阵的欧拉角。
[0013]
优选的,所述基础数据为所述样本对象的形状、尺寸和所述柜台的材质和尺寸;所述材质包括玻璃和木材,所述木材上分布有木纹。
[0014]
优选的,所述s100步骤中,建立基础模型,具体包括:s110:分别建立所述样本对象、柜台的白盒模型;s120:根据真实样本图片获取的所述基础数据和样本对象白盒模型,通过3d仿真生成带有真实纹理的所述样本对象模型;s130:根据所述柜台的材质、尺寸和柜台白盒模型,通过3d仿真进行随机贴图生成所述柜台模型。
[0015]
此外,本发明还提供一种香烟终端陈列样本图像自动生成的仿真模型,所述仿真模型用于实现所述仿真方法,包括:获取模块,获取真实样本图像,并提取其基本数据;样本对象生成模块,根据所述真实样本图像、基本数据进行3d仿真,生成具有真实纹理的所述样本对象;柜台生成模块,根据所述真实样本图像、基本数据进行3d仿真,随机贴图后生成所述柜台;3d空间随机分布模块,将所述样本对象随机分布在所述柜台内部,得到待处理图像;
样本生成模块,获取所述样本对象的3d坐标信息,对所述3d坐标信息进行坐标相对转换处理,得到2d坐标信息;所述2d坐标信息保存为所述样本对象的所述坐标标注,将所述坐标标注、待处理图像输出为所述样本图像。
[0016]
实施本发明上述技术方案中的一个技术方案,具有如下优点或有益效果:本发明通过真实样本图像获取的基础数据建立基础模型,并将基础模型生成的多个样本对象随机分布在柜台内部,生成初始图像。然后通过python对样本对象在3d空间的坐标值进行坐标相对转换处理,最终得到带有2d坐标标注的样本图像。整个操作过程方便快捷,通过自动化操作提高了作业效率,实现了对真实场景的模拟,便于快速获取香烟在深度学习领域所需的大量样本图像。
附图说明
[0017]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,附图中:图1是本发明实施例一的方法流程图;图2是本发明实施例一的s100步骤具体流程图;图3是本发明实施例一的s200步骤具体流程图;图4是本发明实施例一的s300步骤具体流程图;图5是本发明实施例二的结构示意图。
具体实施方式
[0018]
为了使本发明的目的、技术方案及优点更加清楚明白,下文将要描述的各种示例性实施例将要参考相应的附图,这些附图构成了示例性实施例的一部分,其中描述了实现本发明可能采用的各种示例性实施例。除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。应明白,它们仅是与如所附权利要求书中所详述的、本发明公开的一些方面相一致的流程、方法和装置等的例子,还可使用其他的实施例,或者对本文列举的实施例进行结构和功能上的修改,而不会脱离本发明的范围和实质。
[0019]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”等指示的是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的元件必须具有的特定的方位、以特定的方位构造和操作。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。术语“多个”的含义是两个或两个以上。术语“相连”、“连接”应做广义理解,例如,可以是固定连接、可拆卸连接、一体连接、机械连接、电连接、通信连接、直接相连、通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0020]
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明,仅示出了与
本发明实施例相关的部分。
[0021]
实施例一:如图1所示,本发明提供了一种香烟终端陈列样本图像自动生成的仿真方法,包括以下步骤:s100:获取真实样本图像的基础数据,建立基础模型,预设基础模型生成样本图像的数量;基础模型包括柜台模型和样本对象模型;s200:通过python将样本对象模型生成的多个样本对象随机分布在柜台模型生成的柜台内部,得到待处理图像;s300:对待处理图像进行坐标相对转换处理,得到带有坐标标注的样本图像;s400:判断样本图像的数量是否达到预设值;若否,循环步骤s200~s400;若是,结束样本图像的生成。具体的,本发明通过真实样本图像获取的基础数据建立基础模型,并将基础模型生成的多个样本对象随机分布在柜台内部,生成初始图像。然后通过python对样本对象在3d空间的坐标值进行坐标相对转换处理,最终得到带有2d坐标标注的样本图像。整个操作过程方便快捷,通过自动化操作提高了作业效率,实现了对真实场景的模拟,便于快速获取香烟在深度学习领域所需的大量样本图像。
[0022]
进一步的,本发明首先需要将真实样本图像输入python,提取真实样本图像中的基础数据。基础数据是深度学习对象建模的基础,主要为样本对象的尺寸及轮廓参数。需要说明的是,真实样本图像中,除了对象样本还有陈列柜台。因此,基础数据包括样本对象的形状、尺寸和柜台的材质和尺寸。通过提取的基础数据建立基础模型,在三维建模软件中,通过基础数据即可建立相应的基础模型,具体的建模软件根据需要进行选择即可。在建立基础模型之后,需要预设需要生成样本图像的数量,预设值由用户自主设定。
[0023]
基础模型包括柜台模型和样本对象模型,分别生成模拟柜台和模拟样本对象。其中,生成模拟对象的数量和品牌既可以是一个,也可以是多个,由用户进行指定。对模拟柜台和模拟样本对象的拍摄角度也不做限制。通过python实现将模拟样本对象随机分布在模拟柜台中,再通过重力和时序算法获取模拟样本对象的3d坐标信息,得到带有3d坐标信息的待处理图像。将待处理图像进行坐标相对转换处理,即可将3d空间中的坐标值转换为2d空间中的坐标值,作为坐标标注。最终输出为带有2d坐标标注的样本图像。
[0024]
如图4所示,作为可选的实施方式,s300步骤中,对待处理图像进行坐标相对转换处理,具体包括:s310:对待处理图像进行渲染,设定3d相机的位置和3d仿真的原点;s320:将样本对象在3d空间中的3d坐标信息均通过坐标矩阵转换算法转换为2d图像的2d坐标信息;2d坐标信息保存为样本图像的坐标标注。具体的,3d相机的位置和3d仿真的原点通过python进行设置,将模拟样本对象在3d相机的拍摄角度下,模拟样本对象相较于3d仿真的原点在3d空间中的3d坐标信息均通过坐标矩阵转换算法转换为2d图像的2d坐标信息,即可获得带有2d坐标标注的样本图像。
[0025]
如图3所示,作为可选的实施方式,s200步骤的具体流程为:s210:样本对象模型、柜台模型分别生成样本对象、柜台;s220:样本对象、柜台均赋予体积碰撞属性,为样本对象赋予重力信息;s230:设定柜台的长宽高和初始3d坐标为(x,y,z),通过python将样本对象随机分布在柜台内部,生成初始图像;s240:通过重力和时序算法获取样本对象的3d坐标;s250:保存3d坐标、初始图像,输出为待处理图像。具体的,设置体积碰撞属性和重力信息这些参数后,基础模型可以更真实模拟出真实场景中的各种情况,实现更逼真的效果。设定柜台的长宽高和初始坐标后,即可通过python构建模拟柜台,并将模拟样本对象随机分布在
模拟柜台内部。重力信息与具体的仿真引擎相关,不同的仿真引擎具有不同的设置算法。时序算法是将物体动态化,该过程也与选择的仿真引擎相关。其中,重力信息主要是模拟样本对象的物理效果,使其摆放的更加真实。python在物体确认最终位置不变时,才会进行坐标信息的保存步骤。
[0026]
需要说明的是,模拟样本对象的3d坐标为模拟样本对象的四个顶点的3d坐标。当确定模拟样本对象和模拟柜台的最终位置时,根据3d相机拍摄的角度,提取所有模拟样本对象在该拍摄角度下能够代表该模拟样本对象的四个顶点,用该四个顶点的3d坐标作为该模拟样本对象的位置进行保存。
[0027]
作为可选的实施方式,s310步骤中,对待处理图像进行渲染之前,还包括为3d空间增加随机光照亮度。具体的,增加随机光照是为了模拟在不同光照下,样本对象位于柜台的场景。
[0028]
作为可选的实施方式,样本对象的3d坐标在python中均保存在(obj_x,obj_y,obj_z)列表。具体的,(obj_x,obj_y,obj_z)列表为python中保存的数据格式,代表样本对象的顶点的3d坐标均存放在(obj_x,obj_y,obj_z)列表下。其中,每四个连续的顶点坐标代表一个样本对象。
[0029]
作为可选的实施方式,s320步骤中,坐标矩阵转换算法包括平移矩阵公式和旋转矩阵公式。具体的,样本对象的坐标通过平移矩阵公式和旋转矩阵公式进行3d坐标和2d坐标的转换。
[0030]
作为可选的实施方式,平移矩阵公式为:move_point=original_point-[ obj_x,obj_y,obj_z];旋转矩阵公式为:r_x=[[1,0,0],[0,cos(obj_x),sin(obj_x)],[0,-sin(obj_x),cos(obj_x)]]r_y=[[cos(obj_y),0,-sin(obj_y)],[0,1,0],[sin(obj_y),0,cos(obj_y)]]r_z=[[cos(obj_z),sin(obj_z),0],[-sin(obj_z),cos(obj_z),0],[0,0,1]];其中,r_x、r_y、r_z分别为样本对象在3d空间中距离原点绕x轴、y轴、z轴的相对坐标转换向量;move_point为样本对象距离原点的移动距离;original_point为原点坐标;cos(obj_x)、cos(obj_y)、cos(obj_z)、sin(obj_x)、sin(obj_y)和sin(obj_z)均为旋转矩阵的欧拉角。具体的,平移矩阵公式通过原点与样本对象的3d坐标计算得到;旋转矩阵公式由样本对象的3d坐标(obj_x,obj_y,obj_z)计算得到。
[0031]
作为可选的实施方式,基础数据为样本对象的形状、尺寸和柜台的材质和尺寸;材质包括玻璃和木材,木材上分布有木纹。具体的,基础数据为样本对象和柜台的形状和尺寸,形状和尺寸是深度学习对象的主要参数,模型与深度学习对象的形状和尺寸基本保持一致是建立更为真实模型的基础,形状主要指深度学习对象的长宽高三个方向的轮廓,尺寸则指具体轮廓在长宽高三个方向的具体尺寸。需要说明的是,由于有些香烟陈列图片上出现的陈列柜台的材质有木制和玻璃两种,也需要对相应的材质进行模拟。尤其是木制柜台上,常出现有木纹等不规则纹路,在3d仿真时可以对模拟柜台进行贴图处理。
[0032]
如图2所示,s100步骤中,建立基础模型,具体包括:s110:分别建立样本对象、柜台的白盒模型;s120:根据真实样本图片获取的基础数据和样本对象白盒模型,通过3d仿真生成带有真实纹理的样本对象模型;s130:根据柜台的材质、尺寸和柜台白盒模型,通过3d仿
真进行随机贴图生成柜台模型。具体的,一般将样本对象、柜台的白盒模型平展为一个平面后,通过自动处理得到uv纹理贴图,自动处理过程即将外包装以外的部分像素直接抠除,只保留外包装所对应的部分,并进行相应的变换处理。外包装即对象的最外层,人眼能够直接观察到的部分。具体变换根据基础模型的形状及外部轮廓确定,以更好与基础模型的纹理轮廓相适配。
[0033]
实施例仅是一个特例,并不表明本发明就这样一种实现方式。
[0034]
实施例二:如图5所示,本发明还提供一种香烟终端陈列样本图像自动生成的仿真模型,仿真模型用于实现实施例一的仿真方法,包括:获取模块,获取真实样本图像,并提取其基本数据;样本对象生成模块,根据真实样本图像、基本数据进行3d仿真,生成具有真实纹理的样本对象;柜台生成模块,根据真实样本图像、基本数据进行3d仿真,随机贴图后生成柜台;3d空间随机分布模块,将样本对象随机分布在柜台内部,得到待处理图像;样本生成模块,获取样本对象的3d坐标信息,对3d坐标信息进行坐标相对转换处理,得到2d坐标信息;2d坐标信息保存为样本对象的坐标标注,将坐标标注、待处理图像输出为样本图像。具体的,获取模块通过对真实样本图像进行处理,提取样本对象和柜台的基本数据,并将该基础数据分别传送给样本对象生成模块和柜台生成模块。样本对象生成模块和柜台生成模块根据基础数据和真实样本图像,进行贴图处理后分别生成模拟样本对象和模拟柜台。3d空间随机分布模块将模拟样本对象随机分布在模拟柜台内部,最后通过样本生成模块将模拟样本对象的3d坐标进行坐标相对转换,生成带有2d坐标标注的样本图像。
[0035]
以上仅为本发明的较佳实施例而已,本领域技术人员知悉,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等同替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1