本发明涉及机器人智能感知的深度学习应用领域,尤其涉及一种基于物理仿真的物体语义和位姿数据集生成方法。
背景技术:
随着机器人智能感知技术的发展,基于深度学习的物体识别算法对拓展机器人工业分拣应用场景起到了重要作用。对实际机器人工业分拣应用,训练一个有效的深度学习物体识别模型需要针对具体的识别物体建立有对应标注的大规模数据集。目前,物体识别数据集的标注信息主要包括场景中每个物体的类别,包围框,语义分割和三维位姿;在实际数据集建设时,现有技术主要采用传统人工标注和后处理的方法来进行标注,标注和数据获取成本大。为了降低物体识别数据集建设的成本,本发明在考虑实际机器人感知应用中传感器实际可获取数据和物体识别目标的情况下,在工业机器人分拣场景下生成逼真的可供深度学习模型训练和位姿识别算法测试的物体语义和位姿数据集,通过在物理仿真场景中,随机生成大量不同物体摆放场景和不同相机光源位置,自动生成颜色图像,深度图像和点云数据,并对应生成每个物体的类别、包围框、语义分割和位姿标注,构建大规模数据集。
因此,本领域的技术人员致力于开发一种基于物理仿真的物体语义和位姿数据集生成方法。
技术实现要素:
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如果采用传统人工标注和后处理的方法来进行标注,标注和数据获取成本大。
为实现上述目的,本发明提供了一种基于物理仿真的物体语义和位姿数据集生成方法,其特征在于,所述方法包括以下步骤:
步骤1、针对数据应用场景进行几何建模;
步骤2、通过物理引擎建立物理场景,初始化场景各个几何体物理仿真参数和渲染配置;
步骤3、随机初始化相机配置,光源配置和物体类型,个数及初始姿态;
步骤4、根据物理场景当前状态进行仿真解算,达到物理稳定结果,贴近实际物体堆叠场景;
步骤5、根据当前相机配置渲染场景的颜色图像,深度图像和点云数据,恢复场景点云;
步骤6、通过读取物理世界内部参数和渲染设置,得到场景中每个物体的类别,语义,包围框和位姿等标注信息;
步骤7、重复步骤4至步骤6,直至数据集达到指定数据规模,生成大规模数据集。
进一步地,所述步骤1包括如下步骤:
步骤1.1、对物体和构成所述数据应用场景的物体建立三维几何模型;
步骤1.2、利用实际物体和场景表面拍摄的图像,对所述三维几何模型的表面进行贴图,从而得到外观贴近真实物体的三维模型。
进一步地,所述步骤2包括如下步骤:
步骤2.1、将所述外观贴近真实物体的三维模型导入物理引擎,建立贴近真实环境的具备相应仿真参数的物理场景;
步骤2.2、利用所述物理引擎初始化各个所述三维模型的仿真碰撞参数,物体类型、个数及初始姿态。
进一步地,所述步骤3包括如下步骤:
步骤3.1、随机初始化相机配置,渲染配置,光源配置;
步骤3.2、通过随机环境光照和相机位置,获得多角度的贴近真实场景的物体渲染配置。
进一步地,所述步骤6包括如下步骤:
步骤6.1、通过独立渲染得到每个物体对应的类别,包围框和语义掩模;
步骤6.2、通过内部参数读取对应物体的位姿数据,并将物体位姿统一到相机坐标系下。
进一步地,所述步骤7通过重复仿真和标签生成,使所述数据集达到贴近真实场景的指定规模
进一步地,步骤1.2中的所述贴图的图源来自相机拍摄的实际物体和场景的各个方向视图。
进一步地,步骤6.1中的所述渲染只对单个物体表面进行,遮挡部分不会被渲染。
进一步地,步骤4中的所述仿真解算采用基于网格的碰撞体检测算法进行物理仿真。
进一步地,步骤3.2中的所述渲染配置包括物体表面漫反射渲染。
在本发明的较佳实施方式中,本发明能够获取逼近真实场景的数据集,适应于工业领域物体分拣应用中的低成本数据集生成,同样适应于其他物体语义和位姿识别领域的数据集生成应用,具有成本低、数据集逼近真实场景和应用范围广的效果。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是基于物理仿真的数据集生成系统;
图2是基于真实贴图的物体模型;
图3是基于真实贴图的场景模型;
图4是基于物理仿真的数据集生成算法;
图5是基于物理仿真的颜色图像;
图6是基于物理仿真的深度图像;
图7是基于物理仿真的场景点云。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图1所示,本发明提供了一种基于物理仿真的物体语义和位姿数据集生成方法的系统框架,包含物理仿真世界建模和初始化流程,场景样本获取和自动标签生成,本发明旨在实现一种面向机器人物体分拣领域的大规模数据集生成方法。这里给出本发明的一个实施实例,其特征在于包括以下步骤:
步骤1:第一,如图2,3所示,建立贴近真实世界的物体和场景的三维模型,其中物体以一个盒装饼干为例,场景以料箱场景为例。通过几何建模,建立物体和场景的三维几何模型,然后通过相机拍摄实际物体和场景的各个方向视图,据此建立模型表面贴图,从而构建具备真实物体图像贴图的三维模型。
第二,将真实物体贴图的物体和场景模型导入物理仿真引擎,并设置物理质量和碰撞参数,设定物体碰撞检测算法,这里采用基于网格的碰撞体检测算法进行物理仿真。
第三,设定物理仿真环境的渲染参数,包括物体表面漫反射等渲染,使整体渲染场景贴近真实物理世界。
步骤2:第一,随机初始化物体的位姿,使物体随机分布于料箱上方;随机初始化化相机位姿,初始化位姿范围位于料箱上方,正对料箱,保证对同一场景具备多角度的观察位置;随机初始化光源位置,采用点光源结合普通环境光,保证场景贴近真实可能存在的光照场景。
第二,完成初始化后,开始物理仿真解算,物体在重力和自身碰撞体积的作用下,最终达到一个物理稳定结果,对真实的场景中的堆叠情形进行了一个合理模拟。
步骤3:第一,根据当前相机的内参矩阵和外参矩阵配置,利用物理引擎的渲染接口渲染场景的颜色图像和深度图像,通过相机的内参矩阵参数从深度图像中恢复场景点云,得到一组数据样本。
第二,通过物理引擎读取物理世界内部物体的参数,从而得到对应位置物体的类别和位姿,根据相机位姿将物体位姿从世界坐标系变换到相机坐标系,从而使物体位姿与场景点云坐标系保持一致。
第三,通过修改物体表面材质参数,实现只对单个物体表面进行渲染,其中遮挡部分不会被渲染;通过去除背景颜色,提取对应单个物体的语义掩模信息;根据语义掩模信息提取出对应物体的包围框;至此,对单个数据样本,包括颜色图,深度图和点云,提取出场景中每个物体的类别,包围框,语义掩模和三维位姿等标注信息,保存到对应标注文本,其中语义掩模采用游程编码保存,三维位姿采用位置结合四元数保存。
第四,如图4所示,重复随机初始化物体位姿,相机位姿和光源配置,模拟逼真的物体堆叠场景,生成样本至指定规模,构建大规模仿真数据集。本发明基于物理仿真的物体语义和位姿数据集生成结果如图5,6,7所示,由于建模和场景渲染贴近真实物理世界,仿真得到的结果对实际的机器人物体分拣场景进行较为贴近的模拟,能够满足深度学习的模型训练和位姿识别算法测试的要求。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。