一种多核并行摄影测量区域网平差方法

xiaoxiao2020-10-23  14

一种多核并行摄影测量区域网平差方法
【技术领域】
[0001] 本发明涉及航空航天摄影测量技术领域,尤其涉及一种多核并行摄影测量区域网 平差方法。
【背景技术】
[0002] 航空航天摄影测量空三平差是将由多条航带影像数据连接成的区域,对多航线影 像区域进行整体平差,获取每张影像的外方位元素和加密点坐标。摄影测量区域网平差包 括航带法平差、自由网平差和光束法平差;航带法平差是以单航带为基础,连接单条航带影 像数据成为区域,进行单航带平差,获取每张影像的初始外方位元素等;自由网平差是将经 过"航带法平差"的多条单航影像数据连接构成自由区域网,进行区域网平差,获取每张影 像的初始外方位元素等,自由网平差通常不需要地面已有控制点数据加入平差计算;光束 法平差是在航带法平差和自由网平差基础上,利用共线方程和高精度控制点数据,建立多 条航线影像的区域网平差方程,进行区域网平差,获取每张影像的外方位元素和加密点坐 标。
[0003] 航空航天摄影测量空三平差的法方程是大规模稀疏矩阵,其大型法方程矩阵解算 对CPU的计算能力、存储能力要求极高。
[0004] 目前,计算机技术并行计算正快速发展,为高性能计算提供了新的方法和途径,也 成为无人机摄影测量、移动计算、普适计算等重要支撑技术。多核架构和多核计算包括多线 程、锁竞争、加速比、负载均衡、原子操作等并行技术;并行编程如分治模式、流水线模式、任 务图分解与调度模式、动态任务调度模式等;并行搜索包括顺序搜索及终止检测算法,并行 最短路径搜索等,并行排序包括并行快速排序、并行归并排序、并行基数排序等,并行数值 计算包括并行矩阵乘法、并行前缀和计算等方面的内容。
[0005] 常用的摄影测量处理系统有如下两种:1)数字摄影测量网格Oigital PhotogrammetryGrid),是基于计算机网络和集群计算机并行技术的摄影测量区域网平差 与处理系统。集群计算机是一种刀片式服务器(刀片机)系统。它的硬件包括四大部分: 刀片服务器,磁盘阵列,工作站和千兆以太网交换机。每个刀片服务器有自己独立的CPU、 内存、硬盘和操作系统,每个刀片服务器为一个计算节点。磁盘阵列作为文件服务器,用于 存储海量航空影像数据。工作站作为客户端,负责文件管理和分发任务。刀片服务器、磁 盘阵列和客户端通过千兆以太网交换机和光纤通讯等设备建立连接,集合成一个服务器集 群。在集群模式下,所有刀片服务器可以连接起来提供高速的网络环境,同时可以资源共 享。客户端将测区任务分成若干子任务分配给每台刀片服务器,当刀片服务器接收到任务 时,启动该服务器上相应的计算模块对磁盘阵列中的数据进行计算。实现并行计算处理机 制。但是,该系统采用计算机网络和集群计算机并行计算技术,设备体积大,不适用无人机 等快速、移动计算工作。2)像素工厂技术是用于大型生产的遥感影像处理系统,包括摄影测 量区域网平差并行计算的内容。该系统硬件由4个部分组成:存储设备负责输入原始数据 和保存结果数据;服务器包括2个文件服务器和1个数据库服务器;处理器包括6个计算结 点和4个工作站(其中2个Linux工作站,2个Windows工作站),其中,计算结点只负责计 算,每个结点将任务分为4部分并行处理;备份库在数字产品生产完毕后进行系统备份和 项目备份;软件系统采用集群式并行计算原理,将任务分配到不同的机器上(集群计算机 上不同计算机结点或者不同的人工席位)。但是,该系统采用集群计算机并行计算技术,设 备体积大,不适用无人机等快速、移动计算工作。

【发明内容】

[0006] 本发明的目的是提供一种多核并行摄影测量区域网平差方法,以实现摄影测量区 域网平差的高效计算。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] 一种多核并行摄影测量区域网平差方法,包括:
[0009] 单航带平差计算时,根据航带数量与计算机CPU核心数量,动态的将不同航带的 航带平差计算任务分配给单个核心进行并行计算;
[0010] 自由网平差计算时,将单航带平差计算结果按航带顺序连接构成自由区域网;将 航带顺序相邻的两条航带为一组进行多级合并,动态地把各组的自由网平差计算任务分配 到不同核心进行并行计算;
[0011] 光束法平差计算时,根据自由网平差计算的结果,采用多核并行计算的方式进行 光束法平差计算。
[0012] 进一步的,所述根据航带数量与计算机CPU核心数量,动态的将不同航带的航带 平差计算任务分配给单个核心进行并行计算包括:
[0013] 当航带数大于CPU核心数量时,对航带分批次进行并行计算;若航带数为H,计算 机核心数量为n,并行计算批次为N,则:N=H/n,N取不小于H/n的最小整数;
[0014] 当并行计算批次N确定后,各批次内各航带的平差计算按照多核并行去解算,每 个核心处理一条航线,各航线内部仍然采用串行化解算,多核同时处理多条航线,最终在并 行计算N次后,得到航摄区域的各条航带的单航带平差计算结果。
[0015] 进一步的,所述将航带顺序相邻的两条航带为一组进行多级合并包括:
[0016] 确定多级合并的级数W:若航带数为H,则多级合并的级数W等于不小于log2(H) 的最小的整数;
[0017] 每合并一级,航带数减为合并前航带数的一半或一半加1,通过W级数次的合并将 所有航带合并为一条。
[0018] 进一步的,该方法还包括:
[0019] 每级合并后的合并航带数目的确定:设每次相邻的两条航带为一组之前的航带数 为P,合并后的航带数为Q,则:当合并前航带数为奇数时,则合并后航带数Q=P/2+1,其 中,P/2取整数;当合并前航带数为偶数时,则合并后航带数Q=P/2 ;
[0020] 在下一级合并前,合并前航带数又成为Q,如此循环,直到Q= 1,则说明整个测区 内的航带合并完成。
[0021] 由上述本发明提供的技术方案可以看出,利用多核计算技术,并行执行摄影测量 区域网平差计算,解决了摄影测量区域网平差的高效计算问题;为无人机摄影测量、移动序 列影像计算等奠定技术基础。
【附图说明】
[0022] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 附图。
[0023] 图1为本发明实施例提供的一种多核并行摄影测量区域网平差方法的流程图;
[0024]图2为本发明实施例提供的单航带平差并行计算的示意图;
[0025]图3为本发明实施例提供的自由网平差并行计算的示意图;
[0026] 图4为本发明实施例提供的光束法平差的法方程的示意图。
【具体实施方式】
[0027] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明的保护范围。
[0028] 本发明实施例提供一种多核并行摄影测量区域网平差方法,其中所涉及的单航带 平差计算、自由网平差计算以及光束法平差计算与目前常规方法类似,但是,本发明方案利 用了多核计算技术,并行执行摄影测量区域网平差计算,解决了摄影测量区域网平差的高 效计算问题;为无人机摄影测量、移动序列影像计算等奠定技术基础;该方案可以使用普 通计算机来实现,图1其主要包括如下步骤:
[0029] 步骤11、单航带平差计算时,根据航带数量与计算机CPU核心数量,动态的将不同 航带的航带平差计算任务分配给单个核心进行并行计算。
[0030] 步骤12、自由网平差计算时,将单航带平差计算结果按航带顺序连接构成自由区 域网;将航带顺序相邻的两条航带为一组进行多级合并,动态地把各组的自由网平差计算 任务分配到不同核心进行并行计算。
[0031] 步骤13、光束法平差计算时,根据自由网平差计算的结果,采用多核并行计算的方 式进行光束法平差计算。
[0032] 为了便于理解,下面结合附图2-4对上述三个并行执行的过程做详细的介绍。
[0033] 1、单航带平差并行计算。
[0034] 如图2所示,为单航带平差并行计算(单航带空三多核并行解算)的示意图。其 具体的步骤如下:
[0035] S011、单航带平差计算。
[0036] 利用连续相对定向建立各立体像对的共面条件模型,进行顾及航带非线性改正的 最小二乘平差,进而解算航带内各影像外方位元素和加密点坐标。主要解算过程为:
[0037] 1)进行同名像点匹配,获取同名像点的像平面直角坐标(x,y)。
[0038] 2)基于连续法相对定向建立各立体模型,利用像点的像平面直角坐标(x,y)逐次 对各立体模型进行最小二乘平差,解算有关各影像相对外方位元素。
[0039] 3)利用立体模型间公共点,进行不同模型公共点连接的平差计算,建立统一的单 航带模型,进而解算航带内各影像外方位元素。
[0040] S012、每条航带按单航带平差进行串行计 算。
[0041] S013、不同航带间进行多核并行计算:通过动态分配计算机CPU核数,达到整个测 区单航带平差并行解算的目的。
[0042] 本发明实施例中,根据航带数量与计算机CPU核心数量,动态的将不同航带的航 带平差计算任务分配给单个核心进行并行计算。具体来说:
[0043] 1)根据航带数与计算机CPU核数动态地将不同航带的计算任务分配给单个核去 计算,实现不同航带由不同的核并行计算:当航带数小于CPU核数时,不用进行特殊分配; 当航带数大于CPU核心数量时,对航带分批次进行并行计算;若航带数为H,计算机核心数 量为n,并行计算批次为N,则:N=H/n,N取不小于H/n的最小整数。示例性的,航带数H 为7,采用n= 4核计算机,贝1」批次N= 7/4 = 2。
[0044] 2)当并行计算批次N确定后,各批次内各航带的平差计算按照多核并行去解算, 每个核心处理一条航线,各航线内部仍然采用串行化解算,多核同时处理多条航线,最终在 并行计算N次后,得到航摄区域的各条航带的单航带平差计算结果。
[0045] 2、自由网平差并行计算。
[0046] 如图3所示,为自由网平差并行计算的示意图。自由网平差并行计算是在单航带 平差的基础上,将H个单航带连接构成自由区域网,自由网平差利用不同航带间同名像点 的坐标相同准则,进行航带间连接平差计算。进而将H个单航带连接构成自由区域网。本 发明实施例采用多级航带连接平差,其具体过程如下:
[0047] S021、多级航带并行连接平差。如图3所示,利用不同航带间同名像点的坐标相同 准则,进行航带间连接平差计算。进行多级连接解算将N个单航带连接构成自由区域网。
[0048]S022、对自由区域网进行绝对定向,构成统一比例尺和坐标系的区域网模型。
[0049]S023、区域网整体平差。建立已知控制点坐标、航带公共连接点坐标平差模型,进 行摄影测量区域整体最小二乘平差,进而解算影像外方位元素和加密点坐标。
[0050] 本发明实施例中,所述采用多级航带连接平差时,将航带顺序相邻的两条航带为 一组进行多级合并,动态地把各组的计算任务分配到不同核计算。在组内进行串行计算,组 间进行并行计算;分级合并"合并航带"并行计算。
[0051] 本发明实施例中,需要确定多级合并的级数W,再根据航带数与级数W的关系,动 态分配计算机核数:若航带数为H,则多级合并的级数W等于不小于log2 (H)的最小的整 数;如图3中合并前有7条航带,不小于log2 (7)的最小的整数为3,那么该区域网平差的 循环级数为3。第一级合并中,第1、2航带为一组,第3、4航带为一组,第5、6航带为一组, 第7航带不参与该级计算,则第1级合并航带数为3+1 = 4条;第二级合并中,确定合并前 的航带数为4,第1、2合并航带为一组,第3合并航带和第7航带为一组,共两组合并航带再 进行空间坐标转换,生成第2级合并航带;第三级合并中,确定合并前的航带数为2,第1、2 合并航带为一组,从而合并得到整个区域。上述合并过程中,每合并一级,航带数减为合并 前航带数的一半或一半加1,通过W级数次的合并将所有航带合并为一条。
[0052]另外,本发明实施例中,还包括每级合并后的合并航带数目的确定方法:设每次相 邻的两条航带为一组之前的航带数为P,合并后的航带数为Q,则:当合并前航带数为奇数 时,则合并后航带数Q=P/2+1,其中,P/2取整数;当合并前航带数为偶数时,则合并后航带 数Q=P/2 ;在下一级合并前,合并前航带数又成为Q,如此循环,直到Q= 1,则说明整个测 区内的航带合并完成。
[0053] 3、光束法平差并行计算。
[0054] 光束法平差计算时,根据自由网平差计算的结果,采用多核并行计算的方式进行 光束法平差计算。其具体步骤如下:
[0055] S031、根据前述自由网平差并行计算的结果,将影像外方位元素和待求地面点坐 标作为未知数,逐一写出每条光线的共线方程并进行共线方程线性化,采用多核并行计算, 组成光束法平差的误差方程。
[0056]S032、建立以影像外方位元素(6个未知数/每张影像)和待求地面点坐标(3个 未知数/每一待求地面点)为未知数的光束法平差的法方程。
[0057] 如图4所示,为光束法平差的法方程矩阵,其中黑色区域给出法方程矩阵的非零 参数位置。
[0058]S033、对如图4法方程矩阵进行分区平差,首先平差计算对角线区域未知数(采用 多核并行计算),可得每张影像6外方位元素,利用求得影像6外方位元素计算地面点坐标。
[0059]S034、若最后两次计算得到未知数之差小于预定值,则结束计算。否则,返回步骤 S032进行迭代计算。
[0060] 本发明的上述方案中,采取分区迭代解算方法,解决光束法空三平差法方程病态 性问题。如图4所示,光束法空三平差的法方程矩阵N:
[0062] 将矩阵N分解为N11,N12,N21,N22子区,其中N11,N22由6X6阶非零独立对角矩阵组 成。首先独立解算Nn,N22中每个6X6阶矩阵,也就是计算每个6X6阶矩阵的未知数(每 张影像的6个外方位元素);然后计算地面点近似坐标;重复迭代,直到满足精度要求。
[0063] 本发明的上述方案中,利用多核计算技术,并行执行摄影测量区域网平差计算,解 决了摄影测量区域网平差的高效计算问题;为无人机摄影测量、移动序列影像计算等奠定 技术基础。
[0064] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可 以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解, 上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易 失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0065] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范 围为准。
【主权项】
1. 一种多核并行摄影测量区域网平差方法,其特征在于,包括: 单航带平差计算时,根据航带数量与计算机CPU核心数量,动态的将不同航带的航带 平差计算任务分配给单个核心进行并行计算; 自由网平差计算时,将单航带平差计算结果按航带顺序连接构成自由区域网;将航带 顺序相邻的两条航带为一组进行多级合并,动态地把各组的自由网平差计算任务分配到不 同核心进行并行计算; 光束法平差计算时,根据自由网平差计算的结果,采用多核并行计算的方式进行光束 法平差计算。2. 根据权利要求1所述的方法,其特征在于,所述根据航带数量与计算机CPU核心数 量,动态的将不同航带的航带平差计算任务分配给单个核心进行并行计算包括: 当航带数大于CPU核心数量时,对航带分批次进行并行计算;若航带数为H,计算机核 心数量为n,并行计算批次为N,则:N=H/n,N取不小于H/n的最小整数; 当并行计算批次N确定后,各批次内各航带的平差计算按照多核并行去解算,每个核 心处理一条航线,各航线内部仍然采用串行化解算,多核同时处理多条航线,最终在并行计 算N次后,得到航摄区域的各条航带的单航带平差计算结果。3. 根据权利要求1所述的方法,其特征在于,所述将航带顺序相邻的两条航带为一组 进行多级合并包括: 确定多级合并的级数W:若航带数为H,则多级合并的级数W等于不小于log2 (H)的最 小的整数; 每合并一级,航带数减为合并前航带数的一半或一半加1,通过W级数次的合并将所有 航带合并为一条。4. 根据权利要求1或3所述的方法,其特征在于,该方法还包括: 每级合并后的合并航带数目的确定:设每次相邻的两条航带为一组之前的航带数为P,合并后的航带数为Q,则:当合并前航带数为奇数时,则合并后航带数Q=P/2+1,其中, P/2取整数;当合并前航带数为偶数时,则合并后航带数Q=P/2 ; 在下一级合并前,合并前航带数又成为Q,如此循环,直到Q= 1,则说明整个测区内的 航带合并完成。
【专利摘要】本发明公开了一种多核并行摄影测量区域网平差方法,其包括:单航带平差计算时,根据航带数量与计算机CPU核心数量,动态的将不同航带的航带平差计算任务分配给单个核心进行并行计算;自由网平差计算时,将单航带平差计算结果按航带顺序连接构成自由区域网;将航带顺序相邻的两条航带为一组进行多级合并,动态地把各组的自由网平差计算任务分配到不同核心进行并行计算;光束法平差计算时,根据自由网平差计算的结果,采用多核并行计算的方式进行光束法平差计算。通过采用本发明公开的方法,可以实现摄影测量区域网平差的高效计算,为无人机摄影测量、移动序列影像计算等奠定技术基础。
【IPC分类】G01C11/00, G01C25/00
【公开号】CN104897176
【申请号】CN201510370051
【发明人】赵西安, 樊鹏浩
【申请人】北京建筑大学
【公开日】2015年9月9日
【申请日】2015年6月29日

最新回复(0)