训练数据生成方法、装置与电子设备与流程

文档序号:28059161发布日期:2021-12-17 22:47阅读:71来源:国知局
训练数据生成方法、装置与电子设备与流程

1.本公开涉及信息技术领域,具体而言,涉及一种用于生成单目三维目标检测模型的训练数据的训练数据生成方法、装置与电子设备。


背景技术:

2.单目三维目标检测(monocular 3d object detection)是只利用单目摄像头拍摄的图像或视频序列,即可输出目标物体类别和其在三维空间中的精确长宽高及其旋转角等信息的技术,广泛应用于车辆自动驾驶系统、智能机器人、智能视频监控、智能交通等领域。因其仅需一台视觉传感器,结构简单、相机标定也简单,在自动驾驶系统感知领域,相比于通过多线激光雷达实现的三维目标检测技术具有信息稠密、成本低的巨大优势。
3.但是,一个优秀稳定的单目三维目标检测模型需要大量场景丰富的训练数据集来训练,而相关技术中通常通过构建目标物体的三维模型(例如cad模型)来完成对单目三维目标检测模型识别二维影像的三维信息的能力的训练,训练数据有限,且生成训练数据、使用训练数据的成本高昂。
4.因此,需要一种能够大批量低成本产出单目三维目标检测模型的训练数据的方法。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种用于生成单目三维目标检测模型的训练数据的训练数据生成方法、装置与电子设备,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的单目三维目标检测模型的训练数据稀缺问题。
7.根据本公开实施例的第一方面,提供一种训练数据生成方法,包括:获取目标图像对应的目标三维点云数据,所述目标三维点云数据包括多个物体的三维标注框以及每个所述三维标注框对应的标注结果;获取在所述目标图像的识别范围内的第一三维标注框;对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框;根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据,所述训练数据用于训练所述目标检测模型。
8.在本公开的一种示例性实施例中,所述获取在所述目标图像的识别范围内的第一三维标注框包括:获取所述目标三维点云数据中的三维标注框在第一投影面的投影框以及所述投影框的中心点坐标,所述第一投影面为所述目标图像对应的拍摄面;如果一个所述中心点坐标在所述目标图像的显示坐标范围外,删除所述中心点坐标对应的三维标注框;如果两个所述投影框的重叠度大于第一预设值,删除两个所述投影框对应的两个三维标注框中三维中心点距离所述第一投影面较远者;将剩余的所述三维标注框确定为所述第一三维标注框。
9.在本公开的一种示例性实施例中,所述对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框包括:获取两个第一三维标注框在第二投影面的第一投影框和第二投影框,所述第二投影面为所述目标图像对应的拍摄俯视面;在所述第一投影框和所述第二投影框的重叠度大于第二预设值、小于第三预设值时,删除所述第一投影框和所述第二投影框中面积较小者对应的第一三维标注框;在所述第一投影框和所述第二投影框的重叠度大于等于所述第三预设值时,获取所述两个第一三维标注框在第一投影面的第三投影框和第四投影框,所述第一投影面为所述目标图像对应的拍摄面;删除所述第三投影框和所述第四投影框中符合预设高度条件者对应的第一三维标注框。
10.在本公开的一种示例性实施例中,所述删除所述第三投影框和所述第四投影框中符合预设高度条件者对应的第一三维标注框包括:确定所述第三投影框对应的第一中心点高度和第一高度,根据所述第一中心点高度和所述第一高度确定所述第三投影框的第一顶点高度;确定所述第四投影框对应的第二中心点高度和第二高度,根据所述第二中心点高度和所述第二高度确定所述第四投影框的第二顶点高度;在所述第一中心点高度大于所述第二顶点高度时,删除所述第三投影框对应的第一三维标注框;在所述第二中心点高度大于所述第一顶点高度时,删除所述第四投影框对应的第一三维标注框。
11.在本公开的一种示例性实施例中,在所述获得同一物体预设数量的第二三维标注框后,还包括:在所述所述第二三维标注框的所述标注结果匹配目标物体时,根据所述第二三维标注框的尺寸更新所述标注结果。
12.在本公开的一种示例性实施例中,所述根据所述第二三维标注框的尺寸更新所述标注结果包括:获取所述第二三维标注框在第二投影面的目标投影框,所述第二投影面为所述目标图像对应的拍摄俯视面;如果所述目标投影框在所述第二投影面的法线方向上的长度小于第四预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第一物体;如果所述目标投影框在所述第二投影面的法线方向上的长度大于第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第二物体;如果所述目标投影框在所述第二投影面的法线方向上的长度大于等于所述第四预设值、小于等于所述第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第三物体。
13.在本公开的一种示例性实施例中,所述根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据包括:获取每个所述第二三维标注框对应的目标物体以及预设参数,所述预设参数至少包括高度信息和距离信息;在所述目标图像中确定每个所述目标物体的位置;根据所述目标图像、每个所述目标物体的位置以及每个所述目标物体的所述预设参数生成所述训练数据。
14.根据本公开实施例的第二方面,提供一种训练数据生成装置,包括:点云数据获取模块,设置为获取目标图像对应的目标三维点云数据,所述目标三维点云数据包括多个物体的三维标注框以及每个所述三维标注框对应的标注结果;可视框筛选模块,设置为获取在所述目标图像的识别范围内的第一三维标注框;重复框处理模块,设置为对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框;数据标注模块,设置为根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据,所述训练数据用于训练所述目标检测模型。
15.根据本公开的第三方面,提供一种电子设备,包括:存储器;以及耦合到所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
16.根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的训练数据生成方法。
17.本公开实施例通过对现有激光点云数据以及对应的拍摄图像进行处理以得到用于训练单目三维目标检测模型的训练数据,无需建模即可获得多种物体的三维信息与二维信息的对应关系,进而极大降低生成单目三维目标检测模型的训练数据的成本;此外,由于直接对激光点云数据的标注框进行简单处理,处理效率高,可以克服相关技术中建设单目三维目标检测模型的训练数据成本高昂、效率低下的问题,大批量低成本生成单目三维目标检测模型的训练数据。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本公开示例性实施例中训练数据生成方法的流程图。
21.图2是本公开一个实施例中步骤s2的子流程图。
22.图3是本公开一个实施例中步骤s22的示意图。
23.图4是本公开一个实施例中确定第一三维标注框的流程图。
24.图5是本公开一个实施例中与图3所示实施例对应第一三维标注框的示意图。
25.图6是本公开一个实施例中步骤s3的子流程图。
26.图7是本公开一个实施例中第一三维标注框在第二投影面的投影框示意图。
27.图8是图7所示实施例的第一三维标注框在第一投影面的投影框示意图。
28.图9是本公开一个实施例中确定第二三维标注框的流程图。
29.图10是按图9所示实施例操作后与图7所示实施例对应的第二三维标注框在第二投影面的投影框示意图。
30.图11是本公开一个实施例中根据第二三维标注框的尺寸更新标注结果的流程图。
31.图12是图11所示实施例的另一种流程图。
32.图13是本公开示例性实施例中一种训练数据生成装置的方框图。
33.图14是本公开示例性实施例中一种电子设备的方框图。
具体实施方式
34.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结
构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
35.此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
36.下面结合附图对本公开示例实施方式进行详细说明。
37.图1是本公开示例性实施例中训练数据生成方法的流程图。
38.参考图1,训练数据生成方法100可以包括:
39.步骤s1,获取目标图像对应的目标三维点云数据,所述目标三维点云数据包括多个物体的三维标注框以及每个所述三维标注框对应的标注结果;
40.步骤s2,获取在所述目标图像的识别范围内的第一三维标注框;
41.步骤s3,对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框;
42.步骤s4,根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据,所述训练数据用于训练所述目标检测模型。
43.本公开实施例通过对现有激光点云数据以及对应的拍摄图像进行处理以得到用于训练单目三维目标检测模型的训练数据,无需建模即可获得多种物体的三维信息与二维信息的对应关系,进而极大降低生成单目三维目标检测模型的训练数据的成本;此外,由于直接对激光点云数据的标注框进行简单处理,处理效率高,可以克服相关技术中建设单目三维目标检测模型的训练数据成本高昂、效率低下的问题,大批量低成本生成单目三维目标检测模型的训练数据。
44.下面,对训练数据生成方法100的各步骤进行详细说明。
45.在步骤s1,获取目标图像对应的目标三维点云数据,所述目标三维点云数据包括多个物体的三维标注框以及每个所述三维标注框对应的标注结果。
46.由于通过激光雷达获取三维点云数据的技术比较成熟,因此市场上有大量公开的三维点云数据集。在本公开实施例中,可以直接对公开三维点云数据集中的三维点云数据来进行处理,从而利用外部公开的数据来扩充自有的训练数据库,降低训练数据的生成成本,提高训练数据的生成效率。需要注意的是,需要选择包括二维图像信息的三维点云数据集。
47.当然,在公开三维点云数据集成本较高的情况下,或者公开三维点云数据集中缺少待识别的目标物体的情况下,也可以使用具有激光点云信息采集能力和识别能力的交通工具,通过激光雷达和摄像机实时采集待识别的目标物体的二维图像和三维点云数据。由于激光雷达和摄像机成本有限、采集和标注速度高,即使本领域技术人员为了建立单目三维目标检测模型而现场获取三维点云数据和目标图像,成本也远低于现有技术中建立cad
模型的方法,效率和训练数据的数量也能得到极大提高。
48.由于三维点云数据均是为了训练激光雷达而设置,标注框均为三维标注框,通常存在标注框之间相互遮挡、一个物体的不同部分被分别标注等问题,无法直接应用于单目三维目标检测模型的训练中,因此,本公开实施例设置对现有的三维点云数据进行如下处理。
49.在一些情况下,三维点云数据集可以是一组数据,对应多张二维图像,这些二维图像例如可以为照片、视频帧等信息。此时,每一张图像对应的目标三维点云数据均为同一组三维点云数据。在另一些情况下,例如自定义采集三维点云数据的场景下,获取的二维图像可能与一组三维点云数据集对应,此时目标图像对应的目标三维点云数据可能为特定的一组三维点云数据。目标图像与目标三维点云数据的对应关系可能因数据获取方式不同而不同,本公开不以此为限。
50.在步骤s2,获取在所述目标图像的识别范围内的第一三维标注框。
51.图2是本公开一个实施例中步骤s2的子流程图。
52.参考图2,在一个实施例中,步骤s2可以包括:
53.步骤s21,获取所述目标三维点云数据中的三维标注框在第一投影面的投影框以及所述投影框的中心点坐标,所述第一投影面为所述目标图像对应的拍摄面;
54.步骤s22,如果一个所述中心点坐标在所述目标图像的显示坐标范围外,删除所述中心点坐标对应的三维标注框;
55.步骤s23,如果两个所述投影框的重叠度大于第一预设值,删除两个所述投影框对应的两个三维标注框中三维中心点距离所述第一投影面较远者;
56.步骤s24,将剩余的所述三维标注框确定为所述第一三维标注框。
57.由于目标图像的显示范围有限,而三维点云数据的空间范围通常较大,本公开实施例设置首先删除在二维的目标图像中无法显示的三维标注框。
58.图3是本公开一个实施例中步骤s22的示意图。
59.参考图3,第一投影面是目标图像的拍摄面,目标图像具有矩形显示范围300,多个三维标注框在第一投影面具有投影框31~39,每个投影框均具有中心点坐标。
60.在计算过程中,设一个三维标注框的大小为(length,width,height),三维中心点坐标为(x,y,z),利用投影矩阵计算出其在目标图像的拍摄面上的投影框坐标为(x0,y0,x1,y1),投影框中心点坐标为(center
x
,center
y
),目标图像为(image
width
,image
height
),则满足以下公式(1)的投影框中心点坐标可以被判定为在目标图像的显示坐标范围内:
[0061][0062]
不满足公式(1)的中心点坐标则被判定在目标图像的显示坐标范围外,该中心点坐标对应的投影框对应的三维标注框会被删除。在图3所示实施例中,即删除投影框31、39对应的三维标注框。
[0063]
由于视觉成像单向性,二维图像上的远处物体极易被近处物体所遮挡,因此本公开实施例在步骤s23设置删除对于目标图像而言被遮挡的不可见的物体对应的三维标注框。
[0064]
在本公开实施例中,设置使用投影框之间的重叠度(intersection over union,
iou)来确定物体之间的遮挡关系。iou也被称为交并比,计算的是图形对象“预测的边框”和“真实的边框”的交集和并集的比值,以两个图形为例,首先计算两个图形的交集面积,然后计算两个图形的并集面积,最后根据交集面积和并集面积的比值确定这两个图形之间的重叠度(iou)。
[0065]
继续参考图3,可以观察到,投影框33和投影框34之间具有较高的重叠度。在目标图像的拍摄面,如果两个投影框有重叠,说明其对应的两个目标物体之间存在遮挡关系。由于遮挡严重时无法通过目标图像识别位于后方的物体,可以设置第一预设值,例如0.7,来判断这种遮挡关系是否影响目标图像中物体的显示效果,进而影响对物体的识别。如果重叠度超过第一预设值,说明后方物体被前方物体严重遮挡,无需识别后方物体,可以删除后方物体对应的三维标注框,以提高有效训练数据在全部训练数据中的占比。两个物体的前后位置可以根据两个三维标注框的三维中心点与第一投影面的位置来确定,在三维标注框具有对应于图像拍摄面的深度信息时,可以直接获取重叠度超过第一预设值的两个投影框对应的三维标注框的深度信息,删除相对于拍摄面来说深度较大的三维标注框。
[0066]
最后,将剩余的三维标注框确定为第一三维标注框,即能够通过目标图片被准确识别的物体的三维标注框。
[0067]
图4是本公开一个实施例中确定第一三维标注框的流程图。
[0068]
参考图4,在一个实施例中,确定第一三维标注框的具体流程可以包括:
[0069]
步骤s400,获取三维点云数据集,三维点云数据集包括多个三维标注框、每个三维标注框对应的标注结果、与三维点云数据集对应的多张图片。
[0070]
步骤s401,获取目标图片对应的三维点云数据中的n个三维标注框在第一投影面的n个投影框t1及n个投影中心点坐标,设置i=0,m=n。
[0071]
可以将三维点云数据集中的图像排序,顺次对每一张图像进行标注,将当前被标注的图像称为目标图像。i是本实施例中用于记录三维标注框序号的参数,一个三维标注框及其对应的投影框和投影中心点均被设置为相同的序号;m是本实施例中用于记录在目标图片的显示范围内的三维标注框的数量的参数。
[0072]
步骤s402,判断第i投影中心点坐标是否超过目标图像的显示区域,如果是,进入步骤s403,删除第i三维标注框,对m减一后,进入步骤s404;如果否,进入步骤s404;
[0073]
步骤s404,判断i是否等于三维标注框的总数n,如果否,进入步骤s405对i加一,返回步骤s402处理下一个投影框;如果是,进入步骤s406;
[0074]
步骤s406,重置i值并设置p=m,p是本实施例中用于记录第一三维标注框的数量的参数。本步骤用于对在目标图像的显示范围内的三维标注框设置序号。
[0075]
需要说明的是,由于三维标注框之间可能存在层层遮挡问题,因此在步骤s406可以按照三维中心点与第一投影面的距离从大到小对各三维标注框顺次编号,以便在后续步骤s408~s410的判断中,从后向前删除被遮挡的物体对应的三维标注框,避免先删除位于遮挡队列中部的三维标注框后,位于遮挡队列最前方的物体和位于遮挡队列最后方的物体被判断为不存在遮挡关系。
[0076]
步骤s407,判断第i投影框t1
i
和第i+1投影框t1
i+1
的重叠度iou(t1
i
,t1
i+1
)是否大于等于第一预设值vth1,如果是,进入步骤s408删除第i三维标注框与第i+1三维标注框中三维中心点距离第一投影面较远者,对p减一后进入步骤s409;如果否,进入步骤s409;
[0077]
步骤s409,判断i+1是否等于m,如果否,进入步骤s410对i加一后返回步骤s407判断下一组投影框;如果是,进入步骤s411将剩余的p个三维标注框均确定为第一三维标注框。
[0078]
图5是本公开一个实施例中与图3所示实施例对应的第一三维标注框的示意图。
[0079]
参考图5,在删除了超出目标图像显示范围300的投影框31、39对应的三维标注框以及被遮挡的在后三维标注框(对应投影框33)后,第一三维标注框包括投影框32、34、35、36、37、38对应的三维标注框。
[0080]
在步骤s3,对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框。
[0081]
本公开实施例可以用于自动驾驶车辆配备的单目三维目标检测模型的训练数据的生成。由于三维点云数据通常包括多种标注方法,例如对一个物体的不同部位进行分别标注,而自动驾驶领域或者其他单目三维目标检测的应用场景更需要关注物体主体,为了提高有效的训练数据的占比,可以对同一物体的多个标注框进行处理。
[0082]
图6是本公开一个实施例中步骤s3的子流程图。
[0083]
参考图6,在一个实施例中,步骤s3可以包括:
[0084]
步骤s31,获取两个第一三维标注框在第二投影面的第一投影框和第二投影框,所述第二投影面为所述目标图像对应的拍摄俯视面;
[0085]
步骤s32,在所述第一投影框和所述第二投影框的重叠度大于第二预设值、小于第三预设值时,删除所述第一投影框和所述第二投影框中面积较小者对应的第一三维标注框;
[0086]
步骤s33,在所述第一投影框和所述第二投影框的重叠度大于等于所述第三预设值时,获取所述两个第一三维标注框在第一投影面的第三投影框和第四投影框,所述第一投影面为所述目标图像对应的拍摄面;
[0087]
步骤s34,删除所述第三投影框和所述第四投影框中符合预设高度条件者对应的第一三维标注框。
[0088]
图7是本公开一个实施例中第一三维标注框在第二投影面的投影框示意图。
[0089]
参考图7,第一三维标注框在第二投影面的投影框例如可以包括投影框71~76。发明人分析,由于第二投影面是目标图像对应的拍摄俯视面,如果两个三维标注框在俯视面有较大范围的重叠,说明这两个三维标注框标注的可能是同一物体的不同高度的部位(例如起重机的吊架和车体)或不同组件(例如推土机的铲子和车体)。在本公开实施例中,判断重叠度较高(大于第三预设值)的两个投影框为同一物体不同高度的投影框;判断重叠度较低(在第二预设值和第三预设值之间)的投影框为同一物体的不同组件的投影框。进而,对不同情况采用不同方法进行处理。
[0090]
对于不同组件的投影框,仅保留主要部分即可,因此本公开实施例设置删除两个重叠投影框中在第二投影面上面积较小者对应的第一三维标注框。但是,在一些实施例中,有可能主要组件对于地面呈细高形状,次要组件对于地面呈扁平形态,导致误删除主要组件对应的第一三维标注框,因此,也可以对被判断为同一物体不同组件的投影框,根据对应的第一三维标注框在第一投影面的投影框的高度来筛选出高度符合预设条件的第一三维标注框。在本公开的一些实施例中,对一个物体仅保留一个最接近地面的三维标注框,以利
于将生成的训练数据应用在无人驾驶技术领域;在本公开的另一些实施例中,还可以设置对一个物体保留符合预设条件的一或多个标注框,以便将训练数据应用在其他目标技术领域。预设条件可以由本领域技术人员根据训练数据的应用目的自行设置,本公开不以此为限。
[0091]
图8是图7所示实施例的第一三维标注框在第一投影面的投影框示意图。
[0092]
参考图8,投影框81~86和投影框71~76分别是第一三维标注框在第二投影面的投影框和在第一投影面的投影框。投影框81~86分别与投影框71~76对应。从图8可以看出,在第二投影面上重叠度大于第三预设值(例如0.9)的投影框73和74在高度上不同,此时,如果设置对一个物体仅保留一个最接近地面的三维标注框,以利于将生成的训练数据应用在无人驾驶技术领域,则可以删除较高的投影框84对应的第一三维标注框;同理,投影框71和72在第二投影面的重叠度大于第二预设值(例如0.1),但是小于第三预设值(例如0.9),对应的第一投影面的投影框81和82的高度不同,同样可以删除较高的投影框81对应的第一三维标注框。最后,将剩余的第一三维标注框设置为用于产生标注信息的第二三维标注框。
[0093]
在一个实施例中,通过步骤s34在图8中删除较高第一三维标注框的方法可以包括:确定所述第三投影框对应的第一中心点高度和第一高度,根据所述第一中心点高度和所述第一高度确定所述第三投影框的第一顶点高度;确定所述第四投影框对应的第二中心点高度和第二高度,根据所述第二中心点高度和所述第二高度确定所述第四投影框的第二顶点高度;在所述第一中心点高度大于所述第二顶点高度时,删除所述第三投影框对应的第一三维标注框;在所述第二中心点高度大于所述第一顶点高度时,删除所述第四投影框对应的第一三维标注框。
[0094]
图9是本公开一个实施例中确定第二三维标注框的流程图。
[0095]
参考图9,在一个实施例中,确定第二三维标注框的流程可以包括:
[0096]
步骤s901,获取p个第一三维标注框在第二投影面的p个投影框t2,设置j=0,q=p;本实施例使用q记录第二三维投影框的数量。
[0097]
步骤s902,判断第j个第一三维标注框在第二投影面的投影框第j t2
j
和第j+1投影框t2
j+1
的重叠度iou(t2
j
,t2
j+1
)是否在第二预设值vth2和第三预设值vth3之间,如果是,进入步骤s903删除第j投影框与第j+1投影框中面积较小者对应的第一三维标注框,对q减一操作后进入步骤s911;如果否,进入步骤s904;
[0098]
步骤s904,判断iou(t2
j
,t2
j+1
)是否大于等于第三预设值vth3,如果是,进入步骤s905,如果否,进入步骤s911;
[0099]
步骤s905,获取第j个第一三维标注框和第j+1个第一三维标注框在第一投影面的投影框t1
j
和投影框t1
j+1

[0100]
步骤s906,获取的投影框t1
j
的第一中心点高度和第一顶点高度,获取投影框t1
j+1
的第二中心点高度和第二顶点高度;
[0101]
步骤s907,判断第一中心点高度是否大于第二顶点高度,如果是,进入步骤s908删除第j个第一三维标注框,对q减一操作后进入步骤s911;如果否,进入步骤s909;
[0102]
步骤s909,判断第二中心点高度是否大于第一顶点高度,如果是,进入步骤s910删除第j+1个第一三维标注框,对q减一操作后进入步骤s911;如果否,进入步骤s911;
[0103]
步骤s911,判断j+1是否等于p,如果否,进入步骤s912对j进行加一操作后返回步骤s902判断下一组投影框;如果是,进入步骤s913将剩余的q个第一三维标注框确定为第二三维标注框。
[0104]
图10是按图9所示实施例操作后与图7所示实施例对应的第二三维标注框在第二投影面的投影框示意图。
[0105]
参考图10,删除较小的投影框71对应的第一三维标注框和较高的投影框74对应的第一三维标注框后,第二三维标注框为投影框72、73、75、76对应的三维标注框。
[0106]
在本公开的另一个实施例中,如果三维点云数据来自公开数据集,标注类别较粗,还可以对每个第二三维标注框进行标注结果更新,以实现更符合单目三维目标检测模型的检测目的的标注。
[0107]
例如,可以在一个第二三维标注框的标注结果匹配目标物体时,对标注结果进行调整。在一些实施例中,例如公开数据集将所有车辆均标注为车辆,此时可以根据三维标注框的尺寸调整标注结果为“自行车”、“小型机动车”、“大型机动车”等;在另一些实施例中,如果标注结果为“大型机动车”,还可以进一步使用分类模型(例如训练好的神经网络模型)对该第二三维标注框对应的物体进行进一步细分类,分为“公交车”、“卡车”等等。
[0108]
图11是本公开一个实施例中根据第二三维标注框的尺寸更新标注结果的流程图。
[0109]
参考图11,在一个实施例中,根据第二三维标注框的尺寸更新标注结果的过程可以包括:
[0110]
步骤s111,获取所述第二三维标注框在第二投影面的目标投影框,所述第二投影面为所述目标图像对应的拍摄俯视面;
[0111]
步骤s112,如果所述目标投影框在所述第二投影面的法线方向上的长度小于第四预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第一物体;
[0112]
步骤s113,如果所述目标投影框在所述第二投影面的法线方向上的长度大于第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第二物体;
[0113]
步骤s114,如果所述目标投影框在所述第二投影面的法线方向上的长度大于等于所述第四预设值、小于等于所述第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第三物体。
[0114]
图12是图11所示实施例的另一种流程图。
[0115]
参考图12,首先在步骤s121设置k=0,k用于表示第二三维标注框的序号。
[0116]
步骤s122,确定第k个第二三维标注框的标注结果是否匹配目标物体,如果否,进入步骤s128;如果是,进入步骤s123;
[0117]
步骤s123,判断第k个第二三维标注框在第二投影面法线方向的长度是否小于第四预设值,如果是,进入步骤s124将第k个第二三维标注框的标注结果更新为第一物体后进入步骤s128;如果否,进入步骤s125;
[0118]
步骤s125,判断第k个第二三维标注框在第二投影面法线方向的长度是否大于第五预设值,如果是,进入步骤s126将第k个第二三维标注框的标注结果更新为第二物体后进入步骤s128;如果否,进入步骤s127将第k个第二三维标注框的标注结果更新为第三物体后进入步骤s128;
[0119]
步骤s128,判断k是否等于第二三维标注框的数量q,如果否,进入步骤s129对k进
行加一操作后返回步骤s122判断下一个第二三维标注框;如果否,进入步骤s4。
[0120]
图11和图12所示实施例中的目标物体例如可以为车辆,第一物体例如可以为自行车,第二物体例如可以为大型机动车,第三物体例如可以为小型机动车。在根据尺寸更新目标物体的标注结果后,还可以进一步使用分类模型对部分或全部第二三维标注框进行更细粒度的分类,并再次更新标注结果,本公开对此不作特殊限制。
[0121]
在步骤s4,根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据,所述训练数据用于训练所述目标检测模型。
[0122]
在本公开实施例中根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注的过程例如可以包括:获取每个所述第二三维标注框对应的目标物体以及预设参数,所述预设参数至少包括高度信息和距离信息;在所述目标图像中确定每个所述目标物体的位置;根据所述目标图像、每个所述目标物体的位置以及每个所述目标物体的所述预设参数生成所述训练数据。
[0123]
通过以上标注过程,生成的训练数据中每一张图像中的每一个可识别的物体均具有高度信息和距离信息,因此使用此训练数据进行训练的单目三维目标检测模型可以根据二维图像判断目标物体的三维信息,例如根据物体的高度信息推测物体的距离,继而根据物体的距离实现相应的操作。
[0124]
本公开实施例可以用于直接对公共数据集进行清洗以大批量低成本生成单目三维目标检测模型的训练数据,迅速得到大量符合训练要求的训练数据,不仅能增强训练数据集和模型的泛化能力,而且可以极大节约人力和财力成本。
[0125]
对应于上述方法实施例,本公开还提供一种训练数据生成装置,可以用于执行上述方法实施例。
[0126]
图13是本公开示例性实施例中一种训练数据生成装置的方框图。
[0127]
参考图13,训练数据生成装置1300可以包括:
[0128]
点云数据获取模块131,设置为获取目标图像对应的目标三维点云数据,所述目标三维点云数据包括多个物体的三维标注框以及每个所述三维标注框对应的标注结果;
[0129]
可视框筛选模块132,设置为获取在所述目标图像的识别范围内的第一三维标注框;
[0130]
重复框处理模块133,设置为对同一物体的两个或多个所述第一三维标注框进行处理,获得同一物体预设数量的第二三维标注框;
[0131]
数据标注模块134,设置为根据每个所述第二三维标注框的所述标注结果对所述目标图像进行标注以生成训练数据,所述训练数据用于训练所述目标检测模型。
[0132]
在本公开的一种示例性实施例中,可视框筛选模块132设置为:获取所述目标三维点云数据中的三维标注框在第一投影面的投影框以及所述投影框的中心点坐标,所述第一投影面为所述目标图像对应的拍摄面;如果一个所述中心点坐标在所述目标图像的显示坐标范围外,删除所述中心点坐标对应的三维标注框;如果两个所述投影框的重叠度大于第一预设值,删除两个所述投影框对应的两个三维标注框中三维中心点距离所述第一投影面较远者;将剩余的所述三维标注框确定为所述第一三维标注框。
[0133]
在本公开的一种示例性实施例中,重复框处理模块133设置为:获取两个第一三维标注框在第二投影面的第一投影框和第二投影框,所述第二投影面为所述目标图像对应的
拍摄俯视面;在所述第一投影框和所述第二投影框的重叠度大于第二预设值、小于第三预设值时,删除所述第一投影框和所述第二投影框中面积较小者对应的第一三维标注框;在所述第一投影框和所述第二投影框的重叠度大于等于所述第三预设值时,获取所述两个第一三维标注框在第一投影面的第三投影框和第四投影框,所述第一投影面为所述目标图像对应的拍摄面;删除所述第三投影框和所述第四投影框中符合预设高度条件者对应的第一三维标注框。
[0134]
在本公开的一种示例性实施例中,重复框处理模块133设置为:确定所述第三投影框对应的第一中心点高度和第一高度,根据所述第一中心点高度和所述第一高度确定所述第三投影框的第一顶点高度;确定所述第四投影框对应的第二中心点高度和第二高度,根据所述第二中心点高度和所述第二高度确定所述第四投影框的第二顶点高度;在所述第一中心点高度大于所述第二顶点高度时,删除所述第三投影框对应的第一三维标注框;在所述第二中心点高度大于所述第一顶点高度时,删除所述第四投影框对应的第一三维标注框。
[0135]
在本公开的一种示例性实施例中,还包括分类模块135,设置为:在所述所述第二三维标注框的所述标注结果匹配目标物体时,根据所述第二三维标注框的尺寸更新所述标注结果。
[0136]
在本公开的一种示例性实施例中,分类模块135设置为:获取所述第二三维标注框在第二投影面的目标投影框,所述第二投影面为所述目标图像对应的拍摄俯视面;如果所述目标投影框在所述第二投影面的法线方向上的长度小于第四预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第一物体;如果所述目标投影框在所述第二投影面的法线方向上的长度大于第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第二物体;如果所述目标投影框在所述第二投影面的法线方向上的长度大于等于所述第四预设值、小于等于所述第五预设值,将所述目标投影框对应的第二三维标注框的标注结果更新为第三物体。
[0137]
在本公开的一种示例性实施例中,数据标注模块134设置为:获取每个所述第二三维标注框对应的目标物体以及预设参数,所述预设参数至少包括高度信息和距离信息;在所述目标图像中确定每个所述目标物体的位置;根据所述目标图像、每个所述目标物体的位置以及每个所述目标物体的所述预设参数生成所述训练数据。
[0138]
由于装置1300的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
[0139]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0140]
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0141]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0142]
下面参照图14来描述根据本发明的这种实施方式的电子设备1400。图14显示的电子设备1400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0143]
如图14所示,电子设备1400以通用计算设备的形式表现。电子设备1400的组件可以包括但不限于:上述至少一个处理单元1410、上述至少一个存储单元1420、连接不同系统组件(包括存储单元1420和处理单元1410)的总线1430。
[0144]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1410执行,使得所述处理单元1410执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1410可以执行如本公开实施例所示的方法。
[0145]
存储单元1420可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)14201和/或高速缓存存储单元14202,还可以进一步包括只读存储单元(rom)14203。
[0146]
存储单元1420还可以包括具有一组(至少一个)程序模块14205的程序/实用工具14204,这样的程序模块14205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0147]
总线1430可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0148]
电子设备1400也可以与一个或多个外部设备1500(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1400交互的设备通信,和/或与使得该电子设备1400能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1450进行。并且,电子设备1400还可以通过网络适配器1460与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1460通过总线1430与电子设备1400的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1400使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0149]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0150]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
[0151]
根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形
介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0152]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0153]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0154]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0155]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0156]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0157]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1