用于卫星影像间接RPC模型精化的通用光束法平差方法

引言

介绍了通用RPC模型的表达式,which has been down to death

描述了RPC模型产生误差的原因——主要与定义传感器方位的姿态角有关。

每个影像都会对应一个三维点云,但是对同一地物拍摄的不同影像对应出来的三维点云是不一样的,所以才需要进行BA来约束

示例说明RPC精化对多视图三维重建的好处。( a )从四组不同的卫星影像中计算出独立的点云。( b )模型在对象空间中的相对位置,采用未精化的RPC模型。( c )模型在对象空间中的相对位置,采用本文方法修正后的RPC模型。RPC不准确会导致不一致的重建,这些不一致的重建会累积在不同的层中,如( b )所示。精化后的RPC解决了这一问题,提供了精确对齐的模型,如( c )所示。

光束法平差BA

BA是联合优化多个相机的内外参数和它们观察的物体的3D位置的问题。给定K个三维点的初始集合{ Xk } k = 1,..,K,以及它们在M个相机上的二维观测值xmk,投影函数{ Pm } m = 1,..,M:R3→R2,光束法平差通过最小化该集合的重投影误差来寻找最优解

相关工作

直接

直接方法实现补偿函数,直接修改RPC参数,一般用GCP修正:在3D物体空间中的绝对位置已知的图像中看到的连接点

在没有GCP的情况下,关键点特征可以用来推断两幅或多幅图像之间的替代点集,并在输入相机之间进行相对(而不是绝对)校正。

直接方法需要更多的连接点

间接

基于最小化一组连接点的重投影误差的BA方法。

BA之后的每个连接点投影到平面时应该都非常精确。

重投影误差来源?

在卫星图像的情况下,由于相机距离地球表面(通常在500公里以上)较远,重投影误差的主要成分来自于对卫星方位的不准确。

理想情况下,将每个投影函数Pm与一个3D变换Rm组合在一起,可以最小化(3)式中的能量,其目的是使相机相对于物体坐标重新定向。这样问题就可以重新表述为

与姿态角有关的RPC误差的净影响在覆盖长度达50公里的图像中减小到2D平移(也称为校正偏移)。基于这一观察,针对这类场景的偏差补偿方法的共同点是为每个RPC模型优化一个二维校正偏移量。相当于在图像域中找到最小化的2D平移Tm。

注意( 4 )在原始RPC投影之前插入校正变换,而( 5 )在原始RPC投影之后插入校正变换。

是否需要BA?

对于感兴趣的小区域,覆盖长度可达几百米或几千米,RPCs可以局部建模为仿射相机,使用一阶泰勒近似。

只要有足够多的连接点,运行光束法平差来精化RPC模型似乎是一个更自然、约束更小的问题解决方案。为了进一步探索这个问题,我们将我们的方法与一种可用于显式注册独立稠密曲面模型的替代算法进行比较( 4.4节)。

方法

我们提出了一种光束法平差方法来精化一组从不同角度观测某一AOI的卫星图像的RPC模型。我们的目标是产生一组相互一致的校正RPC模型,这将导致由立体重建管道处理的不同立体对导出的相应点云估计值的自动对齐。

我们的方法的框图如图2所示。管道的第一部分专门用于特征跟踪,用于初始化输入图像中观察到的一组连接点的像点和物方点坐标。将连接点及其图像观测值,连同输入的相机模型,输入到管道的第二部分,解决了光束法平差问题。基于该解,最终为每一幅输入图像拟合出一个修正的RPC模型。链的不同区块在下面的小节中进行了详细的说明。

图2:RPC改正的光束法平差方法框图。虚线方块表示可选但推荐的处理,意在提高精度和/或效率。

特征跟踪

如第1节所述,光束法平差问题是基于一组连接点在输入相机上的重投影来解决的。包含在多幅图像中观察一个3D点的2D坐标列表称为特征轨迹(图3 )。特别地,在我们的方法中使用的特征轨迹来自于不同关键点的成对对应。该部分详细介绍了特征跟踪阶段所涉及的模块,如图2所示。

特征检测

我们使用SIFT方法从输入图像中提取独特的关键点。每个SIFT关键点由128个值的描述符识别,对图像的平移、旋转和缩放具有不变性。SIFT描述子对多种图像变换也具有很好的鲁棒性,如视角的微小变化、噪声、模糊、对比度变化或场景变形等。

对于大图像,限制每个视图的最大关键点数可以有效地调节匹配步骤的成本,这通常代表了特征跟踪算法的瓶颈。为此,我们将每个图像的SIFT特征从最粗到最细的尺度进行排序,并选择第一个Nkp关键点进行匹配步骤。其原理是粗略的关键点受图像噪声的影响较小,因此更容易在其他图像中看到。在这项工作中,我们考虑了Nkp的一个很大的值,每幅图像允许60000个SIFT关键点。较低的Nkp值,例如只有几千个点,可以用于加速特征跟踪阶段,但有可能损失精度的风险。这是因为较粗尺度下的关键点定位精度较低。这段没读懂

立体像对选择

特征跟踪的一个关键方面是定义哪些图像对适合被匹配来构建特征轨迹,以及哪些图像对可以被省略。避免不必要的配对是节省计算时间和防止误匹配的最有效方法,这将导致光束法平差问题产生错误的连接点。

算法1根据两幅图像在UTM坐标系下的投影面积重叠度,从所有可能的立体像对中选择合适的影像对进行匹配。待匹配对列表用pair _ to _ matching表示。在该列表中的所有对中,提供良好基线与高度比的对的子集被存储在pair _ to _ triangulate中。pair _ to _ triangulate中的对用于定义与每个特征轨迹相关的3D连接点(第3.1 . 5节)。对于不属于pair _ to _ triangulate的pair _ to _ match中的配对,如果它们是至少一个三角剖分对中包含观测值的特征轨道的一部分,则保留它们对光束法平差阶段重投影误差的贡献。

像对匹配

对于pair _ to _ match列表中的每个立体对,使用自动快速近似最近邻算法匹配SIFT关键点。匹配的搜索仅限于位于图像区域内的点,对应于它们的地理足迹的交点。

特征轨道观测值的不匹配会严重影响光束法平差性能,导致光束法平差失败或出现强偏差。我们通过距离比率测试来去除错误的匹配,其相对阈值为0.6。可选的是,如果图像覆盖小的地理足迹,并且局部仿射相机近似成立,如第2节所述,这可以使用基本矩阵2进行RANSAC几何滤波。

匹配关键点的近似地理坐标之间的距离dgeo也被用来进一步去除成对的误匹配。dgeo是以米为单位计算的

其中xref,yref和xaux,yaux分别是关键点及其匹配的图像坐标。每个点的近似地理坐标由两个摄像机的定位函数得到,记为L,并在一定的参考高度上进行评估,即zref。参考海拔高度可任意设置为图像脚印中心处的SRTM海拔高度。将地理坐标转换到UTM系统中计算dgeo。

dgeo的值应集中在由RPC误差引起的偏移量附近。在存在异常值的情况下,这种距离,如果排序,通常描述一个定义良好的肘形函数。基于该观测值,利用肘点(即相对于由最小和最大dgeo值定义的线有最大距离的点)自动设置异常值剔除阈值τ,如图4所示。如果τ拒绝超过20 %的匹配,则假设分布不服从肘形,即不存在阈值。

成对匹配结果示例。右边的图用蓝色表示,使用( 6 )计算立体对( x轴)的每一个匹配的排序近似地理距离dgeo ( y轴)。利用肘点自动设置异常值剔除阈值τ (红色)。肘点被定义为相对于虚线距离最大的点,即由具有最小和最大y值分布的点定义的线。

特征轨迹构建

递归合并寻找算法有效地将成对匹配扩展到任意长度的特征轨迹(算法2 )。属于同一轨迹的关键点被赋予一个共同的父值。

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

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

相关文章

Cerebras 推出 CePO,填补推理与规划能力的关键空白

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

AAAI 2025 camera ready提交注意事项

您必须在截止日期前填写、签署并返回 AAAI 版权表(除非 AAAI Press 指示使用 AAAI 分发许可证)。 您必须根据作者的格式说明阅读并格式化您的论文和 PDF。 您必须使用我们的电子提交表格准时提交您的电子文件和摘要。 您必须向 AAAI Press 支付任何所需的…

Maven学习(Maven项目模块化。模块间“继承“机制。父(工程),子项目(模块)间聚合)

目录 一、Maven项目模块化? (1)基本介绍。 (2)汽车模块化生产再聚合组装。 (3)Maven项目模块化图解。 1、maven_parent。 2、maven_pojo。 3、maven_dao。 4、maven_service。 5、maven_web。 6…

关于GaussDB

一、GaussDB的层级关系 ,关于schemas的定位,到底是个什么,其实就可以理解为一个文件夹 数据库服务器 --> databases --> schemas --> tables schema类似于文件夹,一个数据库database里面可以有多个文件夹,每…

对流层路径延迟对SAR方位压缩的影响(CSDN_20240301)

目录 仿真参数 方位向脉冲压缩与高阶多普勒参数的关系 仿真结果 2m分辨率 1m分辨率 0.5m分辨率 0.3m分辨率 0.2m分辨率 0.1m分辨率 0.05m分辨率 小结 对流层路径延迟对方位脉冲压缩的影响 仿真参数 地球参数 赤道半径(m) 6378140 极半径&a…

xss原理分析与剖析

001 第三方劫持 (外调J/C): 本方法是我看长短短贴代码时知晓的,这篇文章我只是把这个攻击手法整理了出来,来说明这个漏洞,这个攻击手法并不是我发现的,我也不是太清楚是谁。“第三方劫持”就是把资源域的服务器的权限…

使用阿里云搭建镜像仓库

流程如图 接着登录到安装docker的客户机上 #执行如下操作 先登录 docker login --usernamealiyun2933717661 crpi-q5qqr0d39o6em66u.cn-beijing.personal.cr.aliyuncs.com Password: #输入密码 WARNING! Your password will be stored unencrypted in /root/.docker/config.j…

中国卫生健康统计年鉴Excel+PDF电子版2022年-社科数据

中国卫生健康统计年鉴ExcelPDF电子版2022年-社科数据https://download.csdn.net/download/paofuluolijiang/90028752 《中国卫生健康统计年鉴》2022年版涵盖了2006至2022年间的卫生健康相关数据,提供了丰富的统计信息。该年鉴包含16个部分,内容涉及医疗…

HBuilderX(uni-app)Vue3路由传参和接收路由参数!!

uni-app搭建小程序时候Vue3语法接收路由参数,去官方文档查看,是onLoad的option接收参数,我试过,接收不到,上网查各种方法也是不太行,最后自己琢磨出来了,这参数藏得还挺深!&#xff…

手机租赁系统开发全流程解析与实用指南

内容概要 在如今快速发展的科技时代,手机租赁系统已经成为一种新兴的商业模式,非常符合当下市场需求。那么,在开发这样一个系统的时候,首先要从需求分析和市场调研开始。在这一阶段,你需要了解用户需要什么&#xff0…

【Compose multiplatform教程】01 创建你的多平台项目 <官网搬运>

这是 “创建带有共享逻辑和用户界面的 Compose 多平台应用” 教程的第一部分。 第一步:创建你的多平台项目 第二步:探究可组合代码 第三步:修改项目 第四步:创建你自己的应用程序 在这里,你将学习如何使用 Kotlin 多平…

vue2:el-select中的@change事件如何传入自定义参数

在 Element UI 中,el-select 组件用于创建一个下拉选择框。当选项发生变化时,你可以使用 @change 事件来监听这个变化。默认传入的是选中项的值(如果是多选,则传入一个数组) 但是有些时候需要传入额外的自定义参数,可以通过如下方式实现 1、template中定义事件响应函数时…

鸿蒙元服务上架

鸿蒙元服务上架 一、将代码打包成 .app 文件1. 基本需求2. 生成密钥和证书请求文件3. 申请发布证书4. 申请发布Profile5. 配置签名信息6. 更新公钥指纹7. 打包项目成 .app 文件 二、发布元服务1. 进入应用信息页面2. 上传软件包3. 配置隐私协议4. 配置版本信息5. 提交审核&…

ubuntu检测是否已安装nvidia驱动以及产品类型

nvidia-sminvidia-smi 是 NVIDIA 提供的一个命令行工具,用于查看和管理 NVIDIA GPU 的状态。当你运行 nvidia-smi 命令时,它会显示当前系统中所有 NVIDIA GPU 的状态信息,包括 GPU 的使用率、温度、内存使用情况等。 有8个GPU nvcc -V查看c…

UnityShaderLab 实现程序化形状(一)

1.实现一个长宽可变的矩形: 代码: fixed4 frag (v2f i) : SV_Target{return saturate(length(saturate(abs(i.uv - 0.5)-0.13)))/0.03;} 2.实现一个半径可变的圆形: 代码: fixed4 frag (v2f i) : SV_Target{return (distance(a…

MySQL-DDL之数据表操作

文章目录 一. 表的创建1. 表的创建2. 栗子 二. 查看表1. 查看数据库中的所有表2. 查看表结构 三. 删除表1. 删除表 四. 修改表结构1. 添加字段2. 修改字段① 修改字段名字② 修改字段类型 3. 删除字段4. 修改表名 数据定义语言:简称DDL(Data Definition Language) 一…

大语言模型(LLM)与智能机器人的应用分析

系列文章目录 前言 近年来,大型语言模型(LLM)的集成彻底改变了机器人领域,使机器人能够以人类熟练程度进行交流、理解和推理。本文探讨了 LLM 对机器人的多方面影响,并针对在不同领域利用这些模型的关键挑战和机遇进行了研究。通过将 LLM 应用程序分类并分析核心机器人元素…

【pyspark学习从入门到精通23】机器学习库_6

目录 分割连续变量 标准化连续变量 分类 分割连续变量 我们经常处理高度非线性的连续特征,而且只用一个系数很难拟合到我们的模型中。 在这种情况下,可能很难只通过一个系数来解释这样一个特征与目标之间的关系。有时,将值划分到离散的桶中…

Maven 安装配置(详细教程)

文章目录 一、Maven 简介二、下载 Maven三、配置 Maven3.1 配置环境变量3.2 Maven 配置3.3 IDEA 配置 四、结语 一、Maven 简介 Maven 是一个基于项目对象模型(POM)的项目管理和自动化构建工具。它主要服务于 Java 平台,但也支持其他编程语言…

使用C#通过ColorMatrix对象为图像重新着色

此示例产生了一些令人印象深刻的结果,但实际上非常简单。 它使用其他几个示例演示的 ImageAttribute 技术来快速操作图像的颜色。 下面的AdjustColor方法启动图像着色的过程。 // Adjust the images colors. private Image AdjustColor(Image image) {// Make the …