CN114820416A - 车辆航向角计算方法、车辆位姿计算方法、装置及设备 - Google Patents
车辆航向角计算方法、车辆位姿计算方法、装置及设备 Download PDFInfo
- Publication number
- CN114820416A CN114820416A CN202110125649.6A CN202110125649A CN114820416A CN 114820416 A CN114820416 A CN 114820416A CN 202110125649 A CN202110125649 A CN 202110125649A CN 114820416 A CN114820416 A CN 114820416A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- target
- determining
- longitudinal
- transverse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种车辆航向角计算方法、车辆位姿计算方法、装置及设备,涉及通信技术领域,以解决现有方法计算量较大问题。该车辆航向角计算方法包括:获取目标点云,其中,目标点云包括目标车辆的点云;确定目标点云映射到地面的第一点云,并确定包围第一点云的目标矩形框;分别确定目标矩形框中的纵向边缘区域和横向边缘区域;基于纵向边缘区域中的纵向边缘点云和横向边缘区域中的横向边缘点云,确定G个旋转卡壳;分别确定G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于边缘距离,确定目标旋转卡壳;基于目标旋转卡壳,确定目标车辆的航向角。本发明实施例可降低算法复杂度,减少计算量。
Description
技术领域
本发明涉及计算机处理技术领域,尤其涉及一种车辆航向角计算方法、车辆位姿计算方法、装置及设备。
背景技术
在自动驾驶领域中,车辆位姿是通过三维检测框表示的,具体可通过包括长、宽、高和航向角信息的三维矩形框来表示车辆的位姿。相关技术中的车辆位姿算法主要是将车辆三维点云映射到地面上,之后通过映射后的地面点云,计算航向角,具体可以车辆航向矢量、地面法向量、航向矢量与地面法向量的叉乘方向作为目标坐标系,将地面点云在目标坐标系下的最大点与最小点的数量差,作为目标长、宽、高,并进一步构建出目标三维检测框,故在车辆位姿计算中,关键在于地面信息与车辆目标航向角的计算。
相关处理方法是根据车辆点云形状进行航向角计算,这不仅需要对大量点云数据进行处理,而且易因背景(非目标车辆物体)去除不彻底,导致计算量增加,并会影响计算结果的准确度。
可见,现有处理方法存在计算量较大的问题。
发明内容
本发明实施例提供一种车辆航向角计算方法、车辆位姿计算方法、装置及设备,以解决现有处理方法存在计算量较大的问题。
第一方面,本发明实施例提供了一种车辆航向角计算方法,包括:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
基于所述目标旋转卡壳,确定所述目标车辆的航向角。
可选的,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域之后,所述方法还包括:
去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
可选的,所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
可选的,所述确定所述目标点云映射到地面的第一点云之前,所述方法还包括:
获取地面点云;
对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
依据所述每个子地面点云,确定对应栅格的地面表达式;
所述确定所述目标点云映射到地面的第一点云,包括:
确定所述目标点云对应的目标点云中心;
确定所述目标点云中心对应的栅格的目标地面表达式;
基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
可选的,所述分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,包括:
确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
可选的,所述基于所述边缘距离,确定目标旋转卡壳,包括:
确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
可选的,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,包括:
基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
可选的,所述目标矩形框为包围所述第一点云的最小矩形框。
第二方面,本发明实施例还提供一种车辆位姿计算方法,包括:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用上述第一方面所述的方法确定得到的航向角。
第三方面,本发明实施例还提供一种车辆航向角计算装置,包括:
第一获取模块,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
第一确定模块,用于确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
第二确定模块,用于分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
第三确定模块,用于基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
第四确定模块,用于分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
第五确定模块,用于基于所述目标旋转卡壳,确定所述目标车辆的航向角。
可选的,所述车辆位姿计算装置还包括:
第一处理模块,用于去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述第三确定模块用于基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
可选的,所述第三确定模块包括:
第一选择单元,用于从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
第二选择单元,用于从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
第三选择单元,用于从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
第一确定单元,用于基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
可选的,所述车辆位姿计算装置还包括:
第二获取模块,用于获取地面点云;
第六确定模块,用于对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
第七确定模块,用于依据所述每个子地面点云,确定对应栅格的地面表达式;
所述第一确定模块包括:
第二确定单元,用于确定所述目标点云对应的目标点云中心;
第三确定单元,用于确定所述目标点云中心对应的栅格的目标地面表达式;
处理单元,用于基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
可选的,所述第四确定模块包括:
第四确定单元,用于确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
第五确定单元,用于将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
可选的,所述第四确定模块还包括:
第六确定单元,用于确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
可选的,所述第二确定模块用于基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
可选的,所述目标矩形框为包围所述第一点云的最小矩形框。
第四方面,本发明实施例还提供一种车辆位姿计算装置,包括:
获取模块,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定模块,用于基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用上述第一方面所述的方法确定得到的航向角。
第五方面,本发明实施例还提供一种车辆航向角计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的车辆航向角计算方法中的步骤。
第六方面,本发明实施例还提供一种车辆位姿计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述的车辆位姿计算方法中的步骤。
第七方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的车辆航向角计算方法中的步骤;或者实现如上述第二方面所述的车辆位姿计算方法中的步骤。
在本发明实施例中,获取目标点云,其中,所述目标点云包括目标车辆的点云;确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;基于所述目标旋转卡壳,确定所述目标车辆的航向角。
这样,由于只需基于目标点云对应的目标矩形框中,纵向边缘区域和横向边缘区域中的边缘点云,并采用旋转卡壳的方式计算得到目标车辆的航向角,从而相比现有技术中需基于大量目标点云的计算方式,可在一定程度上降低算法复杂度,减少计算量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的车辆航向角计算方法的流程图;
图2是本发明实施例提供的目标点云映射到地面的示意图;
图3是本发明实施例提供的目标矩形框中的感兴趣区域选择示意图;
图4是本发明实施例提供的基于感兴趣区域确定旋转卡壳的示意图;
图5是本发明实施例提供的车辆位姿方法的流程图;
图6是本发明实施例提供的车辆航向角计算装置的结构图;
图7是本发明实施例提供的车辆位姿计算装置的结构图;
图8是本发明实施例提供的车辆航向角计算设备的结构图;
图9是本发明实施例提供的车辆位姿计算设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的车辆航向角计算方法的流程图,如图1所示,包括以下步骤:
步骤101、获取目标点云,其中,所述目标点云包括目标车辆的点云。
本发明实施例是针对路侧感知场景所提出的车辆航向角计算方法,也就是说,上述目标点云是通过路侧感知方式获得的。
具体地,可以在目标车辆处于行驶状态的情况下,通过行驶路面上的激光雷达对路侧进行实时感知,获得路侧点云,再去除所述路侧点云中的背景点云,如表示建筑物、景物、障碍物等静态物体的静态点云,最后可通过聚类算法对去除背景点云后的剩余路侧点云进行聚类处理,来获得所述目标车辆的点云,也即获得目标点云,具体可包括目标点云簇和目标点云中心。其中,所述目标车辆即为需要计算航向角或计算车辆位姿的车辆。
步骤102、确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框。
在获得所述目标点云后,可以对所述目标点云进行映射处理,具体为将所述目标点云映射到地面,进而得到第一点云。具体地,可以是基于预先获得的地面点云,确定所述目标点云与地面点云的映射关系,也即建立目标点云坐标与地面点云坐标的映射公式,然后,再依据所述映射公式确定所述目标点云映射到地面的第一点云。
在得到所述第一点云后,便可进一步在所述第一点云对应的地面确定一包围所述第一点云在内的目标矩形框,具体可以是确定包围所述第一点云且面积最小的矩形框为目标矩形框,也就是说,所述目标矩形框可以为包围所述第一点云的最小矩形框。例如,可根据所述第一点云在地面的分布情况,依据所述第一点云中的边缘点确定一能够包围所述第一点云且面积最小的矩形框。这样,可以保证尽可能少的计算量和计算精度。
可选的,所述步骤102之前,所述方法还包括:
获取地面点云;
对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
依据所述每个子地面点云,确定对应栅格的地面表达式;
所述确定所述目标点云映射到地面的第一点云,包括:
确定所述目标点云对应的目标点云中心;
确定所述目标点云中心对应的栅格的目标地面表达式;
基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
即一种实施方式中,可以通过预先获取地面点云,并对所述地面点云进行栅格化处理后,建立所述目标点云映射到地面的映射公式,进而可通过所述映射公式对所述目标点云进行映射处理,得到所述第一点云。
具体地,可以在进行路侧实时感知以获取目标点云之前,通过行驶路面上的激光雷达采集点云感知数据,并通过区域生长算法对采集的点云感知数据进行点云分割,便可获得地面点云。
然后,可对所述地面点云进行栅格化处理,具体为将所述地面点云对应的地面划分为多个栅格,所述地面点云分散于多个栅格中,也即相当于所述地面点云被所述多个栅格划分成多个子地面点云,每个栅格中包括一个子地面点云。
接着,可确定每个子地面点云对应的栅格的地面表达式,具体可通过随机抽样一致(RANdom SAmple Consensus,RANSAC)算法拟合每个栅格中的子地面点云对应的子地面,得到表示各子地面曲率的地面方程,也即可确定每个栅格的地面表达式。例如,确定第i栅格的地面表达式为:Aix+Biy+Ciz+Di=0。
这样,在确定每个栅格的地面表达式后,可确定所述目标点云对应的栅格,进而基于所述目标点云对应的栅格的地面表达式,来对所述目标点云进行地面映射处理,具体地,可在确定所述目标点云时通过聚类算法确定所述目标点云对应的目标点云中心,进而确定所述目标点云中心对应的栅格的目标地面表达式,最终可基于所述目标地面表达式,确定相应的目标映射公式,进而得到所述目标点云映射到地面的第一点云。
例如,若第i栅格的地面表达式为Aix+Biy+Ciz+Di=0,则可确定相应的映射公式为 其中,(xo,yo,zo)为目标点云坐标,(xp,yp,zp)为映射地面的第一点云坐标。三维目标点云映射到地面的映射示意图可参见图2,PA′、PB′和PC′为目标点云PA、PB和PC映射到地面后的点云,为地面法向量。
这样,通过该实施方式,可较为准确和快速地确定所述目标点云映射到地面的第一点云。
步骤103、分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域。
在确定所述目标矩形框后,为了既能减少计算量,又能保证计算精度,可以采用感兴趣区域中的点作为车辆航向角的计算点,具体地,考虑到车辆靠近激光雷达的两侧,点云分布更为稠密,对描述目标车辆的参考意义更大,因此,可以采用车辆的这两侧区域作为感兴趣区域。而所述目标点云中质量较高的区域可分为两部分,即横向接近激光雷达的边缘区域(图3中的横向边缘区域32)与纵向靠近激光雷达的边缘区域(图3中的纵向边缘区域31)。
也就是说,可以在所述目标矩形框中分别确定一纵向边缘区域和横向边缘区域,用于基于这两个边缘区域中的点来计算能够拟合车辆航向角的旋转卡壳。其中,所述纵向边缘区域可以是在所述目标矩形框中与所述目标车辆的长边对应且靠近路面激光雷达的一侧的边缘区域,所述横向边缘区域可以是在所述目标矩形框中与所述目标车辆的短边对应且横向接近路面激光雷达的一侧。
具体地,可先基于主成分分析(Principal Component Analysis,PCA)算法计算所述目标车辆的初始航向角,并以车辆的航向角为矩形框方向,在所述目标矩形框中确定相应的纵向边缘区域和横向边缘区域例如,可参见图3,Lpca代表通过PCA算法计算得到的初始航向角,可作为目标矩形框30的方向,当目标矩形框分别位于激光雷达34的左侧或右侧时,可在目标矩形框30中确定如图所示的纵向边缘区域31和横向边缘区域32,图中区域33表示对应车辆内侧区域。
需说明的是,所述纵向边缘区域和所述横向边缘区域的长度可以与所述目标矩形框的长度一致,所述纵向边缘区域和所述横向边缘区域的宽度则可以凭经验选定或预先设定。
可选的,所述步骤103包括:
基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
即一种方式中,可以预先设定纵向边缘区域的宽度和横向边缘区域的宽度,也即可以分别初始化这两个边缘区域的宽度,如均初始化为宽度Δw。从而在得到所述目标矩形框后,可以基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及结合所述目标车辆的初始航向角,来确定所述目标矩形框中的纵向边缘区域和横向边缘区域,具体地,可基于所述目标车辆的初始航向角,确定纵向边缘区域和横向边缘区域在所述目标矩形框的具体侧,再基于预设的纵向边缘区域宽度和横向边缘区域宽度,便可确定具体的纵向边缘区域和横向边缘区域,其中,所述目标车辆的初始航向角可采用PCA算法对所述目标点云进行计算得到。
这样,通过该实施方式,可快速准确地确定所述目标矩形框中的纵向边缘区域和横向边缘区域这两个感兴趣区域。
步骤104、基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数。
本发明实施例中,可以采用旋转卡壳的原理来拟合最终航向角,因此,该步骤中,可以基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,来确定多个旋转卡壳,以从所述多个旋转卡壳中确定出满足要求的目标旋转卡壳;其中,所述纵向边缘点云即为所述第一点云中分布于所述纵向边缘区域内的部分点云,所述横向边缘点云即为所述第一点云中分布于所述横向边缘区域内的部分点云。
具体地,可以是通过分别从所述纵向边缘点云和所述横向边缘点云中选择一些目标点,构成相互垂直的旋转卡壳,也即直角卡壳,其中,为了保证旋转卡壳能够尽可能地逼近真实的航向角,可以从所述横向边缘点云中选择位于较外侧也即较靠近所述横向边缘区域的外侧横边的目标点,从所述纵向边缘点云中也选择位于较外侧也即较靠近所述纵向边缘区域的外侧纵边的目标点,还可以从所述纵向边缘点云中随机选择另一目标点,也即可以通过选择两个、三个或更多的目标点来构成旋转卡壳。
可选的,所述步骤104包括:
从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
即一种实施方式中,可以通过一种较为规律的方式来选择所需的目标点,并通过选择的不同目标点分别构成多个待定的旋转卡壳。
具体地,可以从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点,以及可以从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点,并从剩余点中也即所述纵向边缘点云中除所述第二目标点之外的点中分别选择G个第三目标点,为了得到更全面的结果,可以将所述剩余点全部作为第三目标点。
也即对于所述横向边缘区域,可以只选一个位于最外侧(对应最靠近目标车辆横向边缘)的点为第一目标点,对于所述纵向边缘区域,可以选一个位于最外侧(对应最靠近目标车辆纵向边缘)的点为第二目标点,以及从剩余点中依次选择一个点为第三目标点,所述第一目标点、所述第二目标点和任一个第三目标点分别组成一旋转卡壳。其中,在确定旋转卡壳的过程中,可通过连接所述第二目标点和任一个第三目标点得到一纵向线段,再经过所述第一目标点作与所述纵向线段垂直的横向线段,便可得到一旋转卡壳。
其中,为了便于计算,每选择一个第三目标点,便可以对当前选择的第三目标点进行编号,以及对构成的旋转卡壳进行相应编号,从而对于所述G个第三目标点,可依次得到第1个旋转卡壳、第2个旋转卡壳、……和第G个旋转卡壳。
例如,参见图4,可先确定横向边缘区域41中与外侧线Lb最接近的点P0作为旋转卡壳其中一个支点,再在纵向边缘区域42中选择与外侧线Lr最接近的点P1与纵向边缘区域42中的其他任意点P2组成线段Ll,再确定一经过P0且与线段Ll垂直的线段Lw,从而线段Ll和线段Lw组成直角卡壳,该直角卡壳构成的方向也即图中标示的线段Ll的箭头所指方向便可作为其对应的航向角。
这样,通过分别从所述纵向边缘区域和所述横向边缘区域中选择最外侧的目标点,以及从所述纵向边缘区域中分别选择其他任一点,来构成得到多个旋转卡壳,既能减少不必要的计算量,还能保证计算得到的结果较为准确可靠。
可选的,所述步骤103之后,所述方法还包括:
去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述步骤104包括:
基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
即一种实施方式中,还可以先对所述纵向边缘区域进行去噪处理,也即去除所述纵向边缘点云中的噪声点,具体地,可以采用RANSAC算法对所述纵向边缘区域中的纵向边缘点云进行直线拟合,得到拟合直线,然后再去除所述纵向边缘点云中距离所述拟合直线较远的点,如距离所述拟合直线大于预设距离阈值的点将被作为噪声点去除,所述纵向边缘点云中的其他点,也即未被去除而保留下来的点将被作为纵向边缘点参与旋转卡壳计算。也就是说,在确定旋转卡壳时,可基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,具体的确定方式与所述步骤104类似,在此不再赘述。
这样,通过去除所述纵向边缘点云中的噪声点,可以进一步减少确定旋转卡壳时的计算量,提高运算速度,从而实时性更高,并能提高抗噪声干扰能力,保证最终通过旋转卡壳的方式拟合得到的航向角较为准确。
步骤105、分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳。
在确定所述G个旋转卡壳后,为了拟合得到能够较真实反应所述目标车辆航向角的目标旋转卡壳,可通过分别计算所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述每个旋转卡壳对应的边缘距离,来确定所述目标旋转卡壳。
其中,对于所述G个旋转卡壳中的任一旋转卡壳,其对应的边缘距离可以是通过计算各自边缘区域中的点到对应边缘线段的距离确定,也即可分别计算所述纵向边缘区域中的纵向边缘点云到该旋转卡壳中的纵向线段的纵向距离,所述横向边缘区域中的横向边缘点云到该旋转卡壳中的横向线段的横向距离,进而基于所述纵向距离和所述横向距离确定对应的边缘距离。
在确定各旋转卡壳对应的边缘距离后,可依据各旋转卡壳对应的边缘距离,来确定出符合要求的目标旋转卡壳,由于边缘距离的大小可在一定程度上反应旋转卡壳对所述纵向边缘点云和所述横向边缘点云的拟合程度,例如,边缘距离越小,表示对应旋转卡壳距离各点的距离越近,与各点的偏离程度较小,因此,可以选择边缘距离相对较小的旋转卡壳作为目标旋转卡壳。
可选的,所述分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,包括:
确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
即一种实施方式中,对于所述G个旋转卡壳中的任一旋转卡壳,称之为第一旋转卡壳,可以分别计算所述纵向边缘点云中的每个点到所述第一旋转卡壳的纵向线段的距离,这些距离之和便为所述第一旋转卡壳对应的纵向距离,以及分别计算所述横向边缘点云中的每个点到所述第一旋转卡壳的横向线段的距离,这些距离之和便为所述第一旋转卡壳对应的横向距离,最后将所述纵向距离与所述横向距离相加,便可得到所述第一旋转卡壳对应的边缘距离。
也就是说,对于所述G个旋转卡壳中的第i个旋转卡壳,可采用边缘计算公式来计算其对应的边缘距离,其中,Di表示第i个旋转卡壳对应的边缘距离,drj表示纵向边缘点云中各点到第i个旋转卡壳的纵向线段的距离,n为纵向边缘点云的数量,dbk表示横向边缘点云中各点到第i个旋转卡壳的横向线段的距离,m为横向边缘点云的数量,i的取值范围为1至G之间的任意整数。
这样,可通过该实施方式,可快速计算得到能够真实反应各旋转卡壳对所述纵向边缘点云和所述横向边缘点云的拟合程度的边缘距离,有助于准确地确定目标旋转卡壳。
可选的,所述基于所述边缘距离,确定目标旋转卡壳,包括:
确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
即一种实施方式中,为了保证对目标车辆的航向角的计算精度,可以直接将所述G个旋转卡壳中对应边缘距离最小的旋转卡壳作为目标旋转卡壳,如在分别计算出D1,D2,……DG后,可确定其中的最小值,该最小值对应的旋转卡壳即为目标旋转卡壳。
步骤106、基于所述目标旋转卡壳,确定所述目标车辆的航向角。
在确定所述目标旋转卡壳后,便可基于所述目标旋转卡壳,确定所述目标旋转卡壳所指方向,该方向相对参考方向的夹角即为所述目标车辆的航向角,例如,如图4所示的旋转卡壳,可基于纵向线段Ll的箭头所指方向确定所述目标车辆的航向角。
本发明实施例的车辆航向角计算方法,获取目标点云,其中,所述目标点云包括目标车辆的点云;确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;基于所述目标旋转卡壳,确定所述目标车辆的航向角。
这样,由于只需基于目标点云对应的目标矩形框中,纵向边缘区域和横向边缘区域中的边缘点云,并采用旋转卡壳的方式计算得到目标车辆的航向角,从而相比现有技术中需基于大量目标点云的计算方式,可在一定程度上降低算法复杂度,减少计算量。
参见图5,图5是本发明实施例提供的车辆位姿计算方法的流程图,如图5所示,包括以下步骤:
步骤501、获取目标点云,其中,所述目标点云包括目标车辆的点云。
此步骤的实现方式可以参见步骤101中的描述,为避免重复,此处不再赘述。
步骤502、基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用图1所示实施例中的车辆航向角计算方法确定得到的航向角。
本实施例中,可基于图1所示方法实施例中确定的所述目标车辆的航向角,和所述目标点云,构造出包围所述目标点云在内的三维检测框。其中,关于如何所述目标车辆的航向角的计算方式可参见图1所示方法实施例的相关介绍,此处不再赘述。
本发明实施例的车辆位姿计算方法,获取目标点云,其中,所述目标点云包括目标车辆的点云;基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用图1所示实施例中的车辆航向角计算方法确定得到的航向角。这样,由于航向角的计算量减少,从而可保证基于航向角的车辆位姿计算的计算量也能相比现有技术减少。
本发明实施例还提供了一种车辆航向角计算装置。参见图6,图6是本发明实施例提供的车辆航向角计算装置的结构图。由于车辆航向角计算装置解决问题的原理与本发明实施例中车辆航向角计算方法相似,因此该车辆航向角计算装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,车辆航向角计算装置600包括:
第一获取模块601,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
第一确定模块602,用于确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
第二确定模块603,用于分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
第三确定模块604,用于基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
第四确定模块605,用于分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
第五确定模块606,用于基于所述目标旋转卡壳,确定所述目标车辆的航向角。
可选的,车辆位姿计算装置600还包括:
第一处理模块,用于去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述第三确定模块用于基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
可选的,第三确定模块604包括:
第一选择单元,用于从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
第二选择单元,用于从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
第三选择单元,用于从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
第一确定单元,用于基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
可选的,车辆位姿计算装置600还包括:
第二获取模块,用于获取地面点云;
第六确定模块,用于对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
第七确定模块,用于依据所述每个子地面点云,确定对应栅格的地面表达式;
所述第一确定模块602包括:
第二确定单元,用于确定所述目标点云对应的目标点云中心;
第三确定单元,用于确定所述目标点云中心对应的栅格的目标地面表达式;
处理单元,用于基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
可选的,所述第四确定模块605包括:
第四确定单元,用于确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
第五确定单元,用于将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
可选的,第四确定模块605还包括:
第六确定单元,用于确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
可选的,第二确定模块603用于基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
可选的,所述目标矩形框为包围所述第一点云的最小矩形框。
本发明实施例提供的车辆航向角计算装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种车辆位姿计算装置。参见图7,图7是本发明实施例提供的车辆位姿计算装置的结构图。由于车辆位姿计算装置解决问题的原理与本发明实施例中车辆位姿计算方法相似,因此该车辆位姿计算装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,车辆位姿计算装置700包括:
获取模块701,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定模块702,用于基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用图1所示实施例中的车辆航向角计算方法确定得到的航向角。
本发明实施例提供的车辆位姿计算装置,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种车辆航向角计算设备。由于车辆航向角计算设备解决问题的原理与本发明实施例中车辆航向角计算方法相似,因此该车辆航向角计算设备的实施可以参见方法的实施,重复之处不再赘述。如图8所示,本发明实施例的车辆航向角计算设备,包括:
处理器800,用于读取存储器820中的程序,执行下列过程:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
基于所述目标旋转卡壳,确定所述目标车辆的航向角。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
获取地面点云;
对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
依据所述每个子地面点云,确定对应栅格的地面表达式;
确定所述目标点云对应的目标点云中心;
确定所述目标点云中心对应的栅格的目标地面表达式;
基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
可选的,处理器800还用于读取存储器820中的程序,执行如下步骤:
基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
可选的,所述目标矩形框为包围所述第一点云的最小矩形框。
本发明实施例提供的车辆航向角计算设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供了一种车辆位姿计算设备。由于车辆位姿计算设备解决问题的原理与本发明实施例中车辆位姿计算方法相似,因此该车辆位姿计算设备的实施可以参见方法的实施,重复之处不再赘述。如图9所示,本发明实施例的车辆位姿计算设备,包括:
处理器900,用于读取存储器920中的程序,执行下列过程:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用图1所示实施例中的车辆航向角计算方法确定得到的航向角。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
本发明实施例提供的车辆位姿计算设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
此外,本发明实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现以下步骤:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
基于所述目标旋转卡壳,确定所述目标车辆的航向角。
可选的,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域之后,所述方法还包括:
去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
基于去除所述噪声后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
可选的,所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
可选的,所述确定所述目标点云映射到地面的第一点云之前,所述方法还包括:
获取地面点云;
对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
依据所述每个子地面点云,确定对应栅格的地面表达式;
所述确定所述目标点云映射到地面的第一点云,包括:
确定所述目标点云对应的目标点云中心;
确定所述目标点云中心对应的栅格的目标地面表达式;
基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
可选的,所述分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,包括:
确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
可选的,所述基于所述边缘距离,确定目标旋转卡壳,包括:
确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
可选的,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,包括:
基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
可选的,所述目标矩形框为包围所述第一点云的最小矩形框。
所述计算机程序还可被处理器执行实现以下步骤:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种车辆航向角计算方法,其特征在于,包括:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
基于所述目标旋转卡壳,确定所述目标车辆的航向角。
2.根据权利要求1所述的方法,其特征在于,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域之后,所述方法还包括:
去除所述纵向边缘点云中的噪声点,其中,所述噪声点为所述纵向边缘点云中距拟合直线的距离大于预设距离阈值的点,所述拟合直线为对所述纵向边缘点云进行拟合得到的直线;
所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
基于去除所述噪声点后的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳。
3.根据权利要求1所述的方法,其特征在于,所述基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,包括:
从所述横向边缘点云中选择距离所述横向边缘区域的横向外侧线最近的第一目标点;
从所述纵向边缘点云中选择距离所述纵向边缘区域的纵向外侧线最近的第二目标点;
从所述纵向边缘点云中选择G个第三目标点,其中,所述第三目标点为除所述第二目标点之外的任一点;
基于所述第一目标点、所述第二目标点和所述G个第三目标点,确定G个旋转卡壳,其中,每个旋转卡壳的纵向线段通过所述第二目标点和所述G个第三目标点中的一个第三目标点,每个旋转卡壳的横向线段通过所述第一目标点。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标点云映射到地面的第一点云之前,所述方法还包括:
获取地面点云;
对所述地面点云进行栅格化处理,以将所述地面点云划分成多个子地面点云,每个子地面点云对应一个栅格;
依据所述每个子地面点云,确定对应栅格的地面表达式;
所述确定所述目标点云映射到地面的第一点云,包括:
确定所述目标点云对应的目标点云中心;
确定所述目标点云中心对应的栅格的目标地面表达式;
基于所述目标地面表达式,对所述目标点云进行地面映射处理,得到映射后的第一点云。
5.根据权利要求1所述的方法,其特征在于,所述分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,包括:
确定所述纵向边缘点云中各点距所述第一旋转卡壳的纵向线段的距离之和为纵向距离,以及确定所述横向边缘点云中各点距所述第一旋转卡壳的横向线段的距离之和为横向距离;
将所述纵向距离与所述横向距离之和确定为所述第一旋转卡壳对应的边缘距离。
6.根据权利要求1所述的方法,其特征在于,所述基于所述边缘距离,确定目标旋转卡壳,包括:
确定所述G个旋转卡壳中对应边缘距离最小的旋转卡壳为目标旋转卡壳。
7.根据权利要求1所述的方法,其特征在于,所述分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,包括:
基于预设的纵向边缘区域宽度和横向边缘区域宽度,以及所述目标车辆的初始航向角,在所述目标矩形框中分别确定纵向边缘区域和横向边缘区域。
8.根据权利要求1所述的方法,其特征在于,所述目标矩形框为包围所述第一点云的最小矩形框。
9.一种车辆位姿计算方法,其特征在于,包括:
获取目标点云,其中,所述目标点云包括目标车辆的点云;
基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用权利要求1至8中任一项所述的方法确定得到的航向角。
10.一种车辆航向角计算装置,其特征在于,包括:
第一获取模块,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
第一确定模块,用于确定所述目标点云映射到地面的第一点云,并确定包围所述第一点云的目标矩形框;
第二确定模块,用于分别确定所述目标矩形框中的纵向边缘区域和横向边缘区域,其中,所述纵向边缘区域为与所述目标车辆的长边对应的区域;
第三确定模块,用于基于所述纵向边缘区域中的纵向边缘点云和所述横向边缘区域中的横向边缘点云,确定G个旋转卡壳,其中,所述纵向边缘点云为所述第一点云中位于所述纵向边缘区域内的点云,所述横向边缘点云为所述第一点云中位于所述横向边缘区域内的点云,所述旋转卡壳由相互垂直的纵向线段和横向线段组成,所述纵向线段通过所述纵向边缘点云中的至少两个点,所述横向线段通过所述横向边缘点云中的至少一个点,G为大于1的整数;
第四确定模块,用于分别确定所述G个旋转卡壳中每个旋转卡壳对应的边缘距离,并基于所述边缘距离,确定目标旋转卡壳,其中,第一旋转卡壳对应的边缘距离包括纵向距离和横向距离,所述纵向距离包括所述纵向边缘点云距所述第一旋转卡壳的纵向线段的距离,所述横向距离包括所述横向边缘点云距所述第一旋转卡壳的横向线段的距离,所述第一旋转卡壳为所述G个旋转卡壳中的任一旋转卡壳;
第五确定模块,用于基于所述目标旋转卡壳,确定所述目标车辆的航向角。
11.一种车辆位姿计算装置,其特征在于,包括:
获取模块,用于获取目标点云,其中,所述目标点云包括目标车辆的点云;
确定模块,用于基于所述目标车辆的航向角和所述目标点云,确定用于表示所述目标车辆的位姿的三维检测框,其中,所述目标车辆的航向角为使用权利要求1至8中任一项所述的方法确定得到的航向角。
12.一种车辆航向角计算设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至8中任一项所述的方法中的步骤。
13.一种车辆位姿计算设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求9所述的方法中的步骤。
14.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法中的步骤;或者实现如权利要求9所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110125649.6A CN114820416A (zh) | 2021-01-29 | 2021-01-29 | 车辆航向角计算方法、车辆位姿计算方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110125649.6A CN114820416A (zh) | 2021-01-29 | 2021-01-29 | 车辆航向角计算方法、车辆位姿计算方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114820416A true CN114820416A (zh) | 2022-07-29 |
Family
ID=82526720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110125649.6A Pending CN114820416A (zh) | 2021-01-29 | 2021-01-29 | 车辆航向角计算方法、车辆位姿计算方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114820416A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993817A (zh) * | 2023-09-26 | 2023-11-03 | 深圳魔视智能科技有限公司 | 目标车辆的位姿确定方法、装置、计算机设备及存储介质 |
-
2021
- 2021-01-29 CN CN202110125649.6A patent/CN114820416A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116993817A (zh) * | 2023-09-26 | 2023-11-03 | 深圳魔视智能科技有限公司 | 目标车辆的位姿确定方法、装置、计算机设备及存储介质 |
CN116993817B (zh) * | 2023-09-26 | 2023-12-08 | 深圳魔视智能科技有限公司 | 目标车辆的位姿确定方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Homm et al. | Efficient occupancy grid computation on the GPU with lidar and radar for road boundary detection | |
CN109584294B (zh) | 一种基于激光点云的路面点云提取方法和装置 | |
CN108509820B (zh) | 障碍物分割方法及装置、计算机设备及可读介质 | |
CN109407073B (zh) | 反射值地图构建方法和装置 | |
CN108470174B (zh) | 障碍物分割方法及装置、计算机设备及可读介质 | |
US11762061B2 (en) | System and method for free space estimation | |
WO2021056516A1 (zh) | 目标检测方法、设备及可移动平台 | |
US20050184987A1 (en) | Determining regions that are occluded from an observation point | |
CN113569958B (zh) | 激光点云数据聚类方法、装置、设备及介质 | |
US20210333380A1 (en) | Method for Determining a Collision Free Space | |
EP3842836A1 (en) | Method, apparatus and storage medium for positioning object | |
US20230049383A1 (en) | Systems and methods for determining road traversability using real time data and a trained model | |
CN113420637A (zh) | 自动驾驶中多尺度鸟瞰视角下的激光雷达检测方法 | |
CN114120149A (zh) | 一种倾斜摄影测量建筑物特征点提取方法、装置、电子设备及介质 | |
CN115436910A (zh) | 一种对激光雷达点云进行目标检测的数据处理方法和装置 | |
CN109871659B (zh) | 一种超声波雷达的仿真方法及系统 | |
CN114820416A (zh) | 车辆航向角计算方法、车辆位姿计算方法、装置及设备 | |
CN109598199B (zh) | 车道线生成方法和装置 | |
CN115164919B (zh) | 基于双目相机的空间可行驶区域地图构建方法及装置 | |
CN114280583B (zh) | 无gps信号下激光雷达定位精度验证方法及系统 | |
CN114549764A (zh) | 基于无人车的障碍物识别方法、装置、设备及存储介质 | |
CN114646317A (zh) | 车辆视觉定位导航控制方法、装置及计算机设备、介质 | |
CN114663478A (zh) | 一种根据多参考点预测信息估计锚点位置的方法 | |
CN113867371A (zh) | 路径规划方法和电子设备 | |
KR20180065104A (ko) | 3차원 지형 및 지물 가시화 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |