基于目标的三维激光雷达相机校准的改进
https://arxiv.org/pdf/1910.03126.pdf
Improvements to Target-Based 3D LiDAR to Camera Calibration
摘要激光雷达和单眼相机之间的刚体变换是传感器融合任务(如SLAM)所必需的。虽然确定这样的转变在任何意义上都不被认为是迷人的,但它对许多现代自治系统来说仍然至关重要。事实上,当将激光雷达图像覆盖在相机图像上时,几度的旋转误差或百分之几的平移误差会导致在5米的距离处出现20厘米的重投影误差。准确确定变换的最大障碍是激光雷达点云的相对稀疏性及其距离测量中的系统误差。本文提出(1)面对目标的激光雷达图像中固有的量化和系统误差,使用已知尺寸和几何形状的目标来改进目标姿态估计,(2)一种用于激光雷达到单目相机变换的拟合方法,该方法避免了从点云中提取目标边缘的繁琐任务,以及(3) 基于3D激光雷达目标顶点到相机图像中相应角的投影的“交叉验证研究”。最终结果是投影误差减少了50%,其相对于基线的方差减少了70%。
索引术语
校准,相机,相机激光雷达校准,计算机视觉,外部校准,激光雷达,测绘,机器人,传感器校准,传感器融合,同时定位和测绘
I.介绍及相关工作
使用Cassie系列两足机器人制作3D语义地图的愿望促使将3DLiDAR和RGB-D单眼相机数据融合用于自主导航。事实上,通过将空间激光雷达点映射到分割和标记的相机图像上,可以将像素(或其周围区域)的标签与激光雷达点相关联,如图所示。1。当将激光雷达点云覆盖在相机图像上时,在激光雷达和相机之间估计的刚体变换中,几度的旋转误差或百分之几的平移误差可能导致在5米的距离处出现20厘米的重投影误差。这样的错误将导致导航错误。
在本文中,假设两个传感器的固有校准已经完成,并专注于获得激光雷达和相机之间的刚体变换,即旋转矩阵和平移。这是一个研究得很好的问题,有丰富的文献,可以大致分为不需要目标的方法。虽然许多现有的基于目标的方法可能运行良好,但在实践中,它们需要许多手动步骤,例如仔细测量目标的不同部分、解析边缘点和边缘点配对检查。方法避免了这些手动步骤,适用于平面多边形目标,如棋盘、三角形和菱形。
在基于目标的方法中,人们试图估计激光雷达的点云和相机的图像平面中的一组目标特征(例如,边缘线、法向量、顶点)。
如果可以进行足够的独立对应,则可以通过透视-n点(PnP)找到激光雷达到相机的转换,即通过形式的优化问题。
图1. 为自主导航构建语义地图。一旦知道了从激光雷达到相机的转换,就有可能融合激光雷达和RGB相机信息来构建带有语义信息的3D地图。右下角显示了单个相机图像;右上角显示了带有语义标签的分割。同步的激光雷达点被映射到相机图像上,与语义标签相关联,然后与语义标签一起被重新投影到局部帧,以创建3D语义标签地图,如左上所示。人行道是白色的,草地是黄绿色的,树木是深绿色的。在左下角,Cassie正在人行道上用地图规划北校区波浪场周围的路径。
其中
是LiDAR特征的(同构)坐标,
是相机特征的坐标,P是通常称为投影图,
是具有旋转矩阵
和平移
的LiDAR帧到相机帧变换的(同构表示),dist是距离或误差测量。
A.最常见的基于目标的方法的大致概述
这些工作中的每一项都注意到,旋转方形目标,使其呈现为钻石,可以帮助消除由于环形线的间距而引起的姿态模糊;特别是见图2和图1。更一般地说,推荐文献综述,用于最近对激光雷达到相机校准的简洁调查。
基于目标的校准领域中最常见的两组特征是(a)矩形或三角形平面目标的顶点的3D坐标,以及
(b) 到目标平面的法向量和连接目标平面中顶点的线。
从数学上讲,这两组数据是等价的:知道其中一组数据就可以确定另一组数据。在实践中,关注(b)导致使用奇异值分解来寻找法向量,并更广泛地解决最小二乘线拟合问题,而(a)开辟了其他视角。
图2a显示了在菱形平面目标上进行工厂校准的32束Velodyne ULTRA Puck激光雷达的25次扫描的3D视图。图2b中提供的变焦显示,一些环的校准很差,“噪音水平”比制造商的规范高出三倍。平均而言,这些环接近激光雷达的规格(小于50米时为±5厘米),这意味着同一环上的点之间的最大差异为10厘米。
距离(或深度)测量中的系统误差影响目标质心的估计,质心通常用于确定目标相对于激光雷达的平移,以及目标的法向矢量,法向矢量用于定义目标的平面,如图2c所示。
随后,点云被正交投影到该平面,并且通过对适当的一组环形边缘执行RANSAC来找到目标的线边界;见图2d。然后,沿着目标边界的线定义其在平面中的顶点,注意到,这些顶点不受约束,不能与目标的几何体兼容。
图2. 单位为米。
(a) 平面目标的二十五次激光雷达扫描。点云大约有7厘米厚。
(b) 点云中的“噪波”不是随机的。其中四个环(13、15、17、19)的缩放是典型的,并且显示了距离上的系统误差。
(c) 激光雷达点正交投影到由法线定义的平面。
(d) 通过RANSAC选择用于回归直线的示例边缘点。
(e) 目标参考系和实点云数据。蓝色虚线方块是参考目标;其顶点表示为
。
(f) 突出显示典型点云的非零厚度的侧视图(x−z)。这些数字和论文中的所有其他数字都具有足够的分辨率,可以放大查看细节。
一旦确定了目标平面中的顶点,那么目标法向量的知识就允许将顶点提升回点云的坐标。该过程可以针对目标的多次扫描、目标的多次次扫描的集合或几个目标重复,从而得到目标顶点的列表
,其中n是目标姿势的数量。
目标通常被设计为使得顶点在相机图像中易于区分。通过表示它们在图像平面中的相应坐标{Yi}4ni=1完成了(1)中概念拟合问题所需的数据。虽然要最小化的成本是非线性和非凸的,但这通常不是问题,因为CAD数据可以为局部求解器(如Levenberg-Marquardt)提供足够的初始猜测。
B.贡献
贡献可以概括如下。
(a) 介绍了一种新的方法来估计从目标到激光雷达的刚体变换,HLT。对于通过变换的当前估计拉回到激光雷达帧原点的点云,成本被定义为点到激光雷达帧中已知几何形状(它被赋予了非零的体积)的3D参考目标1的距离之和,对于那些落在参考目标之外的点,否则为零。
在这项工作中使用了L1启发的范数来定义距离。发现这比使用RANSAC对边缘点(着陆在目标上的每个激光雷达环的左右端点)的L2线拟合对异常值不那么敏感。
(b) 在上文中,通过在估计顶点时使用整个目标点云,共同避免了识别边缘点并将其解析为目标的各个边缘的精细任务,其中一些边缘上的少量点由于激光雷达点云中的稀疏性而加剧了量化效果。
(c) 提供了一个循环验证研究,将方法与最先进的方法进行比较。
验证研究的一个新特点是使用相机图像作为地面实况的代理;在3D语义映射的上下文中,这是有意义的。
除了用于估计从激光雷达到相机的刚体变换的标准PnP方法外,还研究了最大化并集交集(IoU)来估计刚体变换。算法在不同数量的目标上进行了验证。
(d) 方法、基线的实现以及本文中使用的所有数据集的代码都是以开源形式发布的。
二、寻找激光雷达目标顶点
假设每个目标都是平面的、正方形的,并在激光雷达的框架内旋转大约45◦ 以形成如图2a所示的金刚石。将目标放置为使得激光雷达的环平行于其边缘延伸,由于环的间距导致垂直位置的模糊性。假设已经使用了标准方法来自动隔离目标的点云,不再赘述。
将目标的四个顶点作为其特征,其在激光雷达框架中的坐标表示为
。当有用的时候,滥用符号,从普通坐标传递到齐次坐标,而不注意区别。顶点
当然不能在点云中直接观察到。本节将提供一种新的方法,用于使用类L1范数来估计它们在激光雷达帧中的坐标。
图3.(a)显示,如果校准结果有几个旋转度的误差和几个百分比的平移误差,则校准结果是不可用的。(b) 显示了投影到相机图像上的激光雷达点云的良好对准。
A.激光雷达点云评述
激光雷达沿z轴有密集区域和稀疏区域,如图2c所示。对于32束Velodyne UltraBPuck,估计沿z轴的分辨率为0.33° 和1.36° 分别在密集区域和稀疏区域中。点沿y轴的距离分辨率大约为0.1°。量化误差可以通过以下公式粗略计算:
当一个点在d米外时,
。结果,如果将标签放置在远处,则量化误差可能会变得相当大。图3a显示了1°每个轴上的旋转误差和5%的平移误差会显著降低校准结果。重要的是将目标放置在适当的角度,以便已知的几何形状可以减轻y轴与 z轴上的量化误差。
图4:该概念图说明了估计激光雷达顶点的拟议方法。激光雷达框架中的目标参考由具有深度的
定义。
刚体变换
(黑色箭头)将目标的PC拉回到激光雷达原点附近的目标参考。
目标的实际顶点
通过(5)使用逆变换
(绿色箭头)进行估计。
B.确定目标顶点的新方法
让PC表示目标的LiDAR点云,并让3D点的集合为
,使得
,其中N是目标上的点数。对于外部校准问题,需要估计激光雷达帧中的目标顶点。如图4所示,设
是从具有顶点
的激光雷达帧中的参考目标到点云的刚体变换。使用逆变换
将目标的点云拉回激光雷达的原点,并测量那里的误差。
对于a≥0和λ∈R,定义
参见软
范数。设
表示
对点云的回调,并通过
表示点的笛卡尔坐标。成本定义为
其中,d由(正方形)目标的大小决定,唯一的调谐参数是
,即理想目标的厚度。
的值基于目标返回点的标准偏差,以考虑深度测量的噪声水平;见图2f。
建议通过旋转矩阵
和平移向量
来确定最优刚体变换。
并且通过以下方式定义所估计的目标顶点:
备注1. 要强调的是,目标顶点是在不提取边缘点及其分配到目标一侧的情况下确定的。此时不需要估计的顶点与目标的物理顶部、底部以及左侧或右侧的对应关系。
备注2.(3)中的成本将目标视为矩形体积。需要明确的是,寻求的是激光雷达帧中目标顶点的最佳估计,而不是变换本身。方法是间接的,因为从点云,估计了“最佳”激光雷达到目标的变换
,并使用它通过(5)定义顶点。
III、 图像平面角点及其与激光雷达顶点的对应关系
对于激光雷达目标的给定相机图像,设
表示相机图像的角。假设这些都是通过用户偏好的方法获得的,例如角点检测、边缘检测,甚至手动选择。所得到的相机角被用于所提出的方法和基线中。这不是校准问题的难点。
实现简单对应
,指数的顺序
可能需要进行排列;使用垂直和水平位置对它们进行排序。
一旦有了对应关系,下一步就是将LiDAR目标的顶点
投影到图像坐标中。标准关系为
其中(6)包括相机的固有参数和所寻求的外在参数
。为了以后的使用,将(6)和(7)结合起来定义了
(8)从激光雷达坐标到图像坐标的投影图。请注意,它是外部变量和激光雷达顶点的函数。
图5. 图像平面中的两个多边形。(a) 红色多边形
表示从激光雷达帧投影到图像平面的估计顶点,而蓝色多边形
表示目标的实际相机图像的顶点。(b) 显示了两个多边形的交点(用绿色标记),顶点标记为
。
IV、 外在变换优化
本节假设已经确定了激光雷达帧和相机图像平面中目标的顶点及其对应关系。外在变换的优化可以用标准的PnP问题来表示:最小化对应角的欧几里得距离。还建议最大化相应投影多边形的并集交集(IoU)。
A.欧氏距离
标准PnP配方为
其中
是相机角,
在(8)中定义,n是目标姿态的数量。
B.IOU优化
对于给定的多边形,设
是N个顶点的坐标,逆时针排序。
通过Shoelace算法来计算多边形的面积,
其中
,如果V为空,则面积取为零。现在,应用这个基本面积公式来提出用于外部校准的基于IoU的成本函数。设
是从LiDAR帧投影到相机帧的估计目标多边形的顶点,如(8)所示,并且设
是目标的相应相机图像的顶点,如图5a所示。如果它们的交集不是空的,将其定义为具有已知坐标的多边形,表示为
,其中
是交叉点的数量;见图5b。使用Graham的扫描算法逆时针排序多边形的三组顶点,这是一种找到平面中有限点集的凸包的方法。那么两个多边形的IoU是
,由此产生的优化问题是
其中(8)已被用于明确对刚体变换的依赖性。
V.实验结果
在本节中,通过一种“交叉验证”的形式,在七个不同的场景上广泛评估了提出的方法:以循环方式,使用一个或多个场景的数据来估计外部变换,然后在其余场景上进行评估。定量评估包括计算每个角的像素误差,其中将图像角作为基本事实。还通过将激光雷达扫描投影到相机图像上来显示定性验证结果;在这里尽可能多地包含空间,提供更多的场景和更大的图像。
A.数据收集
场景包括室外和室内设置。每个场景包括两个目标,一个约80.5平方厘米,另一个约15.8平方厘米,较小的目标放置得更靠近相机-激光雷达对。使用Intel RealSense深度相机D435和32光束Velodyne ULTRA Puck LiDAR,安装在卡西系列两足机器人的内部设计躯干上。
从CAD文件来看,相机大约在激光雷达下方20厘米,前方10厘米。相机的角度是可调节的。在这里,它的“间距”,在激光雷达帧中,大约为零。
扫描包括在激光雷达的32个光束的一次旋转中收集的点。对应于单个光束的数据也被称为环。对于每个场景,收集大约10秒的同步数据,产生大约100对扫描和图像。
对于每个目标,选择五对连续的激光雷达扫描和相机图像作为数据集。对于每个数据集,应用两种方法来估计目标的顶点,基线和第II-B节中的方法。然后,应用PnP和IoU优化来找到刚体变换。
B.激光雷达顶点的基线实现
作为基线,使用[24]中的方法。由于没有发布开源实现,构建了自己的实现,试图尽可能忠实于所描述的方法。
对于每次扫描,从背景中分别提取大目标和小目标。对于每个目标和五次扫描的组,计算提取的点云的质心,并将点云以原点为中心。然后使用SVD来找到目标的法线,并将点云正交投影到由法线和质心定义的平面上。对于每次扫描,以及对于击中目标的每个环,选择环的左端点和右端点,然后将其与目标的四个边缘之一相关联。使用最小二乘法和RANSAC将线拟合到每个边缘点集合。顶点是作为由目标的法线和质心定义的平面中的线的交点获得的。
然后将四个顶点重新投影到3D空间中,如图2d所示。
C.摄像头角落和关联
确定目标角点的过程开始于在图像中单击它们附近。这是论文中唯一需要的手动干预,甚至这个过程很快就会自动化。如图6a所示,在任意给定的两个点击点之间,即目标的边缘,围绕这两个点绘制边界框。一旦大致定位了目标的角点,就用Canny边缘检测来处理图像,以检测边界框内的边缘点。然后使用RANSAC通过每条边拟合一条线,所得线的交点定义目标的角点,如图6b所示。视频和此过程的实现与代码一起发布。
图6.(a)显示了边缘检测的结果。(b) 显示了给定两个单击角的边界框的内部像素(以绿色标记)。边缘点和边缘线(如RANSAC所发现的)分别用品红色和青色标记。角由生成的直线的交点定义。
D.外部校准
在相关的目标顶点和相机图像角点的基础上,使用PnP和IoU方法来求解从激光雷达到相机的刚体变换。由于结果相似,在表1中只报告了PnP方法,然后将两者都包括在汇总表中(表2)。SVD和RANSAC是使用它们相应的MATLAB命令计算的,而(4)、(9)和(12)中的优化是使用fmincon进行的。
E.计算性能
校准是离线完成的。表1中给出的循环交叉验证研究在不到一个小时的时间内在MATLAB中生成。每个数据集(包括基线和所提出的方法)在MATLAB中大约需要1.5分钟。
F.定量结果和ROUND-ROBIN分析
在表1中,给出了基线5投影到相机图像平面中的激光雷达顶点的RMS误差,标记为RANSAC法线(RN),以及在(3)和(4)中的方法,标记为几何L1(GL1)。在两个目标的情况下,进行全循环研究:将激光雷达到相机的刚体变换“拟合”到两个目标八个顶点的组合集,然后在剩余六个场景中的每个场景的八个顶点上进行“验证”。
对两个场景中的四个目标进行完整的循环研究需要21次验证,而对六个和八个目标分别需要35次验证。出于空间原因,只报告了这些可能性的一个子集。
需要明确的是,以每个角落的像素为单位进行报告。
其中4n是目标拐角的总数。在两个目标和一个场景的情况下,n=2。在来自三个场景的六个目标的情况下,n=6。图7显示了投影到相应相机图像的几个点云。汇总数据如表2所示。
VI、 定性结果和讨论
在激光雷达到相机的校准中,由于缺乏地面实况,通常将激光雷达点云投影到相机图像上。通常不清楚查看的是拟合数据还是验证数据。在图8中,展示了一组激光雷达点云在相机图像上的投影,用于验证数据。一组额外的图像。所有这些都表明图像中的关键几何特征和点云是对齐的。对齐的质量使实验室能够用两足机器人Cassie Blue构建高质量(实时)的3D语义图。该地图融合了激光雷达、相机和IMU数据;通过添加一个简单的规划器,它实现了自主导航。
表1和表2显示GL1优于基线:
平均而言,投影误差减少了50%以上,方差减少了70%。关于这种改进的来源,强调以下几点:
(a) 基于最小二乘法的方法估计目标点云的法向量。如图6所示,如图2a和图2b所示,即使目标是平坦的并且具有明确的法线,激光雷达点云中的回波也不位于平面上。因此,不存在全局法向量。
(b) 基于最小二乘法的方法从点云中提取目标边缘点,用于线拟合。线拟合必须在由估计法线定义的平面中进行,因为在三维中,非平行线不一定相交以定义顶点。
(c) GL1在制定成本函数时明确使用目标几何体。通过将零成本分配给“理想目标体积”中的内部点,而在其他情况下分配非零成本,优化问题集中于在3D点云中定向目标体积的边界。这种观点以前似乎没有使用过。
(d) 因此,方法不需要(繁琐且容易出错)明确地提取点并将其分配给目标边缘。3D中边界点的确定隐含地通过成本函数来完成。
表1. 拟合和验证数据。灰色方框表示拟合集,白色方框包含验证数据。这些数字是投影到图像平面的激光雷达顶点的RMS误差,以每个角的像素为单位测量。针对两个目标,进行了完整的循环研究。对于更多的目标,组合的数量变得令人望而却步。S1至S7表示场景(实验)编号。每行的平均值和标准偏差(不包括拟合集)在最后两列中给出。
表2. 表1中的验证数据汇总。该表比较了基线和方法的平均值和标准偏差,作为拟合中使用的目标数量的函数。单位是每个角的像素。
目前,外部校准方法不是“自动”的。一种手动干预,即点击相机图像中的近似目标角,将很快实现自动化。
没有研究如何设定目标。这是一项有趣的未来工作,因为将激光雷达点投影到相机平面时需要非线性操作;参见(6)和(7)。
图7. 表1最后一行验证数据的可视化描述。对于GL1方法,每个目标的五组估计的激光雷达顶点被投影到图像平面中并用绿色标记,而目标的点云则用红色标记。放大图像可以使表中报告的数字可视化。顶点是关键。
七、结论
提出了一种新的方法来确定激光雷达相机对的外部校准。当根据最先进的基线进行评估时,平均而言,激光雷达到相机的投影误差减少了50%以上,方差减少了70%。这些结果是通过循环验证研究确定的,当在拟合中使用两个目标时,并进一步支持对四个、六个和八个目标的拟合结果。
基于L1的方法的另外两个优点是:(1)它不需要从固有噪声的点云中估计目标法向量;以及(2)它还避免了边缘点的识别及其与目标的特定侧面的关联。结合较低的RMS误差和方差,相信结果可能为当前基于目标的外部校准方法提供一个有吸引力的替代方案。
参考文献链接
https://arxiv.org/pdf/1910.03126.pdf
Improvements to Target-Based 3D LiDAR to Camera Calibration
标签:校准,目标,相机,图像,顶点,激光雷达 From: https://www.cnblogs.com/wujianming-110117/p/18011555