确定检测对象的三维信息的方法及装置与流程

文档序号:29028344发布日期:2022-02-24 10:45阅读:94来源:国知局
确定检测对象的三维信息的方法及装置与流程

1.本技术涉及智能驾驶领域,尤其涉及一种确定检测对象的三维信息的方法及装置。


背景技术:

2.在智能驾驶场景中,行驶的车辆(在本技术中记为第一车辆)需要实时的检测周围其他车辆(在本技术中记为第二车辆)的相对于第一车辆的位置,第二车辆的大小(车辆的长度、车辆的宽度)以及第二车辆的方向(车辆朝向,行驶方向等),以便于第一车辆根据这些信息规划自身的行驶路线,对其他车辆可能带来的危害行为进行预判和规避。
3.第一车辆确定第二车辆的大小,方向以及相对于第一车辆的位置时,需要确定第二车辆的三维(3d)信息。当前第一车辆可以通过双目3d的方式,确定第二车辆的3d信息。但是双目3d的方式需要搭配双目摄像头,价格昂贵;并且目前的对于第二车辆3d信息确定过程中所使用的算法需要较高的图像标注成本,以及计算量。


技术实现要素:

4.本技术提供一种确定检测对象的三维信息的方法及装置,解决了现有技术中确定周围车辆的三维信息时,对硬件要求高,计算数据量大的问题。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,提供一种确定检测对象的三维信息的方法,包括:第一车辆获取待检测图像;待检测图像包括第一检测对象;第一车辆确定第一检测对象的可通行区域边界,以及第一检测对象的触地线;可通行区域边界包括第一检测对象在待检测图像中的边界;触地线为第一检测对象与地面的交点的连线;第一车辆根据可通行区域边界,以及触地线,确定第一检测对象的三维信息。
7.基于上述技术方案,本技术提供的确定检测对象的三维信息的方法,第一车辆能够根据采集到的待检测图像,确定第一检测对象的可通行区域边界以及触地线,进一步的,第一车辆根据第一检测对象的可通行区域边界,以及触地线,确定第一检测对象在二维图像中表征出的三维信息。
8.上述待检测图像可以为单目摄像头采集的二维图像。这样,第一车辆通过单目摄像头采集第一检测对象的图像信息即可确定第一检测对象的三维信息。相比较于现有技术中第一车辆需要依赖双目摄像头采集第一检测对象的图像信息以确定第一检测对象的三维信息的方法,本技术中第一车辆采用单目摄像头采集第一检测对象的图像信息确定第一检测对象的三维信息,能够大大降低确定第一检测对象的三维信息的硬件成本。
9.此外,本技术提供的确定检测对象的三维信息的方法,第一车辆只需标记第一检测对象的可通行区域边界,并根据第一检测对象的可通行区域边界确定第一检测对象的触地线。第一车辆可以根据第一检测对象的可通行区域边界,以及触地线,结合第一检测对象在待检测图像中的视觉关系等,确定第一检测对象在二维图像中表征出的三维信息。因此,
本技术提供的确定检测对象的三维信息的方法,无需第一车辆进行其他额外的数据标注训练,从而降低了确定第一检测对象的三维信息的计算量,以及降低了确定第一检测对象的三维信息占用的图形处理器(graphics processing unit,gpu)资源。
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.基于此,第一车辆通过将第一检测对象的三维信息输入到车体坐标系中,可以确定第一检测对象在三维空间中的大小,方向,以及检测对象相对于第一车辆的位置。
50.第二方面,提供一种确定检测对象的三维信息的装置,其特征在于,包括:通信单元和处理单元;通信单元,用于获取待检测图像;待检测图像包括第一检测对象;处理单元,用于确定第一检测对象的可通行区域边界,以及第一检测对象的触地线;可通行区域边界包括第一检测对象在待检测图像中的边界;触地线为第一检测对象与地面的交点的连线;处理单元,还用于根据可通行区域边界,以及触地线,确定第一检测对象的三维信息。
51.结合第二方面,在一种可能的实现方式中,第一检测对象的三维信息用于确定第一检测对象的大小、方向,以及相对位置中的至少一项。
52.结合第二方面,在一种可能的实现方式中,第一检测对象的可通行区域边界包括多个与第一标识对应的边界点,以及与多个第二标识对应的边界点;第一标识还对应于第一检测对象的第一侧面,第二标识还对应于第一检测对象的第二侧面;第一侧面和第二侧面为第一检测对象中两个相交的侧面。
53.结合第二方面,在一种可能的实现方式中,触地线中包括第一触地线和第二触地线;第一触地线为拟合多个与第一标识对应的边界点确定的触地线;第二触地线为拟合多个与第二标识对应的边界点确定的触地线。
54.结合第二方面,在一种可能的实现方式中,多个与第一标识对应的边界点中包括第一边界点;第一边界点为多个具有第一标识的边界点中,与第二触地线的距离最大的边界点。
55.多个与第二标识对应的边界点中包括第二边界点;第二边界点为多个具有第二标识的边界点中,与第一触地线的距离最大的边界点。
56.结合第二方面,在一种可能的实现方式中,第一检测对象的三维信息根据第一检测对象对应的三个点和两条线确定;其中,三个点中的第一个点为第一边界点在地面上的投影;三个点中的第二个点为第二边界点在地面上的投影;三个点中的第三个点过第二个点,且与第二触地线平行的直线与第一触地线的交点;两条线中的第一条线为第一个点和第三个点之间的连线;两条线中的第二条线为第二个点和第三个点之间的连线。
57.结合第二方面,在一种可能的实现方式中,处理单元具体用于:确定所述第一边界点在所述地面上的投影为第一个点;确定所述第二边界点在所述地面上的投影为第二个点;确定过所述第二边界点在所述地面上的投影,且与所述第二触地线平行的直线与所述第一触地线的交点为第三个点;确定所述第一个点和所述第三个点之间的连线为第一条线;确定所述第二个点和所述第三个点之间的连线为第二条线;根据所述第一个点,所述第二个点,所述第三个点,所述第一条线,以及所述第二条线,确定所述第一检测对象的三维信息。
58.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:根据第一边界点,以及第一触地线,确定第一个点;根据第一触地线,第二触地线,以及第二边界点,确定第二个点;根据第一触地线,第二触地线,以及第二个点,确定第三个点。
59.结合第二方面,在一种可能的实现方式中,处理单元,具体用于确定第一直线;第一直线为在待检测图像中过第一边界点,且与视平线垂直的直线;确定第一直线与第一触地线的交点为第一个点。
60.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:确定第二直线和第三直线;其中,第二直线为在待检测图像中,过第一触地线与视平线的交点,以及第二触地线中远离第一触地线的端点的直线;第三直线为在待检测图像中过第二边界点,且垂直于视平线的直线;确定第二直线和第三直线的交点为第二个点。
61.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:确定第四直线;第四直线为在待检测图像中过第二个点,且与第二触地线平行的直线;确定第四直线与第一触地线的交点为第三个点。
62.结合第二方面,在一种可能的实现方式中,第一检测对象的可通行区域边界包括多个与第三标识对应的边界点;第三标识还对应于第一检测对象的第三侧面。
63.结合第二方面,在一种可能的实现方式中,第一检测对象的触地线中包括第三触地线;第三触地线为拟合多个与第三标识对应的边界点,确定的触地线。
64.结合第二方面,在一种可能的实现方式中,多个具有第三标识的边界点中包括第三边界点和第四边界点;第三边界点为多个具有第三标识的边界点中,距离第三触地线的一端最远的点;第四边界点为多个具有第三标识的边界点中,距离第三触地线的另一端最远的点。
65.结合第二方面,在一种可能的实现方式中,第一检测对象的三维信息根据第一检
测对象对应的两个点和一条线确定;两个点中的第一个点为第三边界点在地面上的投影;两个点中的第二个点为第四边界点在地面上的投影。
66.结合第二方面,在一种可能的实现方式中,所述处理单元,具体用于:确定所述第三边界点在所述地面上的投影为第一个点;确定所述第四边界点在所述地面上的投影为第二个点;确定所述第一个点和所述第二个点之间的连线为第一条线;根据所述第一个点,所述第二个点,以及所述第一条线,确定所述第一检测对象的三维信息。
67.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:根据第三边界点和第三触地线,确定第一个点;根据第四边界点和第三触地线,确定第二个点;根据第一个点和第二个点,确定一条线。
68.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:确定第五直线;第五直线为在待检测图像中过第三边界点,且与视平线垂直的直线;确定第五直线与第三触地线的交点,为第一个点。
69.结合第二方面,在一种可能的实现方式中,处理单元,具体用于:确定第六直线;第六直线为在待检测图像中过第四边界点,且与视平线垂直的直线;确定第六直线与第三触地线的交点,为第二个点。
70.结合第二方面,在一种可能的实现方式中,处理单元,还用于:将第一检测对象的三维信息输入车体坐标系中,确定第一检测对象的大小、方向和相对位置中的至少一项。
71.第三方面,本技术提供了一种确定检测对象的三维信息的装置,包括:处理器和存储器,其中,存储器用于存储计算机程序和指令,处理器用于执行计算机程序和指令实现如第一方面和第一方面的任一种可能的实现方式中所描述的方法。该确定检测对象的三维信息的装置可以是第一车辆,也可以是第一车辆中的芯片。
72.第四方面,本技术提供一种智能车辆,包括:车辆本体、单目摄像头以及如第二方面和第二方面的任一种可能的实现方式中所描述的确定检测对象的三维信息的装置,单目摄像头用于采集待检测图像;确定检测对象的三维信息的装置用于执行如第一方面和第一方面的任一种可能的实现方式中所描述的确定检测对象的三维信息的方法,确定检测对象的三维信息。
73.结合第四方面,在一种可能的实现方式中,该智能车辆还包括显示屏;显示屏用于显示检测对象的三维信息。
74.第五方面,本技术提供一种高级驾驶辅助系统(advanced sriver assistant system,adas),包括第二方面和第二方面的任一种可能的实现方式中所描述的确定检测对象的三维信息的装置,该确定检测对象的三维信息的装置用于执行如第一方面和第一方面的任一种可能的实现方式中所描述的确定检测对象的三维信息的方法,确定检测对象的三维信息。
75.第六方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中所描述的方法。
76.第七方面,本技术提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中所描述的方法。
77.应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
78.图1为本技术实施例提供的一种车辆的结构示意图一;
79.图2为本技术实施例提供的一种adas系统的系统架构图;
80.图3为本技术实施例提供的一种计算机系统的结构示意图;
81.图4为本技术实施例提供的一种云侧指令自动驾驶车辆的应用示意图一;
82.图5为本技术实施例提供的一种云侧指令自动驾驶车辆的应用示意图二;
83.图6为本技术实施例提供的一种计算机程序产品的结构示意图;
84.图7为本技术实施例提供的一种确定检测对象的三维信息的方法的流程示意图;
85.图8a为本技术实施例提供的一种第一检测对象的示意图;
86.图8b为本技术实施例提供的另一种第一检测对象的示意图;
87.图9为本技术实施例提供的另一种确定检测对象的三维信息的方法的流程示意图;
88.图10为本技术实施例提供的另一种确定检测对象的三维信息的方法的流程示意图;
89.图11为本技术实施例提供的一种第一检测对象的三维信息的示意图;
90.图12为本技术实施例提供的另一种确定检测对象的三维信息的方法的流程示意图;
91.图13为本技术实施例提供的另一种第一检测对象的三维信息的示意图;
92.图14为本技术实施例提供的一种确定检测对象的三维信息的装置的结构示意图。
具体实施方式
93.在本技术的描述中,除非另有说明,“/”表示“或”的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
94.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
95.本技术实施例提供一种确定检测对象的三维信息的方法及装置,该方法应用在车辆中,或者应用于具有控制车辆的功能的其他设备(比如云端服务器、手机终端等)中。车辆或者其他设备可以通过其包含的组件(包括硬件和软件),实施本技术实施例提供的确定检测对象的三维信息的方法,车辆根据图像采集装置采集到待带检测图像,确定检测对象三维信息(大小、方向,相对位置),使得车辆可以根据这些检测对象的三维信息,规划该车辆的行驶路径。
96.图1为本技术实施例提供的车辆100的功能框图,该车辆100可以是智能车辆。在一个实施例中,车辆100根据图像采集装置采集到待带检测图像,确定检测对象三维信息,使得车辆可以根据这些检测对象的三维信息,规划车辆的行驶路径。
97.车辆100可包括各种子系统,例如行进系统110、传感器系统120、控制系统130、一个或多个外围设备140以及电源150、计算机系统160和用户接口170。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
98.行进系统110可包括为车辆100提供动力运动的组件。在一个实施例中,行进系统110可包括引擎111、传动装置112、能量源113和车轮114。引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111将能量源113转换成机械能量。
99.能量源113的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他系统提供能量。
100.传动装置112可以将来自引擎111的机械动力传送到车轮114。传动装置112可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮114的一个或多个轴。
101.传感器系统120可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统120可包括定位系统121(定位系统可以是全球定位系统(global positioning system,gps),也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,imu)122、雷达123、激光雷达124以及相机125。传感器系统120还可包括监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆100自动驾驶的安全操作的关键功能。
102.定位系统121可用于估计车辆100的地理位置。imu 122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,imu 122可以是加速度计和陀螺仪的组合。
103.雷达123可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。
104.激光雷达124可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光雷达124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
105.相机125可用于捕捉车辆100的周边环境的多个图像,以及车辆驾驶舱内的多个图
像。相机125可以是静态相机或视频相机。控制系统130可控制车辆100及其组件的操作。控制系统130可包括各种元件,其中包括转向系统131、油门132、制动单元133、计算机视觉系统134、路线控制系统135以及障碍规避系统136。
106.转向系统131可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
107.油门132用于控制引擎111的操作速度并进而控制车辆100的速度。
108.制动单元133用于控制车辆100减速。制动单元133可使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可将车轮114的动能转换为电流。制动单元133也可采取其他形式来减慢车轮114转速从而控制车辆100的速度。
109.计算机视觉系统134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征以及车辆驾驶舱内的驾驶员的肢体特征和面部特征。物体和/或特征可包括交通信号、道路状况和障碍物,驾驶员的肢体特征和面部特征包括驾驶员的行为、视线、表情等。计算机视觉系统134可使用物体识别算法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统134可以用于为环境绘制地图、跟踪物体、估计物体的速度、确定驾驶员行为、人脸识别等等。
110.路线控制系统135用于确定车辆100的行驶路线。在一些实施例中,路线控制系统135可结合来自传感器、定位系统121和一个或多个预定地图的数据以为车辆100确定行驶路线。
111.障碍规避系统136用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
112.当然,在一个实例中,控制系统130可以增加部分以上未示出的组件;或者采用其他组件替换上述示出的部分组件;又或者也可以减少一部分上述示出的组件。
113.车辆100通过外围设备140与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备140可包括无线通信系统141、车载电脑142、麦克风143和/或扬声器144。
114.在一些实施例中,外围设备140提供车辆100的用户与用户接口170交互的手段。例如,车载电脑142可向车辆100的用户提供信息。用户接口170还可操作车载电脑142来接收用户的输入。车载电脑142可以通过触摸屏进行操作。在其他情况中,外围设备140可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可向车辆100的用户输出音频。
115.无线通信系统141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统141可使用3g蜂窝通信,例如cdma、evd0、gsm/gprs,或者使用4g蜂窝通信,例如lte,或者使用5g蜂窝通信。无线通信系统141可利用wifi与无线局域网(wireless local area network,wlan)通信。在一些实施例中,无线通信系统141可利用红外链路、蓝牙或zigbee与设备直接通信。无线通信系统141还可以利用其他无线协议与设备通信。例如各种车辆通信系统。无线通信系统141可包括一个或多个专用短程通信(dedicated short range communications,dsrc)设备。
116.电源150可向车辆100的各种组件提供电力。在一个实施例中,电源150可以为可再
充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源,从而为车辆100的各种组件提供电力。在一些实施例中,电源150和能量源113可一起实现,例如新能源车辆中的纯电动车辆或者油电混动车辆等。
117.车辆100的部分或所有功能受计算机系统160控制。计算机系统160可包括至少一个处理器161,处理器161执行存储在例如数据存储装置162这样的非暂态计算机可读介质中的指令1621。计算机系统160还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
118.处理器161可以是任何常规的处理器,诸如商业可获得的中央处理单元(central processing unit,cpu)。替选地,该处理器可以是诸如专用集成电路(application specific integrated circuit,asic)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同物理外壳中的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以存储在相同的物理外壳内的多个处理器、计算机系统、或存储器,或者包括可以不存储在相同的物理外壳内的多个处理器、计算机系统、或存储器。例如,存储器可以是硬盘驱动器,或位于不同于物理外壳内的其它存储介质。因此,对处理器或计算机系统的引用将被理解为包括对可以并行操作的处理器或计算机系统或存储器的集合的引用,或者可以不并行操作的处理器或计算机系统或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。
119.在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信的设备中。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
120.在一些实施例中,数据存储装置162可包含指令1621(例如,程序逻辑),指令1621可被处理器161执行来执行车辆100的各种功能,包括以上描述的全部或者部分功能。数据存储装置162也可包含额外的指令,包括向行进系统110、传感器系统120、控制系统130和外围设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
121.除了指令1621以外,数据存储装置162还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统160使用。
122.比如,在一种可能的实施例中,数据存储装置162可以获取车辆基于传感器系统120中的传感器获取到的周围环境中的障碍物信息,例如其他车辆、道路边沿,以及绿化带等障碍物的位置,障碍物与车辆的距离以及障碍物之间的距离等信息。数据存储装置162还可以从传感器系统120或车辆100的其他组件获取环境信息,环境信息例如可以为车辆当前所处环境附近是否有绿化带、车道、行人等,或者车辆通过机器学习算法计算当前所处环境附近是否存在绿化带、行人等。除上述内容外,数据存储装置162还可以存储该车辆自身的状态信息,以及与该车辆有交互的其他车辆的状态信息,其中,车辆的状态信息包括但不限于车辆的位置、速度、加速度、航向角等。如此,处理器161可从数据存储装置162获取这些信息,并基于车辆所处环境的环境信息、车辆自身的状态信息、其他车辆的状态信息等确定车辆的可通行区域,并基于该可通行区域确定最终的驾驶策略,以控制车辆100自动驾驶。
123.用户接口170,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可与外围设备140的集合内的一个或多个输入/输出设备进行交互,例如无线通信系统141、车载电脑142、麦克风143和扬声器144中的一个或多个。
124.计算机系统160可基于从各种子系统(例如,行进系统110、传感器系统120和控制系统130)获取的信息以及从用户接口170接收的信息来控制车辆100。例如,计算机系统160可根据来自控制系统130的信息,控制转向系统131更改车辆前进方向,从而规避由传感器系统120和障碍规避系统136检测到的障碍物。在一些实施例中,计算机系统160可对车辆100及其子系统的许多方面进行控制。
125.可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置162可以部分或完全地与车辆100分开存在。上述组件可以通过有线和/或无线的方式耦合在一起进行通信。
126.可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本技术实施例的限制。
127.在道路行进的自动驾驶汽车,如上面的车辆100,可以根据其周围环境内的其他车辆以确定对当前速度的调整指令。其中,车辆100周围环境内的物体可以是交通控制设备、或者绿化带等其它类型的物体。在一些示例中,可以独立地考虑周围环境内的每个物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,来确定车辆100的速度调整指令。
128.可选地,作为自动驾驶汽车的车辆100或者与其相关联的计算机设备(如图1的计算机系统160、计算机视觉系统134、数据存储装置162)可以基于所识别的测量数据,得到周围环境的状态(例如,交通、雨、道路上的冰、等等),并确定在当前时刻周边环境中的障碍物与车辆的相对位置。可选地,每一障碍物所形成的可通行区域的边界依赖于彼此,因此,还可以将获取到的所有测量数据来一起确定车辆的可通行区域的边界,去除掉可通行区域中实际不可通行的区域。车辆100能够基于检测到的车辆的可通行区域来调整它的驾驶策略。换句话说,自动驾驶汽车能够基于所检测到的车辆的可通行区域来确定车辆需要调整到什么稳定状态(例如,加速、减速、转向或者停止等)。在这个过程中,也可以考虑其它因素来确定车辆100的速度调整指令,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
129.除了提供调整自动驾驶汽车的速度的指令之外,计算机设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持自动驾驶汽车与附近的物体(例如相邻车道中的轿车)的安全横向和纵向距离。
130.上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本技术实施例不做特别的限定。
131.在本技术的另一些实施例中,自动驾驶车辆还可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
132.一种实现方式中,参见图2,本技术实施例提供的本技术实施例提供的确定检测对
象的三维信息的方法,应用于如图2所示的adas系统200中。如图2所示,adas系统200中包括硬件系统201、感知融合系统202、规划系统203、以及控制系统204。
133.其中,硬件系统201用于采集第一车辆周围的道路信息,车辆信息,障碍物信息等。当前常用的硬件系统201主要包括摄像头,视频采集卡等。在本技术实施例中,硬件系统201中包括单目摄像头。
134.感知融合系统202用于对硬件系统201采集到的图像信息进行处理,确定第一车辆周围的目标信息(包括车辆信息、行人信息、红路灯息,障碍物信息等),以及道路结构信息(包括车道线信息,路沿信息等)。
135.规划系统203用于根据目标信息以及道路结构信息,规划第一车辆的行驶路线,行驶速度等,生成规划信息。
136.控制系统204用于将规划系统203生成的规划信息,转换为控制信息,并向第一车辆下发控制信息,以使得第一车辆根据该控制信息,沿规划系统30规划的第一车辆的行驶路线,行驶速度进行行驶。
137.车载通信模块205(图2中未示出),用于自车和其他车辆之间的信息交互。
138.存储组件206(图2未示出),用于存储上述各个模块的可执行代码,运行这些可执行代码可实现本技术实施例的部分或全部方法流程。
139.在本技术实施例的一种可能的实现方式中,如图3所示,图1所示的计算机系统160包括处理器301,处理器301和系统总线302耦合,处理器301可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)303可以驱动显示器324,显示器324和系统总线302耦合。系统总线302通过总线桥304和输入输出(i/o)总线(bus)305耦合,i/o接口306和i/o总线305耦合,i/o接口306和多种i/o设备进行通信,比如输入设备307(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)308,(例如,cd-rom,多媒体接口等)。收发器309(可以发送和/或接收无线电通信信号),摄像头310(可以捕捉静态和动态数字视频图像)和外部通用串行总线(universal serial bus,usb)端口311。其中,可选地,和i/o接口306相连接的接口可以是usb接口。
140.其中,处理器301可以是任何传统处理器,包括精简指令集计算(reduced instruction set computer,risc)处理器、复杂指令集计算(complex instruction set computer,cisc)处理器或上述的组合。可选地,处理器301还可以是诸如专用集成电路asic的专用装置。可选地,处理器301还可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
141.可选地,在本技术的各种实施例中,计算机系统160可位于远离智能车辆的地方,且与智能车辆100无线通信。在其它方面,本技术的一些过程可设置在智能车辆内的处理器上执行,其它一些过程由远程处理器执行,包括采取执行单个操纵所需的动作。
142.计算机系统160可以通过网络接口312和软件部署服务器(deploying server)313通信。可选的,网络接口312可以是硬件网络接口,比如网卡。网络(network)314可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(vpn),可选地,network314还可以为无线网络,比如wifi网络、蜂窝网络等。
143.硬盘驱动器接口315和系统总线302耦合。硬盘驱动器接口315和硬盘驱动器316相连接。系统内存317和系统总线302耦合。运行在系统内存317的数据可以包括计算机系统
160的操作系统(os)318和应用程序319。
144.操作系统(os)318包括但不限于shell 320和内核(kernel)321。shell 320是介于使用者和操作系统318的kernel 321间的一个接口。shell 320是操作系统318最外面的一层。shell管理使用者与操作系统318之间的交互:等待使用者的输入,向操作系统318解释使用者的输入,并且处理各种各样的操作系统318的输出结果。
145.内核321由操作系统318中用于管理存储器、文件、外设和系统资源的部分组成,直接与硬件交互。操作系统318的内核321通常运行进程,并提供进程间的通信,提供cpu时间片管理、中断、内存管理、io管理等功能。
146.应用程序319包括自动驾驶相关的程序323,比如,管理自动驾驶汽车和路上障碍物交互的程序,控制自动驾驶汽车的行驶路线或者速度的程序,控制自动驾驶汽车和路上其他汽车/自动驾驶汽车交互的程序等。应用程序319也存在于deploying server 313的系统上。在一个实施例中,在需要执行应用程序319时,计算机系统160可以从deploying server 313下载应用程序319。
147.又比如,应用程序319可以是控制车辆根据上述车辆的可通行区域以及传统控制模块确定驾驶策略的应用程序。计算机系统160的处理器301调用该应用程序319,得到驾驶策略。
148.传感器322和计算机系统160关联。传感器322用于探测计算机系统160周围的环境。举例来说,传感器322可以探测动物,汽车,障碍物和/或人行横道等。进一步传感器322还可以探测上述动物,汽车,障碍物和/或人行横道等物体周围的环境。比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,动物周围环境的光亮度等。可选地,如果计算机系统160位于自动驾驶的汽车上,传感器322可以是摄像头,红外线感应器,化学检测器,麦克风等器件中的至少一项。
149.在本技术的另一些实施例中,计算机系统160还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统120收集的传感器数据可以被转移到另一个计算机,由另一计算机对此数据进行处理。如图4所示,来自计算机系统160的数据可以经由网络被传送到云侧的计算机系统410用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、wifi和http、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备执行,诸如调制解调器和无线接口。
150.在一个示例中,计算机系统410可以包括具有多个计算机的服务器,例如负载均衡服务器群。为了从计算机系统160接收、处理并传送数据,服务器420与网络的不同节点交换信息。该计算机系统410可以具有类似于计算机系统160的配置,并具有处理器430、存储器440、指令450、和数据460。
151.在一个示例中,服务器420的数据460可以包括提供天气相关的信息。例如,服务器420可以接收、监视、存储、更新、以及传送与周边环境中目标对象相关的各种信息。该信息可以包括例如以报告形式、雷达信息形式、预报形式等的目标类别、目标形状信息以及目标跟踪信息。
152.参见图5,为自主驾驶车辆和云服务中心(云服务器)交互的示例。云服务中心可以
经诸如无线通信网络的网络511,从其操作环境500内的车辆513、车辆512接收信息(诸如车辆传感器收集到数据或者其它信息)。其中,车辆513和车辆512可为智能车辆。
153.云服务中心520根据接收到的数据,运行其存储的控制汽车自动驾驶相关的程序对车辆513、车辆512进行控制。控制汽车自动驾驶相关的程序可以为:管理自动驾驶汽车和路上障碍物交互的程序,或者控制自动驾驶汽车路线或者速度的程序,或者控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。
154.示例性的,云服务中心520通过网络511可将地图的部分提供给车辆513、车辆512。在其它示例中,可以在不同位置之间划分操作。例如,多个云服务中心可以接收、证实、组合和/或发送信息报告。在一些示例中还可以在车辆之间发送信息报告和/传感器数据。其它配置也是可能的。
155.在一些示例中,云服务中心520向智能车辆发送关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它))。例如,云服务中心520可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务中心520向智能车辆发送指示该车辆应当在给定场景中如何行进的响应。例如,云服务中心520基于收集到的传感器数据,可以确认道路前方具有临时停车标志的存在,又比如,基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施工而被封闭。相应地,云服务中心520发送用于车辆通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务中心520观察其操作环境500内的视频流,并且已确认智能车辆能安全并成功地穿过障碍时,对该智能车辆所使用的操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它车辆,以便辅助其它车辆不仅识别出封闭的车道还知道如何通过。
156.在一些实施例中,所公开的方法可以实施为以机器可读格式,被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图6示意性地来示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品600是使用信号承载介质601来提供的。信号承载介质601可以包括一个或多个程序指令602,其当被一个或多个处理器运行时可以提供以上针对图2至图5描述的全部功能或者部分功能,或者可以提供后续实施例中描述的全部或部分功能。例如,参考图7中所示的实施例,s101至s103中的一个或多个特征可以由与信号承载介质601相关联的一个或多个指令来承担。此外,图6中的程序指令602也描述示例指令。
157.在一些示例中,信号承载介质601可以包含计算机可读介质603,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等等。在一些实施方式中,信号承载介质601可以包含计算机可记录介质604,诸如但不限于,存储器、读/写(r/w)cd、r/w dvd、等等。在一些实施方式中,信号承载介质601可以包含通信介质605,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质601可以由无线形式的通信介质605(例如,遵守ieee 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令602可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图2至图6描述的计算设备可以被配置为,响应于通过计算机可读介质603、和/或计算机可记录介质604、和/或通信介质
605中的一个或多个传达到计算设备的程序指令602,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
158.以上为对本技术实施例记载的确定检测对象的三维信息的方法的应用场景进行了简要介绍。
159.为了使得本技术更加的清楚,以下将对本技术涉及到的部分概念做简单介绍。
160.1、触地线
161.触地线是指待检测图像中的检测对象与地面实际接触的点组成的线段。
162.以检测对象为车辆为例,车辆的触地线为车辆轮胎与地面接触点的连线。车辆的触地线可以按照车的四个侧面(分别为左侧面、右侧面、前侧面和后侧面)进行区分。车辆的一个侧面对应一条触地线。
163.具体来说,以常见的家用轿车为例,车辆左前方轮胎与地面的接触点,记为接触点1;车辆右前方轮胎与地面的接触点,记为接触点2;车辆左后方轮胎与地面的接触点,记为接触点3;车辆右后方轮胎与地面的接触点,记为接触点4。
164.车辆的左侧面对应的触地线,为接触点1和接触点3之间的连线。
165.车辆的右侧面对应的触地线,为接触点2和接触点4之间的连线。
166.车辆的前侧面对应的触地线,为接触点1和接触点2之间的连线。
167.车辆的后侧面对应的触地线,为接触点3和接触点4之间的连线。
168.需要指出的是,车辆的轮胎与地面接触部分,通常为一个接触面(该接触面可以近似的认为是一个长方形)。本技术中可以将车辆左前方轮胎与地面的接触面的左前方的顶点,作为接触点1;将车辆右前方轮胎与地面的接触面的右前方的顶点,作为接触点2;将车辆左后方轮胎与地面的接触面的左后方的顶点,作为接触点3;将车辆右后方轮胎与地面的接触面的右后方的顶点最为接触点4。
169.2、神经网络模型
170.神经网络模型是由大量处理单元(记为神经元)互相连联组成的信息处理系统,神经网络模型中的神经元中包含有相应的数学表达式。数据输入神经元之后,神经元运行其包含的数学表达式,对输入数据进行计算,生成输出数据。其中,每个神经元的输入数据为与其连接的上一个神经元的输出数据;每个神经元的输出数据为与其连接的下一个神经元的输入数据。
171.在神经网络模型中,输入数据之后,神经网络模型根据自身的学习训练,为输入数据选择相应的神经元,并根据这些神经对对输入数据进行计算,确定并输出最终的运算结果。同时,神经网络在数据运算过程中还可以不断学习进化,根据对运算结果的反馈不断优化自身的运算过程,神经网络模型运算训练次数越多,得到的结果反馈越多,计算的结果越准确。
172.本技术实施例中所记载的神经网络模型用于对图像采集装置采集到的图片进行处理,确定图像中位于各个检测对象上的可通行区域边界(记为检测对象的可通行区域边
界)。
173.3、可通行区域(freespace)
174.可通行区域是指汽车可以行驶通过的区域。例如,第一车辆检测到的前方区域中行人,障碍物,以及其他车辆之间的空旷区域,记为第一车辆的可通行区域。
175.可通行区域一般位于检测对象的边界上,因此在本技术实施例中,可以用位于检测对象的边界上的可通行区域表征第一检测对象的边界,进而根据位于第一检测对象上的可通行区域,确定第一检测对象的三维信息。
176.在本技术实施例中,神经网络模型输出的检测对象的可通行区域边界通常以多个具有相应标识的点示出。例如,第二车辆左侧的可通行区域包括位于车辆左侧的边界点上的多个点。该多个点用于表征第二车辆左侧的可通行区域。
177.此外,神经网络模型输出的这些点中,位于检测对象的不同侧面的点可以具有不同的标识,例如,这些标识可以包括:标识“00”,用于表征位于检测对象左侧可通行区域边界上的点;标识“01”,用于表征位于检测对象右侧可通行区域边界上的点的标识;标识“10”,用于表征位于检测对象前侧可通行区域边界上的点的标识;标识“11”,用于表征位于车辆后侧可通行区域边界上的点的标识。
178.4、视平线
179.视平线是指图像中与视线平行的直线。在本技术实施例中,视平线指的是图像中与图像采集设备高度相同,且平行于图像采集设备的直线。
180.5、灭点(vanishing point)
181.根据图像的透视原理,水平面上相互平行的两条直线,在二维的图像中会于视平线处相交于一点,该交点即为灭点。
182.6、车体坐标系
183.车体坐标系指的是坐标系原点位于车身上的三维坐标系。一般来说,车体坐标系的原点与车辆的质心重合,x轴沿车辆的长度方向,指向车辆正前方,y轴沿车辆宽度方向指向驾驶员左侧的方向,z轴沿车辆高度方向指向车辆上方。
184.以上是对本技术涉及到的部分内容以及概念所作的简单介绍。
185.当前,为了确定第一车辆周围的第二车辆的三维信息,提出了如下三种确定车辆信息的方法。分别为:方法1、车辆2d检测,方法2、车辆双目3d检测,以及方法3、车辆激光点云检测。以下,分别对方法1、方法2、以及方法3进行详细说明。
186.方法1、车辆2d检测
187.车辆2d检测为:第一车辆确定第二车辆在待检测图像中显示的图像信息;第一车辆以矩形框的形式,将第二车辆在待检测图像中显示的图像信息框出;第一车辆根据矩形框的下边沿的位置,计算第二车辆距离第一车辆的距离,确定第二车辆与第一车辆的相对位置。
188.由此可知,在该方法中,第一车辆仅能确定第二车辆相对于第一车辆的位置信息。但是,在智能驾驶场景中,车辆除了需要确定车辆的位置信息之外,还需要确定出车辆的大小,方向等信息,以判断周围车辆是否对自身的行驶造成干扰。
189.因此,依靠简单的车辆2d检测,无法满足智能驾驶场景中第一车辆对其他车辆信息的需求。
190.方法2、车辆双目3d检测
191.双目3d检测通过确定两个位于不同位置的图像采集装置采集到的检测对象的图像的差别,可以获得检测对象的深度信息。通过建立图像中相同点的对应关系,将同一空间物理点在不同图像中的映像点对应起来,形成视差(disparity)图像,并可以根据视差图像,确定检测对象的3d信息。
192.车辆双目3d检测为:第一车辆采用双目摄像头,分别从两个角度采集第二车辆的两张图像。第一车辆根据第二车辆上的相同的点在两张图像中的位置的偏差,计算出第二车辆的三维信息。通过双目3d检测算法能够较为准确的计算出第二车辆的大小,方向以及相对于第一车辆的位置信息。
193.但是双目摄像头的硬件设备昂贵,应用到智能车辆上的双目摄像头的制作要求高,且目前的对于第二车辆3d信息确定过程中所使用的算法需要较高的图像标注成本,以及计算量。
194.方法3、车辆激光点云检测
195.当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。
196.车辆激光点云检测为:第一车辆向周围发射激光,扫描周围的检测对象。第一车辆接收周围检测对象返回的激光点云数据,这些点云数据中包括第二车辆返回的点云数据,以及其他检测对象返回的点云数据。第一车辆采用机器学习或者深度学习等算法,将第二车辆返回的激光点云数据映射为某种数据结构。第一车辆提取出这些数据中每个点或特征,并根据这些特征对点云数据进行聚类,将相似的点云归为一类。第一车辆将聚类后的点云输入到相应的分类器中进行分类识别,确定第二车辆的点云数据。第一车辆将第二车辆的点云数据映射回三维点云数据中,构建第二车辆的3d包围框,确定第二车辆的三维信息。
197.车辆激光点云检测虽然具有很好的检测精度,但是激光雷达的硬件成本较高,且点云数据的数据计算量较大,需要耗费大量的计算资源,占用第一车辆大量的gpu资源。
198.为了解决现有技术中,第一车辆确定第二车辆的二维信息时,无法准确的确定第二车辆的大小和方向信息,第一车辆确定第二车辆的三维信息时,采用车辆双目3d检测或者车辆激光点云检测时,硬件成本高,计算复杂度高的问题。本技术实施例提供了一种确定检测对象的三维信息的方法,第一车辆能够根据采集到的待检测图像,确定第一检测对象的可通行区域边界以及触地线,进一步的,第一车辆根据第一检测对象的可通行区域边界,以及触地线,确定第一检测对象在二维图像中表征出的三维信息。
199.上述待检测图像可以为单目摄像头采集的二维图像。这样,第一车辆通过单目摄像头采集第一检测对象的图像信息即可确定第一检测对象的三维信息。相比较于现有技术中第一车辆需要依赖双目摄像头采集第一检测对象的图像信息以确定第一检测对象的三维信息的方法,或者第一车辆依赖激光雷达确定第一检测对象的三维信息的方法,本技术中第一车辆采用单目摄像头采集第一检测对象的图像信息确定第一检测对象的三维信息,能够大大降低确定第一检测对象的三维信息的硬件成本。
200.此外,本技术提供的确定检测对象的三维信息的方法,第一车辆只需标记第一检测对象的可通行区域边界,并根据第一检测对象的可通行区域边界确定第一检测对象的触
地线。第一车辆可以根据第一检测对象的可通行区域边界,以及触地线,结合第一检测对象在待检测图像中的视觉关系等,确定第一检测对象在二维图像中表征出的三维信息。因此,本技术提供的确定检测对象的三维信息的方法,无需第一车辆进行其他额外的数据标注训练,从而降低了确定第一检测对象的三维信息的计算量,以及降低了确定第一检测对象的三维信息占用的图形处理器gpu资源。
201.以下,将对本技术实施例提供的确定检测对象的三维信息的方法进行详细说明,如图7所示,该方法包括:
202.s101、第一车辆获取待检测图像。
203.其中,待检测图像包括第一检测对象。
204.在智能驾驶领域,检测对象可以为车辆,行人,障碍物等。在本技术实施例中,以检测对象为第二车辆为例,进行说明。
205.上述待检测图像可以为车载的图像采集装置采集到的图片。车载图像采集装置通常用于采集位于车辆前方的其他车辆;或者,车载图像采集装置也可以通过采集车辆360
°
全方位的图像,以获得车辆周围所有其他车辆的信息。
206.需要指出的是,本技术实施例所记载的图像采集装置可以为单目摄像头,当第一车辆执行本技术实施例提供的确定检测对象的三维信息的方法时,该第一车辆可以为设置在第一车辆中的车载终端设备,或者其他具有数据处理能力的设备。
207.s102、第一车辆确定第一检测对象的可通行区域边界,以及第一检测对象的触地线。
208.其中,第一检测对象的可通行区域边界包括第一检测对象在待检测图像中的边界。第一检测对象的触地线为第一检测对象与地面的交点的连线。
209.第一检测对象的可通行区域边界为将待检测图像输入到神经网络模型之后,由神经网络模型输出的第一检测对象的可通行区域边界。
210.当第一检测对象为第二车辆时,第二车辆的触地线的数量与第二车辆在待检测图像中示出的侧面的数量有关。
211.如图8a所示,第一检测对象为在待检测图像中位于第一车辆右前方的车辆,待检测图像中示出了第二车辆的左侧面和后侧面的情况下,第二车辆的触地线包括两条触地线,分别为第二车辆左侧面的触地线和第二车辆后侧面的触地线。
212.第二车辆左侧面的触地线为:第二车辆左前侧的轮胎的触地点和第二车辆左后侧的轮胎的触地点之间的连线。
213.第二车辆后侧面的触地线为:第二车辆左后侧的轮胎的触地点和第二车辆右后侧的轮胎的触地点之间的连线。
214.或者,如图8b所示,第一检测对象为在待检测图像中位于第一车辆正前方的车辆,待检测图像中仅示出了第二车辆的后侧面的情况下,第二车辆的触地线包括一条触地线,为第二车辆后侧面的触地线。
215.第二车辆的后侧面的触地线为:第二车辆左后侧的轮胎的触地点和第二车辆右后侧的轮胎的触地点之间的连线。
216.s103、第一车辆根据可通行区域边界,以及触地线,确定第一检测对象的三维信息。
217.第一检测对象的三维信息用于确定第一检测对象的大小、方向和相对位置中的至少一项。
218.第一检测对象的三维信息,用于表征第一检测对象在待检测图像中所示出的三维信息。第一车辆可以将第一检测对象在待检测图像中所示出的三维信息转换到三维坐标系中,以进一步确定第一检测对象的真实三维信息。
219.例如,在第一检测对象为第二车辆的情况下,第一车辆将第二车辆在待检测图像中所示出的三维信息转换到三维坐标系中,可以确定第二车辆的大小(例如第二车辆的长度,宽度),第二车辆的方向(例如第二车辆的车头朝向,第二车辆可能的行驶方向),第二车辆的在该三维坐标系中的位置。
220.需要指出的是,第一检测对象的相对位置,与第一车辆将第一检测对象转换到的三维坐标系有关。例如,在第一车辆将第一检测对象转换到第一车辆的车体坐标系时,第一检测对象的相对位置为第一检测对象相对于第一车辆的位置;在第一车辆将第一检测对象转换到世界坐标系时,第一检测对象的相对位置为第一检测对象的实际地理位置。
221.一种可能的实现方式中,第一检测对象的三维信息,包括多个点和多条线段。该多个点为第一检测对象在待检测图像中显示出的端点在地面上的投影。该多条线段中至少包括第一检测对象的最外围边界在地面上的投影所产生的线段;或者,该多条线段为第一检测对象的在待检测图像中的轮廓线。第一车辆将该多条线段输入至第一车辆的车体坐标系中,可以确定第一检测对象的大小,方向和相对位置中的至少一项。
222.基于上述技术方案,本技术提供的确定检测对象的三维信息的方法,第一车辆能够根据采集到的待检测图像,确定第一检测对象的可通行区域边界以及触地线,进一步的,第一车辆根据第一检测对象的可通行区域边界,以及触地线,确定第一检测对象在二维图像中表征出的三维信息。
223.上述待检测图像可以为单目摄像头采集的二维图像。这样,第一车辆通过单目摄像头采集第一检测对象的图像信息即可确定第一检测对象的三维信息。相比较于现有技术中第一车辆需要依赖双目摄像头采集第一检测对象的图像信息以确定第一检测对象的三维信息的方法,本技术中第一车辆采用单目摄像头采集第一检测对象的图像信息确定第一检测对象的三维信息,能够大大降低确定第一检测对象的三维信息的硬件成本。
224.此外,本技术提供的确定检测对象的三维信息的方法,第一车辆只需标记第一检测对象的可通行区域边界,并根据第一检测对象的可通行区域边界确定第一检测对象的触地线。第一车辆可以根据第一检测对象的可通行区域边界,以及触地线,结合第一检测对象在待检测图像中的视觉关系等,确定第一检测对象在二维图像中表征出的三维信息。因此,本技术提供的确定检测对象的三维信息的方法,无需第一车辆进行其他额外的数据标注训练,从而降低了确定第一检测对象的三维信息的计算量,以及降低了确定第一检测对象的三维信息占用的图形处理器gpu资源。
225.结合图7,如图9所示,上述s102具体可以通过以下s1021-s1023实现。下面对s1021-s1023进行详细说明。
226.s1021、第一车辆将待检测图像输入神经网络模型中,得到l个点。
227.其中,待检测图像中通常包括一个或多个检测对象。上述l个点为该一个或多个检测对象的可通行区域边界上的点。l为正整数。
228.一种可能的实现方式中,上述神经网络模型,为预先训练好的神经网络模型。该神经网络模型具有标记待检测图像中检测对象的可通行区域边界的能力。可通行区域的边界即为待检测图像中的检测对象的边界。
229.具体来说,第一车辆获取待检测图像之后,调用神经网络模型,并将待检测图像输入到该神经网络模型中,输出l个点。该l个点即为待检测图像中检测对象的可通行区域边界的能力。
230.神经网络模型输出的l个点中的每个点可以对应一个标识。该标识用于表征该点位于检测对象的哪一侧。
231.举例来说,位于检测对象的左侧的点对应第一标识。相应的,该第一标识用于表征该点位于检测对象的左侧。
232.位于检测对象右侧的点对应第二标识。相应的,该第二标识用于表征该点位于检测对象的右侧。
233.位于检测对象的前侧的点对应第三标识。相应的,该第三标识用于表征该点位于检测对象的前侧。
234.位于检测对象的后侧的点对应第四标识。相应的,该第四标识用于表征该点位于检测对象的后侧。
235.s1022、第一车辆从该l个点中,确定出m个点。
236.该m个点为位于第一检测对象的可通行区域边界上的点。
237.一种具体的实现方式中,第一车辆根据待检测图像中的一个或多个检测对象,对该l个点进行分类,确定每个点所对应的检测对象。在此之后,第一车辆根据每个点对象的检测对象,确定对应于第一检测对象的m个点。该m个点即为位于第一检测对象的可通行区域边界上的点。m为正整数,且m小于等于l。
238.s1023、第一车辆拟合该m个点,确定第一检测对象的触地线。
239.一种可能的实现方式中,第一车辆可以采用随机抽样一致算法(random sample consensus,ransac)拟合算法,拟合确定目标对象的触地线。
240.具体来说,第一车辆可以采用ransac拟合算法,拟合确定目标对象的触地线的过程包括以下步骤a-步骤f,以下进行详细说明:
241.步骤a、第一车辆确定出位于第一检测对象的可通行区域边界,且具有相同标识的k个点,k为正整数。
242.步骤b、第一车辆从该k个点中随机选取t个点,并用最小二乘法拟合该t个点,得到一条直线。
243.步骤c、第一车辆确定k个点中除该t个点以外的每个点距离该直线的距离。
244.步骤d、第一车辆确定距离小于第一阈值的点为内群点,并确定内群点的个数。
245.步骤e、第一车辆多次执行上述步骤b-步骤d,确定多条直线,以及该多条直线中每条直线对应的内群点的个数。
246.步骤f、第一车辆确定上述多条直线中,对应的内群点的个数最多的直线,为第一检测对象的一个触地线。
247.需要指出的是,在上述步骤e中,第一车辆通过步骤b-步骤d确定的直线的数量越多,最终确定的结果的准确性越高。
248.基于上述技术方案,第一车辆能够根据待检测图像,采用神经网络模型,和相应的拟合算法,确定第一检测对象的可通行区域边界,以及第一检测对象的触地线。
249.需要说明的是,第一车辆的单目摄像头,能够拍摄到位于该单目摄像头前方的物体图像。在第二车辆位于该单目摄像头的正前方的位置时,第二车辆通常只有一个面能够被第一车辆的单目摄像头采集到。在第二车辆位于该单目摄像头前方,且偏离单目摄像头正前方的位置时,第二车辆通常有两个面能够被第一车辆的单目摄像头采集到。
250.因此,第一车辆采集到的第二车辆的图像包括以下两种场景:场景1、第一车辆采集到第二车辆的两个侧面。场景2、第一车辆采集到第二车辆的一个侧面。下面,分别对上述场景1和场景2进行详细说明:
251.场景1、第一车辆采集到第二车辆的两个侧面。
252.其中,第一车辆采集到第二车辆的图像信息,与单目摄像头采集的第一车辆的哪个方位的图像有关。
253.例如,当单目摄像头采集第一车辆的前方的图像时:
254.若第二车辆第一车辆同向行驶,且位于第一车辆的左前方,则单目摄像头可以采集到第二车辆的右侧面和后侧面。
255.若第二车辆与第一车辆同向行驶,且位于第一车辆的右前方,则单目摄像头可以采集到第二车辆的左侧面和后侧面。
256.若第二车辆与第一车辆相向行驶,且位于车辆的左前方,则单目摄像头可以采集到第二车辆的前侧面和左侧面。
257.若第二车辆与第一车辆相向行驶,且位于车辆的右前方,则单目摄像头可以采集到第二车辆的前侧面和右侧面。
258.又例如,单目摄像头采集第二车辆的左侧的图像时:
259.若第二车辆位于第一车辆左侧,且偏离单目摄像头的正前方,单目摄像头可以采集到第二车辆的右侧面,以及第二车辆的前侧面或者后侧面中的一个。
260.此外,单目摄像头还可以采集第二车辆的其他侧面的图像,本技术对此不在赘述。
261.场景2、第一车辆采集到第二车辆的一个侧面。
262.其中,第一车辆采集到第二车辆的图像信息,与单目摄像头采集的第一车辆的哪个方位的图像有关。
263.例如,当单目摄像头采集第一车辆的前方的图像时:
264.若第二车辆与第一车辆同向行驶,且位于第一车辆的正前方,则单目摄像头可以采集到第二车辆的后侧面。
265.若第二车辆与第一车辆相向行驶,且位于第一车辆的正前方,则单目摄像头可以采集到第二车辆的前侧面。
266.若第一车辆向正北方向行驶,第二车辆向正东方向行驶,则单目摄像头可以采集到第二车辆的右侧面。
267.若第一车辆向正北方向行驶,第二车辆向正西方向行驶,则单目摄像头可以采集到第二车辆的左侧面。
268.又例如,单目摄像头采集第二车辆的左侧的图像时:
269.若第二车辆位于第一车辆左侧,且位于单目摄像头的正前方,单目摄像头可以采
集到第二车辆的右侧面。
270.以上,记载了在不同场景下,第一车辆可以采集到的第二车辆的侧面的数量不同。
271.需要指出的是,当第一车辆采集到的第二车辆的侧面的数量不同时,第一车辆确定的第二车辆的可通行区域边界不同,第一车辆确定的第二车辆的触地线的数量不同,以及第一车辆确定的第二车辆的三维信息不同。
272.具体来说,在第一车辆采集到第二车辆的两个侧面的场景下:第一车辆确定的第二车辆的可通行区域边界为该两个侧面可通行区域边界。第一车辆确定的第二车辆的触地线包括第一触地线和第二触地线,第一触地线和第二触地线分别对应该两个侧面中的不同侧面。第一车辆确定的第二车辆的三维信息,包括该两个侧面组成的三维信息。
273.在第一车辆采集到第二车辆的一个侧面的场景下:第一车辆确定的第二车辆的可通行区域边界为该一个侧面可通行区域边界。第一车辆确定的第二车辆的触地线包括第三触地线,第三触地线为该一个侧面的触地线。第一车辆确定的第二车辆的三维信息,包括该一个侧面组成的三维信息。
274.因此,结合上述场景1和场景2,在s103中第一车辆根据可通行区域边界,以及触地线,确定第一检测对象的三维信息,包括如下两种情况,分别为:情况1、第一车辆根据第一检测对象的两个侧面的可通行区域边界和触地线,确定第一检测对象的三维信息;以及情况2、第一车辆根据第一检测对象的一个侧面的可通行区域边界和触地线,确定第一检测对象的三维信息。
275.以下,分别对情况1和情况2进行详细说明:
276.情况1、第一车辆根据第一检测对象的两个侧面的可通行区域边界和触地线,确定第一检测对象的三维信息。
277.结合上述s102,在情况1中,第一车辆根据上述s102确定的第一检测对象的可通行区域边界,以及第一检测对象的触地线分别具有如下特征:
278.1、第一检测对象的可通行区域边界包括多个与第一标识对应的边界点,以及与多个第二标识对应的边界点。
279.第一标识还对应于第一检测对象的第一侧面,第二标识还对应于第一检测对象的第二侧面。第一侧面和第二侧面为第一检测对象中两个相交的侧面。
280.2、触地线中包括第一触地线和第二触地线。
281.第一触地线为拟合多个与第一标识对应的边界点确定的触地线。
282.第二触地线为拟合多个与第二标识对应的边界点确定的触地线。
283.3、上述多个与第一标识对应的边界点中包括第一边界点;第一边界点为多个具有第一标识的边界点中,与第二触地线的距离最大的边界点。
284.上述多个与第二标识对应的边界点中包括第二边界点;第二边界点为多个具有第二标识的边界点中,与第一触地线的距离最大的边界点。
285.结合上述s103,在情况1中,第一车辆根据上述s103确定的第一检测对象的三维信息根据第一检测对象对应的三个点和两条线确定。
286.其中,三个点中的第一个点为第一边界点在地面上的投影。
287.三个点中的第二个点为第二边界点在地面上的投影。
288.三个点中的第三个点过第二个点,且与第二触地线平行的直线与第一触地线的交
点。
289.两条线中的第一条线为第一个点和第三个点之间的连线。
290.两条线中的第二条线为第二个点和第三个点之间的连线。
291.结合图7,如图10所示,在情况1中,s103具体可以通过以下s1031-s1035实现。下面,对s1031-s1035进行具体说明:
292.s1031、第一车辆根据第一边界点,以及第一触地线,确定第一个点。
293.其中,该第一个点为第一触地线和第一直线的交点。第一直线为过第一边界点,且与待检测图像中的视平线垂直的直线。
294.一种具体的实现方式中,结合图11中示出的待检测图像中的第一检测对象,第一车辆确定第一个点的方法为:
295.步骤ⅰ、第一车辆确定第一直线;第一直线为在待检测图像中过第一边界点,且与视平线垂直的直线。
296.一种实现方式中,第一车辆过第一边界点做视平线的垂线,该垂线为第一直线。
297.步骤ⅱ、第一车辆确定第一直线与第一触地线的交点为第一个点。
298.一种实现方式中,第一车辆做第一触地线的延长线,该延长线与第一直线相交与点a。第一车辆确定该点a为第一个点。
299.s1032、第一车辆根据第一触地线,第二触地线,以及第二边界点,确定第二个点。
300.其中,该第二个点为第二直线与第三直线的交点。第二直线为过第一触地线与视平线的交点,以及第二触地线中远离第一触地线的顶点的直线。第三直线为过第二边界点,且垂直于待检测图像中的视平线的直线。
301.一种具体的实现方式中,结合图11中示出的待检测图像中的第一检测对象,第一车辆确定第二个点的方法为:
302.步骤ⅲ、第一车辆确定第二直线。
303.其中,第二直线为在待检测图像中,过第一触地线与视平线的交点,以及第二触地线中远离第一触地线的端点的直线。
304.一种实现方式中,第一车辆做触地线的延长线,得到第一触地线与视平线的交点b。第一车辆确定第二触地线中远离第一触地线的端点c。第一车辆做一条过上述交点b以及端点c的直线,该直线为第二直线。
305.步骤ⅳ、第一车辆确定第三直线。
306.第三直线为在待检测图像中过第二边界点,且垂直于视平线的直线。
307.一种实现方式中,第一车辆过第二边界点做视平线的垂线,该垂线为第三直线。
308.步骤

、第一车辆确定第二直线和第三直线的交点为第二个点。
309.一种实现方式中,第一车辆确定第二直线和第三直线交于点c,第一车辆确定该点c为第二个点。
310.s1033、第一车辆根据第一触地线,第二触地线,以及第二个点,确定第三个点。
311.其中,第三个点为第一触地线,与第四直线的交点。第四直线为在待检测图像中过第二个点,且与第二触地线平行的直线。
312.一种具体的实现方式中,结合图11中示出的待检测图像中的第一检测对象,第一车辆确定第三个点的方法为:
313.步骤ⅵ、第一车辆确定第四直线。
314.一种实现方式中,第一车辆过第二个点做第二触地线的平行线。第一车辆确定该平行线为第四直线。
315.步骤ⅶ、第一车辆确定第四直线与第一触地线的交点为第三个点。
316.一种实现方式中,确定设备确定第四直线和第一触地线的交点d,第一车辆恩确定该交点d为第三个点。
317.s1034、第一车辆根据第一个点和第三个点,确定第一条线。
318.一种实现方式中,如图11所示,第一车辆做一条分别以第一个点和第三个点为端点的线段a,第一车辆确定该线段为第一条线。
319.s1035、第一车辆根据第二个点和第三个点,确定第二条线。
320.一种实现方式中,如图11所示,第一车辆做一条分别以第二个点和第三个点为端点的线段b,第一车辆确定该线段为第二条线。
321.情况2、第一车辆根据第一检测对象的一个侧面的可通行区域边界和触地线,确定第一检测对象的三维信息。
322.结合上述s102,在情况2中,第一车辆根据上述s102确定的第一检测对象的可通行区域边界,以及第一检测对象的触地线分别具有如下特征:
323.a、第一检测对象的可通行区域边界包括多个与第三标识对应的边界点;第三标识还对应于第一检测对象的第三侧面。
324.b、第一检测对象的触地线中包括第三触地线;第三触地线为拟合多个与第三标识对应的边界点,确定的触地线。
325.c、多个具有第三标识的边界点中包括第三边界点和第四边界点。
326.第三边界点为多个具有第三标识的边界点中,距离第三触地线的一端最远的点。
327.第四边界点为多个具有第三标识的边界点中,距离第三触地线的另一端最远的点。
328.结合上述s103,在情况2中,第一车辆根据上述s103确定的第一检测对象的三维信息根据第一检测对象对应的两个点和一条线确定。
329.两个点中的第一个点为第三边界点在地面上的投影。
330.两个点中的第二个点为第四边界点在地面上的投影。
331.结合图8,如图12所示,在情况2中,s103具体可以通过以下s1036-s1038实现,下面,对s1036-s1038进行详细说明。
332.s1036、第一车辆根据第三边界点和第三触地线,确定第一个点。
333.其中,第一个点为第三触地线与第五直线的交点。第五直线为过第三边界点,且与第三触地线垂直的直线。
334.一种具体的实现方式中,结合图13中示出的待检测图像中的第一检测对象,第一车辆确定第一检测对象的三维信息的第一个点的方法为:
335.步骤1、第一车辆确定第五直线。
336.第五直线为在待检测图像中过第三边界点,且与视平线垂直的直线。
337.一种实现方式中,第一车辆过第三边界点做视平线的垂线,第一车辆确定该垂线为第五直线。
338.步骤2、第一车辆确定第五直线与第三触地线的交点,为第一个点。
339.一种实现方式中,第一车辆做第三触地线的延长线,第三触地线的延长线与第五直线交于点e,第一车辆确定点e为第一个点。
340.s1037、第一车辆根据第四边界点和第三触地线,确定第二个点。
341.其中,第二个点为第三触地线与第六直线的交点。第六直线为过第四边界点,且与第三触地线垂直的直线。
342.一种具体的实现方式中,结合图13中示出的待检测图像中的第一检测对象,第一车辆确定第一检测对象的三维信息的第二个点的方法为:
343.步骤3、第一车辆确定第六直线。
344.其中,第六直线为在待检测图像中过第四边界点,且与视平线垂直的直线。
345.一种实现方式中,第一车辆过第四边界点做视平线的垂线,第一车辆确定该垂线为第六直线。
346.步骤4、第一车辆确定第六直线与第三触地线的交点,为第二个点。
347.一种实现方式中,第一车辆做第三触地线的延长线,第三触地线的延长线与第六直线交于点f,第一车辆确定点f为第二个点。
348.s1038、第一车辆根据第一个点和第二个点,确定第一条线。
349.一种实现方式中,如图13所示,第一车辆做一条分别以第一个点和第二个点为端点的线段c,第一车辆确定该线段c为第一条线。
350.基于上述技术方案,第一车辆能够根据第一检测对象的可通行区域边界,以及第一检测对象的触地线,确定第一检测对象的三维信息。
351.需要指出的是,上述三维信息是第一检测对象在待检测图像中所表征的三维信息。第一车辆需要确定第一检测对象的真实三维信息时,还需要将第一检测对象在待检测图像中所表征的三维信息带入带第一车辆的车体坐标系中,以使得第一车辆确定第一检测对象相对于第一车辆的位置,第一检测对象的大小(长、宽、高中的至少一项),以及第一检测对象的朝向等信息。
352.具体来说,结合图7,如图9所示,在s103之后,该方法还包括:
353.s104、第一车辆将第一检测对象的三维信息输入车体坐标系中,确定第一检测对象的大小、方向和相对位置中的至少一项。
354.一种具体的实现方式中,第一车辆根据待检测图像建立第一直角坐标系;待检测图像位于该第一直角坐标系中。该第一直角坐标系可以为预先为图像采集装置设置的矩阵,图像采集装置采集的图片均可以映射到该矩阵中。
355.第一车辆确定第一检测对象的三维信息的在第一之间坐标系中的坐标。在此之后,第一车辆确定图像采集装置的内参数和外参数。第一车辆根据图像采集装置的内参数和外参数,以及图像采集装置在车体坐标系中的位置,将第一检测对象的三维信息的在第一直角坐标系中的坐标转换为车体坐标系中的坐标。
356.第一车辆根据第一检测对象的三维信息在车体坐标系中的坐标,确定第一检测对象的位置,运动方向,大小等信息。
357.其中,图像采集装置的内参数,用于表征与图像采集装置自身相关的一些参数,例如图像采集装置的焦距,像素大小等。
358.图像采集装置的外参数,用于表征图像采集装置在世界坐标系中的参数,例如图像采集装置在世界坐标系中的位置,旋转方向等。
359.需要说明的是,第一车辆中预先设置有图像采集装置的内参矩阵和外参矩阵。第一车辆在将车体坐标系中的一个坐标点转换为第一之间坐标系中的一个坐标点(记为第一坐标点)时:第一车辆将该第一坐标点依次与外参矩阵和内参矩阵相乘,即可得到第一坐标点在第一直角坐标系中对应的坐标点。第一车辆在根据第一直角坐标系中的坐标点求其在车体坐标系中对应的点时,只需执行与上述相反的运算过程,即可根据第一直角坐标系中的坐标点,确定其在车体坐标系中对应的点。
360.需要指出的是,在s105之后,第一车辆确定的第一检测对象的大小,包括第一监测对象的长度和宽度。
361.为了确定第一检测对象的高度,第一车辆可以根据第一检测对象的类型,确定第一监测对象的高度。
362.举例来说,在第一检测对象是第二车辆的情况下,第一车辆识别第二车辆的车辆类型,并根据该车辆的类型确定车辆的高度。
363.一种示例,第二车辆的车辆类型为车辆的级别,例如:微型车、小型车、紧凑型车、中型车、中大型车、大型车、小型运动型多用途汽车(sport utility vehicle,suv)、紧凑型suv、中型suv、中大型suv、大型suv、紧凑型多用途汽车(multi purpose vehicles,mpv)、中型mpv、中大型mpv、大型mpv、跑车、皮卡、微面、轻客、微卡等。
364.第一车辆中预先配置有各个等级车辆的标准尺寸,在第一车辆确定第二车辆的车辆等级之后,根据第二车辆的车辆等级,确定第二车辆的高度。
365.又一种示例,第二车辆的车辆类型为车辆的型号(例如,车辆品牌+具体车型)。第一车辆中预先配置有各个型号的车辆的标准尺寸,在第一车辆确定第二车辆的车辆型号之后,根据第二车辆的车辆型号,确定第二车辆的高度。
366.需要指出的是,根据上述方法,第一车辆同样可以根据第二车辆的类型确定第二车辆的长度和宽度。第一车辆可以根据通过该方法确定的第二车辆的长度和宽度,以及通过第二车辆在待检测图像中的三维信息确定的长度和宽度互相验证,确定第二车辆的准确长度和宽度。
367.一种可能的实现方式中,在s105之后,第一车辆确定待检测图像中的全部车辆的位置,大小以及运动方向。第一车辆根据全部车辆的位置,大小以及运动方向,以及第一车辆中其他设备确定的当前道路信息,障碍信息,车辆的目的信息等,规划第一车辆的行驶路线。
368.第一车辆确定第一车辆的行驶路线之后,根据该第一行驶路线生成第一控制指令。第一控制指令用于指示第一车辆根据规划好的行驶路线行驶。
369.第一车辆向第一车辆下发该第一控制指令。第一车辆根据第一车辆下发的控制指令进行智能驾驶。
370.基于上述技术方案,第一车辆可以根据第二车辆的三维信息确定第二车辆的大小,方向,以及第二车辆相对于第一车辆的位置。在此之后,第一车辆可以根据这些信息,规划第一车辆的行驶路线,实现智能驾驶。
371.本技术上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。
372.上述主要从各个装置之间交互的角度对本技术实施例的方案进行了介绍。可以理解的是,各个装置,例如,第一车辆和第二车辆为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
373.可以理解的是,为了实现上述实施例中功能,车辆包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本技术中所公开的实施例描述的各示例的单元及方法步骤,本技术能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
374.图14为本技术的实施例提供的确定检测对象的三维信息的装置的结构示意图。这些确定检测对象的三维信息的装置可以用于实现上述方法实施例中处理器的功能,因此也能实现上述方法实施例所具备的有益效果。在本技术的实施例中,该确定检测对象的三维信息的装置可以是如图1所示的处理器161。
375.如图14所示,确定检测对象的三维信息的装置1400包括处理单元1410和通信单元1420。确定检测对象的三维信息的装置1400用于实现上述图7、图9,图10,或者图12中所示的方法实施例中第一车辆的功能。
376.当确定检测对象的三维信息的装置1400用于实现图7所示的方法实施例中处理器的功能时:处理单元1410用于执行s102至s103,通信单元1420用于与其他实体进行通信。
377.当确定检测对象的三维信息的装置1400用于实现图9所示的方法实施例中处理器的功能时:处理单元1410用于执行s101、s1021至s1023、s103以及s104,通信单元1420用于与其他实体进行通信。
378.当确定检测对象的三维信息的装置1400用于实现图10所示的方法实施例中处理器的功能时:处理单元1410用于执行s101、s102、以及s1031至s1035,通信单元1420用于与其他实体进行通信。
379.当确定检测对象的三维信息的装置1400用于实现图12所示的方法实施例中处理器的功能时:处理单元1410用于执行s101、s102、以及s1036至s1038,通信单元1420用于与其他实体进行通信。
380.有关上述处理单元1410和通信单元1420更详细的描述可以直接参考图7、图9,图10或图12所示的方法实施例中相关描述直接得到,这里不加赘述。
381.在实现过程中,本实施例提供的方法中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
382.本技术中的处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,cpu)、微处理器、数字信号处理器(dsp)、微控制器(microcontroller unit,mcu)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以是个单独的半导体芯片,也可
以跟其他电路一起集成为一个半导体芯片,例如,可以跟其他电路(如编解码电路、硬件加速电路或各种总线和接口电路)构成一个soc(片上系统),或者也可以作为一个asic的内置处理器集成在所述asic当中,该集成了处理器的asic可以单独封装或者也可以跟其他电路封装在一起。该处理器除了包括用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,fpga)、pld(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
383.本技术实施例中的存储器,可以包括如下至少一种类型:只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmabler-only memory,eeprom)。在某些场景下,存储器还可以是只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
384.本技术实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述任一方法。
385.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法。
386.本技术实施例还提供了一种通信系统,包括:上述基站和服务器。
387.本技术实施例还提供了一种芯片,该芯片包括处理器和接口电路,该接口电路和该处理器耦合,该处理器用于运行计算机程序或指令,以实现上述方法,该接口电路用于与该芯片之外的其它模块进行通信。
388.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,简称ssd))等。
389.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组
合起来产生良好的效果。
390.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
391.最后应说明的是:以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1