1.本技术涉及相机标定技术领域,特别是涉及一种激光雷达与相机联合标定 方法和装置、服务器、计算机可读存储介质。
背景技术:2.随着自动驾驶或无人驾驶技术的不断发展,自动驾驶或无人驾驶将逐渐步 入人们的日常生活中,为人们的生活带来便利。其中,自动驾驶或无人驾驶技 术所面临的核心问题是:车辆的视觉感知能力不足,无法形成对整体道路交通 坏境的全面感知,使得车辆行驶安全性得不到全面保障。
3.近些年出现了通过激光雷达与相机一起来提高车辆的视觉感知能力的方 案,但是采用传统方法在对激光雷达与相机进行标定时,都需要基于特定标定 物(标定板)来进行标定,浪费人力物力,且可复用性不强。
技术实现要素:4.本技术实施例提供一种激光雷达与相机联合标定方法、装置、服务器、计 算机可读存储介质,可以避免浪费人力物力,提高标定过程的可复用性。
5.一种激光雷达与相机联合标定方法,包括:
6.获取同一时刻、同一场景下采集的图像和激光点云数据;
7.根据相机的内参矩阵、激光雷达相对于所述相机的初始联合标定参数,将 所述激光点云数据对应的点云映射到所述图像上得到映射点云;
8.基于所述激光点云数据中点云的反射率、所述映射点云的灰度值构建概率 分布图,根据所述概率分布图构建目标函数;
9.通过所述目标函数调整所述初始联合标定参数直到所述目标函数的值满足 预设阈值,输出调整后的联合标定参数作为所述激光雷达相对于所述相机的目 标联合标定参数。
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.图1为一个实施例中激光雷达与相机联合标定方法的应用场景图;
41.图2为一个实施例中激光雷达与相机联合标定方法的流程图;
42.图3为一个实施例中激光雷达相对于相机的初始联合标定参数的计算过程 的流程图;
43.图4为图2中将激光点云数据对应的点云映射到图像上得到映射点云方法 的流程图;
44.图5为图2中基于所述激光点云数据中点云的反射率、所述映射点云的灰 度值构建概率分布图方法的流程图;
45.图6为一个具体的实施例中激光雷达与相机联合标定方法的流程图;
46.图7为一个实施例中激光雷达与相机联合标定装置的结构框图;
47.图8为图7中目标函数构建模块的结构框图;
48.图9为一个实施例中服务器的内部结构示意图。
具体实施方式
49.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本技术,并不用于限定本技术。
50.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种 元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个 元件区分。
51.图1为一个实施例中激光雷达与相机联合标定方法的应用场景图。如图1 所示,该应用环境包括激光雷达120、相机140及服务器160。通过相机采集得 到图像,通过激光雷达在同一时刻、同一场景下采集得到激光点云数据。服务 器获取同一时刻、同一场景下采集的图像和与图像对应的激光点云数据,根据 相机的内参矩阵、激光雷达相对于相机的初始
联合标定参数,将激光点云数据 对应的点云映射到图像上得到映射点云;基于激光点云数据中点云的反射率、 映射点云的灰度值构建直方图,根据直方图构建目标函数;通过目标函数调整 初始联合标定参数直到目标函数的值满足预设阈值,输出调整后的联合标定参 数作为激光雷达相对于相机的目标联合标定参数。其中,相机在提取目标的特 征方面有较大优势,却不能准确获取目标的速度和位置。而激光雷达探测距离 近,测量精度高,能够准确获取物体的三维信息和速度信息,但成本高,缺少 rgb信息,且在恶劣天气下,如雨天、雾天等无法正常工作。因此,将激光雷 达与相机两者进行融合,就可以发挥各自的优势。在融合的基础上,进行信息 交互,最大限度地获取周边环境信息。
52.图2为一个实施例中激光雷达与相机联合标定方法的流程图,如图2所示, 提供了一种激光雷达与相机联合标定方法,应用于服务器,包括步骤220至步 骤280。
53.步骤220,获取同一时刻、同一场景下采集的图像和激光点云数据。
54.在对激光雷达与相机进行联合标定时,首先,将激光雷达及相机调整至预 设角度,并固定激光雷达及相机之间的相对位置。然后,通过相机拍摄得到图 像,通过激光雷达在同一时刻、同一场景下采集得到激光点云数据。最后,服 务器从相机所采集到的图像及激光雷达所采集到的激光点云数据中,获取同一 时刻对应的图像和与图像对应的激光点云数据,组成一对数据。在对激光雷达 与相机进行联合标定时,可以是获取多对这样的数据。其中,同一个标定物对 应多个激光点云数据,标定物为所述相机和所述毫米波雷达重叠检测区域中的 至少一个目标。
55.具体的,分别获取到激光雷达与相机的系统时间戳,分别计算激光雷达与 工控机的系统时间差值、相机与工控机的系统时间差值。再通过同一台工控机 同时采集激光点云数据和图像对应的数据,基于激光雷达与工控机的系统时间 差值、相机与工控机的系统时间差值,将激光点云数据和图像对应的数据的系 统时间戳转换到工控机的时间轴上,即可获取时间同步(同一时刻)的激光雷 达数据和图像对应的数据。
56.步骤240,根据相机的内参矩阵、激光雷达相对于相机的初始联合标定参数, 将激光点云数据对应的点云映射到图像上得到映射点云。
57.具体的,相机的内参矩阵其中,(c
x
,cy)表示图像中心点 坐标,f
x
,fy是以像素为单位表示的焦距。
58.另外,激光雷达本来就位于世界坐标系中,而相机位于相机坐标系,相机 所拍摄出的图像位于像素坐标系中。且相机坐标系能够与世界坐标系相互转换, 相机坐标系能够与像素坐标系相互转换。因此,服务器在计算激光雷达相对于 相机的初始联合标定参数时,可以通过世界坐标系作为桥梁,根据激光雷达在 世界坐标系中的坐标、相机在世界坐标系中的坐标,计算激光雷达相对于相机 的初始联合标定参数。其中,联合标定参数也可以称之为外参矩阵。
59.然后,根据相机的内参矩阵、相机的畸变系数、激光雷达相对于相机的初 始外参矩阵,通过透射变换矩阵将激光点云数据对应的点云映射到图像上得到 映射点云,如此就建立了激光点云与图像上的像素之间的对应关系。
60.步骤260,基于激光点云数据中点云的反射率、映射点云的灰度值构建概率 分布图,根据概率分布图构建目标函数。
61.因为激光点云的反射率与映射点云的灰度值之间存在强相关性,所以就可 以基于激光点云数据中点云的反射率、映射点云的灰度值构建概率分布图,根 据概率分布图构建目标函数。激光点云数据中包含了丰富的信息,包括三维坐 标(x,y,z)、颜色、分类值、强度值、时间、反射率等,本技术对此不做 限定。根据激光雷达打到目标物体(标定物)的发射功率和接收器所接收的目 标物体(标定物)的接收功率计算目标物体(标定物)的发射率。在真实的测 试环境中,随着距离增加,光路的衰减将极大地影响物体的反射率。
62.服务器在将激光点云数据对应的点云映射到图像上得到映射点云之后,就 可以从图像上获取映射点云的灰度值。再从激光点云数据中获取每一个点云的 反射率,就可以基于激光点云数据中点云的反射率、映射点云的灰度值构建概 率分布图。其中,概率分布图包括直方图、饼状图或曲线图等,本技术对此不 做限定。例如,对于直方图,可以对激光点云数据中点云的反射率进行统计, 得出由一系列高度不等的纵向条纹或线段来表示激光点云数据中点云的反射率 的分布情况。在直方图中一般用横轴表示数据类型,纵轴表示分布情况。也可 以采用直方图对映射点云的灰度值进行统计,得出映射点云的灰度值的分布情 况。当然,还可以采用直方图对激光点云数据中点云的反射率、映射点云的灰 度值两者进行统计,得出激光点云数据中点云的反射率、映射点云的灰度值的 分布情况。
63.当然,除了采用直方图的形式来表示,还可以采用饼状图或曲线图等形式 来表示激光点云数据中点云的反射率的分布情况、映射点云的灰度值的分布情 况及激光点云数据中点云的反射率、映射点云的灰度值两者的分布情况。
64.在基于激光点云数据中点云的反射率、映射点云的灰度值构建概率分布图 之后,就可以根据概率分布图构建目标函数。具体的,目标函数也称之为损失 函数(loss function)或代价函数(cost function)。
65.步骤280,通过目标函数调整初始联合标定参数直到目标函数的值满足预设 阈值,输出调整后的联合标定参数作为激光雷达相对于相机的目标联合标定参 数。
66.服务器就可以通过目标函数不断调整初始联合标定参数直到目标函数的值 满足预设阈值。预设阈值可以是预先根据实际情况设定的。在目标函数的值满 足预设阈值之后,输出调整后的外参矩阵作为激光雷达相对于相机的目标外参 矩阵,完成激光雷达与相机联合标定的过程。其中,联合标定参数也可以称之 为外参矩阵。
67.本技术实施例中,服务器将激光点云数据对应的点云映射到图像上得到映 射点云。再基于激光点云数据中点云的反射率、映射点云的灰度值构建概率分 布图,根据概率分布图构建目标函数,通过目标函数调整初始联合标定参数直 到目标函数的值满足预设阈值,输出调整后的联合标定参数作为激光雷达相对 于相机的目标联合标定参数。因为激光点云的反射率与映射点云的灰度值之间 存在强相关性,所以就可以基于激光点云数据中点云的反射率、映射点云的灰 度值构建概率分布图,根据概率分布图构建目标函数,进而得到目标联合标定 参数。通过激光雷达与相机进行自标定,不需要使用特定标定物,避免了浪费 人力物力,因为不需要使用特定标定物就也提高了该联合标定方法的可复用性。
68.在一个实施例中,如图3所示,激光雷达相对于相机的初始联合标定参数 的计算过程,包括:
69.步骤320,获取激光雷达在世界坐标系中的坐标。
70.对于激光雷达,因为激光雷达本来就使用的是世界坐标系,所以直接就获 取到了激光点云在世界坐标系中的坐标。其中,世界坐标系由xw、yw、zw构 成。
71.步骤340,将相机在相机坐标系中的坐标转换为相机在世界坐标系中的坐 标。
72.相机自身的坐标系是相机坐标系,通过相机坐标系与世界坐标系之间的转 换公式,将相机在相机坐标系中的坐标转换为相机在世界坐标系中的坐标。其 中,相机坐标系可以用(x,y,z)来表示。
73.步骤360,根据激光雷达在世界坐标系中的坐标、相机在世界坐标系中的坐 标,计算激光雷达相对于相机的初始联合标定参数。
74.在经过步骤320和步骤340两步的计算之后,得到了激光雷达在世界坐标 系中的坐标、相机在世界坐标系中的坐标,就可以基于世界坐标系作为中间坐 标系来计算激光雷达相对于相机的初始联合标定参数(初始外参矩阵)。其中, 联合标定参数也可以称之为外参矩阵。[rt]包括旋转矩阵r3×3、平移向量t3×1, 具体为:
[0075]
本技术实施例中,首先,获取激光雷达在世界坐标系中的坐标;其次,将 相机在相机坐标系中的坐标转换为相机在世界坐标系中的坐标;最后,就可以 基于世界坐标系作为中间坐标系来计算激光雷达相对于相机的初始外参矩阵。 借助于世界坐标系作为中间坐标系,就可以准确地计算出激光雷达相对于相机 的初始外参矩阵。
[0076]
在一个实施例中,如图4所示,步骤240,根据相机的内参矩阵、激光雷达 相对于相机的初始联合标定参数,将激光点云数据对应的点云映射到图像上得 到映射点云,包括:
[0077]
步骤242,计算相机的内参矩阵、相机的畸变系数。
[0078]
由相机标定得到相机的内参矩阵及相机的畸变系数。其中,相机的内参矩 阵其中,(c
x
,cy)表示图像中心点坐标,f
x
,fy是以像素为单位 表示的焦距。
[0079]
其中,相机的畸变系数可以划分为径向畸变、切向畸变。
[0080]
步骤244,获取激光点云数据在世界坐标系中的坐标。
[0081]
对于激光雷达,因为激光雷达本来就使用的是世界坐标系,所以直接就获 取到了激光点云数据在世界坐标系中的坐标。其中,世界坐标系由xw、yw、zw 构成。
[0082]
步骤246,将相机的内参矩阵、相机的畸变系数、激光雷达相对于相机的初 始联合标定参数及激光点云数据在世界坐标系中的坐标输入至透射变换矩阵, 计算激光点云数据对应的点云在像素坐标系中的坐标。
[0083]
经过上述计算分别得到了相机的内参矩阵a、相机的畸变系数k、激光雷达 相对于相机的初始外参矩阵[rt]及激光点云数据在世界坐标系中的坐标 (xw,yw,zw)。联合标定参数也可以称之为外参矩阵。其中,透射变换矩阵为:
[0084][0085][0086]
其中,
[0087]
将相机的内参矩阵a、相机的畸变系数k、激光雷达相对于相机的初始外参 矩阵[rt]及激光点云数据在世界坐标系中的坐标(xw,yw,zw)输入至透射变换矩 阵,就可以计算出激光点云数据对应的点云在像素坐标系中的坐标(μ,ν)。
[0088]
计算出激光点云数据对应的点云在像素坐标系中的坐标(μ,ν)的过程如 下:
[0089][0090]
x
′
=x/z y
′
=y/z
ꢀꢀꢀ
(1-4)
[0091][0092][0093]
其中,r2=x
′2+y
′2[0094]
u=f
x
*x
″
+c
x v=fy*y
″
+cy[0095]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-7)
[0096]
其中,k1,k2,k3,k4,k5,k6表示径向畸变系数,p1,p2表示切向畸变系数。
[0097]
步骤248,从图像上提取点云在像素坐标系中的坐标处的像素点,作为映射 点云。
[0098]
在计算出激光点云数据对应的点云在像素坐标系中的坐标(μ,ν)之后, 就实现了将激光点云数据对应的点云映射到图像上得到映射点云。具体的,从 图像上提取点云在像素坐标系中的坐标(μ,ν)处的像素点,作为映射点云。 对于一开始进行激光雷达与相机进行联合标定时,所选取的每一个激光雷达点 云数据对应的点云都映射到图像上得到映射点云。
[0099]
本技术实施例中,首先,获取激光点云数据在世界坐标系中的坐标。然后, 将相机的内参矩阵、相机的畸变系数、激光雷达相对于相机的初始联合标定参 数及激光点云数据在世界坐标系中的坐标输入至透射变换矩阵,计算激光点云 数据对应的点云在像素坐标系中的坐标。从图像上提取点云在像素坐标系中的 坐标处的像素点,作为映射点云。实现了将激光点云与相机所拍摄的图像之间 在空间上进行匹配,从而,便于后续进行激光雷达与相机联合标定。且通过透 射变换矩阵可以对畸变矫正后的图像数据进行计算,也可以对未经过畸变矫正 的图像数据进行计算,适用性更广。
[0100]
在一个实施例中,概率分布图包括反射率直方图、灰度直方图及联合直方 图,如
图5所示,步骤260,基于激光点云数据中点云的反射率、映射点云的灰 度值构建概率分布图,包括:
[0101]
步骤262,基于激光点云数据中点云的反射率构建反射率直方图;
[0102]
步骤264,基于映射点云的灰度值构建灰度直方图;
[0103]
步骤266,基于反射率直方图及灰度直方图构建联合直方图。
[0104]
具体的,因为激光点云的反射率与映射点云的灰度值之间存在强相关性, 所以就可以基于激光点云数据中点云的反射率、映射点云的灰度值构建概率分 布图,根据概率分布图构建目标函数。其中,概率分布图包括直方图、饼状图 或曲线图等,本技术对此不做限定。
[0105]
在本技术实施例中以直方图为例,基于激光点云数据中点云的反射率、映 射点云的灰度值构建直方图,包括:基于激光点云数据中点云的反射率构建反 射率直方图;基于映射点云的灰度值构建灰度直方图;基于反射率直方图及灰 度直方图构建联合直方图。
[0106]
在构建反射率直方图时,获取激光点云数据中所有点云的反射率。对激光 点云数据中所有点云的反射率进行统计,得出每种反射率出现的次数。基于每 种反射率出现的次数,以反射率的数值为横轴,以该反射率出现的次数为纵轴, 得到反射率直方图。在反射率直方图中用x来表示反射率的值,用x来表示反 射率的值的数据集,用p
x
(x)来表示反射率直方图中反射率x的概率值。
[0107]
在构建灰度直方图时,获取所有映射点云的灰度值。对所有映射点云的灰 度值进行统计,得出灰度值出现的次数。基于每种灰度值出现的次数,以反灰 度值为横轴,以该灰度值出现的次数为纵轴,得到灰度直方图。在灰度直方图 中用y来表示灰度值,用y来表示反射率的值的数据集,用py(y)来表示灰度直 方图中灰度值y的概率值。
[0108]
在构建联合直方图时,获取激光点云数据中所有点云的反射率,再获取所 有映射点云的灰度值。对激光点云数据中所有点云的反射率、该点云对应的映 射点云的灰度值进行统计,得出由点云的反射率x、该点云对应的映射点云的灰 度值y所构成的一组数值(x,y),并统计该组数值(x,y)出现的次数。基于该 组数值出现的次数,以该组数值(x,y)为横轴,以该组数值出现的次数为纵轴, 得到联合直方图。在联合直方图中用x来表示反射率的值、用y来表示灰度值, 用(x,y)来表示反射率的值的数据集,用p
xy
(x,y)来表示联合直方图中该组数值 (x,y)的概率值。
[0109]
本技术实施例中,基于激光点云数据中点云的反射率构建反射率直方图, 基于映射点云的灰度值构建灰度直方图,基于反射率直方图及灰度直方图构建 联合直方图。构建出了这三种直方图之后,从而,便于后续根据这三种直方图 构建目标函数。并通过目标函数计算出激光雷达相对于相机的目标联合标定参 数。
[0110]
在一个实施例中,根据概率分布图构建目标函数,包括:
[0111]
根据反射率直方图计算出反射率的边缘概率分布,根据灰度直方图计算出 灰度值的边缘概率分布,根据联合直方图计算出联合概率分布;
[0112]
根据反射率的边缘概率分布、灰度值的边缘概率分布及联合概率分布得到 目标函数。
[0113]
具体的,根据反射率直方图计算出反射率的边缘概率分布的公式如下:
[0114][0115]
根据灰度直方图计算出灰度值的边缘概率分布的公式如下:
[0116][0117]
根据联合直方图计算出联合概率分布的公式如下:
[0118]
h(x,y)=-∑∑p
xy
(x,y)logp
xy
(x,y)
ꢀꢀꢀ
(1-3)
[0119]
然后,再根据反射率的边缘概率分布、灰度值的边缘概率分布及联合概率 分布得到目标函数。其中,目标函数的公式如下所示:
[0120][0121]
根据反射率的边缘概率分布、灰度值的边缘概率分布及联合概率分布得到 目标函数的具体计算过程如下:
[0122]
g≡
▽
mi(x,y;θ)
[0123]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-5)
[0124]
mi(x,y)=h(x)+h(y)-h(x,y)
[0125]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-6)
[0126]
θ
k+1
=θk+λf(mi(x,y;θk))
[0127]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-7)
[0128]
先通过公式(1-5)计算出目标函数中的梯度g,然后再计算出信息熵mi (x,y),最后,将梯度g和信息熵mi(x,y)带入公式(1-4)就得到了目标函 数的公式(1-7)。
[0129]
其中,上述边缘概率分布、联合概率分布也可以称之为贝叶斯边缘概率分 布、联合概率分布。目标函数也称之为损失函数(lossfunction)或代价函数(costfunction)。
[0130]
本技术实施例中,根据反射率直方图计算出反射率的边缘概率分布,根据 灰度直方图计算出灰度值的边缘概率分布,根据联合直方图计算出联合概率分 布。根据反射率的边缘概率分布、灰度值的边缘概率分布及联合概率分布得到 目标函数。进而,通过目标函数调整初始联合标定参数,最终实现了通过激光 雷达和相机来进行自标定,不需要使用特定标定物,避免了浪费人力物力。最 终提高了标定过程的效率和该联合标定方法的可复用性。
[0131]
在一个实施例中,通过目标函数调整初始联合标定参数直到目标函数的值 满足预设阈值,输出调整后的联合标定参数作为激光雷达相对于相机的目标联 合标定参数,包括:
[0132]
采用梯度下降算法计算目标函数的值;
[0133]
根据目标函数的值调整初始联合标定参数直到目标函数的值满足预设阈 值,输出调整后的联合标定参数作为激光雷达相对于相机的目标联合标定参数。
[0134]
具体的,目标函数如上述公式(1-7)所示,可以同时采用梯度下降算法来 计算目标函数的值。其中,梯度下降(gradient descent)算法可以应用到线性回 归或非线性回归的问题中,采用梯度下降算法通过迭代找到目标函数的最小值, 或者收敛到最小值。
[0135]
梯度下降是迭代法的一种,可以用于求解最小二乘问题。在求解神经网络 的参数
时,梯度下降是最常采用的方法之一。在求解损失函数的最小值时,可 以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和各项参数的 值,也即是步骤501中记载的对该损失函数进行优化,直至该损失函数的值小 于该预设阈值。adam是一种可以替代传统随机梯度下降过程的一阶优化算法, 它能基于训练数据迭代地更新神经网络的各项权重,adam可以为不同的参数设 计独立的自适应性学习率。adam具体公式如下:
[0136][0137][0138]
其中,其中t表示次数,为m
t
的纠正,为v
t
的纠正,β1和β2是常数,控 制指数衰减,m
t
是梯度的指数移动均值,通过梯度gk的一阶矩求得。v
t
是平方 梯度,通过梯度gk的二阶矩求得,α和∈都是系数。
[0139]
具体的,采用梯度下降算法计算目标函数的值之后,因为预先对目标函数 的值设置了预设阈值,所以,根据目标函数的值调整初始外参矩阵直到目标函 数的值满足预设阈值,输出调整后的外参矩阵作为激光雷达相对于相机的目标 外参矩阵。其中,联合标定参数也可以称之为外参矩阵。当然,本技术中也可 以采用梯度下降算法、自适应学习率算法中的任意一种来计算目标函数的值, 或者采用其他的优化算法来计算目标函数的值,本技术对此不做限定。
[0140]
本技术实施例中,因为激光点云的反射率与映射点云的灰度值之间存在强 相关性,所以就可以基于激光点云数据中点云的反射率、映射点云的灰度值构 建概率分布图。根据概率分布图中的反射率直方图计算出反射率的边缘概率分 布,根据灰度直方图计算出灰度值的边缘概率分布,根据联合直方图计算出联 合概率分布。最后,根据反射率的边缘概率分布、灰度值的边缘概率分布及联 合概率分布得到目标函数。如此,根据目标函数所得到的激光雷达与相机的联 合标定参数的准确性较高。且同时实现了通过激光雷达和相机来进行自标定, 不需要使用特定标定物,避免了浪费人力物力。
[0141]
在一个实施例中,提供了一种激光雷达与相机联合标定方法,还包括:将 激光雷达及相机调整至预设角度,并固定激光雷达及相机之间的相对位置。
[0142]
本技术实施例中,在对激光雷达及相机进行标定之前,将激光雷达及相机 调整至预设角度,并固定激光雷达及相机之间的相对位置。便于后续将激光雷 达的球坐标系通过世界坐标系与相机所在的相机坐标系进行相互转换。且该预 设角度指的是激光雷达和相机共同覆盖的重叠区域较多时所对应的角度。例如, 将激光雷达水平安装,将相机调整为相对于竖直方向下倾角度在5
°-
15
°
之间。 当然,本技术并不对此进行限定。
[0143]
在一个具体的实施例中,如图6所示,提供了一种激光雷达与相机联合标 定方法,包括:
[0144]
步骤602,调整激光雷达和相机到合适角度,组装激光雷达和相机的融合套 件;
[0145]
步骤604,计算激光雷达相对于相机的初始外参矩阵;
[0146]
步骤606,获取同一时刻、同一场景下采集的图像和与图像对应的激光点云 数据;
[0147]
步骤608,根据透射变换矩阵,将激光点云数据对应的点云映射到所述图像 上得
到映射点云;
[0148]
步骤610,基于激光点云数据中点云的反射率构建反射率直方图;
[0149]
步骤612,基于映射点云的灰度值构建灰度直方图;
[0150]
步骤614,基于反射率直方图及灰度直方图构建联合直方图;
[0151]
步骤616,根据反射率直方图计算出反射率的边缘概率分布,根据灰度直方 图计算出灰度值的边缘概率分布,根据联合直方图计算出联合概率分布;
[0152]
步骤618,根据反射率的边缘概率分布、灰度值的边缘概率分布及联合概率 分布得到目标函数;
[0153]
步骤620,采用梯度下降算法优化目标函数,输出最优的联合标定参数作为 激光雷达相对于相机的目标联合标定参数。
[0154]
本技术实施例中,将激光点云数据对应的点云映射到图像上得到映射点云。 再基于激光点云数据中点云的反射率、映射点云的灰度值构建概率分布图,根 据概率分布图构建目标函数,通过目标函数调整初始联合标定参数直到目标函 数的值满足预设阈值,输出调整后的联合标定参数作为激光雷达相对于相机的 目标联合标定参数。因为激光点云的反射率与映射点云的灰度值之间存在强相 关性,所以就可以基于激光点云数据中点云的反射率、映射点云的灰度值构建 概率分布图,根据概率分布图构建目标函数,进而得到目标联合标定参数。通 过激光雷达与相机进行自标定,不需要使用特定标定物,避免了浪费人力物力, 因为不需要使用特定标定物就也提高了该联合标定方法的可复用性。
[0155]
在一个实施例中,如图7所示,提供了一种激光雷达与相机联合标定装置 700,包括:
[0156]
数据采集模块720,用于数据采集模块,用于获取同一时刻、同一场景下采 集的图像和激光点云数据;
[0157]
点云映射模块740,用于根据相机的内参矩阵、激光雷达相对于相机的初始 联合标定参数,将激光点云数据对应的点云映射到图像上得到映射点云;
[0158]
目标函数构建模块760,用于基于激光点云数据中点云的反射率、映射点云 的灰度值构建概率分布图,根据概率分布图构建目标函数;
[0159]
目标联合标定参数输出模块780,用于通过目标函数调整初始联合标定参数 直到目标函数的值满足预设阈值,输出调整后的联合标定参数作为激光雷达相 对于相机的目标联合标定参数。
[0160]
在一个实施例中,提供了一种激光雷达与相机联合标定装置700,还包括:
[0161]
初始联合标定参数计算模块,用于获取激光雷达在世界坐标系中的坐标; 将相机在相机坐标系中的坐标转换为相机在世界坐标系中的坐标;根据激光雷 达在世界坐标系中的坐标、相机在世界坐标系中的坐标,计算激光雷达相对于 相机的初始联合标定参数。
[0162]
在一个实施例中,点云映射模块740,包括:
[0163]
相机的内参矩阵、畸变系数计算单元,用于计算相机的内参矩阵、相机的 畸变系数;
[0164]
坐标获取单元,用于获取激光点云数据在世界坐标系中的坐标;
[0165]
透射变换单元,用于将相机的内参矩阵、相机的畸变系数、激光雷达相对 于相机的初始联合标定参数及激光点云数据在世界坐标系中的坐标输入至透射 变换矩阵,计算
激光点云数据对应的点云在像素坐标系中的坐标;
[0166]
映射点云获取单元,用于从图像上提取点云在像素坐标系中的坐标处的像 素点,作为映射点云。
[0167]
在一个实施例中,概率分布图包括反射率直方图、灰度直方图及联合直方 图,如图8所示,目标函数构建模块760,包括:
[0168]
反射率直方图构建模块762,用于基于激光点云数据中点云的反射率构建反 射率直方图;
[0169]
灰度直方图构建模块764,用于基于映射点云的灰度值构建灰度直方图;
[0170]
联合直方图构建模块766,用于基于反射率直方图及灰度直方图构建联合直 方图。
[0171]
在一个实施例中,目标函数构建模块760,还用于根据反射率直方图计算出 反射率的边缘概率分布,根据灰度直方图计算出灰度值的边缘概率分布,根据 联合直方图计算出联合概率分布;根据反射率的边缘概率分布、灰度值的边缘 概率分布及联合概率分布得到目标函数。
[0172]
在一个实施例中,目标联合标定参数输出模块780,还用于采用梯度下降算 法计算目标函数的值;根据目标函数的值调整初始联合标定参数直到目标函数 的值满足预设阈值,输出调整后的联合标定参数作为激光雷达相对于相机的目 标联合标定参数。
[0173]
在一个实施例中,提供了一种激光雷达与相机联合标定装置700,还包括: 激光雷达及相机固定模块,用于将激光雷达及相机调整至预设角度,并固定激 光雷达及相机之间的相对位置。
[0174]
上述激光雷达与相机联合标定装置中各个模块的划分仅用于举例说明,在 其他实施例中,可将激光雷达与相机联合标定装置按照需要划分为不同的模块, 以完成上述激光雷达与相机联合标定装置的全部或部分功能。
[0175]
图9为一个实施例中服务器的内部结构示意图。如图9所示,该服务器包括 通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能 力,支撑整个服务器的运行。存储器可包括非易失性存储介质及内存储器。非 易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执 行,以用于实现以下各个实施例所提供的一种激光雷达与相机联合标定方法。 内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环 境。该服务器可以是手机、平板电脑或者个人数字助理或穿戴式设备等。
[0176]
本技术实施例中提供的激光雷达与相机联合标定装置中的各个模块的实现 可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程 序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器 执行时,实现本技术实施例中所描述方法的步骤。
[0177]
本技术实施例还提供了一种计算机可读存储介质。一个或多个包含计算机 可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多 个处理器执行时,使得处理器执行激光雷达与相机联合标定方法的步骤。
[0178]
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执 行激光雷达与相机联合标定方法。
[0179]
本技术实施例所使用的对存储器、存储、数据库或其它介质的任何引用可 包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器 (rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程 rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作 外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态 ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram (ddr sdram)、增强型sdram(esdram)、同步链路 (synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接 存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。
[0180]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但 并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改 进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权 利要求为准。