当前位置: 首页 > news >正文

无人机低空数字摄影测量系统

一、 系统概述

系统完全基于IDL设计实现,包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程,实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为了使系统更具实用性和操作舒适性,系统借鉴了目前市场上主流数字摄影测量软件的组织架构。

二、 系统设计框架

系统设计框架如图1所示,主要分为输入输出、显示控制、影像拼接、影像匹配、三维点生成、产品生成、产品显示和专题图提取等功能模块。

图1 系统设计框架图

三、 系统功能设计

(1) 数据输入与输出

数据输入模块中一共包含了建立测区、建立模型、引入模型和多影像打包引入功能。通过建立测区和模型,用户可以自定义系统处理过程中所产生中间数据的存储路径,这样系统在整个运行过程中都会将产生的数据实时的进行保存与更新。如用户需要查看已有的处理成果,可直接通过引入模型功能,将以往的处理成果全部导入系统。多影像打包输入功能,主要是为了配合条带影像拼接而开发的。此功能允许用户一次性导入航带中的所有影像。

图2 建立测区和建立模型

图3 影像打包输入

(2) 显示控制

显示控制功能模块中主要包含了点层显示控制、点层编辑、对象选取、刺点和链接等功能。点层显示控制,允许用户对已经生成的点图层进行隐藏和显示控制。点层编辑和对象选取功能可以组合使用,允许用户删除不满意的点(这里只开放了加密点层和控制点层的编辑权限,因为只有这两个点层会对后面的操作产生直接的影响)。刺点操作则使用户可以在图中感兴趣的地方增加控制点或是加密点。链接功能使用户通过移动鼠标的方式来查看影像中各区域在Ransac处理后所获取双线性变换参数的精度。链接功能同时还是解锁刺点功能的先决条件,在没有解锁链接功能前,系统是不会开放刺点权限的。

图4 系统主控界面

(3) 全航带影像拼接

在此功能模块中共有拼接预处理和条带影像拼接两个功能。拼接预处理就是利用影像匹配模块中的影像初匹配函数包,依次对每个像对进行初匹配,而后得到每个像对的双线性变换模型。预处理结束后,利用得到各个像对的双线性模型来对全航带影像进行影像拼接,最终形成一张覆盖整个测区范围的航带影像拼接图。

图5 拼接预处理

图6 全航带拼接图

(4) 影像匹配

影像匹配模块中包含了两个功能,分别是影像初匹配和影像精匹配。其中影像初匹配算法是整个系统的核心。影像初匹配是先对目标影像进行分块处理,在每一个子块中进行Harris角点提取,基于相关系数的灰度匹配,最终再用Ransac一致性随机抽样鲁棒分析算法进行整体平差处理。处理后可获取高精度的匹配点和相应的双线性变换模型。影像精匹配则是根据初匹配中所获得的双线性方程模型,在对影像进行格网化加密匹配。

图7 同名点集

(5) 三维点生成

三维点的生成功能主要依赖于两个算法,分别是单像后方交会和双像前方交会。用户需先利用刺点功能,对照控制点的缩略图在影像上选取控制点。再利用单像后方交会,就可得到一个像对中两张影像的外方位元素。再利用双像前方交会,就能生成三维点。

图8 外方位元素及三维点列表

(6) 产品生成

用户可以生成DOM正射影像、DEM数字高程模型、空间等高线、坡度坡向表、土方计算报告和表面积计算报告等产品。并可定制最终的质量报告。用户可自定义输出路径输出产品。

(7) 产品显示

在此模块中,用户可以使用全景跟踪球模型和全景漫游模式来观看三维DEM模型。而对于平面产品,如DOM正射影像和等高线等,则提供了放缩、漫游、重置等功能,方便用户查看。

图9 三维DEM显示

图10 全景漫游DEM

图11 正射影像

(8) 专题图提取

将提取出的专题信息通过IDL中的特定规则保存为shape格式,如果用户需要重新导入,只需在本模块中导入一个已有图层即可。

图12 专题图提取窗口

(9) 数据处理流程

图13 重建三维模型流程

图 14 全航带影像拼接流程

四、 系统亮点

  • IDL独立编程

本系统中的所有功能,从界面布局到交互式操作再到底层核心功能,全部都是IDL独立编程实现的。本系统中所涉及到算法均由团队成员自行编程实现的,更有利于程序的发布。

  • 高效、快速的特征检测与边缘提取

系统采用了Harris角点提取算法来检测和提取特征点。该算法不仅可以在带有旋转、扭曲的影像上快速地进行点特征检测和提取,同时还能够按照不同点位的特征强度自定义输出点的数量。

  • 基于Ransac一致性随机采样算法的三维点纠错设计

利用Ransac一致性随机采样算法能够得到较为精确的双线性变换参数。基于双线线性变换参数建立的变换模型能够快速地转换同名点在左右影像中的像素坐标,进而利用前方交会就可反算出影像中任意一点的三维物方坐标。利用此法可标定影像的空间图幅范围并自动滤去错误的三维点。同时利用双线性变换模型还可以计算出同名点的匹配残差,综合考量匹配残差和匹配测度后可以大大的提高影像匹配的准确性进而也增加了三维点的精度。

  • 方便快捷的输入与输出

系统在输入、输出模块中采用了实时更新存储设计,并允许用户链接数据库进行实时备份,保证了中间处理数据的完整性、安全性。在导入环节采用模块化引入设计。提供一键导入功能。

  • 提供了全航带影像拼接功能

这样可以使用户告别手动拼接航带影像的历史。全自动的航带影像拼接不仅大大缩短了用户进行野外测量前准备工作的时间,还能使用户直观的把握整个测区的情况。

相关文章:

无人机低空数字摄影测量系统

一、 系统概述 系统完全基于IDL设计实现,包括界面布局到人机交互再到底层核心函数功能。整体设计框架基于数字摄影测量的专业处理流程,实现了数据输入、数据预处理、影像信息检测、空间定向、地形三维建模、专题信息提取、成果输出与更新等功能。同时为…...

Disk Drill Enterprise for Mac v5.5.1515数据恢复软件中文版

Disk Drill 是 Mac 操作系统固有的Mac数据恢复软件:使用 Recovery Vault 轻松保护文件免遭意外删除,并从 Mac 磁盘恢复丢失的数据。支持大多数存储设备,文件类型和文件系统。 软件下载:Disk Drill Enterprise for Mac v5.5.1515激…...

day55 最长递增子序列 最长连续递增子序列 最长重复子数组

题目1 300 最长递增子序列 题目链接 300 最长递增子序列 题意 找到整数数组nums的最长严格递增子序列的长度(子序列并不改变原始的顺序,但是可以删除元素) 动态规划 动规五部曲 1)dp数组及下标i的含义 dp[i] 表示以nums[i…...

使用Springboot配置生产者、消费者RabbitMQ?

生产者服务 1、引入依赖以及配置rabbitmq 此时我们通过使用springboot来快速搭建一个生产者服务 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> applica…...

代码随想录算法训练营第46天|139.单词拆分、多重背包问题

139.单词拆分 题目链接&#xff1a;单词拆分 题目描述&#xff1a;给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 **注意&#xff1a;**不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词…...

数组与伪数组的区别

大家都知道&#xff0c;在js中使用 document.querySelectorAll(选择器&#xff09;获取到的为该选择器能选择到的所有元素组成的伪数组&#xff0c;所谓伪数组&#xff0c;就是外表和数组一样&#xff0c;能够使用索引遍历&#xff0c;但本质是对象。 数组与伪数组之间的区别&…...

Java集合List

List特有方法 经典多态写法 // 经典的多态写法 List<String> list new ArrayList<>();常用API&#xff1a;增删改查 // 添加元素 list.add("Java"); // 添加元素到指定位置 list.add(0, "Python");// 获取元素 String s list.get(0);// 修改…...

elasticsearch基础命令

1 字段分词分析: GET /store_info_data/_analyze {"field": "storeName","text":"20pilapala0" }2 精确查找,去除评分 GET /store_info_data/_search {"query": {"constant_score": {"filter": {&quo…...

Capture One 23 Enterprise for Mac中文版 全面的图像处理工具

Capture One 23 Enterprise for Mac中文版一款专业的图像编辑和管理软件&#xff0c;具备强大的功能和工具&#xff0c;适用于摄影师、摄影工作室和专业用户。 软件下载&#xff1a;Capture One 23 Enterprise for Mac中文版下载 该软件为用户提供了全面的图像处理工具&#xf…...

Qt案例 通过调用Setupapi.h库实现对设备管理器中设备默认驱动的备份

参考腾讯电脑管家-软件市场中的驱动备份专家写的一个驱动备份软件案例&#xff0c;学习Setupapi.h库中的函数使用.通过Setupapi.h库读取设备管理器中安装的设备获取安装的驱动列表&#xff0c;通过bit7z库备份驱动目录下的所有文件. 目录导读 实现效果相关内容示例获取SP_DRVIN…...

如何理解JVM

JVM&#xff08;Java虚拟机&#xff09;是Java程序的运行环境&#xff0c;它是Java技术的核心组成部分之一。理解JVM涉及到以下几个方面的内容&#xff1a; 1. **虚拟机概念**&#xff1a;虚拟机是一种软件实体&#xff0c;它在物理计算机上模拟出一个计算机系统&#xff0c;使…...

第十四讲:C语言字符函数和字符串函数

目录 1. 字符分类函数 2、字符转换函数 3. strlen的使⽤和模拟实现 4. strcpy 的使⽤和模拟实现 5. strcat 的使⽤和模拟实现 6. strcmp 的使⽤和模拟实现 7. strncpy 函数的使⽤ 8. strncat 函数的使⽤ 9. strncmp函数的使⽤ 10. strstr 的使⽤和模拟实现 11. strt…...

华为海思2024春招数字芯片岗机试题(共9套)

huawei海思2024春招数字芯片岗机试题(共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;WX:didadidadidida313&#xff0c;加我备注&#xff1a;CSDN huawei数字题目&#xff0c;谢绝白嫖哈&#xff09…...

分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测

分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测 目录 分类预测 | Matlab实现KPCA-IDBO-LSSVM基于核主成分分析和改进蜣螂优化算法优化最小二乘支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述…...

与机器对话:ChatGPT 和 AI 语言模型的奇妙故事

原文&#xff1a;Talking to Machines: The Fascinating Story of ChatGPT and AI Language Models 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 从 ELIZA 到 ChatGPT&#xff1a;会话式人工智能的简史 会话式人工智能是人工智能&#xff08;AI&#xff09;的一个分…...

概率论基础——拉格朗日乘数法

概率论基础——拉格朗日乘数法 概率论是机器学习和优化领域的重要基础之一&#xff0c;而拉格朗日乘数法与KKT条件是解决优化问题中约束条件的重要工具。本文将简单介绍拉格朗日乘数法的基本概念、应用以及如何用Python实现算法。 1. 基本概念 拉格朗日乘数法是一种用来求解…...

[xboard]real6410-6.2 移植kernel网络驱动

文章目录 硬件电路软件配置问题1问题2问题3问题4功能测试硬件电路 核心板,使用DM9000A [图片] 软件配置 问题1 / # / # ifconfig ifconfig: /proc/net/dev: No such file or directory ifconfig: socket: Fun...

Quarkus初探

Quarkus初探 背景安装Quarkus安装Quarkus CLI 创建Quarkus项目运行Quarkus初探代码修改一下代码 数据持久化创建PanacheEntiry写入数据读取数据 Dev Service使用外部数据库区分dev和prod 构建native应用&#xff08;依赖Graalvm&#xff09; 背景 最早是在Infoq上了解到Quarku…...

90天玩转Python-02-基础知识篇:初识Python与PyCharm

90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇&#xff1a;C站最全Python标准库总结 90天玩转Python--02--基础知识篇&#xff1a;初识Python与PyCharm 90天玩转Python—03—基础知识篇&#xff1a;Python和PyCharm&#xff08;语言特点、学习方法、工具安装&…...

List操作的一些常见问题

1. Arrays.asList转换基本类型数组 在实际的业务开发中&#xff0c;我们通常会进行数组转List的操作&#xff0c;通常我们会使用Arrays.asList来进行转换&#xff0c;但是在转换基本类型的数组的时候&#xff0c;却出现转换的结果和我们想象的不一致。 import java.util.Arra…...

如何使用Java和RabbitMQ实现延迟队列?

前言 今天我们使用Java和RabbitMQ实现消息队列的延迟功能。 前期准备&#xff0c;需要安装好docker、docker-compose的运行环境。 需要安装RabbitMQ的可以看下面这篇文章。 如何使用PHP和RabbitMQ实现消息队列&#xff1f;-CSDN博客 今天讲的是依赖RabbitMQ的延迟插件实现…...

AI论文速读 | TF-LLM:基于大语言模型可解释性的交通预测

论文标题&#xff1a; Explainable Traffic Flow Prediction with Large Language Models 作者&#xff1a;Xusen Guo, Qiming Zhang, Mingxing Peng, Meixin Zhu(朱美新)*, Hao (Frank)Yang(杨昊) 机构&#xff1a;香港科技大学&#xff08;广州&#xff09;&#xff0c;约翰…...

智慧矿山视频智能监控与安全监管方案

一、行业背景 随着全球能源需求的日益增长&#xff0c;矿业行业作为国民经济的重要支柱&#xff0c;其发展日益受到广泛关注。然而&#xff0c;传统矿山管理模式的局限性逐渐显现&#xff0c;如生产安全、人员监管、风险预警等方面的问题日益突出。因此&#xff0c;智慧矿山智…...

2024春算法训练4——函数与递归题解

一、前言 感觉这次的题目都很好&#xff0c;但是E题....&#xff08;我太菜了想不到&#xff09;&#xff0c;别人的题解都上百行了&#xff0c;晕&#xff1b; 二、题解 A-[NOIP2010]数字统计_2024春算法训练4——函数与递归 (nowcoder.com) 这种题目有两种做法&#xff1a;…...

【C++】C++知识点复习

牛客cpp&#xff1a;牛客网在线编程 2024年4月10日:BC1—>BC8 BC4&#xff1a;浮点数精度保留 问题&#xff1a;不加入fixed输入0.359813&#xff0c;最后得到0.36&#xff0c;并不是强制保留0.360。这种写法会保留小数点后三位精度&#xff0c;但是最后输出会省略掉最后…...

SpringBoot+Vue,轻松实现网页版人脸登录与精准识别

目录 1、技术介绍 2、技术原理 2.1、人脸检测 ①参考模板法 ②人脸规则法 2.2、人脸跟踪 2.3、人脸比对 ①特征向量法 ②面纹模板法 识别过程 案例 一、springboot后端项目 1&#xff0c;拉取项目后&#xff0c;导入相关依赖jar包 2&#xff0c;执行sql文件夹下面…...

深入浅出 -- 系统架构之垂直架构

当业务复杂度增加、访问量逐渐增大出现高并发时&#xff0c;单体架构无法满足需求&#xff0c;可以根据业务功能对系统进行拆分&#xff0c;以提高访问效率。 垂直架构介绍 1.垂直架构一般是因为单体架构太过于庞大而进行的拆分&#xff0c;拆分后各个系统应满足独立运行互相不…...

深入浅出 -- 系统架构之微服务架构选型参考图

技术选型架构图 是一个用于展示项目中所采用的各种技术和组件之间关系的图表。 它通常包括以下几个部分&#xff1a; 1. 项目名称和描述&#xff1a;简要介绍项目的背景和目标。 2. 技术栈&#xff1a;列出项目中使用的主要技术和工具&#xff0c;如编程语言、框架、数据库…...

Java 使用 ant.jar 执行 SQL 脚本文件

Java 使用 ant.jar 执行 SQL 脚本文件&#xff0c;很简单。 在 pom.xml 中导入 ant 依赖 <dependency><groupId>org.apache.ant</groupId><artifactId>ant</artifactId><version>1.10.11</version> </dependency>sql 脚本文件…...

【随笔】Git 高级篇 -- 快速定位分支 ^|~(二十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…...