一种基于道格拉斯—普克算法的航带划分方法
【专利摘要】本发明公开了一种基于道格拉斯—普克算法的航带划分方法,首先将无人机飞控数据中的经纬度坐标转为大地直角坐标;然后利用道格拉斯—普克算法对无人机飞控数据进行压缩,筛选航带曲线的节点;并对压缩后保留的无人机飞控数据点进行分类,确定哪些点属于同一航带上的关键点;最后剔除飞行转弯时曝光像片对应的pos点,保留航带两头像片对应的pos点,并完成对航带的划分。本发明能够通过编程自动剔除起降和转弯影像,实现航带的完整的划分,解决了利用传统航测进行无人机低空航摄数据航带自动整理航带的问题,可以方便快速地进行基于飞控数据的无人机航带整理。
【专利说明】
一种基于道格拉斯一普克算法的航带划分方法
技术领域
[0001 ]本发明属于航空摄影测量技术领域,涉及一种航空摄影测量航带划分方法,具体 涉及一种基于道格拉斯一普克算法的航空摄影测量航带划分方法。
【背景技术】
[0002]航空摄影测量技术与传统观测、测量技术相比也有着不可替代的使用价格与指导 意义,并随着近些年研究成果的逐步突破,航空摄影测量技术已经被广泛的应用于诸多领 域中。
[0003] 无人机(Unmanned Arial Vehicle,UAV),是一种有动力、可控制、能够携带多种任 务设备、且能执行多种任务,可重复使用的无人驾驶航空器。因其具有成本低、体积小、重量 轻、灵活性强,以及数据采集方便、处理和更新速度快等优势,已被广泛地应用于遥感与摄 影测量领域中(文献1)。传统航测像片数量少,航摄过程中有人参与,起降和转弯可停止航 摄,像片整理包括航带划分简单,但低空无人机航摄像片数目多,并且为无人控制航摄,加 之其曝光时间是固定的,导致航带内和航带间的重叠无规律,像片间的连接关系复杂。因此 在获取无人机像片之后,一般会对像片进行预处理,剔除无人机起降和转弯过程中的像片, 然后利用剩下的像片来划分并确定航带关系。
[0004] 文献"利用低空无人机飞控数据的摄影航带全自动整理方法"中提出:在航带生成 过程中,判断一张像片是否属于某条航带,通过计算像片中心点偏转角β来判断,当β小于给 定的阈值则将该像片加入到航带中,阈值的大小按照无人机低空数字航摄技术规范确定。 但其中按照传统手动方法剔除无人机起降和转弯的像片,一方面工作量较大,另一方面由 于像片较多可能导致像片的错误划分(文献2)。
[0005] 文献"一种改进的无人机摄影测量系统航带设计算法"等提出采用计算几何的方 式划分航带,采用测区范围多边形和最佳航向角度来确定航带关系,本方法所需的已知信 息多,且对变基线的摄影不能正确划分航带(文献1)。
[0006] 矢量数据是GIS中使用非常普遍的一种数据类型,在使用中有时需要对数据进行 压缩,矢量数据压缩的目的是删除冗余数据,减少数据的存贮量,节省存贮空间,加快后续 处理的速度。常用的矢量数据压缩方法有道格拉斯一普克算法等,道格拉斯一普克算法(文 献3)的突出优点在于:它是一个整体算法,在一般情况下保留较大弯曲形态上的点和抖动 点,删除小弯曲形态上的点。近年来很多学者将道格拉斯一普克算法进行改进,并在此基础 上广泛地应用于海图海岸线制图(文献4)、管线制图(文献5)以及图像分割中(文献3)。
[0007] [文献1 ]陈关州,姜培轩.一种改进的无人机摄影测量系统航带设计算法[J].城市 建设理论研究,2012( 14).
[0008] [文献2]袁辉,胡庆武.利用低空无人机飞控数据的摄影航带全自动整理方法[J]. 测绘科学,2013,38 (3): 34-36 ·
[0009] [文献3]孙承勃,李秩鲲,张志华.基于道格拉斯一普克算法的图像分割初探[J]. 测绘与空间地理信息,2012,35(5):32-35.
[0010] [文献4]李巧,彭认灿,陈轶,董箭.道格拉斯-普克改进算法及其在海图岸线制图 综合中的应用.
[0011] [文献5]杜婧,张献州.道格拉斯-普克算法的改进及其在管线制图中的应用[J]. 铁道勘察,2008,34(4): 26-28 ·
【发明内容】
[0012] 为了解决上述技术问题,本发明提出将道格拉斯一普克算法融入到航空摄影测 量,利用此算法保留航摄时较大弯曲形态上的点,然后基于角度完成航带的完整划分,从而 为传统航带划分的节省工作量并且提高航带划分的精度。
[0013] 本发明所采用的技术方案是:一种基于道格拉斯一普克算法的航带划分方法,其 中描述的点在航带中均代表航摄时的曝光点,每一点代表一张航摄像片;其特征在于,包括 以下步骤:
[0014] 步骤1:将无人机飞控数据中的经炜度坐标(B,L,H)转为大地直角坐标(Xs,Ys, Ys ),其中L表示经度、B表示炜度、Η表示高度、Xs表示大地坐标系下的X轴向坐标值、Ys表示 表示大地坐标系下的Y轴向坐标值、Zs表示表示大地坐标系下的高程值;
[0015] 步骤2:利用道格拉斯一普克算法对转换后的无人机飞控数据进行压缩,筛选航带 曲线的节点;
[0016] 步骤3:对压缩后保留的无人机飞控数据点进行分类,确定哪些点属于同一航带上 的关键点;
[0017] 步骤4:剔除飞行转弯时曝光像片对应的无人机飞控数据点,保留航带两头像片对 应的无人机飞控数据点,并完成对航带的划分。
[0018] 作为优选,步骤2中所述筛选航带曲线的节点,即筛选出满足曲线限差的关键点坐 标,其具体实现包括以下子步骤:
[0019]步骤2.1:在曲线首尾两点虚连一条直线,根据点到直线的距离公式,求出其余各 点到该直线的垂直距离d;
[0020] 步骤2.2:选取垂直距离d最大者与阈值相比较;
[0021] 若大于阈值,则保留离直线距离最大的点,继续执行下述步骤2.3;
[0022]否则,将直线两端点间的各点全部舍去,距离最大点点保留,结束压缩过程,本流 程结束;
[0023]步骤2.3:依据所保留的点,将已知曲线分成两部分处理,重复步骤2.1、步骤2.2的 操作,迭代操作,即仍选离直线最大的距离d与阈值比较,依次取舍,直到无点可舍去,最后 得到满足给定精度限差的所有曲线点坐标。
[0024]作为优选,步骤3的具体实现包括以下子步骤:
[0025]步骤3.1:设定一个角度阈值α;
[0026]步骤3.2:针对保留的点,循环执行下述操作:
[0027]按照所保留点的序号,每次顺序取三个点,顺序计算每三点之间的连线夹角,组成 保留的关键点的夹角集合{ai},i = l,2,3,...;
[0028] 步骤3· 3:定义点集数组{Pj},j = 1,2......;
[0029] 将第一个保留点和第二个保留点加入点集丹中,并将Pi设置为初始的当前点集;
[0030]步骤3.4:针对集合{αι},循环执行下述操作:
[0031]若ai多α,则将点Pi+2加入到当前点集中;若a i <α,更新当前点集为点集数组{Ρ」}中 的下一点集,并将点P1+1和点P1+2加入到当前点集中;循环直至所有的点和角度判断完成。 [0032]作为优选,步骤4中所述对航带的划分,其具体实现包括以下子步骤:
[0033]步骤4.1:针对点集数组{P」},j = l,2......,循环执行下述步骤,直至完成所有点 集判断和像片的航带划分;
[0034]步骤4.2 :对点集Pj,取其第一个点与最后一个点在点集中的下标号indexmidP indexmax,统计原始无人机飞控数据点集中下标号在indexmin和indexmax之间的点数量,记为 该点集包含的影响数countj;
[0035] 步骤4.2:对每个点集的影像数countj进行判断,如果countj彡10则该组被保留,若 count j〈 10,则删除此点集;
[0036] 步骤4.3:如果点集匕被保留,那么循环原始无人机飞控数据点集,下标号在点集Pj 的indexmin和indexmax之间的点划分为一条航带。
[0037] 和现有技术相比,本发明具有如下有益效果:
[0038] 本发明提出一种基于道格拉斯一普克算法的航带划分方法,能够通过编程自动剔 除起降和转弯影像,实现航带的完整的划分,解决了利用传统航测进行无人机低空航摄数 据航带自动整理航带的问题,可以方便快速地进行基于飞控数据的无人机航带整理。
【附图说明】
[0039] 图1:本发明实施例的无人机飞控数据经过道格拉斯-普克方法压缩后的数据示例 图;
[0040] 图2:本发明实施例的航带曲线上的关键点示例图。
【具体实施方式】
[0041] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发 明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不 用于限定本发明。
[0042] 为将道格拉斯算法融入到航带划分领域中,本发明思路如下(以下所说的点在航 带中均代表航摄时的曝光点):
[0043] 步骤1:将无人机飞控数据中的经炜度坐标(B,L,H)转为大地直角坐标(Xs,Ys, Ys);
[0044] 无人机飞控数据(以下简称pos数据)记录了每张像片拍摄时相机的经度(L)、炜度 (B)、高度(Η)、航向角Ph i、俯仰角Omega、翻滚角Kappa。为利用道格拉斯一普克算法进行计 算,需要利用将pos数据中的经炜度坐标(B,L,H)转为大地坐标(Xs,Ys,Zs)。
[0045] 步骤2:利用道格拉斯一普克算法对pos数据进行压缩,筛选航带曲线的节点;
[0046] 本实施例将最终确定的航带看成是由pos点组成的点集拟合出的分段曲线,而航 带头尾的点是分段曲线的关键节点,那么可以利用传统道格拉斯一普克算法对转换后的 P〇S点集数据进行压缩,即筛选出满足曲线限差的关键点坐标(限差可以结合实际的航带情 况给定),详细步骤如下(以下每一点代表一张航摄像片):
[0047] 步骤2.1:在曲线首尾两点虚连一条直线,根据点到直线的距离公式,求出其余各 点到该直线的垂直距离d;
[0048] 步骤2.2:选取垂直距离d最大者与阈值相比较;
[0049] 若大于阈值,则保留离直线距离最大的点,继续执行下述步骤2.3;
[0050] 否则,将直线两端点间的各点全部舍去,距离最大点点保留,结束压缩过程,本流 程结束;
[0051] 步骤2.3:依据所保留的点,将已知曲线分成两部分处理,重复步骤2.1、步骤2.2的 操作,迭代操作,即仍选离直线最大的距离d与阈值比较,依次取舍,直到无点可舍去,最后 得到满足给定精度限差的所有曲线点坐标。
[0052] 完成pos点集的压缩,记录保留下来的关键点在pos点集中的下标,请见图1,为一 组P〇s数据经过道格拉斯-普克方法压缩后的数据示例,其中着重点表示的是压缩后保留的 pos 点。
[0053] 步骤3:对压缩后保留的pos点进行分类;
[0054]经道格拉斯一普克算法进行压缩之后,所保留的点被认为是航带曲线上的关键 点,要进一步划分航带,则需要对这些点进行分类,确定哪些点属于同一航带上的关键点。 步骤如下:
[0055] 步骤3.1:设定一个角度阈值α(角度经验阈值为170°);
[0056] 步骤3.2:针对保留的点,循环执行下述操作:
[0057]按照所保留点的序号,每次顺序取三个点(请见图2中的PI、Ρ2、Ρ3),顺序计算每三 点之间的连线夹角,组成保留的关键点的夹角集合{<^},1 = 1,2,3,...,(计算?1、?2点的连 线与Ρ2、Ρ3点连线之间的夹角α〇 ;
[0058]计算公式为:
[0064] 步骤3· 3:定义点集数组{Pj},j = 1,2......;
[0065] 将第一个保留点和第二个保留点加入点集丹中,并将Pi设置为初始的当前点集;
[0066] 步骤3.4:针对集合{αι},循环执行下述操作:
[0067]若ai多α,则将点Pi+2加入到当前点集中;若a i <α,更新当前点集为点集数组{Pj}中 的下一点集,并将点P1+1和点P1+2加入到当前点集中;循环直至所有的点和角度判断完成。
[0068]步骤4:划分航带;
[0069]由于保留的点钟存在飞行转弯的影像pos,而在实际处理过程中是不需要这些影 像和pos数据的,即剔除弯曲形态较大的点,保留航带两头的像片,并完成对航带的划分。
[0070]步骤4.1:针对点集数组{P」},j = l,2......,循环执行下述步骤,直至完成所有点 集判断和像片的航带划分;
[0071 ]步骤4.2 :对点集Pj,取其第一个点与最后一个点在点集中的下标号indexmidP indexmax,统计原始无人机飞控数据点集中下标号在indexmin和indexmax之间的点数量,记为 该点集包含的影响数countj;
[0072] 步骤4.2:对每个点集的影像数countj进行判断,如果countj彡10则该组被保留,若 count j〈 10,则删除此点集;
[0073] 步骤4.3:如果点集匕被保留,那么循环原始无人机飞控数据点集,下标号在点集Pj 的indexmin和indexmax之间的点划分为一条航带。
[0074] 应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0075] 应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本 发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权 利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发 明的请求保护范围应以所附权利要求为准。
【主权项】
1. 一种基于道格拉斯一普克算法的航带划分方法,其中描述的点在航带中均代表航摄 时的曝光点,每一点代表一张航摄像片;其特征在于,包括以下步骤: 步骤1:将无人机飞控数据中的经炜度坐标(B,L,H)转为大地直角坐标(Xs,Ys,Ys),其 中L表示经度、B表示炜度、Η表示高度、Xs表示大地坐标系下的X轴向坐标值、Ys表示表示大 地坐标系下的Y轴向坐标值、Zs表示表示大地坐标系下的高程值; 步骤2:利用道格拉斯一普克算法对经步骤1坐标转换后的无人机飞控数据进行压缩, 筛选航带曲线的节点; 步骤3:对压缩后保留的无人机飞控数据点进行分类,确定哪些点属于同一航带上的关 键点; 步骤4:剔除飞行转弯时曝光像片对应的无人机飞控数据点,保留航带两头像片对应的 无人机飞控数据点,并完成对航带的划分。2. 根据权利要求1所述的基于道格拉斯一普克算法的航带划分方法,其特征在于,步骤 2中所述筛选航带曲线的节点,即筛选出满足曲线限差的关键点坐标,其具体实现包括以下 子步骤: 步骤2.1:在曲线首尾两点虚连一条直线,根据点到直线的距离公式,求出其余各点到 该直线的垂直距离d,即; 步骤2.2:选取垂直距离d最大者与阈值相比较; 若大于阈值,则保留离直线距离最大的点,继续执行下述步骤2.3; 否则,将直线两端点间的各点全部舍去,距离最大点点保留,结束压缩过程,本流程结 束; 步骤2.3:依据所保留的点,将已知曲线分成两部分处理,重复步骤2.1、步骤2.2的操 作,迭代操作,即仍选离直线最大的距离d与阈值比较,依次取舍,直到无点可舍去,最后得 到满足给定精度限差的所有曲线点坐标。3. 根据权利要求1所述的基于道格拉斯一普克算法的航带划分方法,其特征在于,步骤 3的具体实现包括以下子步骤: 步骤3.1:设定一个角度阈值α; 步骤3.2:针对保留的点,循环执行下述操作: 按照所保留点的序号,每次顺序取三个点,顺序计算每三点之间的连线夹角,组成保留 的关键点的夹角集合{ai},i = l,2,3,...; 步骤3.3:定义点集数组{Pj},j = 1,2......; 将第一个保留点和第二个保留点加入点集丹中,并将Pl设置为初始的当前点集; 步骤3.4:针对集合{αι},循环执行下述操作: 若ai多a,则将点Pi+2加入到当前点集中;若ai〈a,更新当前点集为点集数组{P」}中的下 一点集,并将点P1+1和点P1+2加入到当前点集中;循环直至所有的点和角度判断完成。4. 根据权利要求3所述的基于道格拉斯一普克算法的航带划分方法,其特征在于,步骤 4中所述对航带的划分,其具体实现包括以下子步骤: 步骤4.1:针对点集数组{P」},j = l,2......,循环执行下述步骤,直至完成所有点集判 断和像片的航带划分; 步骤4.2:对点集?」,取其第一个点与最后一个点在点集中的下标号111(161^11和111(161_\, 统计原始无人机飞控数据点集中下标号在indexmin和indexmax之间的点数量,记为该点集包 含的影响数count j; 步骤4 · 2:对每个点集的影像数countj进行判断,如果count10则该组被保留,若 count j〈 10,则删除此点集; 步骤4.3:如果点集匕被保留,那么循环原始无人机飞控数据点集,下标号在点集 indexmin和indexmax之间的点划分为一条航带。
【文档编号】G01C11/08GK105973206SQ201610270161
【公开日】2016年9月28日
【申请日】2016年4月27日
【发明人】潘飞, 薛万唱, 任旗胜, 郭丙轩, 胡艳
【申请人】武汉讯图科技有限公司