无人机影像实时拼接方法、装置及终端设备
文献发布时间:2023-06-19 11:32:36
技术领域
本发明涉及影像拼接领域,尤其涉及无人机影像实时拼接方法、装置及终端设备。
背景技术
近年来无人机因其高效、灵活、低成本等特性,已被广泛应用于勘测、应急、救灾等领域。无人机航空摄影测量技术大大降低了传统航空摄影测量技术的工作周期和人力,财力的投入,使得航空摄影测量技术在应急救灾等具有更加现实的意义。无人机航空摄影实时航拍影像,可以将影像数据实时传回地面站,采用航空摄影数据处理方法实时对接收到的无人机影像进行动态拼接。在现有技术中,采用获取到的POS(position andorientation system,定位定姿系统)数据进行影像拼接,未对影像进行任何处理,无论原始影像还是中心投影,只是进行了旋转与缩放,导致拼接过程中出现很多误差。
发明内容
为了克服现有技术中在拼接过程中产生的误差积累,改善现有方法实时处理影像拼接的效果,本申请的目的之一在于提供一种无人机影像实时拼接方法,所述方法包括如下步骤:
接收无人机传输的影像得到待拼接影像;
提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对;
根据所述初筛匹配点对计算基础矩阵,并根据所述基础矩阵计算所有初筛匹配点对的残差值,剔除大于预设残差值阈值的初筛匹配点得到第一匹配点对;
根据所述第一匹配点对计算单应矩阵,并根据所述单应矩阵对所述第一匹配点对进行转换并计算坐标差值,剔除大于预设坐标差值阈值的所述第一匹配点对得到第二匹配点对;
对所述影像对与所述第二匹配点对进行自由网平差,得到无人机拍摄所述待拼接影像时的姿态信息以及所述第二匹配点对的三维空间坐标;
根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型;
根据所述地面高程模型,对所述待拼接影像进行正射影像纠正形成纠正影像;
将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。
在一种可选的实现方式中,所述接收无人机传输的影像得到待拼接影像的步骤,包括:
接收无人机传输的影像与POS数据,并根据传输顺序对所述影像进行编号,得到所述影像的POS数据以及所述影像的影像号;
当所述影像号小于或等于预设影像号阈值时,对所述影像号对应的影像进行处理,生成已处理影像;
当所述影像号大于预设影像号阈值时,将所述影像号对应的影像作为所述待拼接影像。
在一种可选的实现方式中,所述提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对的步骤,包括:
根据所述待拼接影像的POS数据计算所述待拼接影像与所述已处理影像之间的欧式距离,并按照所述欧式距离由小到大的顺序,提取预设数量的已处理影像,将所述待拼接影像与所述提取的已处理影像构成影像对;
所述待拼接影像与所述提取的已处理影像进行搜索特征点并进行匹配,得到初始匹配点对;
计算所述初始匹配点对之间的重投影误差,剔除重投影误差大于预设重投影误差阈值的初始匹配点对,得到初筛匹配点对。
在一种可选的实现方式中,所述根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型的步骤,包括:
根据所述第二匹配点对的三维空间坐标构建高程直方图,筛选出所述高程直方图中匹配点数量小于预设数量阈值的范围段;
删除筛选出的所述范围段中的匹配点,基于剩余匹配点的三维空间坐标构建三角网,将所述三角网与所述姿态信息结合形成地面高程模型。
在一种可选的实现方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤,包括:
所述纠正影像和与所述待拼接影像相匹配的已处理影像的重叠区域内的影像进行差值计算,获取差值影像;
搜索并获取所述差值影像的拼接缝;
对所述差值影像进行形态学处理,并对所述拼接缝进行虚化,得到拼接影像。
在一种可选的实现方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤之后,还包括:
对拼接影像进行影像切片形成影像瓦片;
将所述影像瓦片添加到地图数据中。
在一种可选的实现方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤之前,包括:
以接收到无人机传输的第一张影像为标准,对所述纠正影像进行色彩调整;
所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像,包括:
将色彩调整后的所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。
本申请的另一目的在于提供一种无人机影像实时拼接装置,所述装置包括如下模块:
接收模块,用于接收无人机传输的影像得到待拼接影像;
匹配模块,用于提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对;
残差值误差剔除模块,用于根据所述初筛匹配点对计算基础矩阵,并根据所述基础矩阵计算所有初筛匹配点对的残差值,剔除大于预设残差值阈值的匹配点得到第一匹配点对;
坐标差值误差剔除模块,用于根据所述第一匹配点对计算单应矩阵,并根据所述单应矩阵对所述第一匹配点对进行转换并计算坐标差值,剔除大于预设坐标差值阈值的所述第一匹配点对得到第二匹配点对;
自由网平差模块,用于对所述影像对与所述第二匹配点对进行自由网平差,得到无人机拍摄待拼接影像时的姿态信息以及所述第二匹配点对的三维空间坐标;
建模模块,用于根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型;
纠正模块,用于根据所述地面高程模型,对所述待拼接影像进行正射影像纠正形成纠正影像;
拼接模块,用于将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。
本申请的另一目的在于提供一种终端设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现本申请提供的无人机影像实时拼接方法的步骤。
本申请的另一目的在于提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现本申请提供的无人机影像实时拼接方法的步骤。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的一种无人机影像实时拼接方法、装置、终端设备及可读存储介质,方法包括如下步骤:接收无人机传输的影像得到待拼接影像;基于所提取的特征点将待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对;基于基础矩阵和单应矩阵,剔除存在误差的初筛匹配点得到剩余匹配点对;通过自由网平差,得到待拼接影像的姿态信息以及剩余匹配点对的三维空间坐标并构建三角网,形成地面高程模型;根据地面高程模型,对待拼接影像进行正射影像纠正形成纠正影像;将纠正影像与影像对中对应的已处理影像进行拼接,得到拼接影像。通过上述方法,解决了现有方法在拼接过程中产生的误差累积,改善了现有方法实时处理的影像拼接效果。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在各个附图中,类似的构成部分采用类似的编号。
图1为本申请实施例提供的一种无人机影像实时拼接方法的流程图;
图2为本申请实施例提供的一种无人机影像实时拼接方法的步骤110的子流程图;
图3为本申请实施例提供的一种无人机影像实时拼接方法的步骤120的子流程图;
图4为本申请实施例提供的一种无人机影像实时拼接方法的步骤160的子流程图;
图5为本申请实施例提供的一种无人机影像实时拼接装置模块图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请的描述中,还需要说明的是,除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
请参照图1,图1为本实施例提供的一种无人机影像实时拼接方法流程图,下面是对该方法的各个步骤进行详细阐述。
S110,接收无人机传输的影像得到待拼接影像。
在本实施例中,用户控制无人机进行航空摄像,实时拍摄影像,无人机将所拍摄的影像实时传回终端设备,终端设备接收无人机传输的影像,得到待拼接影像,以便后续对待拼接影像进行处理。
请参照图2,在一种可选的实施方式中,所述接收无人机传输的影像得到拼接影像的步骤包括:
S111,接收无人机传输的影像与POS数据,并根据传输顺序对所述影像进行编号,得到所述影像的POS数据以及所述影像的影像号;
其中,无人机在飞行作业时,获取的无人机影像通常会携带对应的POS数据,以便在后续处理过程中更加方便地处理影像。POS数据主要包括GPS(Global PositioningSystem;全球定位系统)数据和IMU(Inertial Measurement Unit;惯性传感器)数据,即倾斜摄影测量中的外方位元素。GPS数据一般用X、Y、Z表示,代表了飞机在飞行中曝光点时刻的地理位置。IMU数据主要包含了:航向角、俯仰角及翻滚角三个数据。
S112,当所述影像号小于或等于预设影像号阈值时,对所述影像号对应的影像进行处理,生成已处理影像;当所述影像号大于预设影像号阈值时,将所述影像号对应的影像作为所述待拼接影像。
其中,获取的第一张影像的影像号为001、获取的第二张影像的影像号为002,依次类推,预设影像号阈值为T(T>=6),若取T=6,则从影像号为007的影像开始,后续获取的影像均作为待拼接影像。
在本实施例中,自动搜索当前影像的所有相关的已处理影像,在所有相关的已处理影像中进行平差计算,使得到的影像位置姿态更加准确,拼接结果也更加准确。所述生成已处理影像的同时,还可以预先生成初始的地面高程模型和初始的影像切片数据。
S120,提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对。
请参照图3,在一种可能的实施方式中,为了减少待拼接影像与已处理影像之间的匹配错误,所述提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对的步骤,包括:
S121:根据所述待拼接影像的POS数据计算所述待拼接影像与所述已处理影像之间的欧式距离,并按照所述欧式距离由小到大的顺序,提取预设数量的已处理影像,将所述待拼接影像与所述提取的已处理影像构成影像对;
在本实施例中,所提取的已处理影像的数量为N(5 S122:所述待拼接影像与所述提取的已处理影像进行搜索特征点并进行匹配,得到初始匹配点对; 在本实施例中,待拼接影像与提取的已处理影像进行基于KD-Tree(k-dimensional树的简称)算法双向搜索特征点,对搜索出的特征点进行匹配得到初始匹配点对。 其中,KD-Tree是一种对K维控件中的实例点进行存储以便对其进行快速检索的树型数据结构。 S123:计算所述初始匹配点对之间的重投影误差,剔除重投影误差大于预设重投影误差阈值的匹配点对,得到初筛匹配点对。 其中,重投影误差是指投影的点(理论值)与图像上的测量点的误差。 在本实施例中,基于Ransac(Random Sample Consensus,随机抽样一致)算法,采用8点法估计基础矩阵F,再采用LM(Levenberg-Marquardt)算法的非线性最小二乘求解,剔除重投影误差大于预设重投影误差阈值的匹配点对,保留匹配点数量大于X的影像对中的匹配点对,其中,X可取值为16。 其中,基础矩阵F(Fundamental matrix)是指一个3*3的矩阵,表达了立体像对的像点之间的对应关系。 S130,根据所述初筛匹配点对计算基础矩阵,并根据所述基础矩阵计算所有初筛匹配点对的残差值,剔除大于预设残差值阈值的初筛匹配点得到第一匹配点对。 在本实施例中,利用Ransac算法,采用8点法,在所有的匹配点对中随机选取n对匹配点根据最小二乘法估计基础矩阵F,其中,n可取值为8; 根据计算出的基础矩阵F,计算所有匹配点对的残差值,并预设残差值阈值,对大于残差值阈值的匹配点对进行剔除; 重复进行基础矩阵F的估计、残差值计算和匹配点对的剔除,判断是否满足以下条件:正确匹配点对的数量/匹配点对总数>95%; 当满足条件时,停止迭代工作,否则继续迭代工作,同时可以设置最大迭代次数N(N<2048); 经过上述迭代过程后,所保留下来的匹配点对则为最终的匹配点对,再根据保留下来的匹配点对重新计算出最终的基础矩阵F,按照最终的基础矩阵F重新计算所有匹配点的残差值,按照预设残差值阈值进行剔除后,保留第一匹配点对。 S140,根据所述第一匹配点对计算单应矩阵,并根据所述单应矩阵对所述第一匹配点对进行转换并计算坐标差值,剔除大于预设坐标差值阈值的所述第一匹配点对得到第二匹配点对。 其中,单应性变换用来描述物体在世界坐标系和像素坐标系之间的位置映射关系,对应的变换矩阵称为单应矩阵。 在本实施例中,采用最小二乘法计算单应矩阵;利用计算出的单应矩阵,对匹配点对进行转换同时计算转换后的匹配点对的坐标差值;预设坐标差值阈值,满足坐标差值阈值的点作为内点,剔除不满足坐标差值阈值的点;利用保留下来的内点,根据最小二乘法重新计算单应矩阵。 S150,对所述影像对与所述第二匹配点对进行自由网平差,得到无人机拍摄所述待拼接影像时的姿态信息以及所述第二匹配点对的三维空间坐标。 在本实施例中,对影像对与匹配点对进行自由网平差,得出无人机在拍摄影像时的位置和姿态信息。即通过共线方程原理,采用光束法平差,列出方程AX=L,通过最小二乘法求解出未知数(位置信息与姿态信息)。 其中,由于自由网平差是基于匹配点对进行的,在自由网平差过程中不断进行粗差剔除可以实现更精确的平差结果,因此在S150的执行过程中,可以多次反复进行S130和S140的操作。 S160,根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型。 请参照图4,在一种可能的实施方式中,因为地面高程模型用于对待拼接影像进行纠正,所以需要构建更精确的地面高程模型,所述根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型的步骤,包括: S161,根据所述第二匹配点对的三维空间坐标构建高程直方图,筛选出所述高程直方图中匹配点数量小于预设数量阈值的范围段; S162,删除筛选出的所述范围段中的匹配点,基于剩余匹配点的三维空间坐标构建三角网,所述三角网结合所述姿态信息形成地面高程模型。 S170,根据所述地面高程模型,对所述待拼接影像进行正射影像纠正形成纠正影像。 在本实施例中,采用分块并行的方法对影像进行基于面元的正射影像纠正。纠正分辨率按照航摄影像分辨率计算,计算公式为:
其中,m为摄影比例尺,f为无人机在拍摄影像时的摄影焦距,单位mm,H为无人机在拍摄影像时的相对航高,单位m,l为相机的像元大小,单位mm,L为原始影像的地面分辨率。纠正的分辨率值要大于原始影像的分辨率。 采用反解法进行影像纠正,由于存在读取图像与写入图像,纠正并行方法为计算并行。纠正过程中对影像进行分块处理,针对每一块影像进行正射纠正,针对纠正过程采用并行处理,并行方法采用OpenMP多CPU并行。 其中,OpenMP是用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案,OpenMP提供了对并行算法的高层的抽象描述。 S180,将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。 在一种可能的实施方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤,包括: 所述纠正影像和与所述待拼接影像相匹配的已处理影像的重叠区域内的影像进行差值计算,获取差值影像; 搜索并获取所述差值影像的拼接缝; 对所述差值影像进行形态学处理,并对所述拼接缝进行虚化,得到拼接影像。 其中,由于纠正影像与已处理影像是有重叠部分的,截取到完全重叠部分,对在重叠范围的影像进行差值(相减运算)计算,在差值影像上进行拼接缝的搜索。 在一种可选的实施方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤之后,还包括: 对拼接影像进行影像切片形成影像瓦片; 将所述影像瓦片添加到地图数据中。 在本实施例中,在数据获取的过程中,能够实时呈现出影像拼接结果。实时拼接的影像具有准确的地理坐标,可以实现全区域精准的地图服务。 在一种可选的实施方式中,所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像的步骤之前,包括: 以接收到无人机传输的第一张影像为标准,对所述纠正影像进行色彩调整; 所述将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像,包括: 将色彩调整后的所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。 在本实施例中,对待拼接的影像进行基于Wallis的色彩调整; g r 参数r 在实时处理过程中,对影像的色彩调整可以不限于在对影像进行纠正之后、影像拼接之前,可在整个过程中某个步骤进行色彩调整即可。对待拼接影像进行实时的色彩调整,保证整体色调的一致。另外可以根据标准样片,调整待拼接影像的色调。 请参照图5,图5为本实施例提供的一种无人机影像实时拼接方法装置模块图,下面是对该装置的各个模块进行详细阐述。 接收模块210,用于接收无人机传输的影像得到待拼接影像; 匹配模块220,用于提取所述待拼接影像的特征点和已处理影像的特征点,并基于所述特征点将所述待拼接影像与已处理影像进行匹配,得到影像对和初筛匹配点对; 残差值误差剔除模块230,用于根据所述初筛匹配点对计算基础矩阵,并根据所述基础矩阵计算所有初筛匹配点对的残差值,剔除大于预设残差值阈值的匹配点得到第一匹配点对; 坐标差值误差剔除模块240,用于根据所述第一匹配点对计算单应矩阵,并根据所述单应矩阵对所述第一匹配点对进行转换并计算坐标差值,剔除大于预设坐标差值阈值的所述第一匹配点对得到第二匹配点对; 自由网平差模块250,用于对所述影像对与所述第二匹配点对进行自由网平差,得到无人机拍摄待拼接影像时的姿态信息以及所述第二匹配点对的三维空间坐标; 建模模块260,用于根据所述姿态信息以及所述第二匹配点对的三维空间坐标构建三角网,形成地面高程模型; 纠正模块270,用于根据所述地面高程模型,对所述待拼接影像进行正射影像纠正形成纠正影像; 拼接模块280,用于将所述纠正影像与所述影像对中对应的已处理影像进行拼接,得到拼接影像。 本实施例提供了一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现本申请实施例提供的无人机影像实时拼接方法的步骤。 本实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现本申请实施例提供的无人机影像实时拼接方法的步骤。 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。 另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
- 无人机影像实时拼接方法、装置及终端设备
- 一种无人机影像实时全景拼接方法及系统