深入研究矫正单应性矩阵用于立体相机在线自标定

文章:Dive Deeper into Rectifying Homography for Stereo Camera Online Self-Calibration

作者:Hongbo Zhao, Yikang Zhang, Qijun Chen,, and Rui Fan

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。侵权或转载联系微信cloudpoint9527。

摘要

准确估计立体相机外参是确保立体匹配算法性能的关键。在先前的研究中,立体相机的在线自标定通常被形式化为专门的视觉测距问题,而未考虑立体矫正原理。本文首次深入探讨了矫正单应性的概念,它是我们新颖的立体相机在线自标定算法发展的基石,适用于仅有一对图像的情况。此外引入了一个简单而有效的解决方案,用于在立体视频序列存在的情况下全局最优的外参估计。此外强调使用三个欧拉角和三个平移向量分量进行性能量化的不切实际性。相反,我们引入了四个新的评估指标,用于量化外参估计的鲁棒性和准确性,适用于单对和多对情况。通过在各种实验设置下进行的室内外环境的大量实验证明了我们提出的算法的有效性。全面的评估结果表明,相对于基线算法,我们的算法表现更为优越。

主要贡献

本文通过在一个包含超过1万对来自室内和室外环境的真实立体图像的大规模数据集上进行广泛实验证明了我们提出的算法在不同外参参数条件下的有效性,同时还在两个公共数据集,KITTI 和Middlebury,在不同方向上进行扰动。展示了我们的算法相对于基线算法的卓越性能。总的来说,我们的创新贡献如下: 

• 面向单对情况的基于矫正单应性的新型立体相机在线自标定算法; 

• 针对存在多对立体图像的情况,提供了一个简单而有效的全局最优外参估计解决方案; 

• 四个实用的评估指标,旨在全面量化立体相机在线自标定的性能; 

• 在各种室内外环境中使用不同的实验设置进行的广泛实验。

内容概述

矫正单应性

"Rectifying homography"(矫正单应性)是立体视觉中的一个概念,用于对立体图像进行矫正,使其满足特定的几何关系。在双目视觉中,通过使用两个摄像机同时拍摄同一场景,图像中的物体可能呈现一定的透视畸变和几何差异。矫正单应性的目标是将左右相机的图像重新投影到一个共同的平面上,以便简化立体匹配和深度估计。这个平面通常是平行于摄像机的基线的平面。"Rectifying homography" 是一个齐次矩阵,它描述了左右相机图像之间的几何关系,使它们在矫正后满足平行的条件。通过将左右图像应用矫正单应性,可以使同一行的像素在两个图像中具有相同的纵坐标,从而简化了匹配问题。在立体视觉中,这种矫正对于提高立体匹配算法的效果和精度非常重要,因为它有助于消除图像中的透视畸变,使得匹配更加可靠和准确。

优化中的能量函数

"Energy function"(能量函数)在计算机视觉和优化问题中是一种常见的概念。在文中,特指用于描述问题优化目标的数学函数。对于"Energy function and its solution for single-pair cases",这是指针对单一图像对的情况,用于描述某一问题的能量函数以及解决该函数的方法。在文中提到的问题是关于双目立体视觉中的相机标定或者图像矫正。能量函数通常包含一个表示目标的模型,以及一些参数,这些参数需要被调整以最小化或最大化该函数。在优化中,通过改变这些参数,可以达到最优解,使得能量函数取得最小或最大值。对于单一图像对的情况,通常存在一个能量函数,它与图像的特定几何关系和标定参数有关。解决这个能量函数的目标是找到能够使得该函数最小化或最大化的参数值,从而得到问题的最优解。

全局优化

在多对图像的情况下进行全局优化的步骤或方法。在文需要解决涉及多组图像的问题,这与局部优化的思想相对,局部优化只考虑在当前参数值附近的优化,而全局优化则考虑整个参数空间。在多对图像的情况下,可能存在更复杂的相机配置或者场景几何关系,因此需要对所有图像对的参数进行联合优化,以获得更为准确和鲁棒的结果。这包括对相机的外参(旋转矩阵和平移向量)等参数进行全局调整,使得整个系统的重建或者标定效果最佳。解决这样的问题通常需要使用更为复杂的数学和计算机视觉技术,包括全局优化算法、非线性优化方法等。这些方法的目标是通过考虑所有图像对之间的相互关系,找到一个全局最优解,以达到更好的整体性能。

实验

在我们的实验中使用了两台MindVision的MV-SUA202GC全局快门CMOS相机来收集数据,这些数据来自室内和室外环境。我们通过利用FPGA提供的20Hz同步信号,结合一个提供24V的外部电源,实现了相机硬件同步。将左侧相机安装在五个不同的视点(中间、顶部、底部、左侧和右侧视图)进行了全面评估我们算法性能的实验,如图1所示。

图片

图1:左侧相机安装在五个不同视点的实验配置

使用了两个公共的立体匹配数据集,KITTI 和 Middlebury以进一步量化我们算法的性能,同样手动创建了四个额外的视点(顶部、底部、左侧和右侧视图),旋转角度为10度。我们的算法使用C++实现,使用了OpenCV、Sophus、Eigen和Ceres库。

图片

在自己创建的大规模数据集上进行了定量实验,结果见表格 I 和图 2。

图片

图 2:在我们创建的大规模数据集上,对比 [3] 和我们提出的算法。

我们的算法在多对情况下,尤其是在 t∗ 和 θ∗ 估计方面,表现出更高的准确性。对于KITTI 2015数据集的定量实验结果见表 II 和图 3,与上述室外实验一致。我们认为这可能是因为KITTI 2015数据集中的图像质量略高于我们的数据集,受运动模糊影响的情况较少,使得两个算法能够达到相对稳定的结果。由于移动车辆通常具有可以忽略的偏航角,除非它们转弯,旋转向量的估计相对稳定和准确。通过对我们的算法在我们创建的数据集和KITTI 2015数据集上的综合性能进行全面分析,我们相信我们的算法对图像质量不太敏感,即使在图像具有运动引起的模糊时,也能提供可行的解决方案。

图片

图片

图 3:在KITTI和Middlebury数据集上,[3] 和我们提出的算法的比较。

关于Middlebury数据集的实验结果进一步支持我们对算法在静态和动态环境中性能的观点。我们的算法将 eθ 和 et 平均降低了 35.62% 和 66.04%。我们获得的σθ 和σt与[3]得到的结果相当。

图片

图 4:视差估计的定性实验结果:(a) 左图像;(b) 使用未校正的立体图像估计的视差图;(c) 使用基于Ling和Shen算法估计的外参数校正的立体图像估计的视差图;(d) 使用基于我们提出的算法估计的外参数校正的立体图像估计的视差图。

如图 4 所示,未校正的立体图像估计的视差图质量较差,而使用我们提出的算法自标定和校正后的立体图像估计的视差图在准确性上表现更好,错误区域更少,相较于基线算法[3]得到的视差图有明显的改善。

总结

本文提出了两个重要的算法贡献:(1) 一种基于单对情况的立体相机在线自标定算法,建立在立体校正原理之上;(2) 一种在多对立体图像可用时,用于全局优化外参数估计的高效且有效的算法。此外,本文引入了四个新的实用评估指标,用于量化外参数估计的稳健性和准确性,适用于单对和多对情况。通过在我们新创建的室内和室外数据集以及两个公共数据集上进行全面实验,我们证明了该算法明显优于最先进的算法。通过进一步优化算法效率,我们有信心将该算法整合到实际的立体视觉系统中,为自主机器人提供稳健的三维信息。

参考文献

[3] Y. Ling and S. Shen, “High-precision online markerless stereo extrinsiccalibration,” in 2016 IEEE/RSJ International Conference on IntelligentRobots and Systems (IROS). IEEE, 2016, pp. 1771–1778.

资源

自动驾驶及定位相关分享

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

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

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

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

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

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

SLAM和AR综述

常用的3D深度相机

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

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

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

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

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

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

分享与合作:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/229704.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java并发】深入浅出 synchronized关键词原理-上

一个问题的思考 建设我们有两个线程,一个进行5000次的相加操作,另一个进行5000次的减操作。那么最终结果是多少 package com.jia.syn;import java.util.concurrent.TimeUnit;/*** author qxlx* date 2024/1/2 10:08 PM*/ public class SynTest {privat…

稳部落 – 新浪微博备份导出工具

稳部落 稳部落是新浪微博备份导出工具,可以帮助用户非常方便的导出备份新浪微博的数据,让我们可以永久保存这些微博数据。它支持新浪微博、微博私信、微博评论的导出,并可以备份包含图片、视频的完整微博内容。用户只需登录微博账号&#xf…

Java学习,一文掌握Java之SpringBoot框架学习文集(2)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

【计算机毕业设计】SSM游戏点评网站

项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 管理员角色包含以下功能: 管理员登录,管理员管理,网站用户管理,游戏资讯管理,游戏类型管理,城市信息管理,竞技场管理,游戏信息管理,游戏评价信息管理等功能。…

双侧电源系统距离保护MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 系统原始数据 双侧电源系统模型如图所示: 仿真模型搭建 将线路AB分成Line1和Line2,将线路BC分成Line3和Line4,用三相电压电流测量模块作为系统母线,根据系统已…

Java基础-----集合类(一)

文章目录 1.集合类简介2. 自定义集合类 1.集合类简介 集合和数组一样,都是用来存储多个数据的结构,也可以称作容器。 数组长度是不可变化的,一旦在初始化数组时指定了数组长度,这个长度就不可变。如果需要处理数量变化的数据&am…

Flutter 混合开发 - 动态下发 libflutter.so libapp.so

背景 最近在做包体积优化,在完成代码混淆、压缩,裁剪ndk支持架构,以及资源压缩(如图片转webp、mp3压缩等)后发现安装包的中占比较大的仍是 so 动态库依赖。 具体查看发现 libflutter.so 和 libapp.so 的体积是最大的&…

探索Java的魅力

从本篇文章开始,小编准备写一个关于java基础学习的系列文章,文章涉及到java语言中的基础组件、实现原理、使用场景、代码案例。看完下面一系列文章,希望能加深你对java的理解。 本篇文章作为本系列的第一篇文章,主要介绍一些java…

【数据库原理】(6)关系数据库的关系操作集合

基本关系操作 关系数据操作的对象都是关系,其操作结果仍为关系,即集合式操作。关系数据库的操作可以分为两大类:数据查询和数据更新。这些操作都是基于数学理论,特别是集合理论。下面是对这些基本操作的解释和如何用不同的关系数据语言来表达这些操作的…

STM32入门教程-2023版【3-2】推挽输出和开漏输出驱动问题

关注 点赞 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 二、正式点亮一个LED灯 (4)推挽输出和开漏输出驱动问题 把LED的正负极对换&…

react useEffect 内存泄漏

componentWillUnmount() {this.setState (state, callback) > {return;};// 清除reactionthis.reaction();}useEffect 使用AbortController useEffect(() > { let abortController new AbortController(); // your async action is here return () > { abortCo…

008、所有权

所有权可以说是Rust中最为独特的一个功能了。正是所有权概念和相关工具的引入,Rust才能够在没有垃圾回收机制的前提下保障内存安全。 因此,正确地了解所有权概念及其在Rust中的实现方式,对于所有Rust开发者来讲都是十分重要的。在本文中&…

添加 Android App Links

添加 Android App Links功能 介绍一个简单的效果Android配置Add Url intent filtersAdd logic to handle the intentAssociate website 搭建网页支持AppLinks 介绍 Android App Links 是指将用户直接转到 Android 应用内特定内容的 HTTP 网址。Android App Links 可为您的应用带…

计算机网络--作业

作业一 1、比较电路交换、报文交换和分组报文交换优缺点 电路交换 电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道(由通信双方之间的交换设备和链路逐段连接而成)。 优点: ①由于…

SpringSecurity-2.7中跨域问题

SpringSecurity-2.7中跨域问题 访问测试 起因 写这篇的起因是会了解到 SSM(CrosOrigin)解决跨域,但是会在加入SpringSecurity配置后,这个跨域解决方案就失效了,而/login这个请求上是无法添加这个注解或者通过配置(WebMvcConfig)去解决跨域,所以只能使用SpringSecurity提供的.c…

MySQL的安装网络配置

目录 一. MySQL5.7的安装 二. MySQL8.0的安装 三. 配置网络访问 思维导图 一. MySQL5.7的安装 1. 解压 2. 将my.ini文件放入到解压文件中 3. 编辑my.ini文件,将路径改为当前路径 4. 进到bin目录下,以管理员身份打开cmd命令窗口 5. 安装MySQL服务 my…

C++Qt6 哈夫曼编码求解 数据结构课程设计 | JorbanS

一、 问题描述 在进行程序设计时,通常给每一个字符标记一个单独的代码来表示一组字符,即编码。在进行二进制编码时,假设所有的代码都等长,那么表示 n 个不同的字符需要 位,称为等长编码。如果每个字符的使用频率相等&…

【hyperledger-fabric】部署和安装

简介 对hyperledger-fabric进行安装,话不多说,直接开干。但是需要申明一点,也就是本文章全程是开着加速器进行的资源操作,所以对于没有开加速器的情况可能会由于网络原因导致下载资源失败。 资料提供 1.官方部署文档在此&#…

车载电子电器架构 —— 电子电气系统开发角色定义

车载电子电器架构 —— 电子电气系统开发角色定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:本文12000字,深度思考者进!!! 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…