一种点面优化方法、终端设备以及计算机存储介质与流程

文档序号:29945057发布日期:2022-05-07 15:51阅读:86来源:国知局
一种点面优化方法、终端设备以及计算机存储介质与流程

1.本技术涉及计算机视觉处理技术领域,特别是涉及一种点面优化方法、终端设备以及计算机存储介质。


背景技术:

2.室内环境中存在大量的平面结构,而融合点面的状态优化是平面slam(simultaneous localization and mapping,即时定位与地图构建)技术中一个关键的问题.平面slam可以在很多领域中发挥重要的应用,例如ar(augmented reality,增强现实)/vr(virtual reality,虚拟现实)模型的可视化,无人机和自动驾驶的定位系统.
3.然而目前基于homography(单应性)点面的优化模型存在优化速度较慢的问题,严重影响该算法在移动端设备上的实时使用,特别是手机和无人机等设备。


技术实现要素:

4.本技术提供一种点面优化方法、终端设备以及计算机存储介质。
5.本技术采用的一个技术方案是提供一种点面优化方法,所述点面优化方法包括:
6.分别获取待优化平面关联的多个观测点在第一关键帧的第一坐标,以及所述观测点在第二关键帧的第二坐标;
7.基于所述第一坐标、所述第二坐标以及预设的投影方程,得到所述观测点与所述待优化平面的相对位置关系;
8.基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化。
9.其中,所述基于所述第一坐标、所述第二坐标以及预设的投影方程,得到所述观测点与所述待优化平面的相对位置关系,包括:
10.基于所述第一坐标以及预设的投影方程,得到所述第一关键帧与所述待优化平面的第一重投影关系;
11.基于所述第二坐标以及所述预设的投影方程,得到所述第二关键帧与所述待优化平面的第二重投影关系;
12.利用所述第一重投影关系和所述第二重投影关系,获取所述观测点与所述待优化平面的相对位置关系。
13.其中,所述基于所述第一坐标以及预设的投影方程,得到所述第一关键帧与所述待优化平面的第一重投影关系,包括:
14.利用采集所述第一关键帧的相机参数、所述待优化平面的平面参数以及所述第一坐标结合所述预设的投影方程,得到所述第一重投影关系。
15.其中,所述基于所述第二坐标以及所述预设的投影方程,得到所述第二关键帧与所述待优化平面的第二重投影关系,包括:
16.利用采集所述第二关键帧的相机参数、采集所述第二关键帧的相机参数、所述第
一坐标以及所述第二坐标结合所述预设的投影方程,得到所述第二重投影关系。
17.其中,所述利用所述第一重投影关系和所述第二重投影关系,获取所述观测点与所述待优化平面的相对位置关系,包括:
18.结合所述第一重投影关系和所述第二重投影关系,获取用于表征所述观测点与所述待优化平面的相对位置关系的第三重投影关系;
19.利用所述第三重投影关系获取所述观测点的单应性因子;
20.所述基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化之前,所述点面优化方法还包括:
21.利用所述多个观测点的单应性因子融合得到所述多个观测点与所述待优化平面的相对位置关系。
22.其中,所述利用所述多个观测点的单应性因子融合得到所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化,包括:
23.利用所述观测点的单应性因子获取所述观测点的单应性代价函数;
24.将所述多个观测点的单应性代价函数融合得到用于表征所述多个观测点与所述待优化平面的相对位置关系的总单应性代价函数;
25.利用所述总单应性代价函数对所述待优化平面进行优化。
26.其中,所述利用所述总单应性代价函数对所述待优化平面进行优化,包括:
27.利用所述总单应性代价函数构建所述待优化平面的雅各比矩阵;
28.求解所述雅各比矩阵,将求解结果作为所述待优化平面的优化参数。
29.其中,所述基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化之后,所述点面优化方法还包括:
30.利用优化后的平面构建地图。
31.本技术采用的另一个技术方案是提供一种终端设备,所述终端设备包括存储器以及与所述存储器耦接的处理器;
32.其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的点面优化方法。
33.本技术采用的另一个技术方案是提供一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如上述的点面优化方法。
34.本技术的有益效果是:终端设备分别获取待优化平面关联的多个观测点在第一关键帧的第一坐标,以及所述观测点在第二关键帧的第二坐标;基于所述第一坐标、所述第二坐标以及预设的投影方程,得到所述观测点与所述待优化平面的相对位置关系;基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化。本技术的点面优化方法通过多个观测点与所述待优化平面的相对位置关系,优化平面拟合过程中的数据计算耗时以及数据计算量。
附图说明
35.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的
附图。
36.图1是本技术提供的点面优化方法一实施例的流程示意图;
37.图2是图1所示点面优化方法步骤12的具体流程示意图;
38.图3是本技术提供的单应性因子的结构示意图;
39.图4是本技术提供的压缩单应性因子的结构示意图;
40.图5是本技术提供的终端设备一实施例的结构示意图;
41.图6是本技术提供的终端设备另一实施例的结构示意图;
42.图7是本技术提供的计算机存储介质一实施例的结构示意图。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.为解决目前点面的优化模型存在优化速度较慢的问题,本技术提出一种基于homography的点面快速优化模型,通过将大量的点面信息合成到一个优化信息以及去除多余平面点的重投影信息,以提高优化速度,以达到用户的使用效率。
45.具体请参见图1,图1是本技术提供的点面优化方法一实施例的流程示意图。本技术实施例的点面优化方法可应用于一种终端设备,其中,本技术的终端设备可以为服务器,也可以为电子设备,还可以为由服务器和电子设备相互配合的系统。相应地,终端设备包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以全部设置于电子设备中,还可以分别设置于服务器和电子设备中。
46.进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
47.如图1所示,本技术实施例的点面优化方法具体可以包括以下步骤:
48.步骤s11:分别获取待优化平面关联的多个观测点在第一关键帧的第一坐标,以及观测点在第二关键帧的第二坐标。
49.步骤s12:基于第一坐标、第二坐标以及预设的投影方程,得到观测点与待优化平面的相对位置关系。
50.在本技术实施例中,终端设备需要获取slam中平面点,即观测点的二维坐标,平面数据以及采集图像的相机的位姿。进一步地,终端设备还需要获取观测点在第一关键帧中的第一坐标,即观测点在第一关键帧的相机坐标系下归一化点的坐标;获取观测点在第二关键帧中的第二坐标,即观测点在第二关键帧的相机坐标系下归一化点的坐标。
51.在本技术实施例中,利用同一观测点在不同图像上的重投影关系,终端设备可以基于第一坐标和第二坐标构建观测点的投影方程,即观测点与待优化平面的相对位置关系,其中,一个观察点的投影方程可以表征为以下公式:
[0052][0053]
其中,w表示世界坐标系,c表示相机坐标系,i和j是两个不同的相机,pi=(xi,yi1)为第一相机的相机坐标系下的归一化点的点,pj=(xj,yj1)为第二相机的相机坐标系下的归一化点的坐标,是对应第一相机的旋转,是对应第二相机的旋转,是对应第一相机的位置,是对应第二相机的位置;待优化平面π=(n
π
,d
π
)分别是平面的方向和距离。另外,h为单应性矩阵,i为单位矩阵,s为一个尺度参数。
[0054]
投影方程的具体构建过程请继续参阅图2,图2是图1所示点面优化方法步骤12的具体流程示意图。
[0055]
如图2所示,本技术实施例的点面优化方法具体可以包括以下步骤:
[0056]
步骤s121:基于第一坐标以及预设的投影方程,得到第一关键帧与待优化平面的第一重投影关系。
[0057]
在本技术实施例中,终端设备利用采集所述第一关键帧的相机参数、所述待优化平面的平面参数以及所述第一坐标结合预设的投影方程,得到所述第一重投影关系。
[0058]
步骤s122:基于第二坐标以及预设的投影方程,得到第二关键帧与待优化平面的第二重投影关系。
[0059]
在本技术实施例中,利用采集所述第一关键帧的相机参数、采集所述第二关键帧的相机参数、所述第一坐标以及所述第二坐标结合预设的投影方程,得到所述第二重投影关系。
[0060]
在本技术实施例中,当三维地图点与待优化平面相关联时,终端设备可以强制该三维地图点落在待优化平面上,从而使得三维地图点转化为归一化点。因此,终端设备可以不使用公共点到平面的距离约束,而是使用单应性矩阵来约束两个关键帧和一个待优化平面。
[0061]
具体地,假设待优化平面上的观测点为πw是由第一相机的第一相机坐标系i
th
以及第二相机的第二相机坐标系j
th
观测到的,由此,可以写出以下点到平面的重投影关系:
[0062][0063][0064]
其中,本技术实施例定义pi=(xi,yi,1)
t
和pj=(xj,yj,1)
t
。其中,(xi,yi,1)
t
=k-1
(ui,vi,1)
t
为第一相机采集的图像坐标系中坐标点到相机坐标系i
th
中坐标点的映射,k为本征矩阵,(ui,vi)为第一相机采集的关键帧中的二维图像特征,λ为图像的深度信息,s为一个未知的尺度参数。
[0065]
步骤s123:利用第一重投影关系和第二重投影关系,获取观测点与待优化平面的相对位置关系。
[0066]
在本技术实施例中,结合上述第一重投影关系(2)和第二重投影关系(3),终端设备可以得到如上述式子(1)的单独一个观测的投影方程,即观测点与待优化平面的相对位置关系:
[0067][0068]
其中,单应性矩阵h包括所述第一关键帧的相机参数和所述第二关键帧的相机参数和以及所述待优化平面的平面参数和
[0069]
具体地,当观测点在待优化平面上时,单应性约束和重投影约束是相等的,其中,单应性约束不需要点特征的三维位置。在ba(bundle adjustment,光束法平差)问题中,本技术将重投影约束转化为单应性约束,这等价于去除待优化平面上观测点的许多状态变量。最后,利用更小、更稀疏的黑塞矩阵(hessian matrix),大大提高了光束法平差的效率。
[0070]
在本技术实施例中,由上述式子(1)中的投影方程,可以获取观测点的单应性约束方程,如下:
[0071][0072]
进一步地,本技术可以从上述式子(4)中消去未知的尺度参数s,从而得到单应性代价函数,如下:
[0073][0074][0075]
其中,c
l
为观测点的坐标矩阵。
[0076]
步骤s13:基于多个观测点与待优化平面的相对位置关系,对待优化平面进行优化。
[0077]
在本技术实施例中,终端设备利用上述式子(1)的第三重投影关系,获得式子(4)和式子(5)中的单个观测点单应性因子;然后,终端设备将与待优化平面相关联的多个观测点的单应性因子进行融合,得到多个观测点与待优化平面的相对位置关系,即总单应性因子,可以继续参阅式子(6)中总单应性因子,即总单应性代价函数的推导。
[0078]
在本技术实施例中,单应性将两个关键帧和一个待优化平面的状态联系起来,这三种状态可能有许多共同的观察结果,因此,可以将这些观测结果合并为一个观测结果,以进一步提高优化速度。
[0079]
假设待优化平面上有n个点特征,则待优化平面上n个点特征的总单应性代价函数可以表示为:
[0080][0081]
其中,为矩阵分解。为了保证解的稳定性,本技术使用特征值分解,gh在优化过程中为常数9
×
9矩阵,仅依赖于常数数值,因此,可以提前计算这个矩阵。
[0082]
在本技术实施例中,本技术可以将待优化平面上n个点特征的观测合并到一个观测矩阵gh中,如图3和图4,图3为合并前的单应性因子,图4为合并后的压缩单应性因子。本技术通过将多个代价函数组合为一个代价函数,可以有效提高束调整的效率。
[0083]
进一步地,压缩单应性代价函数,即总单应性代价函数的雅可比矩阵可以定义为:
[0084][0085]
其中,lh为下三角矩阵,为上三角矩阵,lh和由上述常数9
×
9矩阵gh通过矩阵分解得到。
[0086]
其中,残差函数,即单应性代价函数为:
[0087][0088]
通过对总单应性代价函数的雅可比矩阵进行求解,即可得到待优化平面的优化参数。
[0089]
另外,对于已知存在点面约束的一些平面点,例如内部观测点,本技术还可以采用删除这部分平面点的重投影观测,从而降低整个优化状态量和优化矩阵的维度,可以进一步降低计算量。
[0090]
在本技术实施例中,终端设备分别获取待优化平面关联的多个观测点在第一关键帧的第一坐标,以及所述观测点在第二关键帧的第二坐标;基于所述第一坐标、所述第二坐标以及预设的投影方程,得到所述观测点与所述待优化平面的相对位置关系;基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化。本技术的点面优化方法通过多个观测点与所述待优化平面的相对位置关系,优化平面拟合过程中的数据计算耗时以及数据计算量;通过本技术的点面优化方法可以有效优化slam的精度和性能,提高slam的跟踪效果。
[0091]
以上实施例,仅是对本技术的其中一种常见案例而已,并非对本技术的技术范围做任何限制,故凡是依据本技术方案的实质对以上内容所做的任何细微修改、等同变化或者修饰,均仍属于本技术技术方案的范围内。
[0092]
请继续参见图5,图5是本技术提供的终端设备一实施例的结构示意图。其中,终端设备30包括获取模块31、投影模块32以及优化模块33。
[0093]
其中,获取模块31,用于分别获取待优化平面关联的多个观测点在第一关键帧的第一坐标,以及所述观测点在第二关键帧的第二坐标。
[0094]
投影模块32,用于基于所述第一坐标、所述第二坐标以及预设的投影方程,得到所述观测点与所述待优化平面的相对位置关系。
[0095]
优化模块33,用于基于所述多个观测点与所述待优化平面的相对位置关系,对所述待优化平面进行优化。
[0096]
投影模块32,还用于基于所述第一坐标以及预设的投影方程,得到所述第一关键帧与所述待优化平面的第一重投影关系;基于所述第二坐标以及预设的投影方程,得到所述第二关键帧与所述待优化平面的第二重投影关系;利用所述第一重投影关系和所述第二重投影关系,获取所述观测点与所述待优化平面的相对位置关系。
[0097]
投影模块32,还用于利用采集所述第一关键帧的相机参数、所述待优化平面的平
面参数以及所述第一坐标结合预设的投影方程,得到所述第一重投影关系。
[0098]
投影模块32,还用于利用采集所述第一关键帧的相机参数、采集所述第二关键帧的相机参数、所述第一坐标以及所述第二坐标结合预设的投影方程,得到所述第二重投影关系。
[0099]
投影模块32,还用于结合所述第一重投影关系和所述第二重投影关系,获取用于表征所述观测点与所述待优化平面的相对位置关系的第三重投影关系;利用所述第三重投影关系获取所述观测点的单应性因子。
[0100]
投影模块32,还用于利用所述多个观测点的单应性因子融合得到所述多个观测点与所述待优化平面的相对位置关系。
[0101]
优化模块33,还用于利用所述观测点的单应性因子获取所述观测点的单应性代价函数;将所述多个观测点的单应性代价函数融合得到用于表征所述多个观测点与所述待优化平面的相对位置关系的总单应性代价函数;利用所述总单应性代价函数对所述待优化平面进行优化。
[0102]
优化模块33,还用于利用所述总单应性代价函数构建所述待优化平面的雅各比矩阵;求解所述雅各比矩阵,将求解结果作为所述待优化平面的优化参数。
[0103]
优化模块33,还用于利用优化后的平面构建地图。
[0104]
请继续参见图6,图6是本技术提供的终端设备另一实施例的结构示意图。本技术实施例的终端设备500包括处理器51、存储器52、输入输出设备53以及总线54。
[0105]
该处理器51、存储器52、输入输出设备53分别与总线54相连,该存储器52中存储有程序数据,处理器51用于执行程序数据以实现上述任意实施例所述的点面优化方法。
[0106]
在本技术实施例中,处理器51还可以称为cpu(central processing unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(dsp,digital signal process)、专用集成电路(asic,application specific integrated circuit)、现场可编程门阵列(fpga,field programmable gate array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。
[0107]
本技术还提供一种计算机存储介质,请继续参阅图7,图7是本技术提供的计算机存储介质一实施例的结构示意图,该计算机存储介质600中存储有程序数据61,该程序数据61在被处理器执行时,用以实现上述任意实施例的点面优化方法。
[0108]
本技术的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,方式利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1