用于校准自主交通载具中摄像头的外部参数的系统的制作方法

未命名 09-21 阅读:108 评论:0


1.本公开涉及一种系统,用于基于由定位算法确定的交通载具姿态估计、特定摄像头的初始外部参数(extrinsic parameter)以及通过跟踪由特定摄像头收集的两个连续图像帧之间的特征点来校准自主交通载具中的特定摄像头的摄像头外部参数。


背景技术:

2.自主交通载具可采用各种传感技术来收集与其周围环境相关的数据,例如但不限于雷达、激光、全球定位系统(gps)和摄像头。例如,摄像头沿着自主交通载具的前部、后部和两侧安装,用于观察周围环境。摄像头生成在相应摄像头坐标系中表示的读数,其中摄像头提供的读数被转换成在世界坐标系中表示的读数,以便与自主交通载具对准。摄像头包括其自身独特的内在参数和外部参数。内在参数是内部的,并且对于特定摄像头来说是固定的,指示特定摄像头的光学中心和焦距。外部参数定义了摄像头坐标系相对于世界坐标系位置的位置和方向,并用于将摄像头坐标系中表示的读数转换为世界坐标系。
3.外部参数是动态估计的,这可能产生需要大量系统资源的高计算负载。在一种减少计算负载的方法中,可以在在最终装配厂进行的离线制造校准期间确定外部参数。虽然离线制造校准是准确的,但是由于离线制造校准昂贵并且对用户来说可能不方便,所以该解决方案可能不能被广泛使用。此外,用于估计摄像头外部参数的现有在线校准方法可能是重复的并不必要地浪费计算资源,因为现有方法使用与定位模块相同的惯性和gps传感器测量来估计交通载具姿态。
4.因此,虽然当前的自主交通载具系统实现了其预期目的,但本领域需要一种改进的方法用于估计摄像头外部参数。
5.公开内容
6.根据若干方面,公开了一种用于确定自主交通载具的校准摄像头外部参数(calibrated camera extrinsic parameter)的系统。该系统包括安装到自主交通载具上的摄像头和与摄像头进行电子通信的一个或多个自动驾驶控制器,摄像头收集包括多个图像帧的图像数据。一个或多个自动驾驶控制器执行指令以通过定位算法基于自主交通载具的位置和移动来确定交通载具姿态估计。一个或多个自动驾驶控制器执行指令以基于交通载具姿态估计和初始摄像头外部参数来确定摄像头的摄像头姿态。一个或多个自动驱动控制器执行指令以识别作为多个图像帧的一部分的两个连续图像帧之间的感兴趣的特定特征点。一个或多个自动驾驶控制器执行指令以执行三角测量算法以确定对应于两个连续图像帧的感兴趣的特定特征点的三维坐标。一个或多个自动驾驶控制器执行指令以执行非线性优化算法以基于对应于两个连续图像帧的感兴趣的特定特征点的三维坐标、对应于两个连图像帧的感兴趣的特定特征点以及对应于两个连续图像帧的摄像头姿态来确定校准摄像头外部参数。
7.在一方面中,识别两个连续图像帧之间的感兴趣的特定特征点还包括执行特征检测算法以检测两个连续图像帧中的特定特征点,利用当前图像帧跟踪在紧接的前一图像帧
中检测到的特征点,以及选择两个连续图像帧之间的感兴趣的特定特征点。
8.在另一方面中,一个或多个自动驾驶控制器执行指令以确定在两个连续图像帧之间的感兴趣的特定特征点之间的运动变化。
9.在又一方面中,一个或多个自动驾驶控制器执行指令以将两个连续图像帧之间的感兴趣的特定特征点之间的运动变化与运动变化的阈值量进行比较。运动变化的阈值量是预定义调谐参数(tuning parameter),其选择两个作为滑动窗口的一部分的图像帧。一个或多个自动驾驶控制器执行指令以确定两个连续图像帧之间的感兴趣的特定特征点之间的运动变化等于或大于运动变化的阈值量。
10.在一方面中,执行非线性优化算法包括在求解成本函数的同时,使相对于校准摄像头外部参数和感兴趣的特定特征点的三维坐标的重投影误差最小化。
11.在另一方面中,一个或多个自动驾驶控制器执行指令以将求解非线性优化算法的结果保存到存储器中,清除包含连续图像帧的滑动窗口,重新确定校准摄像头外部参数,以及在获得阈值数量的校准摄像头外部参数之后,执行一个或多个过滤和平均操作。
12.在又一方面中,通过将初始摄像头外部参数从交通载具体坐标系变换到世界坐标系来确定摄像头姿态。
13.在一方面中,初始摄像头外部参数被保存在一个或多个自动驾驶控制器的存储器中。
14.在另一方面中,初始摄像头外部参数表示摄像头的实际外部参数的初始近似值。
15.在又一方面中,基于交通载具体坐标系来表示初始摄像头外部参数,并且初始摄像头外部参数包括初始平移矢量和初始旋转矩阵。
16.在一方面中,基于二维图像平面坐标系来表示与两个连续图像帧相对应的感兴趣的特定特征点。
17.在另一方面中,基于世界坐标系来表示感兴趣的特定特征点的三维坐标。
18.在又一方面中,基于滑动窗口缓冲技术,将多个图像帧提供给一个或多个自动驱动控制器。
19.在一方面中,交通载具姿态估计包括基于世界坐标系表示的交通载具平移矢量和交通载具旋转矩阵。
20.在一个方面中,公开了一种用于确定自主交通载具的校准摄像头外部参数的方法。该方法包括由一个或多个自动驾驶控制器通过定位算法基于自主交通载具的位置和移动来确定交通载具姿态估计。该方法包括基于交通载具姿态估计和初始摄像头外部参数来确定安装到自主交通载具的摄像头的摄像头姿态,其中,摄像头收集包括多个图像帧的图像数据。该方法还包括识别作为多个图像帧的一部分的两个连续图像帧之间的感兴趣的特定特征点。该方法还包括执行三角测量算法以确定对应于两个连续图像帧的感兴趣的特定特征点的三维坐标。最后,该方法包括执行非线性优化算法以基于对应于两个连续图像帧的感兴趣的特定特征点的三维坐标、对应于两个连图像帧的感兴趣的特定特征点以及对应于两个连续图像帧的摄像头姿态来确定校准摄像头外部参数。
21.在一方面中,方法包括执行特征检测算法以检测两个连续图像帧中的特定特征点。
22.在另一方面中,方法包括利用当前图像帧跟踪在紧接的前一图像帧中检测到的特
征点,并且在两个连续图像帧之间选择感兴趣的特定特征点。
23.在另一方面中,方法包括确定在两个连续图像帧之间的感兴趣的特定特征点之间的运动变化。
24.在一方面中,方法包括:将两个连续图像帧之间的感兴趣的特定特征点之间的运动变化与运动变化的阈值量进行比较,其中,运动变化的阈值量是预定义调谐参数,其选择两个作为滑动窗口的一部分的图像帧;以及确定两个连续图像帧之间的感兴趣的特定特征点之间的运动变化等于或大于运动变化的阈值量。
25.在另一方面中,执行非线性优化算法包括在求解成本函数的同时,使相对于所述校准摄像头外部参数和感兴趣的特定特征点的三维坐标的重投影误差最小化。
26.在又一实施例中,方法包括:将非线性优化算法的结果保存到存储器中;清除包含连续图像帧的滑动窗口;重新确定校准摄像头外部参数;以及在获得阈值数量的校准摄像头外部参数之后,执行一个或多个过滤和平均操作。
27.从本文提供的描述中,进一步的适用领域将变得显而易见。应当理解,描述和具体示例仅旨在用于说明目的,而不旨在限制本公开的范围。
附图说明
28.本文中所描述的附图仅用于说明目的而不旨在以任何方式限制本发明的范围。
29.图1是根据示例性实施例的包括所公开的系统的示例性自主交通载具的示意图,其中该系统包括与多个摄像头进行电子通信的一个或多个自动驾驶控制器;
30.图2是根据示例性实施例的图1所示的用于校准摄像头外部参数的自动驾驶控制器的框图;以及
31.图3是示出根据示例性实施例的用于校准摄像头外部参数的示例性方法的过程流程图。
具体实施方式
32.以下描述本质上仅仅是示例性的,并不旨在限制本公开、应用或使用。
33.参见图1,示出了包括用于校准摄像头外部参数的系统12的示例性自主交通载具10。自主交通载具10可以是任何类型的交通载具,例如但不限于轿车、卡车、运动型多功能车、厢式货车或房车。在一个非限制性实施方式中,自主交通载具10是包括用于执行所有驾驶任务的自动驾驶系统(ads)的完全自主交通载具。另选地,在另一实施例中,自主交通载具10是包括用于辅助驾驶员转向、制动和/或加速的高级驾驶员辅助系统(adas)的半自主交通载具。系统12包括具有一个或多个自动驾驶控制器20的自主驾驶系统14。自动驾驶控制器20与多个自主传感器22和多个交通载具系统24进行电子通信。在如图1所示的示例中,多个自主传感器22包括多个摄像头30、雷达32、惯性测量单元(imu)34、全球定位系统(gps)36和激光雷达38,然而,应当理解,也可以使用其他传感器。多个摄像头30安装在自主交通载具10的侧部25、前部26和后部28上。多个摄像头30各自捕获表示自主交通载具10的周围环境的图像数据48。多个交通载具系统24包括但不限于制动系统40、转向系统42、动力系统44和悬架系统46。
34.图2是一个或多个自动驾驶控制器20的框图。参照图1和图2,一个或多个自动驾驶
控制器20确定与自主交通载具10的特定摄像头30相关联的校准摄像头外部参数50。校准摄像头外部参数50将在特定摄像头30的摄像头坐标系中表示的读数转换为世界坐标系。具体地,校准摄像头外部参数50包括经校准的平移矢量tbc和经校准的旋转矩阵rbc,用于将摄像头坐标系中的读数转换成世界坐标系。如下文所述,校准摄像头外部参数50是基于由定位模块60执行的定位算法确定的,定位模块60是自动驾驶控制器20的一部分。校准摄像头外部参数50还基于保存在一个或多个自动驾驶控制器20的存储器中的初始摄像头外部参数52并且通过跟踪由特定摄像头30收集的两个连续图像帧80之间的特征点来确定的。应当理解,两个连续图像帧80相对于彼此可以是不连续的,也可以不是。相反,只要图像帧80在同一滑动窗口82内,图像帧80就是连续的。滑动窗口82将在下文中描述,并在图2中所示,其包含五个连续图像帧80。
35.参照图1和图2,一个或多个自动驾驶控制器20包括定位模块60、摄像头姿态估计模块62、特征检测模块64、特征跟踪模块66、特征选择模块68、运动检测模块70、三角测量模块72、优化模块74和过滤模块76。定位模块60从多个自主传感器22(图1)接收传感器数据58,其中传感器数据58指示用于确定交通载具姿态估计54的自主交通载具10的位置和移动。传感器数据58可以包括例如由imu 34收集的角速度和加速度、由gps 36收集的自主交通载具10的位置、以及由车轮速度传感器(未示出)收集的车轮速度。定位模块60执行定位算法以基于由传感器数据58指示的自主交通载具10的位置和移动来确定交通载具姿态估计54,其中,交通载具姿态估计54包括在世界坐标系中表示的交通载具平移矢量和交通载具旋转矩阵其中,变量k表示时间戳。
36.继续参照图2,初始摄像头外部参数52被保存在一个或多个自动驾驶控制器20的存储器中。初始摄像头外部参数52用交通载具体坐标系表示,并且包括初始平移矢量和初始旋转矩阵应当理解,初始摄像头外部参数表示实际摄像头外部参数的初始近似值或初始猜测值,并且值是固定的,因此需要进一步校准初始摄像头外部参数,然后才能用于将特定摄像头30的摄像头坐标系中表示的读数变换为世界坐标系。交通载具姿态估计54和初始外部参数52被发送到摄像头姿态估计模块62。
37.摄像头姿态估计模块62基于由定位模块60确定的交通载具姿态估计54和初始摄像头外部参数52来确定特定摄像头30的摄像头姿态84。具体地,摄像头姿态估计模块62将以交通载具体坐标系表示的初始摄像头外部参数52变换为世界坐标系。摄像头姿态84在世界坐标系中由与特定摄像头30相关联的摄像头平移矢量和摄像头旋转矩阵来表示。具体地,基于交通载具旋转矩阵初始平移矢量和交通载具平移矢量来确定摄像头平移矢量并且在下面的式1中表示摄像头平移矢量基于交通载具旋转矩阵和初始旋转矩阵来确定摄像头旋转矩阵并且摄像头旋转矩阵在式2中表示为:
[0038][0039][0040]
继续参照图2,特征检测模块64从特定摄像头30接收图像数据48,其中图像数据48包括按时间戳顺序排序的多个图像帧80。每个图像帧80都是在唯一的时间拍摄的,因此每
个图像帧都包括唯一的时间戳。在一个实施例中,一个或多个自动驾驶控制器20基于滑动窗口缓冲技术接收多个图像帧80。滑动窗口缓冲技术涉及在单个时间在存储缓冲器中包含当前数目的顺序排序的图像帧80,其在图2中被示为以虚线绘制的滑动窗口82。在如图2所示的示例中,滑动窗口82包含五个图像帧80,其中滑动窗口82表示存储缓冲器。然而,应当理解,图2本质上仅仅是示例性的,也可以使用其它数字。在一个实施例中,每次存储缓冲器中可存储的图像帧80不得超过10个。
[0041]
特征检测模块64执行特征检测算法以检测两个连续图像帧80中的特征点,其中检测到的特征点被用作测量以确定校准摄像头外部参数50。例如,特征点可以是位于特定位置(例如建筑物角落)的关键点特征,或者特征点可以是表示对象边界的边缘。在实施例中,特征检测模块64基于质量来检测预定数量的特征点(例如,200个特征点)。特征检测模块80还可以与检测到的每个特征点一起输出质量值。特征跟踪模块66利用当前图像帧80跟踪在紧接的前一图像帧80中检测到的特征点。特征选择模块68在两个连续图像帧80之间选择感兴趣的特定特征点,并且除任何异常值或表示噪声的特征点。在实施例中,特征选择模块68去除表示主交通载具的特征点,例如表示主交通载具引擎盖的特征点,然后执行离群点检测算法,例如随机样本一致性(ransac)算法。因此,模块64、66和68执行算法以识别两个连续图像帧80之间的感兴趣的特定特征点。
[0042]
在一个实施例中,运动检测模块70首先确定在两个连续图像帧80之间存在的感兴趣的特定特征点的总数,并且将特定特征点的总数与阈值进行比较。感兴趣的特定特征点的阈值指示存在足够数量的样本点以准确地确定两个连续图像帧80之间的移动。例如,在一个实施例中,感兴趣的特定特征点的阈值数量是50。
[0043]
运动检测模块70计算两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化,并将两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化与运动变化的阈值量进行比较。运动变化的阈值量是预定义调谐参数,其在滑动窗口82中选择两个图像帧。应当理解,更大量的运动使得能够对二维特征点进行三角测量以获得三维点。如果运动检测模块70确定两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化等于或大于运动变化阈值,则运动检测模块70确定运动变化足够,并且运动检测模块70将感兴趣的特定特征点发送到三角测量模块72。然而,如果运动检测模块70确定运动变化不够,则特征检测模块64评估下一个连续图像帧80。
[0044]
三角测量模块72从运动检测模块70接收对应于两个连续图像帧80的感兴趣的特定特征点,以及从摄像头姿态估计模块62接收对应于两个连续图像帧80的摄像头姿态84,并执行三角测量算法以确定对应于两个连续图像帧80的感兴趣的特定特征点的三维坐标。应当理解,对应于两个连续图像帧80的感兴趣的特定特征点是在二维图像平面坐标系中表示的,而感兴趣的特定特征点的三维位置是在世界坐标系中表示的。
[0045]
优化模块74执行非线性优化算法以基于对应于两个连续图像帧的感兴趣的特定特征点的三维坐标、对应于两个连续图像帧80的感兴趣的特定特征点以及对应于两个连续图像帧80的摄像头姿态84来确定与特定摄像头30相关联的校准摄像头外部参数50。具体地,优化模块74执行非线性优化算法以在求解成本函数的同时,使相对于校准摄像头外部参数50和感兴趣的特定特征点的三维坐标的重投影误差最小化。优化的结果被保存到存储器中,包含连续图像帧80的滑动窗口82被清除,并且一个或多个自动驾驶控制器20重新确
定校准摄像头外部参数50(即,特征检测模块64重新检测两个新的连续图像帧80中的特征点)。在确定获得阈值数量的校准摄像头外部参数50之后,过滤模块76可以执行一个或多个过滤和平均操作以去除异常值和噪声。在一个实施例中,校准摄像头外部参数50的阈值数量是300。
[0046]
图3是示出用于校准初始摄像头外部参数52的方法200的过程流程图。一般参照图1至图3,方法200可以在框202处开始。在框202中,定位模块60执行定位算法以基于由传感器数据58指示的自主交通载具10的位置和移动来确定交通载具姿态估计54。然后,方法200可以进行到框204。
[0047]
在框204中,摄像头姿态估计模块62基于交通载具姿态估计54和初始摄像头外部参数52来确定特定摄像头30的摄像头姿态84。然后,方法200可以进行到框206。
[0048]
在框206中,特征检测模块64执行特征检测算法以检测两个连续图像帧80中的特征点。然后,方法200可以进行到框208。
[0049]
在框208中,特征跟踪模块66利用当前图像帧80跟踪在紧接的前一图像帧80中检测到的特征点。然后,方法200可以进行到框210。
[0050]
在框210中,特征选择模块68在两个连续图像帧80之间选择感兴趣的特定特征点。然后,方法200可以进行到框212。
[0051]
在框212中,运动检测模块70确定两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化,并将两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化与运动变化的阈值量进行比较。然后,方法200可进行到决策框214。
[0052]
在框214中,如果运动检测模块70确定两个连续图像帧80之间的感兴趣的特定特征点之间的运动变化量等于或大于运动变化的阈值量,则方法200可以进行到框216。否则,方法200可返回到框206。
[0053]
在框216中,三角测量模块72执行三角测量算法以确定对应于两个连续图像帧80的感兴趣的特定特征点的三维坐标。然后,方法200可以进行到框218。
[0054]
在框218中,优化模块74执行非线性优化算法以基于对应于两个连续图像帧的感兴趣的特定特征点的三维坐标、对应于两个连续图像帧的感兴趣的特定特征点以及对应于两个连续图像帧80的摄像头姿态84来确定与特定摄像头30相关联的校准摄像头外部参数50。然后,方法200可以结束或返回到框202。
[0055]
一般来说,参照附图,所公开的系统通过校准摄像头外部参数来提供各种技术效果和益处。具体地,所公开的系统仅需要跟踪来自两个图像帧的特征点并且重新使用来自定位模块的交通载具姿态信息而不是重新估计交通载具姿态,因此不需要重复工作来确定交通载具姿态。因此,与当前现有技术方法相比,所公开的系统降低了计算的复杂性,并且在实施例中,与当前方法相比,执行速度可能会快上几个数量级。
[0056]
控制器可指电子电路、组合逻辑电路、现场可编程门阵列(fpga)、执行代码的处理器(共享的、专用的或组)、或上述的一些或全部的组合(例如在片上系统中)或其一部分。另外,控制器可以是基于微处理器的,例如具有至少一个处理器、存储器(ram和/或rom)以及相关联的输入和输出总线的计算机。处理器可以在驻留在存储器中的操作系统的控制下操作。操作系统可以管理计算机资源,使得体现为一个或更多个计算机软件应用(诸如驻留在存储器中的应用)的计算机程序代码可以具有由处理器执行的指令。在另选实施例中,处理
器可以直接执行应用,在这种情况下,可以省略操作系统。
[0057]
本公开的描述在本质上仅仅是示例性的,并且不背离本公开的要点的变型旨在落入本公开的范围内。这样的变型不应被视为偏离本公开的精神和范围。

技术特征:
1.一种用于确定自主交通载具的校准摄像头外部参数的系统,所述系统包括:安装到所述自主交通载具上的摄像头,所述摄像头收集包括多个图像帧的图像数据;与所述摄像头进行电子通信的一个或多个自动驾驶控制器,所述一个或多个自动驾驶控制器执行指令以:通过定位算法基于所述自主交通载具的位置和移动来确定交通载具姿态估计;基于所述交通载具姿态估计和初始摄像头外部参数来确定所述摄像头的摄像头姿态;识别作为所述多个图像帧的一部分的两个连续图像帧之间的感兴趣的特定特征点;执行三角测量算法以确定对应于所述两个连续图像帧的所述感兴趣的特定特征点的三维坐标;以及执行非线性优化算法以基于对应所述两个连续图像帧的所述感兴趣的特定特征点的所述三维坐标、对应所述两个连图像帧的感兴趣的特定特征点以及对应所述两个连续图像帧的所述摄像头姿态来确定所述校准摄像头外部参数。2.根据权利要求1所述的系统,其中,识别所述两个连续图像帧之间的感兴趣的特定特征点进一步包括:执行特征检测算法以检测所述两个连续图像帧中的所述特定特征点;用当前图像帧跟踪在紧接的前一图像帧中检测到的特征点;以及在所述两个连续图像帧之间选择感兴趣的特定特征点。3.根据权利要求1所述的系统,其中,所述一个或多个自动驾驶控制器执行指令以:确定在所述两个连续图像帧之间的所述感兴趣的特定特征点之间的运动变化。4.根据权利要求3所述的系统,其中,所述一个或多个自动驾驶控制器执行指令以:将所述两个连续图像帧之间的感兴趣的所述特定特征点之间的所述运动变化与运动变化的阈值量进行比较,其中,所述运动变化的阈值量是预定义调谐参数,其选择作为滑动窗口的一部分的两个图像帧;以及确定所述两个连续图像帧之间的感兴趣的特定特征点之间的运动变化等于或大于所述运动变化的阈值量。5.根据权利要求1所述的系统,其中,执行所述非线性优化算法包括:在求解成本函数的同时,使相对于所述校准摄像头外部参数和所述感兴趣的特定特征点的所述三维坐标的重投影误差最小化。6.根据权利要求5所述的系统,其中,所述一个或多个自动驾驶控制器执行指令以:将求解所述非线性优化算法的结果保存到存储器中;清除包含连续图像帧的滑动窗口;重新确定所述校准摄像头外部参数;以及在获得阈值数量的校准摄像头外部参数之后,执行一个或多个过滤和平均操作。7.根据权利要求1所述的系统,其中,通过将所述初始摄像头外部参数从交通载具体坐标系变换到世界坐标系来确定所述摄像头姿态。8.根据权利要求1所述的系统,其中,所述初始摄像头外部参数被保存在所述一个或多个自动驾驶控制器的存储器中。9.根据权利要求1所述的系统,其中,所述初始摄像头外部参数表示所述摄像头的实际外部参数的初始近似值。
10.根据权利要求1所述的系统,其中,基于交通载具体坐标系来表示所述初始摄像头外部参数,并且所述初始摄像头外部参数包括初始平移矢量和初始旋转矩阵。

技术总结
一种用于确定自主交通载具的校准摄像头外部参数的系统包括安装到自主交通载具上的摄像头,其收集包括多个图像帧的图像数据。系统还包括与摄像头进行电子通信的一个或多个自动驾驶控制器,一个或多个自动驾驶控制器执行指令以通过定位算法基于自主交通载具的位置和移动来确定交通载具姿态估计。一个或多个自动驾驶控制器基于对应于两个连续图像帧的感兴趣的特定特征点的三维坐标、对应于两个连图像帧的感兴趣的特定特征点以及对应于两个连续图像帧的摄像头姿态来确定校准摄像头外部参数。部参数。部参数。


技术研发人员:彭法睿 余浩
受保护的技术使用者:通用汽车环球科技运作有限责任公司
技术研发日:2022.10.24
技术公布日:2023/9/20
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐