开始与激光雷达相机校准器
的激光雷达相机校准器应用程序使您可以交互式估计激光雷达传感器和相机之间的刚性转换。
本主题向您展示激光雷达相机校准器应用程序工作流程,以及功能,您可以使用,以分析和改善您的结果。校准过程的第一个也是最重要的部分是获得准确和有用的数据。有关捕获数据的指导方针和技巧,请参见校准指南。
加载数据
打开激光雷达相机校准器app,在MATLAB中®命令提示符,输入此命令。
lidarCameraCalibrator
或者,您可以从应用程序选项卡,在图像处理与计算机视觉“,。
应用程序打开到一个空会话。该应用程序读取PLY和点云数据(PCD)格式的点云数据,以及支持的任何格式的图像万博1manbetximformats
。如果数据存储在rosbag文件中,请参见从Rosbag文件读取激光雷达和相机数据教程来相应地转换它。
将校准数据加载到应用程序。
在应用程序工具条上,选择进口>导入数据,打开导入数据对话框。
在图片文件夹框中,输入包含要加载的图像文件的文件夹的路径。或者,选择浏览按钮,导航到包含图像的文件夹,然后单击选择文件夹。
在点云文件夹框,输入包含要加载的PCD或PLY文件序列的文件夹的路径。或者,选择浏览按钮,导航到包含文件的文件夹,然后单击选择文件夹。
在棋盘设置节中,输入校验棋盘参数。控件中为每个棋盘方格指定大小广场的大小方框,并从方框旁边的列表中选择测量单位。
在填充框中,输入棋盘的填充值。有关填充的更多信息,请参见棋盘填充。点击好吧导入数据。
若要在会话中的任何位置向会话添加更多图像和点云,请选择进口>向会话添加数据。
特征检测
该应用程序加载图像和点云数据,并使用指定的棋盘参数对数据执行自动特征检测。从图像数据中检测棋盘角,从点云数据中检测棋盘面。app界面显示检测进度和结果。
的接受数据窗格显示应用程序接受校准的图像和点云对。如果应用程序在图像或点云中检测到棋盘格特征,它就会接受图像或点云。该应用程序使用文件名来配对图像和点云数据。它将图像与具有相同文件名的相应点云进行比较。的拒绝了数据窗格显示应用程序无法检测图像、点云或两者中的特征的数据对。你可以使用选择感兴趣的地区或选择棋盘区域在拒绝了数据以获得更好的检测。
该应用程序将可视化区域中的数据显示为图像和点云数据的单独窗格。每个窗格都有包含映像或点云数据文件名的选项卡。选项中选择数据对接受数据或拒绝了数据窗格以在此区域中可视化它。当你选择一个数据对时,应用程序会用蓝色高亮显示它。删除选中的数据对,按退格(电脑)或删除(Mac)。有关数据浏览器的更多键盘快捷键,请参见数据浏览器。
图像显示窗格显示所选对的图像和检测到的棋盘角。为了检测棋盘角,应用程序使用estimateCheckerboardCorners3d
函数。该应用程序计算相机的内在特征来执行特征检测。如果你有相机的内在值,你可以把它们加载到应用中相机intrinsic节,通过选择使用固定的intrinsic。在打开的对话框中,浏览到您的相机intrinsic文件并将其加载到应用程序中特征检测部分中,选择检测用新的内在特征来检测特征。
点云显示窗格显示所选对中的点云,检测到的棋盘平面以白色显示。为了检测飞机,该应用程序使用detectRectangularPlanePoints
函数。
在应用程序中使用点云的各种显示选项来提高可视化和检测。
选择感兴趣的地区
选择Snap To ROI来可视化点云中的特定感兴趣区域(ROI)。应用程序为ROI设置默认值,但您可以使用编辑ROI工具。此工具使您能够手动精确定位点云的区域。将ROI指定到棋盘所在的区域,可以通过将特征检测集中在特定区域来减少数据拒绝并提高性能。
选择编辑ROI,它将打开编辑ROI选项卡。该选项卡包含相同的内容接受数据而且拒绝了数据窗格作为校准选项卡,但点云显示窗格占用了窗口的其余部分。
选择一个数据对,应用程序用蓝色高亮显示。您可以选择一个被拒绝的数据对来调优ROI。
清除Snap To ROI按钮查看整个点云。
ROI用黄色突出显示。指向ROI,光标就会变成一个手的符号。
单击ROI的任意一侧并拖动它以切换大小。您可以选择Snap To ROI查看ROI的内容,并相应地更改大小。
选择应用以保存更改或取消丢弃它们。
因为应用程序在所有点云框架上应用新的ROI,所以您必须定义一个覆盖您放置棋盘的所有区域的ROI。清除Snap To ROI按钮查看整个点云并选择隐藏ROI长方体来删除ROI高亮。选择检测来检测所选ROI中的特征。或者,您可以使用键盘快捷键来执行这些任务。有关更多信息,请参见编辑ROI。
选择棋盘区域
要进一步调优检测,可以使用选择棋盘在任何点云框架中手动选择棋盘点的功能。
在应用程序工具条上,选择选择棋盘。应用程序打开选择棋盘选项卡。这个选项卡包含相同的内容接受数据而且拒绝了数据窗格作为校准选项卡,但点云显示窗格占用了窗口的其余部分。
选择数据对。应用程序用蓝色高亮显示。您可以选择一个被拒绝的数据对,并在点云中找到棋盘。
使用点云显示的轴工具栏中的缩放和旋转选项来定位棋盘。
选择选择棋盘。光标变成十字准星。
单击并拖动光标到棋盘上。出现一个选择矩形,其中的点用红色高亮显示。或者,您也可以选择刷/选择数据在坐标轴工具栏上。
选中点后,旋转点云,检查是否有背景点被选中。如果所选内容包含不需要的点,请选择明确的选择重新开始。
选择应用保存选中的点,或者取消丢弃它们。
这种棋盘式选择仅适用于当前点云。选择检测使用手动选择的棋盘检测特征。
特征检测设置
该应用程序提供了这些功能检测设置,您可以在其中调优参数。
清除地面-从点云中移除接地点。该应用程序使用
pcfitplane
函数来估计地平面。的清除地面功能默认启用。选择清除地面清除它。集群阈值—点云中相邻两点的聚类阈值,单位为米。聚类过程是基于相邻点之间的欧氏距离。如果相邻两点之间的距离小于聚类阈值,则两个点都属于同一个聚类。低分辨率激光雷达传感器要求更高集群阈值,而高分辨率激光雷达传感器受益于低集群阈值。
尺寸公差-矩形平面尺寸不确定度公差,范围为[0,1]。一个更高的尺寸公差表示矩形平面尺寸的更大容差范围。
选择检测使用新参数检测特征。
校准
当您对检测结果满意时,选择校准按钮校准传感器。如果你有一个估计的变换矩阵,选择初始变换从文件或工作区加载转换矩阵。应用程序假设激光雷达传感器和相机之间的旋转角度在[-45 -45]的范围内,以度为单位,沿每个轴。对于超出此范围的旋转角度,请使用初始变换指定初始变换以提高校准精度。
校准后,应用程序界面显示图像与棋盘点从点云投影到它。该应用程序使用projectLidarPointsOnImage
函数将激光雷达点投影到图像上。将图像的颜色信息与点云数据进行融合fuseCameraToLidar
函数。
该应用程序还使用误差图为转换矩阵提供不准确性指标。图中指定了每个数据对中的这些错误:
翻译错误-点云中棋盘平面的质心坐标与对应图像中的质心坐标的差值。应用程序返回以米为单位的错误值。
旋转的错误-点云中棋盘平面定义的法线角度与对应图像中的法线角度之差。该应用程序使用棋盘角坐标来估计图像中的平面。应用程序以程度为单位返回错误值。
Reprojection错误-从点云投影(转换)棋盘平面的质心坐标与相应图像中的质心坐标之间的差异。应用程序以像素为单位返回错误值。
当您在数据浏览器中选择一个数据对时,错误图中的相应条将以深蓝色突出显示。您可以通过删除异常值来优化校准结果。垂直拖动每个图上的红线以设置误差限制。应用程序选择所有误差值大于误差限制的数据对作为异常值,并在数据浏览器中以蓝色突出显示错误条及其对应的数据对。在数据浏览器上右键单击所选数据对并选择移除并重新校准删除异常值并重新校准传感器。删除异常值可以提高校准精度。有关用于错误图的键盘快捷键列表,请参见错误的情节。
导出的结果
您可以将转换矩阵和错误度量作为变量导出到工作区或mat文件中。您可以生成完整的应用程序工作流的MATLAB脚本,以在您的项目中使用。
键盘快捷键和鼠标操作
请注意
在Macintosh平台上,使用命令(⌘)键而不是Ctrl。
使用快捷键和鼠标操作可提高工作效率激光雷达相机校准器应用程序。
数据浏览器
任务 | 行动 |
---|---|
控件中的数据对进行导航接受数据或拒绝了数据窗格 | 上下箭头 |
在数据浏览器中选择所有数据对 | Ctrl +一个 |
选择当前选中数据对上方或下方的多个数据对。 | 持有转变按下向上或向下的箭头 |
选择多个数据对。 请注意 目前不支持使用相同的快捷方式取消选中的数据对。万博1manbetx |
持有Ctrl然后点击数据对 |
从数据浏览器中删除选中的数据对。 |
出现删除对话框。 |
选择数据对N在当前选择的数据对上方。N当前在数据浏览器中完全显示的数据对的数量。 |
|
选择数据对N在当前选择的数据对下面。N当前在数据浏览器中完全显示的数据对的数量。 |
|
在数据浏览器中选择第一个数据对。 |
|
在数据浏览器中选择最后一个数据对。 |
|
错误的情节
在错误图上使用这些快捷方式来分析数据。对三个错误图中的任何一个的操作都会影响所有三个图上相应的错误条。
任务 | 行动 |
---|---|
选择当前所选错误条左侧的错误条。 | 左箭头键 |
选择当前所选错误条右侧的错误条。 | 右箭头 |
除当前选择的错误条外,选择当前选择的错误条的右侧或左侧。 | 持有转变按左箭头或右箭头 |
选择多个错误条。 请注意 目前不支持使用相同的快捷方式取消选择所选错误条。万博1manbetx |
持有Ctrl点击错误条 |
选择所有错误条。 | Ctrl +一个 |
从数据浏览器中删除选中的错误条和对应的数据对。然后应用程序重新校准传感器。 |
出现一个确认删除的对话框。 |
编辑ROI
的快捷方式使用编辑ROI选项卡。
任务 | 行动 |
---|---|
撤消ROI大小更改。 请注意 应用程序只存储ROI的最后三个大小,所以你不能连续撤销超过三次。 |
Ctrl + Z |
重做ROI大小更改。 |
Ctrl + Y |
明确的ROI选择 | Esc |
限制
的激光雷达相机校准器App有以下限制:
生成的脚本出口>生成MATLAB脚本不包括使用?工具手动选择的任何方格区域选择棋盘特性。在脚本中,在指定的ROI中检测棋盘区域。
手动选择棋盘区域后使用选择棋盘功能,当你返回校准选项卡,您只能在查看整个点云时看到所选点(红色突出显示)SnapToROI清除)。
另请参阅
激光雷达相机校准器|estimateCheckerboardCorners3d
|estimateLidarCameraTransform
|projectLidarPointsOnImage
|fuseCameraToLidar
|bboxCameraToLidar