【技术实现步骤摘要】
一种基于点云和图像特征融合的非结构化道路分割方法
[0001]本专利技术属于计算机视觉与车辆交通领域,涉及一种针对非结构化道路的语义分割方法,尤其涉及一种基于点云和图像特征融合的非结构化道路分割方法。
技术介绍
[0002]自动驾驶技术发展的最终目的是在任何环境下都不需要人类的注意,对可行驶道路进行有效分割是实现这一目标的关键任务之一。现有的研究大多集中在车道线清晰、路面规整、标志物明确的结构化道路场景,而对于非结构化道路场景,存在道路边界模糊、道路形状不规整等问题,因此为道路分割带来了巨大挑战。
[0003]目前,激光雷达和RGB相机是自动驾驶数据采集中两类常用的不同模态的传感器,用以获取不同模态的数据。由于不同模态数据之间存在较大差异,现有方法大多采用单一传感器采集的单模态数据作为输入。然而,单模态数据有限的特征难以支持道路分割精度的进一步提升,因此需要将多模态特征进行融合。激光雷达采集的3D点云数据包含丰富的结构信息,不受天气和光照影响,但只能捕获稀疏和无纹理的数据;RGB相机采集的2D图像数据包含丰富的纹理和 ...
【技术保护点】
【技术特征摘要】
1.一种基于点云和图像特征融合的非结构化道路分割方法,其特征在于,具体包括以下步骤:(1)构建非结构化道路场景数据集构建针对非结构化道路场景的数据集,利用自动驾驶仿真模拟器CARLA搭建非结构化道路场景,按照KITTI数据集格式对采集的数据进行处理;该非结构化道路场景的数据集包括RGB图像、图像的语义分割标签、点云数据、点云的语义分割标签、图像点云标定文件;(2)设计3D主干网络设计基于点云
‑
体素的3D主干网络,输入为激光雷达采集的3D点云数据,该网络能用于训练和推理;具体实现方式包括以下子步骤:子步骤1:设计体素支路网络,该支路将点云转化为体素进行操作,采用编码器
‑
解码器结构;具体包括:
①
设计体素卷积模块;该模块由3D卷积层、批标准化层、LeakyReLU激活函数层组成,其中3D卷积层利用的卷积核大小为2,步长为2;
②
设计体素反卷积模块;该模块由3D卷积层、批标准化层、LeakyReLU激活函数层组成,其中3D卷积层利用的卷积核大小为3的卷积核,步长为1;
③
设计标准残差模块;该模块由3D卷积层和批标准化层组成,其中卷积核大小为3,步长为1;
④
根据子步骤1中
①
和
③
设计下采样模块;该模块由一个
①
中的体素卷积模块和两个
③
中的残差模块组成;
⑤
根据子步骤1中
②
和
③
设计上采样模块;该模块由一个
②
中的体素反卷积模块和两个
③
中的残差模块组成;
⑥
根据上述子步骤1中
①
~
⑤
的模块,将所涉及的不同类型的网络模块进行组合,设计体素支路网络模型;通过对比不同网络架构下模型的准确性和高效性,得到最优网络如下:点云预处理:首先对点云数据进行标准化,将所有点转换为以重心为原点的局部坐标系,并将这些点归一化到单位球中,将点坐标转化至[0,1];然后将归一化后的点云栅格化,转化为三维体素的形式;下采样层1:根据步骤1中
④
设计的下采样模块,先用32个大小为2的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;然后用32个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将原始体素转化为32维的特征向量;下采样层2:根据步骤1中
④
设计的下采样模块,先用64个大小为2的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;然后用64个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为64维的特征向量;下采样层3:根据步骤1中
④
设计的下采样模块,先用128个大小为2的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;然后用128个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为128维的特征向量;下采样层4:根据步骤1中
④
设计的下采样模块,先用256个大小为2的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;然后用256个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为256维的特征向量;下采样层5:重复下采样层4的操作,得到更精确的256维的特征向量;
上采样层1:根据步骤1中
⑤
设计的上采样模块,先用256个大小为3的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;将所得特征向量与下采样层4融合,然后用128个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为128维的特征向量;上采样层2:根据步骤1中
⑤
设计的上采样模块,先用128个大小为3的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;将所得特征向量与下采样层3融合,然后用64个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为64维的特征向量;上采样层3:根据步骤1中
⑤
设计的上采样模块,先用64个大小为3的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;将所得特征向量与下采样层2融合,然后用32个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,将体素向量转化为32维的特征向量;上采样层4:根据步骤1中
⑤
设计的上采样模块,先用32个大小为3的卷积核对原始体素做卷积,之后进行批标准化和LeakyReLU激活;将所得特征向量与下采样层1融合,然后用32个大小为3的卷积核做卷积,并进行批标准化;最后经过LeakyReLU激活,得到更精准的32维特征向量;子步骤2:设计点云融合支路网络,该支路直接对点云进行操作,设计针对点云序列的上采样层和下采样层;具体包括:
①
设计点云卷积模块,卷积数量为3,全部设计为全连接结构;
②
设计点云
‑
体素融合模块,用于将点云序列的点和体素进行映射;首先为体素张量中的所有激活点构造一个哈希表,然后遍历点云张量中的所有点,使用每个点体素化坐标作为键,在体素张量中查询相应的索引;
③
根据上述子步骤2中
①
、
②
模块,将所涉及的不同类型的网络模块进行组合,设计点云融合支路网络模型;通过对比不同网络架构下模型的准确性和高效性,得到最优网络如下:点云下采样层1:利用子步骤2中
①
的点云卷积模块,利用全连接、批标准化、ReLU激活函数,将点云序列转化成32维特征向量;点云下采样层2:利用子步骤2中
①
的点云卷积模块,利用全连接、批标准化、ReLU激活函数,将点云序列转化成64维特征向量;点云
‑
体素融合层1:利用子步骤2中
②
的体素
‑
点云融合模块,将子步骤1中的下采样层5进行转化,并与点云下采样层2进行叠加,得到256维特征向量;点云上采样层1:利用全连接、批标准化、ReLU激活函数对点云
‑
体素融合层1进行操作,将点云序列转化成64维特征向量;点云
‑
体素融合层2:利用子步骤2中
②
的体素
‑
点云融合模块,将子步骤1中的上采样层2进行转化,并与点云上采样层1进行叠加,得到32维特征向量;点云上采样层2:利用全连接、批标准化、ReLU激活函数对点云
‑
体素融合层2进行操作,将点云序列转化成64维特征向量;点云
‑
体素融合层3...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。