一种多帧车道线点云栅格化方法、装置、设备及介质与流程

未命名 10-18 阅读:134 评论:0


1.本发明属于汽车自动驾驶技术,具体涉及汽车自动驾驶的高精度定位技术。


背景技术:

2.车道线信息是汽车自动驾驶实现高精度定位最重要的信息之一。利用车载摄像头识别出的车道线和高精度地图车道线互相匹配,能实现车辆的高精度定位。车载摄像头的优点是感知实时性强且性价比高,缺点是容易受到光照、天气、路面不清晰等因素影响。因此基于车载摄像头识别出的车道线,再结合现有的车道线识别算法,在遇到复杂路况或严峻天气时就易导致漏检误检,从而使得车辆定位与实际不符。
3.针对以上不足,本领域的研发人员已经做出过一些改进性技术方案,例如有文献报道一种基于智能摄像头和高精地图定位的车道线融合方法。其由车载相机通过语义分割获得车道线信息,并将其拟合成三次曲线。对三次曲线按照一定间隔离散成点云,随后通过查找将其与相应的地图点云进行匹配,从而校准当前车辆位置坐标。此方法仅使用当前时刻相机获取的车道线信息,当出现漏检误检时,定位随之而产生较大偏差。
4.又如有文献提出了一种点云栅格化方法,其是根据点云坐标建立栅格,并计算栅格中心点坐标。在每个栅格内用当前栅格的中心点近似代表栅格内的所有点。此方法将中心点近似代表栅格内所有点,坐标点的精度会出现一定程度的降低。
5.可见,以上技术虽然有一定的进步,由于目前视觉相机基于语义分割的识别算法,所受天气、光照等影响较大,精度无法达到百分百精准识别,所以采用单次车道线识别结果进行定位,则造成定位结果鲁棒性不强的缺点,视觉点云的处理数量与质量和精度不能兼顾等问题,还存在改进的巨大空间。


技术实现要素:

6.针对现有技术存在的问题,为了提高汽车定位的准确性和鲁棒性,本发明提出一种多帧车道线点云栅格化方法、装置、设备及介质,将车载相机语义分割出的车道线点云进行多帧拼接,将历史的视觉信息累积变换至当前时间,并采用占据栅格精简冗余点云,该点云将用于高精地图的车辆定位。
7.本发明的技术方案如下:
8.本发明在第一方面,提供一种多帧车道线点云栅格化方法,所述方法包括:先获取当前时刻的视觉点云;然后将历史时刻的视觉点云转换到当前时刻;最后栅格化剔除冗余的视觉点,通过固定栅格数量筛选出相同数量的视觉点云,剔除了不同时刻冗余的视觉点。
9.进一步优选,所述栅格化剔除冗余的视觉点包括,读取视觉点云坐标,计算栅格索引点坐标,根据坐标建立栅格;若出现相同坐标的栅格索引点,说明栅格内存在多个视觉点,仅保留与车辆距离最近的视觉点坐标,去除其余相同值,这样每个栅格只保留一个视觉点。
10.进一步优选,所述通过固定栅格数量筛选出相同数量的视觉点云是,统计栅格数
量,当栅格数量大于给定限值时,舍弃距离车体大于预设值的视觉点,即按照距离取一定数量的前视点;所述预设值应不大于实际使用场景中目标车道最大曲率的直径值。
11.进一步优选,所述给定值为根据视觉点至车体距离按从小到大的顺序而设定栅格的数量,通过固定栅格的数量的设定,调整视觉点云的数量,从而调整匹配过程的迭代次数。
12.进一步优选,计算栅格索引点坐标的计算公式如下:
[0013][0014]
其中,grid_x、grid_y、grid_z分别表示x轴、y轴、z轴上的该视觉点的栅格索引点,scale表示栅格大小的尺度因子。
[0015]
进一步优选,还包括计算栅格索引点至坐标系原点即车体中心的距离:
[0016]
distance=grid_x*grid_x+grid_y*grid_y+grid_z*grid_z。
[0017]
进一步优选,所述获取当前时刻的视觉点云,是取当前时刻车体前设定距离区域的的曲线段,将其离散成点云。所述设定距离区域是根据基于语义分割的视觉识别算法能力较近和较远处的车道线拟合可能与实际情况存在较大误差。视觉相机一般安装于挡风玻璃上,较近的车道线超出其可视范围,故选择近距离阈值为3m。由于较远处语义分割拟合出的车道线与实际情况可能存在较大误差,所以选择视觉点距离车体的最大值为10m。所述设定距离区域是根据目前视觉感知算法能力来设定而选择3到10米的范围,以保证精度。因此,由于相机语义分割得到的视觉信息不能保证精度,三次曲线拟合车道线在近端和远端的效果差强人意,故优选是取当前时刻车体前3m至10m的曲线段作为设定距离区域。
[0018]
进一步优选,所述将历史时刻的视觉点云转换到当前时刻,是通过车体本身轮速、航向角、瞬时角速度和瞬时线速度推算出车辆在坐标系中的变换关系,保存每个时刻的视觉点云对应的车体位姿,从而将历史时刻的点云投影至当前时刻。本步骤将历史的视觉信息累积变换至当前时间,从而降低某个时刻由于相机漏检、误检等出现的错误点云的权重。
[0019]
进一步优选,将历史点云投影至当前时刻的投影关系式为:
[0020][0021]
其中,p
t
表示t时刻点云坐标,p
t-1
表示t-1时刻的点云坐标,,为t时刻第k个视觉点从车体坐标系到世界坐标系的变化矩阵。
[0022]
本发明在第二方面,提供一种多帧车道线点云栅格化装置,其包括:
[0023]
获取模块,用于获取当前时刻的视觉点云。
[0024]
转换模块,用于将历史时刻的视觉点云转换到当前时刻。
[0025]
栅格化模块,用于栅格化剔除冗余的视觉点,通过固定栅格数量筛选出相同数量的视觉点云,剔除了不同时刻冗余的视觉点。
[0026]
本发明在第三方面,还提供一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行以上所述的多帧车道线点云栅格化方法。
[0027]
本发明在第四方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行以上所述的多帧车道线点云栅格化方法。
[0028]
本发明的优点如下:
[0029]
1.本发明通过只取当前时刻车前设定距离区域(例如3-10m)的视觉车道线离散点云,有效避免出现由于拟合的不足,距离车前过近以及过远的车道线三次曲线与实际情况存在较大误差,从而影响视觉点云和高精度地图点云的匹配效果,进而影响车辆定位。
[0030]
2.本发明将历史时刻的点云投影至当前时刻,不仅可以降低单一时刻的匹配权重,也更好利用整个行进过程的历史信息,使得定位精度更高、鲁棒性更强。
[0031]
3.本发明占据栅格在保证原始视觉点信息不变的情况下,对其进行精简,在栅格精简冗余点云之前,每个栅格内可能有若干点云,精简之后,每个栅格只保留一个点。这样,在保证数量的同时,其视觉点云的质量和精度也不会损失。再者,固定栅格数量,也能保证无论车辆工况如何,均有足够视觉点进行匹配。同时,通过调整栅格数量,也能达到调控计算资源的作用。
[0032]
通过实际验证,在各种路况、天气环境下,都能保证定位的鲁棒性和精度,且可以通过固定栅格的数量调整视觉点云的数量,从而调整匹配过程的迭代次数,进而优化调整cpu占用率。
附图说明
[0033]
图1为本发明的多帧车道线点云栅格化方法的一个具体的实施例的流程图;
[0034]
图2为车体坐标系下的当前时刻语义分割得到的视觉车道线点云。
[0035]
图3为将历史时刻投影到当前时刻的视觉点云效果图。
[0036]
图4为栅格化示意图。
[0037]
图5为视觉点占据栅格化后的点云效果图。相较于图3直接投影的视觉点云,图4在保证精度和准确性的情况下去除了重叠的冗余点。
[0038]
图6为本发明所述的电子设备的示意图。
具体实施方式
[0039]
下面结合本发明实施例中的附图,对本发明技术方案进行清楚、完整的描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,提供这些实施例是为了更加透彻和完整地理解本发明。本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的技术方案,都属于本发明保护的范围。
[0040]
参见图1,本发明的具体实施方式分为以下三个步骤:
[0041]
1.获取当前时刻视觉离散点云,参见图2:
[0042]
视觉车道线用三次曲线表征:y=c0+c1x+c2x2+c3x3。车辆正前方为x轴正方向,右侧为y轴正方向。车前3m作为起始点每间隔0.5m将曲线离散成点云p(ax,ay,az)。初始时刻的车体位姿设置为单位矩阵:t0,通过轮速、角速度和加速度计算出下一时刻的位姿变化量δt,进而得到下一时刻的位姿t1。同理得到该时刻的位姿tt。若当前时刻视觉点云数量为0,
则也需单独保存该时刻的位姿,以便后续将历史点云投影至当前时刻。
[0043]
2.将历史点云投影至当前时刻:
[0044]
将每个时刻的视觉点云保存该时刻点云对应的车体位姿,随后通过车载组合惯导系统推算出车辆在坐标系中的变换关系,从而将历史点云投影至当前时刻。投影关系式为:
[0045][0046]
其中,p
t
表示t时刻点云坐标,p
t-1
表示t-1时刻的点云坐标,t为某时刻变换矩阵。通过上式将t-1时刻的点云投影至t时刻。
[0047]
从图3可以看到,投影之后的点云存在很多重叠冗余的视觉点,我们需要对其进行占据栅格化,去除冗余点。
[0048]
3.栅格化降采样,即栅格化剔除冗余的视觉点。
[0049]
上述第1和第2步骤完成后,点云的数量会非常多,且在很小坐标系范围内会出现众多坐标几乎相等的重叠的视觉点。不仅增大计算所需时间,影响算法效率,也会造成某个范围匹配权重的加大。所以采用占据栅格剔除坐标相近的冗余视觉点。
[0050]
具体实施方式为:
[0051]
依次遍历所有视觉点p,根据每个视觉点坐标计算对应的栅格索引点grid_point。计算公式如下:
[0052][0053]
其中,grid_x、grid_y、grid_z分别表示x轴、y轴、z轴上的该视觉点的栅格索引点。scale表示栅格大小的尺度因子,此处将之设置为0.1。根据索引点建立当前时刻视觉点云对应的栅格,尺寸为0.1m*0.1m。同时计算栅格索引点至坐标系原点(即车体中心)的距离:
[0054]
distance=grid_x*grid_x+grid_y*grid_y+grid_z*grid_z。
[0055]
以上,通过在点云处建立栅格,有点云的地方才会计算索引点,才会建立栅格。
[0056]
在栅格精简冗余点云之前,每个栅格内可能有若干点云,精简之后,每个栅格只保留一个点。
[0057]
4.通过固定栅格数量筛选出相同数量的视觉点云。
[0058]
按照距离选取一定数量的前视点
[0059]
最后,将该点坐标以及计算得到的栅格索引点,按照distance从小到大依次存入。若出现相同大小的距离distance,则判断对应的栅格索引点坐标是否均相同。如果相同,则表明栅格内存在多个点,仅保留其中任意一个点,其余均舍弃。统计栅格数量,当栅格数大于一定值时,舍弃距离较远的点,即只统计栅格数量,并按距离排序,保留一定数量的点云。最后,将栅格内的点作为当前时刻的视觉点云,用以进行车辆高精度定位的计算。
[0060]
这里,通过设置这个栅格数量,调整cpu占用率。比如想要保留一百个栅格,那处理后的点云就是一百个,后面在拿这一百个点来匹配地图进行定位,cpu占用率可能为10%。如果设置为1000,则占用率可能为60%。例如,实际使用时可以设置为300。
[0061]
这里,舍弃距离较远的点是指舍弃距离车体大于预设值的视觉点,这个距离的预设值应不大于实际使用场景中目标车道最大曲率的直径值。例如,当实际使用的场景为高
速匝道,为了避免超越直径,所以设置为50米。
[0062]
图4为栅格化示意图,根据视觉点坐标计算栅格索引点坐标,设置栅格,栅格大小取0.1m*0.1m大小的格子。当栅格内存在多个视觉点云,只取其中一个点。
[0063]
视觉点占据栅格化后的点云效果参见图5,相较于图3直接投影的视觉点云,可见在保证精度和准确性的情况下去除了重叠的冗余点。
[0064]
可见,本发明通过对历史帧的利用和固定栅格数量筛选出一定数量的视觉点云,既降低了某一帧错误点云的权重,保证任意时刻均有足够的视觉车道线点云,又剔除了不同时刻冗余的视觉点。
[0065]
以下实施例为多帧车道线点云栅格化装置的一种实现方式,其包括:
[0066]
获取模块,用于获取当前时刻的视觉点云。具体是取当前时刻车体前3m至10m的曲线段,将其离散成点云。
[0067]
转换模块,用于将历史时刻的视觉点云转换到当前时刻。具体是通过车载组合惯导系统推算出车辆在坐标系中的变换关系,保存每个时刻的视觉点云对应的车体位姿,从而将历史时刻的点云投影至当前时刻。投影关系见以上的实施例所述。
[0068]
栅格化模块,用于栅格化剔除冗余的视觉点,通过固定栅格数量筛选出与栅格数量相同的视觉点云,剔除不同时刻冗余的视觉点。所述栅格化模块进行冗余视觉点剔除包括:读取视觉点云坐标,计算栅格索引点坐标,根据坐标建立栅格;若出现相同坐标的栅格索引点,仅保留与车辆距离最近的视觉点坐标,去除其余相同值。所述栅格化模块通过固定栅格数量筛选出一定数量的视觉点云,是统计栅格数量,当栅格数量大于给定限值时,舍弃距离车体较远的视觉点。所述给定限值为根据视觉点与车体距离从小到大的顺序而保留一定数量的栅格点,通过固定栅格的数量的设定,调整视觉点云的数量,从而调整匹配过程的迭代次数。
[0069]
本发明提出的电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行以上所述的多帧车道线点云栅格化方法。如图6所示,电子设备100包括:处理器101和存储器103。其中,处理器101和存储器103相连,如通过总线102相连。
[0070]
该电子设备100的结构并不构成对本发明实施例的限定。
[0071]
处理器101可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0072]
总线102可包括一通路,在上述组件之间传送信息。总线102可以是pci总线或eisa总线等。总线102可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0073]
存储器103可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0074]
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施例仅为本发明的优选实施方案,详尽的说明只是为了帮助更好地理解本发明精神,而并非对本发明保护范围的限制,本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
[0075]
以上述依据本发明的实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本发明的范围并不局限于说明书具体实施例的内容,应根据权利要求范围来确定其技术性范围。

技术特征:
1.一种多帧车道线点云栅格化方法,其特征在于,所述方法包括:获取当前时刻的视觉点云;将历史时刻的视觉点云转换到当前时刻;栅格化降采样,即栅格化剔除不同时刻冗余的视觉点;通过固定栅格数量筛选出相同数量的视觉点云。2.根据权利要求1所述的多帧车道线点云栅格化方法,其特征在于,所述栅格化剔除冗余的视觉点包括,读取视觉点云坐标,计算栅格索引点坐标,根据坐标建立栅格;若出现相同坐标的栅格索引点,仅保留与车辆距离最近的视觉点坐标,去除其余相同值,每个栅格保留一个视觉点。3.根据权利要求1所述的多帧车道线点云栅格化方法,其特征在于,所述通过固定栅格数量筛选出相同数量的视觉点云是,统计栅格数量,当栅格数量大于给定限值时,舍弃距离车体大于预设值的视觉点,即按照距离取前视点;所述预设值应不大于实际使用场景中目标车道最大曲率的直径值。4.根据权利要求3所述的多帧车道线点云栅格化方法,其特征在于所述给定限值为根据视觉点与车体距离从小到大的顺序而保留设定数量的栅格点,继而通过固定栅格的数量的设定,调整视觉点云的数量,从而调整匹配过程的迭代次数。5.根据权利要求2、3或4所述的多帧车道线点云栅格化方法,其特征在于,计算栅格索引点坐标的计算公式如下:其中,grid_x、grid_y、grid_z分别表示x轴、y轴、z轴上的该视觉点的栅格索引点,scale表示栅格大小的尺度因子。6.根据权利要求5所述的多帧车道线点云栅格化方法,其特征在于,还包括计算栅格索引点至坐标系原点即车体中心的距离:distance=grid_x*grid_x+grid_y*grid_y+grid_z*grid_z。7.根据权利要求1所述的多帧车道线点云栅格化方法,其特征在于,所述获取当前时刻的视觉点云,是取当前时刻车体前设定距离区域的的曲线段,将其离散成点云,所述设定距离区域是根据采用的视觉感知算法能力来设定。8.根据权利要求1所述的多帧车道线点云栅格化方法,其特征在于,所述将历史时刻的视觉点云转换到当前时刻,是通过车体本身轮速、航向角、瞬时角速度和瞬时线速度推算出车辆在坐标系中的变换关系,保存每个时刻的视觉点云对应的车体位姿,从而将历史时刻的点云投影至当前时刻。9.根据权利要求8所述的多帧车道线点云栅格化方法,其特征在于,将历史点云投影至当前时刻的投影关系式为:其中,p
t
表示t时刻点云坐标,p
t-1
表示t-1时刻的点云坐标,t
k
表示t时刻第k个视觉点,
为t时刻第k个视觉点从车体坐标系到世界坐标系的变化矩阵。10.多帧车道线点云栅格化装置,其特征在于,包括:获取模块,用于获取当前时刻的视觉点云;转换模块,用于将历史时刻的视觉点云转换到当前时刻;栅格化模块,用于栅格化剔除冗余的视觉点,通过固定栅格数量筛选出相同数量的视觉点云,剔除不同时刻冗余的视觉点。11.根据权利要求10所述的多帧车道线点云栅格化方法,其特征在于,所述栅格化模块进行冗余视觉点剔除包括:读取视觉点云坐标,计算栅格索引点坐标,根据坐标建立栅格;若出现相同坐标的栅格索引点,仅保留与车辆距离最近的视觉点坐标,去除其余相同值,每个栅格保留一个视觉点。12.根据权利要求10所述的多帧车道线点云栅格化方法,其特征在于,所述栅格化模块通过固定栅格数量筛选出相同数量的视觉点云是,统计栅格数量,当栅格数量大于给定限值时,舍弃距离车体大于预设值的视觉点,即按照距离取前视点;所述预设值应不大于实际使用场景中目标车道最大曲率的直径值。13.根据权利要求12所述的多帧车道线点云栅格化方法,其特征在于,所述给定限值为根据视觉点与车体距离从小到大的顺序而保留设定数量的栅格点,通过固定栅格的数量的设定,调整视觉点云的数量,从而调整匹配过程的迭代次数。14.根据权利要求13所述的多帧车道线点云栅格化方法,其特征在于,计算栅格索引点坐标的计算公式如下:其中,grid_x、grid_y、grid_z分别表示x轴、y轴、z轴上的该视觉点的栅格索引点,scale表示栅格大小的尺度因子。15.根据权利要求14所述的多帧车道线点云栅格化方法,其特征在于,还包括计算栅格索引点至坐标系原点即车体中心的距离:distance=grid_x*grid_x+grid_y*grid_y+grid_z*grid_z。16.根据权利要求10-15任一项所述的多帧车道线点云栅格化方法,其特征在于,所述获取模块获取当前时刻的视觉点云是取当前时刻车体前设定距离区域的的曲线段,将其离散成点云,设定距离区域根据采用的视觉感知算法能力来设定。17.根据权利要求10-15任一项所述的多帧车道线点云栅格化方法,其特征在于,所述转换模块,是通过车载组合惯导系统推算出车辆在坐标系中的变换关系,保存每个时刻的视觉点云对应的车体位姿,从而将历史时刻的点云投影至当前时刻。18.根据权利要求17所述的多帧车道线点云栅格化方法,其特征在于,将历史点云投影至当前时刻的投影关系式为:其中,p
t
表示t时刻点云坐标,p
t-1
表示t-1时刻的点云坐标,为t时刻第k个视觉
点从车体坐标系到世界坐标系的变化矩阵。19.一种电子设备,包括:处理器;以及存储程序的存储器,其特征在于,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-9任一项所述的多帧车道线点云栅格化方法。20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9任一项中所述的多帧车道线点云栅格化方法。

技术总结
本发明提供一种多帧车道线点云栅格化方法、装置、设备及介质,所述方法包括:获取当前时刻的视觉点云;将历史时刻的视觉点云转换到当前时刻;栅格化剔除冗余的视觉点,通过固定栅格数量筛选出相同数量的视觉点云,剔除不同时刻冗余的视觉点。本发明将车载相机语义分割出的车道线点云进行多帧拼接,将历史的视觉信息累积变换至当前时间,并采用占据栅格精简冗余点云,降低了某一帧错误点云的权重,保证任意时刻均有足够的视觉车道线点云,又剔除了不同时刻冗余的视觉点,使得定位精度更高、鲁棒性更强。性更强。性更强。


技术研发人员:赵韪 曹川 汤兆丰
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.07.10
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐