一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种在三维仿真中使用的图像标注方法及装置、电子设备与流程

2021-12-07 23:57:00 来源:中国专利 TAG:


1.本技术涉及数据标注领域,尤其涉及一种在三维仿真中使用的图像标注方法及装置、电子设备。


背景技术:

2.图像标注,简单来说就是在图像上标注目标物体的类型、所在的位置、速度和其他属性,作为深度模型或其他分类器的训练数据。训练一个优秀的算法,拥有更多的数据和获取更准确的标注信息都是非常重要的。
3.目前的训练数据主要来自物理传感器的现场采集,数据采集成本高,难度大,后期标注以人工为主;优点是采集训练数据的环境与最终模型的工作环境高度一致,对模型的识别精度有非常大的帮助。最近,三维仿真技术也被用来产生训练数据,三维仿真的优点是产生数据成本低、速度快,缺点是仿真数据与真实环境还是存在一定的差异,会一定程度地影响模型的识别精度。将仿真数据作为一种补充,是非常不错的选择。
4.在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:目前的标注方法以人工标注为主,辅以半自动化的标注。半自动化标注是以人工标注的少量数据,先训练一个不是太精确的初级模型,然后用这个初级模型,自动识别图像中的目标,输出目标物体的类型、位置和其他属性数据,对输出标注不准确的,再人工加以精确调整。再用更多的数据训练更精确的模型
……
可多次反复,螺旋上升。


技术实现要素:

5.本技术实施例的目的是提供一种方法及装置、电子设备,以解决相关技术中存在的无法对图像进行全自动化标注的技术问题。
6.根据本技术实施例的第一方面,提供一种在三维仿真中使用的图像标注方法,包括:
7.构建三维场景,所述三维场景中包含有目标物体、虚拟摄像头及遮挡物体;
8.通过虚拟摄像头获取视野范围内的图像;
9.判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;
10.如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注。
11.进一步地,判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物体在所述虚拟摄像头的视野内,则生成目标物体的检测点,包括:
12.获取目标物体的三维边界框,根据所述三维边界框,计算得到所述三维边界框上的各顶点在图像中的物理坐标;
13.根据所述图像和所述虚拟摄像头的视场角,计算得到所述虚拟摄像头的物理坐标边界;
14.如果任一顶点的图像物理坐标在所述虚拟摄像头的物理坐标边界内,则所述目标物体在所述虚拟摄像头的视野内;
15.根据所述顶点的物理坐标、虚拟摄像头的物理坐标边界和所述图像,生成目标物体的检测点。
16.具体地,获取目标物体的三维边界框,根据所述三维边界框,计算得到所述三维边界框上的各顶点在图像中的物理坐标,包括:
17.获取目标物体的第一世界坐标、第一朝向以及三维边界框的长宽高;
18.根据上述第一世界坐标、第一朝向以及三维边界框的长宽高,计算得到所述目标物体三维边界框上顶点的第二世界坐标;
19.将所述第二世界坐标转换为摄像头坐标;
20.根据上述摄像头坐标,计算所述顶点的图像物理坐标。
21.具体地,根据所述顶点的物理坐标、虚拟摄像头的物理坐标边界和所述图像,生成目标物体的检测点,包括:
22.根据所述顶点的图像物理坐标、虚拟摄像头的物理坐标边界和输出图像像素宽高,计算所述顶点的图像像素坐标;
23.根据所述图像像素坐标,计算得到目标物体的二维边界框的长宽;
24.根据所述三维边界框的长宽高,计算得到所述三维边界框的体对角线长;
25.根据上述二维边界框的长宽和三维边界框的体对角线长,计算得到收缩步长;
26.根据所述收缩步长和三维边界框的体对角线长,对所述三维边界框进行收缩;
27.根据收缩后的三维边界框以及所述目标物体中心点,生成目标物体的检测点。
28.进一步地,根据所述收缩步长和三维边界框的体对角线长,对所述三维边界框进行收缩,包括:
29.根据所述收缩步长和三维边界框的体对角线长,计算得到收缩参数;
30.设置收缩比例;
31.根据所述收缩比例,沿所述目标物体的体对角线方向收缩三维边界框;更新收缩比例,将所述收缩比例减去收缩参数的差作为新的收缩比例;重复此步骤直至所述收缩比例低于或等于零。
32.具体地,如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注,包括:
33.获取所述虚拟摄像头的第三世界坐标;
34.根据上述第三世界坐标和检测点的世界坐标,判断所述虚拟摄像头与检测点之间是否存在遮挡物体,如果有任一所述检测点未被遮挡,则对所述图像中的目标物体的二维边界框进行标注。
35.根据本技术实施例的第二方面,提供一种在三维仿真中使用的图像标注装置,包括:
36.构建模块,构建三维场景,所述三维场景中包含有目标物体、虚拟摄像头及遮挡物体;
37.获取模块,通过虚拟摄像头获取视野范围内的图像;
38.生成模块,判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物
体在所述虚拟摄像头的视野中,则生成目标物体的检测点;
39.标注模块,如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注。
40.根据本技术实施例的第三方面,提供一种电子设备,包括:
41.一个或多个处理器;
42.存储器,用于存储一个或多个程序;
43.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
44.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
45.本技术的实施例提供的技术方案可以包括以下有益效果:
46.由上述实施例可知,本发明是一种在三维仿真应用中使用的图像自动标注方法,在三维场景中加入目标物体、虚拟摄像头及遮挡物体;通过虚拟摄像头获取视野范围内的图像;计算目标物体是否在虚拟摄像头的视野中,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;计算虚拟摄像头与所述目标物体的检测点之间是否存在遮挡,如果所述目标物体有任一所述检测点未被所述遮挡物体遮挡,则目标出现在图像中,对所述图像中的目标物体进行标注。本发明通过低成本的三维仿真方式,实现了标注信息和图像数据的连续输出,是一种获取智能模型训练数据的重要来源。本发明的标注方法,相较于传统方法,它有成本低、精度高、速度快等诸多优点,可应用于车辆自动驾驶、车路协同技术、数字孪生、智慧交通路口等诸多领域。
47.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
49.图1是根据一示例性实施例示出的一种在三维仿真中使用的图像标注方法的流程图。
50.图2是根据一示例性实施例示出的步骤s103的流程图;
51.图3是根据一示例性实施例示出的步骤s201的流程图;
52.图4是根据一示例性实施例示出的虚拟摄像头的视角的示意图;
53.图5是根据一示例性实施例示出的步骤s204的流程图;
54.图6是根据一示例性实施例示出的步骤s405的流程图;
55.图7是根据一示例性实施例示出的步骤s104的流程图;
56.图8是根据一示例性实施例示出的一种在三维仿真中使用的图像标注装置的框图。
具体实施方式
57.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
58.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
59.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
60.图1是根据一示例性实施例示出的一种在三维仿真中使用的图像标注方法的流程图,如图1所示,可以包括以下步骤:
61.步骤s101:构建三维场景,所述三维场景中包含有目标物体、虚拟摄像头及遮挡物体;
62.步骤s102:通过虚拟摄像头获取视野范围内的图像;
63.步骤s103:判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;
64.步骤s104:如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注。
65.由上述实施例可知,本技术本发明是一种在三维仿真应用中使用的图像自动标注方法,在三维场景中加入目标物体、虚拟摄像头及遮挡物体;通过虚拟摄像头获取视野范围内的图像;计算目标物体是否在虚拟摄像头的视野中,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;计算虚拟摄像头与所述目标物体的检测点之间是否存在遮挡,如果所述目标物体有任一所述检测点未被所述遮挡物体遮挡,则目标出现在图像中,对所述图像中的目标物体进行标注。本发明通过低成本的三维仿真方式,实现了标注信息和图像数据的连续输出。本发明的标注方法,相较于传统方法,它有成本低、精度高、速度快等诸多优点,可应用于车辆自动驾驶、车路协同技术、数字孪生、智慧交通路口等诸多领域。
66.在步骤s101的具体实施中,构建三维场景,所述三维场景中包含有目标物体、虚拟摄像头及遮挡物体;
67.具体地,创建虚拟或按真实环境重建的三维场景,并导入虚拟引擎中,本实施例中使用的是虚幻引擎ue4(unreal engine 4);在场景中加入若干个可运动的目标物体(主要指人,非机动车和机动车),目标物体应具备自主运动的能力,比如沿设定路线运动,以保证输出图像的多样性;安装虚拟摄像头,设置摄像头参数(包括图像分辨率、视场角等),安装位置(包括坐标、朝向)。
68.为了提供丰富的场景及标注准确的图像数据。通过创建虚拟场景的方式,可以丰富图像的场景;针对某一特定真实环境建模,可以提升在此场景下的算法性能。目标物体自
主运动是为了保证图像的多样性,以保证训练数据足够丰富。
69.在步骤s102的具体实施中,通过虚拟摄像头获取视野范围内的图像;
70.具体地,通过ue4,在上述三维场景中的某一特定位置,放置一个虚拟摄像头,通过显卡运算,输出对应的图像。
71.在步骤s103的具体实施中,判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;具体地,如图2所示,此步骤包括以下子步骤:
72.步骤s201:获取目标物体的三维边界框,根据所述三维边界框,计算得到所述三维边界框上的各顶点在图像中的物理坐标;具体地,如图3所示,该步骤可包括以下过程:
73.步骤s301:获取目标物体的第一世界坐标、第一朝向以及三维边界框的长宽高;
74.具体地,所述目标物体的第一世界坐标(x
i
,y
i
,z
i
)、朝向(pitch
i
,yaw
i
,roll
i
)、三维边界框的长宽高(w
i
,h
i
,l
i
)。三维边界框在步骤s101加入目标物体时指定,比如车辆的长宽高,目标物体的坐标和朝向在仿真中会不断的更新。
75.步骤s302:根据上述第一世界坐标、第一朝向以及三维边界框的长宽高,计算得到所述目标物体三维边界框上顶点的第二世界坐标;
76.具体地,根据所述目标物体的第一世界坐标(x
i
,y
i
,z
i
)、朝向(pitch
i
,yaw
i
,roll
i
)以及三维边界框的长宽高(w
i
,h
i
,l
i
)。将目标物体转换至局部坐标系:
[0077][0078][0079]
在局部坐标系下,将目标物体中心点(x
i
,y
i
,z
i
)沿x、y、z轴正负方向分别平移,如下,
[0080][0081][0082][0083]
[0084][0085][0086][0087][0088]
得到三维边界框8个顶点的世界坐标。边界框是包围目标的最小长方体,使用目标物体三维边界框可以使后续判断目标物体是否在摄像头视野中的计算更加准确。
[0089]
步骤s303:将所述第二世界坐标转换为摄像头坐标;
[0090]
具体地,摄像头所在位置坐标为第三世界坐标(x
s
,y
s
,z
s
);以顶点(x0,y0,z0)为例,转换到摄像头坐标
[0091][0092]
其中,r与s302相同。
[0093]
其他顶点按相同方法转换,所有顶点表示为
[0094][0095]
步骤s304:根据上述摄像头坐标,计算所述顶点的图像物理坐标。
[0096]
具体地,虚拟摄像头默认将视角朝向x轴,如下图4所示,摄像头成像平面对应为yz平面,根据摄像头成像原理,利用下式计算得到顶点的图像物理坐标(x
j
,y
j
):
[0097][0098]
得到图像物理坐标才能计算图像像素坐标。
[0099]
步骤s202:根据所述图像和所述虚拟摄像头的视场角,计算得到所述虚拟摄像头的物理坐标边界;
[0100]
具体地,根据摄像头成像原理,利用下式计算所述虚拟摄像头的物理坐标边界
[0101][0102]
其中(w
s
,h
s
)为输出图像像素宽高,为可调参数,对虚拟摄像头来说需要在初始化时人为设置,一般可取(1920,1080)、(1280,720)等。fov为视场角,也是设置参数,可取60度,90度等大于0小于180的值。在仿真开始放置摄像头时,必须设置这些参数。计算物理坐标边界是为了比较目标物体的坐标是否落在摄像头范围内。
[0103]
步骤s203:如果任一顶点的图像物理坐标在所述虚拟摄像头的物理坐标边界内,则所述目标物体在所述虚拟摄像头的视野内;
[0104]
具体地,如果x
j
在范围[

x
limit
,x
limit
]且y
j
在范围[

y
limit
,y
limit
],则当前顶点在摄像头视野范围内;
[0105]
步骤s204:根据所述顶点的物理坐标、虚拟摄像头的物理坐标边界和所述图像,生成目标物体的检测点。具体地,如图5所示,此步骤可以包括以下子步骤:
[0106]
步骤s401:根据所述顶点的图像物理坐标、虚拟摄像头的物理坐标边界和输出图像像素宽高,计算所述顶点的图像像素坐标;
[0107]
具体地,根据摄像头成像的相似三角形原理,利用下式计算顶点的图像像素坐标:
[0108][0109]
推导出,
[0110][0111]
其中,(x
j
,y
j
)为顶点的图像物理坐标,x
limit
、y
limit
为虚拟摄像头的物理坐标边界,(w
s
,h
s
)为输出图像像素宽高。
[0112]
步骤s402:根据所述图像像素坐标,计算得到目标物体的二维边界框的长宽;
[0113]
具体地,二维边界框表示为:[u
min
,v
min
,u
max
,v
max
],根据下式计算:
[0114][0115]
其中c
f
为该目标物体在所述虚拟摄像头视野中的顶点的数量,(u
j
,v
j
)为顶点的图像像素坐标;即在二维图像中,取能包围目标物体的最小矩形;超过图像边界的部分,则按边界截断。
[0116]
目标物体的二维边界框的长宽计算方式如下:
[0117][0118]
已知矩形框在横向和纵向的最大最小坐标,则上式明显成立。计算二维边界框的长宽是为了在生成检测点中使用,长宽值越大,说明目标物体离摄像头越近,需要生成的检测点越少。
[0119]
步骤s403:根据所述三维边界框的长宽高,计算得到所述三维边界框的体对角线长;
[0120]
具体地,目标物体三维边界框的体对角线长可根据下式计算:
[0121][0122]
其中,w
i
为三维边界框的长,h
i
为三维边界框的宽,l
i
为三维边界框的高。
[0123]
步骤s404:根据上述二维边界框的长宽和三维边界框的体对角线长,计算得到收缩步长;
[0124]
具体地,收缩步长的计算式如下:
[0125][0126]
其中α可取任意正数值,在本实施例中α取[10,100]之间的固定值。
[0127]
α的取值越小,d越小,生成的检测将会越多,计算精度越高,计算量越大;反之,α的取值越小,d越大,生成的检测将会越小,计算精度越低,计算量越小;同时,l
u
,l
v
越小,d越大,生成的检测点越少;反之,生成的检测点越多;可以看到,α是人为调节检测点数量的参数,而目标物体成像大小(离摄像头的远近)则会自动调节检测点数量。
[0128]
步骤s405:根据所述收缩步长,对所述三维边界框进行收缩;更进一步地,如图6所
示,此步骤还可以包括:
[0129]
步骤s501:根据所述收缩步长和三维边界框的体对角线长,计算得到收缩参数;
[0130]
具体地,根据下式计算收缩参数k:
[0131][0132]
其中d为收缩步长,d为三维边界框的体对角线长。
[0133]
步骤s502:设置收缩比例;
[0134]
具体地,设置收缩比例r=1,循环初值,即不收缩。
[0135]
步骤s503:根据所述收缩比例,沿所述目标物体的体对角线方向收缩三维边界框;更新收缩比例,将所述收缩比例减去收缩参数的差作为新的收缩比例;重复此步骤直至所述收缩比例低于或等于零;
[0136]
具体地,沿所述目标物体的体对角线方向,将所述三维边界框由(w
i
,h
i
,l
i
)收缩为(r
×
w
i
,r
×
h
i
,r
×
l
i
);收缩完成后,更新收缩比例r=r

k;重复此步骤的过程直到r≤0;收缩边界框是为了生成更多的均匀分布的检测点,让部分被遮挡的目标依然能被检测到。
[0137]
步骤s406:根据收缩后的三维边界框或所述目标物体中心点,生成目标物体的检测点;
[0138]
具体地,将收缩后的三维边界框的8个顶点或目标物体的中心点(r≤0时)作为目标物体的检测点;生成的检测点,作为后续检测摄像头到检测点之间是否存在遮挡的前提。
[0139]
需要说明的是,上述步骤s502中,每一次进行收缩之后,收缩后的三维边界框都会如步骤s406所述生成目标物体的检测点,即如果目标物体在步骤s502中收缩了n次,则在步骤s406中生成了8
×
n 1个检测点。
[0140]
在步骤s104的具体实施中,如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注。具体地,如图7所示,此步骤包括以下子步骤:
[0141]
步骤s601:获取所述虚拟摄像头的第三世界坐标;
[0142]
具体地,获取所述虚拟摄像头的第三世界坐标(x
s
,y
s
,z
s
);摄像头坐标在三维仿真环境创建时放置,坐标也已经确定。
[0143]
步骤s602:根据上述第三世界坐标和检测点的世界坐标,判断所述虚拟摄像头与检测点之间是否存在遮挡物体,如果有任一所述检测点未被遮挡,则对所述图像中的目标物体的二维边界框进行标注。
[0144]
具体地,使用游戏引擎中的射线碰撞检测算法检测所述虚拟摄像头到检测点之间是否存在遮挡物体,其中对于透明遮挡物体(比如玻璃)和栅格状遮挡物体(比如铁丝网),可设置为不遮挡,以保证其后方的物体可被检测到;如果目标物体的所有检测点中有任意一个未被遮挡,则说明该目标物体未被完全遮挡,则在上述步骤s102所述图像中标注出所述目标物体的二维边界框。
[0145]
与前述的一种在三维仿真中使用的图像标注方法的实施例相对应,本技术还提供了一种在三维仿真中使用的图像标注装置的实施例。
[0146]
图8是根据一示例性实施例示出的一种在三维仿真中使用的图像标注装置框图。参照图8,该装置包括:
[0147]
构建模块21,构建三维场景,所述三维场景中包含有目标物体、虚拟摄像头及遮挡
物体;
[0148]
获取模块22,通过虚拟摄像头获取视野范围内的图像;
[0149]
生成模块23,判断所述目标物体是否在所述虚拟摄像头的视野内,如果所述目标物体在所述虚拟摄像头的视野中,则生成目标物体的检测点;
[0150]
标注模块24,如果有任一所述检测点未被所述遮挡物体遮挡,则对所述图像中的目标物体进行标注。
[0151]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0152]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0153]
相应的,本技术还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的一种在三维仿真中使用的图像标注方法。
[0154]
相应的,本技术还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的一种在三维仿真中使用的图像标注方法。
[0155]
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0156]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献