随着社会的进步和发展,基础设施建设日趋完善,各种管线管道的建设也日趋复杂。为了更方便地对管线设施进行维护,在其故障进行检测时及时确定故障位置,并建立数据库的需求迫在眉睫。数据库建立过程中,有效地测量显得尤其重要[1]

随着测绘技术的不断发展,可以应用于管线测量的方法很多,如全站仪、GNSS单点定位技术、RTK技术等[2-7]。全站仪测量可提供高精度坐标,但作业效率低;GNSS伪距单点定位精度在米级,不能满足精度要求;而GNSS精密单点定位技术需要较长时间固定模糊度,也不是一种高效的测量手段。

实时动态(real-time kinematic,RTK)载波相位差分技术是一种基于载波差分的GNSS技术[8],其实时性好,作业效率高,定位精度也比较高,在管线测量任务中被广泛应用。但是在GNSS信号条件不佳或地形不满足设站要求的情况下,RTK无法提供可靠的待测点坐标。这种情况下,可以利用激光测距仪测距并进行距离交会得到点位坐标,然而激光测距精度无法保证,并且单次测量仅能获取一个待测点坐标。因此,本文提出一种惯性测量单元(inertial measurement unit,IMU)辅助下的单目视觉坐标传递方法,在满足测量精度要求的同时,能够有效提高管线测量任务的作业效率。

1 算法框图及理论基础

1.1 算法框图

算法流程如图 1所示,其具体过程为:①当相机内参和IMU相机间的外参未知时,需要对其进行标定,测得相机的内参矩阵和畸变参数及相机和IMU间的外参;②在两个已知点上分别架设相机,并朝向待测点方向拍照,尽量保证两帧图像有足够大的共视区域;③在两帧图像中提取特征并匹配;④使用对极几何的方法,利用匹配点对恢复两帧图像间的相对旋转与平移,但由于尺度未知,需要利用已知坐标点间的距离恢复真实尺度;⑤利用两帧图像间的旋转与平移三角化待测点,得到待测点在相机坐标系下的坐标;⑥利用IMU测得的重力矢量及相机光心间的矢量,可以计算出相机坐标系和真实地理坐标系间的相对旋转;⑦最后将待测点在相机坐标系下的坐标转到真实地理坐标系下。

图 1 算法流程

1.2 对极几何恢复相机间相对旋转和平移

本文算法中,帧间旋转与平移的精度直接决定了系统精度。由于视场中没有控制点,只能利用两帧图像的匹配像点来恢复相对旋转和平移,此时只能通过2D-2D的方式,即利用对极几何方法[9-10]计算帧间旋转与平移。

对极几何约束如图 2所示,两帧图像I1I2对应的相机光心为O1O2,设空间点P,理想情况下其与两相机光心连线分别交照片于p1p2,这2个像点即为该空间点在照片上的投影点。此时,O1O2P三点构成的平面被称为极平面,而极平面与2个像平面之间的交线L1L2为极线。O1O2连线被称为基线,基线与两帧图像平面分别交于e1e2,它们被称为极点。

图 2 对极几何约束

对极约束可以表示为

(1)

式中,x1x2为空间点的相机归一化平面坐标;p1p2为空间点的像素坐标;本质(essential)矩阵E=t(×)R,表达的是匹配成功的点的相机归一化坐标间的关系;基础(fundamental)矩阵F=K-Tt(×)RK-1,表达的则是匹配成功的点的像素坐标之间的关系[9-10]

考虑E矩阵和F矩阵仅相差一个已知的内参矩阵K,并且E的形式更为简单,因此通常情况下,利用E矩阵来恢复位姿。虽然E只有5个自由度,但是其内在性质是非线性的,为了线性求解时方便,只考虑单目视觉的尺度等价性,减少了一自由度,可利用八点法进行求解。

设相机归一化坐标系下的点坐标为

根据对极约束可得

(2)

E展开成矢量形式为

则式(2)可以整理为

每有一对匹配点可以列一个等式,至少有8对点时,可以得到一个线性方程组,进而求解E矩阵。之后利用SVD分解便可以得到相机间相对位姿Rt

上述方法求得的t尺度未知,还需要利用已知点间的距离恢复真实尺度。设首帧图像的相机坐标系为参考坐标系,则

由于RTK测得的坐标(北向X、东向Y、高程h)不符合右手坐标系,为后续计算方便,本文定义地理坐标系为北向X、东向Y、垂直向下Z(-h), 则相机光心在地理坐标下表示为

(3)

其中h表示已知点的高程加上相机架设高度,则尺度因子为

最后得到真实尺度下的相机位姿

(4)

两相机光心在具有真实尺度的相机坐标系下的坐标分别为

(5)

1.3 三角化

得到两帧图像的相对位姿后,需要三角化出待测点在相机坐标系下的三维坐标。设第一帧图像的相机坐标系为全局坐标系,则其旋转平移矩阵分别为

式中,I为单位阵;0为零向量。根据式(4),第二帧图像的旋转平移分别为

设相机系下待测点为PC,其齐次坐标为PC=[X Y Z 1]T,该点在两帧图像上像素坐标的齐次形式分别为p1=[u1v1 1]vp2=[u2v2 1]T,在齐次坐标下的投影关系可表示为

对于此两帧图像,该关系可表示为

(6)

线性求解式(6)可得PC

1.4 计算相机坐标系与地理坐标系间的旋转

静基座解析初始对准[11]利用重力矢量和地球自转矢量分别在IMU坐标系和当地导航坐标系下的投影,可以计算两个坐标系间的相对旋转。

受其启发,本算法中利用重力矢量和相机光心间的矢量分别在地理坐标系和相机坐标系下的投影求解这两个坐标系间的旋转。相机光心间的矢量根据式(3)和式(5)可作如下定义

式中,pWpC分别为相机光心矢量在地理系和相机系下的投影。

对于重力矢量,IMU加速度计输出gb在相机坐标系下的投影为

式中,RbC为IMU坐标系相对于相机坐标系的旋转矩阵,即标定得到的IMU相机间的外参。而重力矢量在地理坐标系下的投影为gW=[0 0-g]T

为了使线性计算简单,设

则有如下关系

(7)

求解式(7)可得

对线性解得的RWC正交化后转置可得

(8)

求得相机坐标系相对于地理坐标系的旋转矩阵,则地理坐标系下的待测点的坐标可表示为

(9)

2 试验结果分析

试验事先用RTK测得3个点的准确坐标,三点之间的两两距离大致为10m,坐标见表 1。设点1、2为已知点,点3为待测点。

表 1 RTK点精确坐标

试验所用相机为小觅相机深度版,其集成了双目相机和IMU。本文试验只用其左目图像和IMU数据。试验中,在已知点上方距地面1m处架设相机,拍摄图像的同时采集IMU数据。

2.1 不同特征匹配方法效果对比

两帧图像间的特征匹配效果优劣直接影响本质矩阵的计算,并最终影响到后面三角化的精度,考虑KLT光流[12]跟踪只适用于小视差,本文尝试采用基于特征点的方式进行特征匹配,对比了ORB[13]、SIFT[14]和人工选点的特征匹配情况。

进行ORB和SIFT特征提取时每帧图像均提取2000个特征点,均采用暴力匹配的方式进行特征匹配,并利用随机采样一致性[15](random sample consensus,RANSAC)方法筛选匹配点;而对于人工选点,要求分布均匀的提取两张图像的特征大概15个。最后效果如图 3—图 5所示。

图 3 ORB特征匹配
图 4 SIFT特征匹配
图 5 人工选取匹配特征点

由于此场景两帧图像的视差过大,特征匹配算法表现不尽如人意。ORB误匹配非常多;SIFT由于其描述子的计算方式更加复杂,描述子中包含了更多的信息,其匹配效果相对于ORB要好一些,但是特征分布不均匀,匹配到的几乎全是远处的点;而人工选点特征点数量虽少,但匹配精度很高,也可以人为控制使匹配点的分布较为均匀。因此,本文试验均采用人工选点的方式进行特征匹配。

2.2 试验结果精度分析

试验共进行了10次,定位结果见表 2,计算坐标各方向误差如图 6所示,平面和垂向误差如图 7所示。

表 2 定位结果

图 6 坐标误差
图 7 平面和高程误差

综合表 2、图 6和图 7可知,北向和东向坐标误差最大值在0.15m左右,平面坐标误差几乎都小于0.2m,平面坐标误差的平均值为0.124m。相对而言,高程误差较平面坐标误差大一些,但也几乎在0.3m以下,高程误差平均为0.2m。计算得到的平面坐标分布情况如图 8所示。

图 8 点位平面坐标误差分布

图 8中,四处分布的方块表示利用本文算法计算得到的平面坐标的误差,外侧的虚线是以中心点为圆心、0.2m为半径的圆,内测实线圆则表示这10次试验的平面坐标误差的平均值,半径为0.124m。通过图 8可以更直观地看出这10组试验的定位效果,定位精度较高。

3 结语

本文针对管线测量中GNSS RTK由于信号遮挡、反射或测站不易架设等原因无法提供被测点精密坐标的场景,提出了一种IMU辅助下的单目视觉坐标传递方法。该方法通过在两个已知的RTK点上架设相机拍摄照片的同时采集IMU数据,计算后可得待测点在地理坐标系下的坐标,其平面坐标的平均误差为0.12m,高程的平均误差为0.2m,满足测量要求。

本文提出的方法相比于传统的全站仪或激光测距仪交会的方法,设备轻便、操作简单,且一次采集能够在事后获得共视区域内任何待测点的坐标,效率高,复测率低。故该方法具有独特的应用优势。

引文格式:

郭若南, 蒋郡祥, 牛小骥, 等. IMU辅助下的单目视觉坐标传递[J]. 测绘通报,2020(3):7-11. DOI: 10.13474/j.cnki.11-2246.2020.0068.

GUO Ruonan, JIANG Junxiang, NIU Xiaoji, et al. Monocular vision coordinate transfer method with IMU aiding[J]. Bulletin of Surveying and Mapping, 2020(3): 7-11. DOI: 10.13474/j.cnki.11-2246.2020.0068.

———————&    End    &————————

微信投稿邮箱:imiaoh@163.com

欢迎加入《测绘通报》作者QQ群:  435838860

进群请备注:姓名+单位

单目相机 svd 从图像恢复3维位置_IMU辅助下的单目视觉坐标传递相关推荐

  1. 单目相机 svd 从图像恢复3维位置_论文学习——VINSMono:一种鲁棒且通用的单目视觉惯性系统...

    点击上方"视觉部落",选择"星标"公众号 精选作品,第一时间送达 文章同步首发于知乎用户yikang专栏 Part 1. 基本信息 本文提出了一种基于紧耦合滑动 ...

  2. Ubuntu20.04 ROS读取basler相机图像步骤。MATLAB2021b标定basler单目相机

    运行环境:Ubuntu20.04(64-Bit) ROS版本:Noetic 网卡型号:Realtek RTL 8156外置网卡 相机型号:acA 1920-25gc (GigE接口) 驱动版本:pyl ...

  3. 单目相机标定实现--张正友标定法

    文章目录 一:相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系介绍 1:概述 公式 二:实现 1:整体流程 4:求出每张图像的单应性矩阵并用LMA优化 5:求解理想无畸变情况下的摄像机的内参数和外 ...

  4. 单目相机空间定位文献阅读

    关键词 单目相机:Monocular camera 单目相机空间定位:Monocular camera geolocation 大范围单目PTZ相机空间定位:Large-range Monocular ...

  5. 基于单目相机的2D地图构建

    第一章 引言 1.1 研究背景 同时定位和建图(SLAM)是机器人和自主导航中的一个重要领域.它是指机器人在未知环境中移动并使用其传感器和里程计信息构建环境地图并同时估计其在此地图中位置的过程.SLA ...

  6. 华为诺亚方舟加拿大实验室提出BANet,双向视觉注意力机制用于单目相机深度估计...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这篇文章的作者是华为加拿大诺亚方舟实验室,是一篇将双向注意力机制用于弹幕深度估计的工作.主要的创新点在 ...

  7. 相机矫正_实战 | 我用位姿解算实现单目相机测距

    在项目过程中,总遇到需要单目视觉给出目标测距信息的情况,其实单目相机本不适合测距,即使能给出,精度也有限,只能在有限制的条件下或者对精度要求很不高的情况下进行应用.该文结合SLAM方法,通过3D-2D ...

  8. OpenCV4每日一练day9:单目相机标定

    一.单目相机模型 二.OpenCV提供的相关函数 三.标定 准备文件: 运行(GIF动图) 最终标定结果: 附代码: #include <opencv2\opencv.hpp> #incl ...

  9. 基于OpenCV的单目相机标定与三维定位

    相机是产生图像数据的硬件,广泛应用于消费电子.汽车.安防等领域.围绕着相机衍生出一系列的研究与应用领域,包括传统的图像处理和基于深度学习的智能应用等.目前大火的自动驾驶中相机也是重要的硬件组成,如环视 ...

  10. matlab单目相机标定

    文章目录 1.标定图片 2.标定 3.获取标定结果 使用matlab进行相机参数标定非常方便,相机畸变模型请参考另一篇文章相机内参与畸变模型,单目相机标定的结果就是得到相机内参与畸变系数. 1.标定图 ...

最新文章

  1. java.io.FileNotFoundException: /storage/emulated/0/one.mp4 (Permission denied)
  2. 精度45.9%,推理速度72.9FPS,百度飞桨推出工业级目标检测模型 PP-YOLO
  3. SAP WM 通过2-Step Picking创建的TO之间的关联关系
  4. 黑马vue---1-7、vue杂记
  5. 2020年, image captioning论文汇总
  6. 使用Maven设置您的应用服务器
  7. rfm模型分析与客户细分_如何使用基于RFM的细分来确定最佳客户
  8. android.hardware.Camera类及其标准接口介绍
  9. Skype现已支持开源VP8视频编解码器
  10. Linux基础——搭建自己的云计算, 多电脑共享你云端文件
  11. python max_Python max()
  12. 项目中坑记录:mongo 插入失败无提示
  13. 计算机信息处理技术的易混淆知识点,【考试经验】计算机等级考试二级VisualFoxPro笔试易混淆的知识点...
  14. 黑盒测试白盒测试用例设计
  15. 方维团购系统添加短信接口,方维团购系统短信接口开发
  16. r52500u学计算机,AMD锐龙R5 2500U性能评测 性能提升幅度让Intel八代酷睿汗颜
  17. 创业起步 中小型网吧的组建解决方案(转)
  18. 鼎铛有耳 智能硬件供应链新一代“网红”诞生 ——第三届HCFT智能硬件供应链大会品牌盛会颁奖典礼在深成功举办...
  19. Fiori学习:WEBIDE本地个人版安装
  20. 关于给hexo博客增加每日一言(诗句,影视名句,网易云热评等)

热门文章

  1. android连mysql注册界面代码_Android实现注册登录界面的实例代码
  2. 列举5种IE haslayout的属性及其值?
  3. hadoop/hbase/hive单机扩增slave
  4. Android - 资源(resource)转换为String
  5. MonkeyDevice Class
  6. ios 的ASIHTTPRequest学习
  7. jQuery – 6.选择器
  8. poj 1164(DFS)
  9. H3C OSPF综合实验
  10. 华为交换机安全端口实验