一种列车多传感器自动标定方法、电子设备及存储介质
文献发布时间:2024-04-18 19:58:30
技术领域
本发明属于轨道交通技术领域,具体涉及列车障碍物检测技术领域。
背景技术
在列车障碍物检测中,障碍物的融合检测需要精确的相机激光等多传感器的标定校准,且在列车运行过程中伴随一些颠簸会造成传感器位移,需要定时对传感器进行检测,对发生位移的传感器需要进行二次校准。
现有的一些标定方法需要制作特定的标定工具以及需要一定相关知识经验的人进行手工操作,所以二次校准存在很大难度。
发明内容
针对现有技术中列车传感器标定中存在的问题,本发明所要解决的技术问题就是提供一种列车多传感器自动标定方法、电子设备及存储介质,可以实现自动校准,不用特定的标定工具。
为解决上述技术问题,本发明采用如下技术方案:
一方面,提供了一种列车多传感器自动标定方法,包括如下步骤:
步骤S1:在标定开始前保存设定时间的相机采集的图片数据和激光雷达采集的激光点云数据;
步骤S2:对步骤S1保存的相机的图片数据和激光雷达的激光点云数据进行预处理,得到相机的特征轨迹和激光点云地图的曲面方程;
步骤S3:通过损失函数关联步骤S2获得的图像轨迹和点云地图,建立图像轨迹到点云地图的关联函数;
步骤S4:根据步骤S3得到的图像轨迹到点云地图的关联函数,对单个相机和激光雷达进行优化;
步骤S5:使用步骤S4方法对多个相机和激光雷达一起进行优化,得到多个相机和激光雷达的优化的标定参数;
步骤S6:使用步骤S5获得的优化后的标定参数替换掉原来的标定参数。
优选的,步骤S2中首先通过SceneRF方法对每一个相机进行特征轨迹提取;然后使用ICP算法对设定时间的激光点云数据进行累计叠加,并通过IMU的自运动估计初始化叠加后的激光点云数据、移除运动的物体点云,对累计的点云数据通过地面去除方法去除地面点云,并对非地面点云进行泊松表面重建得到点云曲面。
优选的,通过SceneRF方法对每一个相机进行特征轨迹提取包括如下步骤:
特征检测,使用SIFT算法进行;
特征匹配,匹配和建立track,图像对两两匹配,采用欧式距离,当距离小于设定阈值的时候就认为匹配成功,对误匹配进行剔除,符合的轨迹都找到后,构造图像连接图,图像连接图包含每个图像的节点,和有共同轨迹的图像边缘;
运动结构恢复,得到相机估计参数和场景几何信息,即稀疏的3D点云。
优选的,步骤S3包括如下步骤:
设Π
令
设
设法线和位置(n
Γ操作通过
使用投影图像射线与之相交的点云平面导出平面的特征法线,根据使相机到激光雷达姿态和相机特性的初始估计,通过损失函数来建立图像轨迹到点云地图的关联函数,即公式3:
优选的,单个相机和激光雷达进行优化的方法为:
首先分别使用单相机到激光雷达的外部优化循环,以改进初始估计,拒绝异常轨迹,并估计用于多相机对应检测的特征点位置;
在每次迭代中,执行步骤S3,删除关联性较低轨迹,并使用RANSAC来查找轨迹相应的外部参数,使得轨迹到地图的关联阈值变得更紧,并且重复这个过程,将新的轨迹添加到初始轨迹集合,直到外部参数收敛。
优选的,多个相机和激光雷达一起进行优化的方法为:同时将两个相机估计投影到激光地图上;然后使用步骤S4优化得到的参数,并重复步骤S4的优化步骤得到最终两个相机到激光的标定参数。
优选的,步骤S1中设定时间为10秒。
优选的,设定自动标定的时间间隔,在设定时间自动执行上述的列车多传感器自动标定方法。
另外一方面,提供了一种电子设备,所述电子设备包括:
存储器,所述存储器存储有多条指令;
处理器,所述处理器从所述存储器中加载指令,以执行所述的自动标定方法中的步骤。
还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被电子设备执行时实现所述的自动标定方法中的步骤。
本发明采用的技术方案,具有如下有益效果:
1、通过明确的相机交叉约束进行联合标定校准,确保相机与相机和相机与激光之间的准确外参,因此不需要进行相机的内参标定。
2、根据相机采集的图片数据和激光雷达采集的激光点云数据进行标定校准,不用特定的标定工具,利用外部环境进行校准。
3、设定自动标定的时间间隔,在设定时间自动执行列车多传感器自动标定方法,因此实现了定时进行自动校准,无需人工参与。
本发明采用的具体技术方案及其带来的有益效果将会在下面的具体实施方式中结合附图中予以详细的揭露。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1是列车多传感器自动标定方法流程图;
图2是投影误差示意图。
具体实施方式
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
实施例一
本实施例涉及一种列车多传感器自动标定方法,通过明确的相机交叉约束进行联合标定校准,确保相机与相机和相机与激光之间的准确外参,如图1所示,包括如下步骤:
步骤S1:触发校准需求,在标定开始前保存设定时间的相机采集的图片数据和激光雷达采集的激光点云数据;
步骤S2:对步骤S1保存的相机的图片数据和激光雷达的激光点云数据进行预处理,得到相机的特征轨迹和激光点云地图的曲面方程;
步骤S3:通过损失函数关联步骤S2获得的图像轨迹和点云地图,建立图像轨迹到点云地图的关联函数;
步骤S4:根据步骤S3得到的图像轨迹到点云地图的关联函数,对单个相机和激光雷达进行优化;
步骤S5:使用步骤S4方法对多个相机和激光雷达一起进行优化,得到多个相机和激光雷达的优化的标定参数;
步骤S6:使用步骤S5获得的优化后的标定参数替换掉原来的标定参数。
本实施例中涉及的几个重要步骤具体说明如下:
步骤S1中,在接收到校准要求后保存10秒各相机的图像及激光点云数据。当然,也可以调整这个时间。
相机图像和激光点云数据预处理
1、通过SceneRF方法对每一个相机进行特征轨迹提取。
SceneRF算法是一种基于各种收集到的无序图片进行三维重建的离线算法,先从图片中提取焦距信息(之后初始化BA(Bundle adjust)需要),然后利用SIFT等特征提取算法去提取图像特征,用kd-tree模型去计算两张图片特征点之间的欧式距离进行特征点的匹配,从而找到特征点匹配个数达到要求的图像对。对于每一个图像匹配对,计算对极几何,估计F矩阵并通过ransac算法优化改善匹配对。这样如果有特征点可以在这样的匹配对中链式地传递下去,一直被检测到,那么就可以形成轨迹。
之后进入structure-from-motion部分,关键的第一步就是选择好的图像对去初始化整个BA过程。首先对初始化选择的两幅图片进行第一次BA,然后循环添加新的图片进行新的BA,最后直到没有可以继续添加的合适的图片,BA结束。得到相机估计参数和场景几何信息,即稀疏的3D点云。其中两幅图片之间的bundle adjust用的是稀疏光束平差法sba软件包,这是一种非线性最小二乘的优化目标函数算法。具体算法分以下三步:
1.1特征检测
对于特征检测这一步,使用的是具有尺度和旋转不变性的SIFT描述子,其鲁棒性较强,适合用来提取尺度变换和旋转角度的各种图片特征点信息,其准确性强,在这种离线算法不需要考虑时间成本的情况下也较有优势。
SIFT算法通过不同尺寸的高斯滤波器(DOG)计算得到特征点的位置信息(x,y),同时还提供一个描述子descriptor信息,在一个特征点周围4*4的方格直方图中,每一个直方图包含8个bin的梯度方向,即得到一个4*4*8=128维的特征向量。除此之外,SIFT算法计算得到的尺寸scale和方向orientation两个信息并没有用上。
1.2特征匹配
第二步是匹配和建立track,图像对两两匹配,一般采用欧式距离,有两种方法:
粗暴匹配,对所有特征点都穷举计算距离;
邻近搜索,建立KD树,缩小搜索范围,能提高效率,但也有可能不是最优,所以邻域取值是关键,越大越准确,越大计算量越大。
一旦每个图片的特征点被提出来以后,就需要进行图片两两之间的特征点匹配,用F(I)表示图像I周围的特征点。对于每一个图像对I和J,考虑每一个特征f∈F(I)找到最近邻的特征向量fnn∈F(J):
事实上算法中用到一个kd-tree的数据结构去计算最近邻匹配。然后令最近邻的距离为d1,再找到第二近的匹配对点之间距离为d2,如果两个距离d1和d2之比小于一个阈值如0.6,就可以判定为可接受的匹配对。这样,图像I中的特征点在图像J中至多一个匹配特征点,但是图像J中可能匹配图像I中多个特征点,就会出现多对一的情况,实际上特征点之间应该一一对应。所以还需要一个去除重复特征点匹配对的算法去解决这种多对一的情况。最后如果两个图片之间的特征点匹配数不少于16个,即为初选图像对。
当距离小于一定阈值的时候就认为匹配成功,但是误匹配也比较多,需要采取多种手段剔除:
如果最近距离与次近距离的比值大于某个阈值,应该剔除;
对匹配点采用采样一致性算法RANSC八点法计算基础矩阵,剔除不满足基础矩阵的匹配对。
然而初选的匹配对可能还是不可靠,需要用几何约束去检测。这个测试是基于事实的,假设一个静止场景,不是所有的匹配特征点在实际场景中是符合物理规律的。那么就需要计算对极几何,F矩阵可以把两张图片之间的像素坐标联系起来,并包含相机的内参信息。每一个符合的匹配对像素坐标都需要满足:
像这种F矩阵计算出有很多噪声数据,需要用RANSAC(随机抽样一致性)算法进行滤波,用8点法来进行RANSACA假设,其中外点个数的阈值应该小于图像长与宽的0.6%。
当所有的两两匹配图像对被确定以后,就可以考虑把多个图像中都出现的共同特征匹配点连接起来,就能形成轨迹了。例如,特征f1∈F(I1)匹配特征f2∈F(I2),f2匹配特征f3∈F(I3),这些特征就可以形成一个轨迹{f1,f2,f3}。然后利用宽度优先搜索BFS去找到每个特征点在所有图像对中的完整轨迹。
一旦符合的轨迹都找到后,就构造图像连接图,包含每个图像的节点,和有共同轨迹的图像边缘。
1.3Structure from motion
描述摄像机的外参数用到3*3的旋转矩阵R和1*3的平移向量(或者摄像机中心坐标向量),摄像机的内参数用一个焦距f和两个径向畸变参数k1和k2描述。几何场景提供轨迹中的每个3D点Xj,通过投影方程,一个3D点Xj被投影到摄像机的2D图像平面上。投影误差就是投影点和图像上真实点之间的距离,如图2所示。
对于n个视角和m个轨迹,投影误差的目标优化方程可以写为:
当摄像机i观察到轨迹j的时候Wij取1,反之取0,||qij-P(Ci,Xj)||就是摄像机i中的轨迹j的投影误差累积和。SceneRF算法的目标就是找到合适的相机和场景参数去优化这个目标函数,g是采用一个非线性最小二乘的优化方法求解,著名的有光束平差法bundleadjustment。
首先选择合适的初始化图像对,这十分重要,一旦错误的初始化,将会陷入局部最优而使得之后的BA陷入死循环,无法正确求解得到全局最优。具体有两点要求:第一,要有足够多的匹配点;第二,要有足够远的相机中心。
特别的,在这里用到两个图像变换之间的单应性模型来找初始化图像对。如果不能很好的符合单应性模型,说明相机中心还是有一定距离的。同样采用RANSAC方法来降噪,改善匹配的可靠性,尽量选取低的内点百分比,但是至少保证100个匹配内点。
系统采用5点法来估计初始化匹配对的外参,然后轨迹三角化后可以提供初始化的3D点,初始化的两帧图片就可以开始进行第一次bundle adjustment了。在这里用的是稀疏光束平差法sparse bundle adjustment(SBA)。Bundle Adjustment是一个迭代的过程,在一次迭代过后,将所有三维点反向投影到各自相片的像素坐标并分别与初始坐标比对,如果大于某个阈值,则应将其从track中去掉,如果track中已经小于2个了,则整个track也去掉,一直优化到没有点可去为止。
最后,不断添加新的摄像机和3D点进行BA。这个过程直到剩下的摄像机观察到的点不超过20为止,说明剩下的摄像机没有足够的点可以添加,BA结束。得到相机估计参数和场景几何信息,即稀疏的3D点云。
2、创建点云地图
使用ICP算法对10s的激光雷达数据进行累计叠加,并通过IMU的自运动估计初始化叠加后的激光点云数据移除运动的物体点云,对累计的点云数据通过地面去除方法去除地面点云,并对非地面点云进行泊松表面重建得到点云曲面表示(公式1)。
关联图像特征轨迹和点云地图
设Π
使用投影图像射线与之相交的点云平面导出平面的特征法线,根据使相机到激光雷达姿态和相机特性的初始估计通过损失函数来建立图像轨迹到点云地图的关联函数(公式3)。
单相机逐步优化
首先分别使用单相机到激光雷达的外部优化循环,以改进初始估计,拒绝异常轨迹,并估计用于多相机对应检测的特征点位置。在每次迭代中,执行步骤S3,删除关联性较低轨迹,并使用RANSAC来查找轨迹相应的外部参数,使得轨迹到地图的关联阈值变得更紧,并且重复这个过程,将新的轨迹添加到初始轨迹集合,直到外部参数收敛。
多相机联合优化
同时将两个相机估计投影到激光地图上,由于不同相机的位置和视场角不同自然能够得到比单个相机更多的特征匹配,使用步骤S4优化得到的参数,并重复步骤S4的优化步骤得到最终两个相机到激光的标定参数,将得到的最终标定参数,自动替换掉系统中的标定参数,完成标定参数的自动更新。
实施例二
一种电子设备,所述电子设备包括:
存储器,所述存储器存储有多条指令;
处理器,所述处理器从所述存储器中加载指令,以执行实施例一所述的自动标定方法中的步骤。
实施例三
一种计算机可读存储介质,其上存储有计算机程序,该程序被电子设备执行时实现实施例一所述的自动标定方法中的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
- 一种自动分配任务的方法、装置、电子设备以及存储介质
- 测量系统的标定方法、装置、电子设备及可读存储介质
- 室内全景相机的空间标定方法、存储介质及电子设备
- 一种基于存储介质的固件自动升级方法及其存储介质
- 自动卷绕机极片纠偏方法、电子设备、存储介质及系统
- 视觉传感器自动化标定方法、装置、电子设备及存储介质
- 传感器自动标定方法及电子设备和存储介质