1.本技术属于机器人感知、规划、控制技术领域,具体而言,涉及一种机器人野外可行驶区域数据集制作方法、设备及存储介质。
背景技术:
2.在复杂野外场景中工作的野外作业机器人进行环境感知与理解的深度学习算法模型的训练时,需要获取大量的野外场景可行驶区域图像数据及需要对大量的野外场景可行驶区域的图像样本数据进行标注。然而,在复杂的高寒缺氧、干旱荒凉等环境恶劣与气候恶劣的极端环境中去采集足够多的适用于本身的不同视角、不同天气、不同光照的可行驶区域数据集,是一种十分危险的行为,同时,对非结构化的复杂野外场景的图像数据进行人工标注也具有十分大的困难,需要耗费大量的人力资源,大量标注的样本数据的质量难以得到保证,数据集制作的效率极为低下,人工采集足够的野外场景图像数据并进行分割数据集制作以适用基于深度学习的分割算法几乎不可行。
3.现在主要的图像分割数据方法是根据目标物体的边缘,由肉眼观察并通过人工判断,一个点一个点地进行鼠标点击标注。对非结构化的复杂野外场景的图像数据进行标注也具有十分大的困难,需要耗费大量的人力资源,大量标注的样本数据的质量难以得到保证。而且场景的覆盖程度不够。
技术实现要素:
4.有鉴于此,本公开提出了一种机器人野外可行驶区域数据集制作方法、设备及存储介质,以解决修改技术中的技术问题。
5.根据本公开的第一方面,提出机器人野外可行驶区域数据集制作方法,包括:
6.根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
7.将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
8.根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
9.分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
10.可选地,所述根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型,包括:
11.(1)拍摄机器人野外可行驶区域场景中一个单个物体的多幅图像;
12.(2)根据所述多幅图像,重构得到一个单个物体的三维模型;
13.(3)重复步骤(1)和步骤(2),得到机器人野外可行驶区域场景中所有单个物体的三维模型。
14.可选地,将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景,包括:
15.(1)采用3d图像处理方法,根据设计要求,从所有单个物体的三维模型中选择相关单个物体的三维模型组合,制作得到一个静态仿真场景;
16.(2)对所述静态仿真场景进行动态改变,获取不同时间、不同天气、不同路况的更加真实的仿真场景),得到与野外可行驶区域相对应的仿真场景。
17.可选地,根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值,包括:
18.(1)利用3d图形处理方法,分别在所述仿真场景中的所有不同物体表面染上不同颜色,得到仿真场景的真值模型;
19.(2)在同一位置、以同一角度,获取仿真场景真值模型的图像真值以及仿真场景的场景图像,并对图像真值和场景图像进行编号;
20.(3)多次重复步骤(2),获取编号的多个仿真场景真值模型的图像真值以及仿真场景的场景图像。
21.可选地,对所述野外可行驶区域的场景图像和图像真值进行处理,过程为:根据编号次序,分别对所述多个仿真场景真值模型的图像真值以及仿真场景的场景图像进行配对,得到多个标注了图像真值的场景图像,多个上述场景图像组成机器人野外场景可行驶区域数据集。
22.根据本公开的第二方面,提出了机器人野外可行驶区域数据集制作装置,包括:
23.模型制作模块,用于根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
24.模型处理模块,用于将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
25.图像处理模块,用于根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
26.数据集处理模块,用于分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
27.根据本公开的第三方面,提出电子设备,包括:
28.存储器,用于存储处理器可执行的指令;
29.处理器,用于被配置执行:
30.根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
31.将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
32.根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
33.分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
34.根据本公开的第三方面,提出计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序用于使所述计算机执行时实现以下步骤:
35.根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
36.将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
37.根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
lightroom中处理源图像,以便进行全色校正。
54.然后利用reality capture处理图像,获取高质量的模型扫描的数据,使用zbrush和maya的组合进行抽取,重新拓扑和uv。
55.然后在substance painter中烘焙纹理贴图(ao,曲率,切线法线,世界空间法线,位置贴图),并在xnormal中烘焙基色和弯曲法线,从基色贴图中删除所有高光和阴影,从而生成未照明的albedo贴图。生成albedo贴图后,将使用substance generators和custom mask在substance painter中创建所有pbr贴图,隔离扫描的特定功能并确保可以实现资产的物理和准确外观。
56.(3)重复步骤(1)和步骤(2),得到机器人野外可行驶区域场景中所有单个物体的三维模型。
57.在步骤2中,将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景。
58.在一个实施例中,将单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景,包括:
59.(1)采用3d图像处理方法(例如游戏引擎),根据设计要求,从所有单个物体的三维模型中选择相关单个物体的三维模型组合,制作得到一个全栈闭环的静态仿真场景;
60.(2)对所述静态仿真场景进行动态改变,(即,在静态仿真场景中加入动态元素,例如光照、烟雾、雨雪、人物、动物等等,以获取不同时间、不同天气、不同路况的更加真实的仿真场景),得到与野外可行驶区域相对应的仿真场景。
61.从真实世界开始,对真实世界做简化,重点关注野外场景中的可行驶道路区域。结合ue4强大的游戏引擎,可以利用小面积的野外仿真(荒漠、草原、山地或丛林)可行驶道路场景模拟较大面积的对应的真实场景。
62.在步骤3中,根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值。
63.在一个实施例中,根据仿真场景,获取野外可行驶区域的场景图像和图像真值,包括:
64.(1)利用3d图形处理方法(例如3d studio max、maya软件、blender等等),分别在所述仿真场景中的所有不同物体表面染上不同颜色,得到仿真场景的真值模型;
65.使用ue4直接渲染出来的图像没有畸变,而真实的摄像机拍照会产生畸变,可以加上摄像机的径向畸变和切向畸变模拟,为感知模块输出大量有标注的数据,帮助感知模块训练感知算法,提高轮式机器人的复杂野外场景中的仿真图像的真实性。
66.(2)在同一位置、以同一角度,利用虚拟相机获取仿真场景真值模型的图像真值以及仿真场景的场景图像,并对图像真值和场景图像进行编号;
67.(3)多次重复步骤(2),获取编号的多个仿真场景真值模型的图像真值以及仿真场景的场景图像。
68.在步骤4中,分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
69.一个实施例中,对野外可行驶区域的场景图像和图像真值进行处理的过程为:根据编号次序,分别对所述多个仿真场景真值模型的图像真值以及仿真场景的场景图像进行配对,得到多个标注了图像真值的场景图像,多个上述场景图像组成机器人野外场景可行
驶区域数据集。
70.与上述机器人野外可行驶区域数据集制作方法的实施例相对应地,本公开还提出了机器人野外可行驶区域数据集制作装置的实施例。
71.图3是根据本公开实施例示出的机器人野外可行驶区域数据集制作装置的示意框图。
72.如图3所示,所述机器人野外可行驶区域数据集制作装置包括:
73.模型制作模块,用于根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
74.模型处理模块,用于将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
75.图像处理模块,根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
76.数据集处理模块,分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
77.本公开的实施例还提出了一种电子设备,包括:
78.存储器,用于存储处理器可执行的指令;
79.处理器,用于被配置执行:
80.根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
81.将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
82.根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
83.分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
84.本公开的实施例还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序,该程序被处理器执行时实现以下步骤:
85.根据机器人野外可行驶区域场景,分别制作场景中各单个物体的三维模型;
86.将所有所述单个物体的三维模型进行组合,形成与野外可行驶区域相对应的仿真场景;
87.根据所述仿真场景,获取野外可行驶区域的场景图像和图像真值;
88.分别对所述野外可行驶区域的场景图像和图像真值进行处理,得到机器人野外场景可行驶区域数据集。
89.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其
中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
90.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
91.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收第一用户为接入方软件配置引导信息的请求;根据请求,为第一用户提供配置页面;获取第一用户在配置页面为引导信息设置的显示条件和显示位置信息;在引导配置系统中保存引导信息的显示条件和显示位置信息;在监测到接入方软件的运行满足显示条件时,控制接入方软件根据显示位置信息显示引导信息。
92.或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收第一用户为接入方软件配置引导信息的请求;根据请求,为第一用户提供配置页面;获取第一用户在配置页面为引导信息设置的显示条件和显示位置信息;在引导配置系统中保存引导信息的显示条件和显示位置信息;在监测到接入方软件的运行满足显示条件时,控制接入方软件根据显示位置信息显示引导信息。
93.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
94.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
95.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器
(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
96.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
97.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
98.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。
99.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
转载请注明原文地址:https://win.8miu.com/read-950005.html