文章:Online Extrinsic Camera Calibration for Temporally Consistent IPM Using Lane Boundary Observations with a Lane Width Prior

作者:Jeong-Kyun Lee, Young-Ki Baik, Hankyu Cho, and Seungwoo Yoo

编译:点云PCL

本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。内容如有错误欢迎评论留言,未经允许请勿转载!

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起每交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文提出了一种对相机的在线外参标定的方法,即在连续的驾驶场景图像中,从路面信息估计俯仰角、偏航角、横滚角和摄像机高度。该方法分两步估计相机的外部参数:

1)利用一组车道线观测值计算的消失点同时估计俯仰角和偏航角;

2)通过最小化车道宽度观测值和车道宽度先验值之间的差异来计算横滚角和摄像机高度。利用扩展卡尔曼滤波(EKF)对摄像机外部参数进行连续更新,最后利用逆透视映射(IPM)生成时间一致的鸟瞰图(BEV)。该文章证明了该方法在合成和真实数据集上的优越性。

介绍

近年来,随着先进的驾驶辅助系统(ADAS)和自动驾驶(AD)的应用,基于相机的视觉感知的研究得到了广泛的应用。许多研究主要集中在从前置摄像头采集的输入图像中检测相邻物体和驾驶环境,如车道边界检测、交通标志检测、目标检测与跟踪等。特别是对于路面标志线,主要采用逆透视映射(IPM),因为它们受摄像机透视失真的影响更大。给定摄像机与路面的几何关系,即摄像机的外部参数,可以将输入图像转换为鸟瞰图像,从而保持路面标线的实际形状,提高检测性能。此外,在单目相机系统中,外部相机参数被广泛用于估计目标的距离,并通过生成增强的特征来提高目标检测的性能。

对于单目相机的外参的标定,可利用在驾驶场景中连续的图像序列进行在线外部相机标定。他们使用视觉里程计或车道边界消失点(VP)估计的相机运动来更新相机的外参数,并生成显示平行车道边界的BEV图像。然而,这些工作并没有纠正所有的外在相机参数。它们只更新俯仰角和偏航角,因此,当横滚角和相机高度发生变化时,它们仍然可以生成BEV图像,但是路面波动和比例(如车道宽度和对象之间的距离)不一致。

本文提出了一种在线非本征相机标定方法,该方法可以估计连续驾驶场景图像中俯仰角、偏航角、横滚角和摄像机离路面高度等几何关系。据我们所知,这是第一个以在线方式同时计算所有四个外部相机参数的工作。该方法分两个阶段估计摄像机的外参:

1)俯仰角和偏航角,

2)横滚角和摄像机高度。

俯仰角和偏航角是使用一组车道边界观测值计算的VP同时估计的。然后,给定车道宽度作为先验,通过最小化车道宽度观测值和先验车道宽度之间的差异来计算横滚角和摄像机高度。所提出的方法使用扩展卡尔曼滤波(EKF)更新序列图像中相机的外参,以便产生如图1(c)所示的时间一致的IPM结果。

图1 这是一个改进的例子,我们的在线外参标定的驾驶场景图像(a),

(b) 和(c)分别是应用我们的方法之前和之后利用相机外参通过IPM获得的BEV图像。

主要内容

我们提出了一种在线的相机外参标定方法,即从路面估计俯仰角、偏航角、横滚角和相机机高度,从而产生时间一致的IPM结果。我们假设摄像机是知道内参,路面是平坦的,路面上所有的车道边界是平行的,并且车道宽度与之前的车道宽度相同。

图2示出了所提出的方法的整体过程。首先,我们使用基于完全卷积网络的分割模型从输入图像中提取车道边界观测值。由于平行车道边界的VP只依赖于俯仰角和偏航角,并且对横滚角和摄像机高度的变化是不变的,因此我们从一组平行车道边界中找到一个VP,并使用VP(消失点)估计俯仰角和偏航角。然后,我们计算横滚角和摄像机高度,使车道宽度观测值和作为先验。最后,利用更新后的相机的外参计算IPM。

图2 本文提出的方案的流程

俯仰和偏航角估计

如论文中所述,我们将俯仰角和偏航角估计转换为寻找摄像机和路面上平行车道边界的VP之间的旋转关系,如图3所示。

图3  俯仰和偏航角估计    (a)相机和世界坐标系,(b) 和(c)分别是俯仰角和偏航角的定义。

C和W分别表示相机坐标系和世界坐标系。让我们将W世界坐标系的z轴定义为VP的方向,即VD(消失点方向)。然后,俯仰角和偏航角可以定义为如图3(b)和图3(c)所示的摄像机的前进方向和VD之间的角。这里采用了基于高斯球理论和RANSAC的鲁棒VP估计方法,因为车道边界观测可能有噪声。利用VP对俯仰角和偏航角进行初始化后,利用EKF对序列图像进行估计。

高斯球

在针孔相机模型中,以相机主点为中心的单位球称为高斯球。如图4所示,一个大圆是图3(a)(b)(c)的交点。俯仰和偏航角估计(a) 相机和世界坐标系(b) 和(c)分别是俯仰角和偏航角的定义。图4。描述高斯球和高斯球平面上的一条直线所确定的图像和主点。当平行线投影到像面上时在VP处相交,平行线对应的大圆在高斯球面上有一个交点,从主点到交点的方向变为VD。VD是由所有大圆法线(NGCs)确定的平面法向量,我们称之为NGC-VD正交性。正交性与图像平面中的线VP入射相同,即图像平面中的平行线入射到VP

图4 高斯球的描述

消失点估计

估计我们假设一组表示车道边界的线是给定的。该集合通常包含一些噪声线或离群点,因此我们使用RANSAC过滤掉离群点,然后估计对噪声线鲁棒的VP。当给定一组线段L时,RANSAC过程可描述为算法1。

俯仰和偏航角初始化

俯仰角和偏航角用θ 以及φ, 分别。由俯仰角和偏航角计算的旋转矩阵,即从世界坐标到相机坐标的变换矩阵,用RCW表示(θ, φ) 世界坐标系W中z轴的方向向量用dWZ=[0,0,1]>表示。那么dWZ和v有如下关系

我们可以将旋转矩阵分解为两个旋转矩阵,矩阵θ 以及φ 如下所示。

其中cθ 和sθ (cφ 和sφ) 是余弦和正弦函数θ (φ). 那么θ 以及φ 从v初始化。如下所示。

基于EKF的俯仰角和偏航角估计

我们使用EKF来估计图像序列中的俯仰角和偏航角。采用恒角速度模型来模拟驾驶过程中俯仰角和偏航角的变化。因此,用于俯仰和偏航角估计的状态向量X_py和系统模型f_py被定义为

横滚角和摄像机高度估计

由于投影特性和观测车道边界与摄像机外参数之间的非线性几何关系所产生的几何信息不足,利用车道边界的二维投影作为观测值标定横滚角和摄像机高度的方法更加复杂。为了简化,我们假设俯仰角和偏航角已经进行了修正。然后,可以将横滚角和摄像机高度估计视为计算其在xy平面上的近似值,如图6所示。通过将路面和l线投影到xy平面上,可以估计出路面与直线交点之间的距离应等于wp之前车道宽度的横滚角和摄影机高度值。

图6 横滚角和相机高度估计。(a) 横滚角和相机高度的定义。(b) 车道宽度的定义。(c) 线角度的定义。

主要有两步:

A 横滚角和相机高度初始化

B 基于EKF的滚动角和相机高度估计

逆透视变换

最后时间一致的IPM是可能的与相机外参数估计θ, φ, ψ, 和h。从摄像机坐标到世界(或地面)坐标的单应矩阵hwc计算如下。

其中aX和aZ是决定BEV图像分辨率的尺度参数,bX和bZ是世界坐标系中X轴和Z轴的尺寸参数,Rri是矩阵R的第i行(θ, φ, ψ) 计算公式为

实验

a) 车道边界检测:为了获得车道边界观测,这里采用了基于完全卷积网络的分割模型。分割模型在每个语义车道边界都有自己的类的情况下进行多类分割。我们使用ResNet-18作为骨干,并采用标准SGD方法进行训练,并具有交叉熵损失。如图7所示,分割模型通过生成每个语义车道的像素概率图来提供每个语义车道边界实例。然后,对于概率大于0.5的每个车道边界,我们通过搜索像素上的平均位置,然后采样代表点以供下次使用来提取顶点。

图7 分割模型的结果。
(a) 输入图像。
(b) 分割模型输出,其中每个颜色表示每个语义车道边界实例。

图8 在线非本征摄像机标定结果没有车道边界检测的合成场景中的噪声σ2 = 1. 左右图分别显示了该方法产生的输入图像和它们的BEV图像

b) 数据集:使用图8和图9的多个合成和真实世界数据集来评估所提出的方法。

我们在真实场景中在线外参标定的结果。在每个三组图像中,上、左下和右下图像分别显示输入图像、基于给定外部相机参数的BEV图像和基于所提出方法更新的BEV图像。在输入图像中,红色顶点和绿色线来自车道边界检测。

综合数据集中的评估

表一显示了在合成数据集中评估的结果。rmse与噪声方差成比例增加,但旋转角度和相机高度估计的rmse分别小于0.2度和2厘米,即使在存在严重噪声的情况下σ 2=9像素。此外,该方法生成的两帧BEV图像在时间上是一致的,尽管存在运动变化和噪声。总之,该方法在合成数据集上表现良好。

总结

本文提出了一种基于车道宽度先验知识的基于车道边界观测的非本征摄像机在线标定方法。该方法分两步估计摄像机与路面的几何关系,即首先估计基于VP的俯仰角和偏航角,然后基于车道宽度的一致性,利用前一步的俯仰角和偏航角估计侧倾角和摄像机高度。通过EKF,我们的方法最终得到了波动较小、车道宽度相等的时间一致的BEV图像。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

基于先验时间一致性车道线的IPM相机外参标定相关推荐

  1. 空间中的语义直线检测_基于语义分割的车道线检测算法研究

    龙源期刊网 http://www.qikan.com.cn 基于语义分割的车道线检测算法研究 作者:张道芳 张儒良 来源:<科技创新与应用> 2019 年第 06 期 摘 ; 要:随着半自 ...

  2. 基于OpenCV的实时车道线分割&车道保持系统(源码&教程)

    1.研究背景 汽车主动安全系统能够实现风险的主动预防和规避,其能有力缓解当前我国汽车交通事故频发的困境,故对其的相关研究得到了国家的大力支持. 车道保持辅助系统(LKAS,Lane Keeping A ...

  3. matlab与逆透视变换,基于逆透视变换的车道线检测方法与流程

    本发明属计算机视觉.图形处理技术领域,具体涉及一种通过照度不变及逆透视变换进行车道线快速鲁棒检测的方法. 背景技术: 车道线检测作为自动驾驶技术的第一个环节,能够有效感知车辆周围世界,并获取可行驶区域 ...

  4. matlab点云中值滤波,基于车载激光雷达的车道线识别方法与流程

    本发明属于自动驾驶的模式识别领域,涉及激光雷达点云数据处理及识别方法. 背景技术: 车道线检测在智能车辆辅助安全系统中起着关键的作用,车道偏离警示系统在车道保持辅助系统以及车道换道辅助系统中有着广泛的 ...

  5. 无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)

    无人驾驶汽车系统入门(七)--基于传统计算机视觉的车道线检测(2) 原创不易,转载请注明来源:http://blog.csdn.net/adamshan/article/details/7873330 ...

  6. 无人驾驶汽车系统入门(六)——基于传统计算机视觉的车道线检测(1)

    无人驾驶汽车系统入门(六)--基于传统计算机视觉的车道线检测(1) 感知,作为无人驾驶汽车系统中的"眼睛",是目前无人驾驶汽车量产和商用化的最大障碍之一(技术角度), 目前,高等级 ...

  7. Udacity无人驾驶工程师课程笔记:1 计算机视觉基础——基于Hough变换的车道线提取

    Udacity无人驾驶工程师课程笔记:1 计算机视觉基础--基于Hough变换的车道线提取 图像处理 颜色选择 区域遮罩 组合颜色和区域选择 边缘检测 Canny边缘检测 Hough变换 Hough变 ...

  8. 基于Spatial CNN的车道线检测和交通场景理解

    SCNN车道线检测--(SCNN)Spatial As Deep: Spatial CNN for Traffic Scene Understanding(论文解读) Spatial As Deep: ...

  9. 毕业设计-基于机器视觉道路视频车道线检测识别

    目录 前言 课题背景和意义 实现技术思路 摄像机校准 ​编辑 透视变换 车道像素查找 识别车道面积 实现效果图样例 前言

最新文章

  1. iOS 图片处理-利用GPUImage 磨皮和美白图片
  2. RH5.4下samba共享配置实例(3)
  3. 10.25T2 二维线段树
  4. 视频 + PPT | 企业服务如何破局增长?
  5. Mac关于Node版本升降
  6. mysql 8.0.19 winx64安装及修改初始密码
  7. 一个不错的游戏 - flash webgame
  8. python 中的eval与exec
  9. vep文件如何转换mp4_如何将m4v视频格式快速转换成mp4视频呢
  10. Hadoop系列之Aggregate用法
  11. ansys2017安装教程_ANSYS Student
  12. native2ascii.exe详细使用方法、native2ascii转换示例
  13. 我的世界服务器发消息有符号,我的世界彩色字体符号
  14. 豆瓣小组html模板,用前端的方式打开豆瓣租房小组
  15. H264编码格式--图文解释
  16. linux hotplug 机制,佐须之男的博客- 跟着佐大学Lede/OpenWrt开发入门培训班讲义-18 OpenWrt hotplug 机制分析...
  17. 经典c程序100例详解
  18. 扁平化设计的色彩选择
  19. TensorFlow版BERT源码详解之self-attention
  20. ntp的同步方式slew step的区别

热门文章

  1. Noip2017 跳房子——普及组
  2. 2022-2028年中国废矿物油行业市场研究及前瞻分析报告
  3. Go 学习笔记(48)— Go 标准库之 time (获取时/分/秒的单位值、标准时间和Unix时间转换、字符串时间和Time类型转换、时区转换、时间的加减/休眠)
  4. Ubuntu16.04 永久修改主机名 hostname
  5. 用java向mysql数据库中插入数据为空
  6. 下载MySQL数据库
  7. SharePoint 2013 图文开发系列之代码定义列表
  8. 简述计算机科学的核心内容,北京大学-计算机科学与技术(2018秋)作业及复习
  9. set.difference() 的用法(python3)_Python 集合 difference_update() 使用方法及示例
  10. 13. 微型计算机中,传送cpu发出的读/写指令的总线是,我的微机原理题库