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

2024-04-10 17:20

本文主要是介绍无人机低空数字摄影测量系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 系统概述

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

  • 方便快捷的输入与输出

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

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

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

这篇关于无人机低空数字摄影测量系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891675

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi