一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于相机与激光雷达数据融合的3D目标检测算法的制作方法

2022-02-22 02:31:15 来源:中国专利 TAG:

一种基于相机与激光雷达数据融合的3d目标检测算法
技术领域
1.本发明属于地面无人平台环境感知技术领域,具体涉及一种基于相机与激光雷达数据融合的3d目标检测算法。


背景技术:

2.地面无人平台在实际应用场景中,需要跟随引导人员行驶,期间能够根据引导人员的位置实时规划局部任务路径和躲避障碍,而车载感知算法能否准确输出引导人员的位置决定了地面无人平台的跟随能力。当前基于图像的目标检测算法只能提供二维信息,无法用于地面无人平台的自主导航行驶,采用双目立体视觉虽然能够感知深度信息,但是感知距离受限且精度较低。激光雷达作为地面无人平台的另一种典型传感器,提供了场景轮廓和位置信息,可以对激光雷达原始点云或先转化为规则的表征方式后进行一系列三维卷积处理提取目标特征,但计算实时性较差,达不到地面无人平台的高实时性需求。此外,基于激光雷达的人员检测主要存在两个问题:1)引导人员的尺度较小,特别是远距离区域点云较稀疏;2)引导人员的行动具有不可预测性,且易受到背景中花草树木的影响。


技术实现要素:

3.本发明克服了现有技术的不足之一,提供了一种基于相机与激光雷达数据融合的3d目标检测算法,实现动态场景下的3d目标检测。
4.根据本公开的一方面,本发明提供一种基于相机与激光雷达数据融合的3d目标检测算法,所述算法包括:
5.选择yolov5模型作为2d目标检测器,在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框;
6.根据相机和激光雷达的标定原理构建相机采集的图像数据和激光雷达采集的点云数据的映射关系,同步所述相机采集的图像数据和激光雷达采集的点云数据;
7.以所述激光雷达采集的点云数据作为输入,采用地面分割算法和点云裁剪技术对所述点云数据中的背景点云和前景点云进行分割;
8.根据图像数据和点云数据的映射关系,将分割后的前景点云投影到相机成像平面,以所述目标的2d边界框内的前景点云作为目标的点云候选区域,通过欧式聚类提取目标的3d边界框,实现目标的3d检测。
9.在一种可能的实现方式中,所述在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框,包括:
10.构建目标恒速运动模型;
11.根据所述目标恒速运动模型,融合目标当前帧与其相邻下一帧的运动特征和边框特征信息,并计算目标的预测轨迹和检测轨迹的相似度;
12.根据所述目标的预测轨迹和检测轨迹的方向相似度,采用匈牙利算法进行目标的关联匹配,实现在2d图像层进行目标的检测与跟踪,并得到目标检测的2d边界框。
13.在一种可能的实现方式中,同步所述相机采集的图像数据和激光雷达采集的点云数据,包括:
14.以激光雷达的采样时间作为同步时间节点,对基于相机采集的目标检测的2d边界框进行线性插值。
15.在一种可能的实现方式中,以所述激光雷达采集的点云数据作为输入,对所述点云数据中的背景点云和前景点云进行分割,包括:
16.采用体素滤波算法对所述点云数据进行降维处理;
17.计算每个点云数据与激光雷达x轴的夹角和激光雷达中心点的水平距离r,根据激光雷达的水平角分辨率划分为扇形区域;
18.每个扇形区域在径向根据水平距离r划分为多个子区域,并对所述点云数据以射线形式进行有序存储;
19.对于同一条射线的相邻两点云数据进行直线拟合,如果直线斜率满足所述相邻两点云数据的局部坡度阈值,所述相邻两点云数据为背景点云,否则为前景点云,实现点云数据中的背景点云和前景点云的分割。
20.在一种可能的实现方式中,目标的预测轨迹和检测轨迹的相似度,包括:目标的预测轨迹和检测轨迹的方向相似度和位置相似度。
21.本公开的基于相机与激光雷达数据融合的3d目标检测算法,通过选择yolov5模型作为2d目标检测器,在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框;根据相机和激光雷达的标定原理构建相机采集的图像数据和激光雷达采集的点云数据的映射关系,同步所述相机采集的图像数据和激光雷达采集的点云数据;以所述激光雷达采集的点云数据作为输入,采用地面分割算法和点云裁剪技术对所述点云数据中的背景点云和前景点云进行分割;根据图像数据和点云数据的映射关系,将分割后的前景点云投影到相机成像平面,以所述目标的2d边界框内的前景点云作为目标的点云候选区域,通过欧式聚类提取目标的3d边界框,实现目标的3d检测。能够在不依赖引导人员的位置的前提下实现动态场景下的3d目标检测。
附图说明
22.附图用来提供对本技术的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本技术实施例的附图与本技术的实施例一起用于解释本技术的技术方案,但并不构成对本技术技术方案的限制。
23.图1示出了根据本公开一实施例的基于相机与激光雷达数据融合的3d目标检测算法流程图;
24.图2示出了根据本公开一实施例的yolov5模型的结构示意图;
25.图3示出了根据本公开一实施例的步骤s1的进一步限定流程图;
26.图4示出了根据本公开一实施例的目标级联匹配的流程示意图;
27.图5a示出了根据本公开一实施例的激光雷达和相机同步的示意图;
28.图5b示出了根据本公开另一实施例的激光雷达和相机同步的示意图;
29.图6示出了根据本公开另一实施例的激光点云的横向和径向切割示意图。
具体实施方式
30.以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本技术实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。
31.另外,附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
32.图1示出了根据本公开一实施例的基于相机与激光雷达数据融合的3d目标检测算法流程图。如图1所示,该算法可以包括:
33.步骤s1:选择yolov5模型作为2d目标检测器,在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框。
34.其中,2d图像层可以为利用相机采集的图像数据层。
35.图2示出了根据本公开一实施例的yolov5模型的结构示意图。
36.其中,yolov5模型结构如图2所示,可以利用yolov5模型含有focus结构和csp1结构的主干网络层进行目标特征提取,采用特征金字塔网络(feature pyramid networks,fpn)和感知对抗网络(perceptual adversarial network,pan)进行多尺度特征融合,最后通过diou_nms对置信度较小的目标框进行抑制,实现对场景中目标的类别属性和边界框进行检测。
37.图3示出了根据本公开一实施例的步骤s1的进一步限定流程图。
38.在一示例中,如图3所示,在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框可以包括:
39.步骤s11:构建目标恒速运动模型。
40.举例来说,假设地面无人平台应用场景中引导人员作匀速运动,构建目标恒速运动模型。
41.定义t-1时刻待跟踪目标的边界框位置为(c
x
,cy,w,h),状态可由8维向量表示通过标准卡尔曼滤波器预测待跟踪目标t时刻的位置如公式(1)、(2)所示:
[0042][0043]
p’=fp
t-1ft
q
ꢀꢀꢀꢀ
式(2),
[0044]
式中,p
t-1
为t-1时刻后验估计协方差,表示状态的不确定度,p

为t-1时刻先验估
计协方差,f为状态转移矩阵,q为过程激励噪声协方差,为t-1时刻后验状态估计值,为t时刻先验状态估计值。
[0045]
步骤s12:根据所述目标恒速运动模型,利用卡尔曼滤波算法预测目标下一帧轨迹,融合目标当前帧与其相邻下一帧的运动特征和边框特征信息,并计算目标的预测轨迹和检测轨迹的相似度。其中,目标的预测轨迹和检测轨迹的相似度包括:目标的预测轨迹和检测轨迹的方向相似度和位置相似度。例如可以利用在行人重识别数据集上离线训练的残差网络模型提取目标的外观(边框)特征,以128维的归一化特征描述子表征,采用余弦距离衡量预测的轨迹和检测轨迹的方向相似度;通过计算预测的轨迹和检测轨迹的马氏距离衡量目标的位置相似度。
[0046]
步骤s13:根据目标的预测轨迹和检测轨迹的方向相似度,采用匈牙利算法进行目标的关联匹配,实现在2d图像层进行目标的检测与跟踪,并得到目标检测的2d边界框。
[0047]
图4示出了根据本公开一实施例的目标级联匹配的流程示意图。
[0048]
例如,假如动态场景中出现新的目标,针对新出现的目标,均分配相应的跟踪器。每个跟踪器设置一个参数time_update作为级联匹配的优先级,若当前帧匹配成功,time_update置0,否则进行加1运算。如图4所示,在后续进行目标级联匹配时,参数time_update小的优先匹配,参数time_update大的后匹配。
[0049]
为了提高待测目标级联匹配的效果,还可以同时计算预测下一帧的目标轨迹与当前帧目标轨迹的检测边界框的交并比(intersection over union,iou),采用匈牙利算法继续进行关联匹配并分配相应的id。最后根据t时刻的实际检测值z
t
=[c
x
,cy,w,h]对待跟踪目标的位置进行更新,如公式(3)、(4)、(5)所示:
[0050][0051][0052]
p
t
=(i-k
t
h)p
’ꢀꢀꢀꢀ
式(5),
[0053]
式中,h为状态变量到观测变量的转化矩阵,r为测量噪声协方
[0054]
差,z
t
为观测值,k
t
为卡尔曼增益,为t时刻后验状态估计值。通
[0055]
过上述步骤可以得到待测目标检测的2d边界框。
[0056]
步骤s2:根据相机和激光雷达的标定原理构建相机采集的图像数据和激光雷达采集的点云数据的映射关系,同步所述相机采集的图像数据和激光雷达采集的点云数据。其中,可以以激光雷达的采样时间作为同步时间节点,对基于相机采集的目标检测的2d边界框进行线性插值。
[0057]
例如,首先根据小孔成像原理构建相机成像模型和畸变模型,具体如公式6~8所示:
[0058][0059]
式中,f为相机的焦距;(fx,fy)分别为在x、y轴方向上的等效焦距;m1、m2分别为相机的内参矩阵和外参矩阵。
[0060][0061]
式中,(x,y)为目标实际位置坐标点,r为目标像点到中心点的距离,k1、k2和k3为径向畸变系数。
[0062][0063]
式中,p1和p3为切向畸变系数。
[0064]
举例来说,可以选择方格尺寸为50mm*50mm、9x7的棋盘格作为内参标定版,将内参标定板分别移动到相机视野的最左边、最右边、最上方和最下方,同时调整相机和内参标定板之间的距离和倾斜角度,采集25张图片,利用最小二乘法对相机成像模型和畸变模型中的等效焦距(fx,fy)、径向畸变系数(k1,k2,k3)和切向畸变系数(p1,p3)进行求解。
[0065]
然后选择方格尺寸为108mm*108mm、9x7的棋盘格作为外参标定板,依次移动外参标定板到相机视野的近处、中间、远处的左边、中间、右边9个位置,并且在每个位置调整外参标定板的姿态,包括上仰、下俯、左偏、右偏和正中五个姿态,每个姿态持续3秒,保证外参标定板不出现模糊现象,选择有效的20帧点云帧和图像帧。利用autoware工具箱抓取的每帧棋盘格在相机坐标系下的位置和方向,同时提取棋盘格上的点云数据,根据公式(9)计算相机相对于激光雷达的旋转矩阵和平移矩阵。
[0066][0067]
式中,(α,β,γ)为相机到激光雷达的旋转欧拉角;r(α,β,γ)为相机到激光雷达的旋转矩阵;(x,y,z)为相机到激光雷达的平移值;t(x,y,z)为相机到激光雷达的平移矩阵;pi为第i个棋盘格在相机坐标系下的位置;ni为第i个棋盘格在相机坐标系下的法向量;q
i,j
为第i个棋盘格的第j点在激光雷达坐标系下的位置。
[0068]
在一示例中,同步所述相机采集的图像数据和激光雷达采集的点云数据,可以包括:
[0069]
以激光雷达的采样时间作为同步时间节点,对基于相机采集的目标检测的2d边界框进行线性插值。
[0070]
图5a和图5b分别示出了根据本公开一实施例的激光雷达和相机同步的示意图。
[0071]
选择激光雷达传感器的采样时间节点作为同步的插入点,由于相机采集的图像中目标的位置是连续变化的,相机传感器的图像数据可以根据激光雷达的时间节点进行插值获取。例如可以依次将激光雷达、相机采样数据放入对应的缓冲区中,以激光雷达采样节点的时间戳作为同步时间syntime,在相机数据缓冲区搜索与同步时间syntime相邻的数据。如图5a所示,如果同步时间syntime小于相机数据缓冲区最靠前的时间,则认为数据同步失败,丢弃当前的激光雷达点云帧,等待下一帧激光雷达数据。如果同步时间syntime大于相机缓冲区buf[1]对应的时间戳,则认为当前缓冲区具备足够的数据进行同步,循环丢弃相机缓冲区中的靠前的数据,后续数据依次前移,直至数据同步成功。
[0072]
如图5b所示,如果同步时间syntime已经介于相机缓冲区的buf[0]和buf[1]之间,
但是同步时间syntime与buf[0]或buf[1]的时间差大于相机目标识别的最大推理时间阈值,可认为相机缓冲区存在数据丢失现象,丢弃当前的激光雷达点云帧和相机缓冲区buf[0]数据,后续数据前移,等待下一帧激光雷达数据进行同步。最后将基于相机传感器目标检测的2d边界框进行线性插值,如公式10所示,
[0073][0074]
式中,x为2d边界框的左上、右下像素坐标;time为相机缓冲区的采样时间;syncbuf为相机、激光雷达数据同步后的结果。
[0075]
步骤s3:以所述激光雷达采集的点云数据作为输入,采用地面分割算法和点云裁剪技术对所述点云数据中的背景点云和前景点云进行分割。
[0076]
具体为,采用体素滤波算法对所述点云数据进行降维处理。例如可以采用体素滤波将输入点云数据按照0.2m*0.2m*0.2m立方体进行分割,以每个小立方体的形心表征小立方体内的所有点云,实现对输入点云降采样处理。由于待跟踪目标通常在地面无人平台的前方活动,对降采样后的点云进行点云裁剪并剔除道路范围外和地面无人平台后方的点云。此外,对激光雷达近距离的点云进行过滤,消除地面无人平台自身的激光雷达反射影响。然后采用地面分割算法对地面分割的核心是把无序的输入点云转变为有序的输出,将点(x,y,z)降维为(x,y),根据公式(11)、(12)计算每个点云数据与激光雷达x轴的夹角α和激光雷达中心点的水平距离r,
[0077][0078][0079]
图6示出了根据本公开另一实施例的激光点云的横向和径向切割示意图。如图6所示,将点云按照激光雷达的水平角分辨率划分为扇形区域,每个扇形区域在径向按照距离r划为多个子区域,以此对点云以射线形式进行有序存储。引入同条射线相邻两点的局部坡度阈值,对于同一条射线的相邻两点云数据进行直线拟合,如果直线斜率满足所述相邻两点云数据的局部坡度阈值,所述相邻两点云数据为背景点云(地面点云),否则为前景点云(非地面点云),实现点云数据中的背景点云和前景点云的分割,即完成对点云数据的地面点云数据与非地面点云数据分割。
[0080]
步骤s4:根据图像数据和点云数据的映射关系,将分割后的前景点云投影到相机成像平面,以所述目标的2d边界框内的前景点云作为目标的点云候选区域,通过欧式聚类提取目标的3d边界框,实现目标的3d检测。
[0081]
具体为,通过步骤s2的激光雷达和相机联合标定建立了激光雷达坐标系下三维点云坐标到图像像素坐标系下像点的映射关系,对分割后的前景点云(非地面点云)进行投影并构建数据索引,将三维点云信息统一到图像坐标上。对于投影后落在目标检测的2d边界框中的点云,暂且假设为待跟踪目标的空间位置区域,对当前区域的点云进行欧式聚类,同时采用kd-tree算法加快数据搜索速率,以减少计算量。聚类中心距离目标检测的2d边界框中心最近的类别可被认为是待跟踪目标的区域范围点云,其边界即为检测目标的3d边界框,依据目标检测的2d边界框和3d边界框的映射关系,能够有效解算出待跟踪目标的中心位置坐标,从而实现3d目标检测。
[0082]
本公开的基于相机与激光雷达数据融合的3d目标检测算法,通过选择yolov5模型作为2d目标检测器,在2d图像层进行目标的检测和跟踪,得到目标检测的2d边界框;根据相机和激光雷达的标定原理构建相机采集的图像数据和激光雷达采集的点云数据的映射关系,同步所述相机采集的图像数据和激光雷达采集的点云数据;以所述激光雷达采集的点云数据作为输入,采用地面分割算法和点云裁剪技术对所述点云数据中的背景点云和前景点云进行分割;根据图像数据和点云数据的映射关系,将分割后的前景点云投影到相机成像平面,以所述目标的2d边界框内的前景点云作为目标的点云候选区域,通过欧式聚类提取目标的3d边界框,实现目标的3d检测。能够在不依赖引导人员的位置的前提下实现动态场景下的3d目标检测。
[0083]
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献