图像位姿优化方法、装置、电子设备及存储介质与流程
未命名
09-19
阅读:105
评论:0
1.本技术涉及计算机视觉技术领域,尤其涉及一种图像位姿优化方法、装置、电子设备及存储介质。
背景技术:
2.视觉定位是计算机视觉领域的核心研究内容之一,输入为普通的光学图像,通过获取序列图像中潜在的几何信息,再选择地融合惯性传感器的运动信息,最终输出设备在当前时刻以及历史的位姿信息。目前已经存在很多有效的视觉位姿估计算法,但大部分无法对快速运动做出合理估计而产生丢失,且由于依赖于关键帧机制,无法保证对各图像帧的高精度定位,鲁棒性较低。
技术实现要素:
3.本技术的主要目的在于提供一种图像位姿优化方法、装置、电子设备及存储介质,旨在解决目前估计算法在高速运动场景下鲁棒性较低的技术问题。
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.图1是本技术实施例方案涉及的硬件运行环境的电子设备结构示意图;
36.图2为本技术图像位姿优化方法的第一实施例的流程示意图;
37.图3为本技术图像位姿优化方法中第二实施例的流程示意图;
38.图4为本技术图像位姿优化方法中第三实施例的流程示意图;
39.图5为本技术图像位姿优化方法中光流追踪示意图;
40.图6为本技术图像位姿优化方法中环境模型意图;
41.图7为本技术图像位姿优化方法中图像位姿优化装置的示意图。
42.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
43.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
44.如图1所示,图1是本技术实施例方案涉及的硬件运行环境的电子设备结构示意图。
45.本技术实施例的电子设备可以是移动小车,移动机器人,也可以是智能手机、pc、平板电脑、便携计算机等电子终端设备。
46.如图1所示,该电子设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器
1001的存储装置。
47.可选地,电子设备还可以包括摄像头、rf(radio frequency,射频)电路,传感器、音频电路、wifi模块等等。终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。本领域技术人员可以理解,图1中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
48.本领域技术人员可以理解,图1中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
49.此外,如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及图像位姿优化程序。
50.在图1所示的电子设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的图像位姿优化程序,并执行以下操作:
51.基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;
52.通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。
53.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
54.所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤包括:
55.通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量;
56.基于所述上一关键图像帧的第二绝对位姿累积所述位姿变量生成所述第一绝对位姿。
57.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
58.所述通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿的步骤包括:
59.对于由各所述边缘图像帧和所述当前关键图像帧组成的图像帧合集中的任意一图像帧,生成所述图像帧与所述图像帧的上一图像帧之间的位移距离;
60.通过各所述位移距离生成所述当前关键图像帧与所述上一关键图像帧之间的第一距离变化量;
61.通过所述位姿变量中的第二距离变化量与所述第一距离变化量之间的差异对所述第一绝对位姿进行优化,得到所述目标位姿。
62.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
63.所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤包括:
64.确定当前关键图像帧中的第一目标特征集,其中,所述第一目标特征集中的特征为从当前关键图像帧追踪到的所述上一关键图像帧中的特征;
65.基于所述第一目标特征集和所述上一关键图像帧的第二目标特征集生成所述位姿变量,其中,所述第二目标特征集中的特征为所述上一关键图像帧中被追踪到的特征。
66.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
67.所述特征为关键图像帧上特征点周边预设范围内的图像块,在所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤之前,所述方法包括:
68.从所述当前关键图像帧中提取特征点;
69.以各所述特征点为中心,在所述当前关键图像帧上基于预设图像块划分半径生成各所述图像块;
70.将所述当前关键图像帧中的各图像块与所述上一关键图像帧中的各图像块匹配,以确定所述当前关键图像帧和所述上一关键图像帧中的相同图像块;
71.在所述当前关键图像帧中所述相同图像块为,从当前关键图像帧中追踪到的所述上一关键图像帧的特征。
72.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
73.在所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤之前,所述方法包括:
74.若产生新图像帧,基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧;
75.若是关键图像帧,将所述新图像帧作为所述当前关键图像帧,则执行所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤;
76.若不是关键图像帧,则将所述新图像帧作为待边缘化图像帧,并记录下所述新图像帧的相对于上一图像帧的生成间隔以及所述新图像帧的速度,其中,所述生成间隔和所述速度用于生成所述位移距离。
77.在一可行实施方式中,处理器1001可以调用存储器1005中存储的图像位姿优化程序,还执行以下操作:
78.所述预设关键帧筛选条件包括第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件,所述第一关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的移动路径距离超过预设第一距离阈值,且新图像帧周边预设第二距离阈值范围内不存在其他关键图像帧,所述第二关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的角度差超过预设角度阈值,所述第三关键帧筛选条件为在新图像帧中,追踪到的所述新图像帧的上一个关键图像帧的特征数量小于预设数量阈值;
79.所述基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧:
80.若所述新图像帧满足所述第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件中的任意一种,则将所述新图像帧作为关键图像帧。
81.参照图2,本技术图像位姿优化方法的第一实施例,所述图像位姿优化方法包括:
82.步骤s10,基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;
83.需要说明的是,上述图像位姿优化方法可应用于三维重建、ar(augmented reality,增强现实)或者vr(virtual reality,虚拟现实)、自动驾驶、各类运动机器人等有定位需求的场景。具体可以是,利用移动的视觉传感器(也可以配置imu(inertial measurement unit,惯性测量单元)用于辅助)获取到环境图像,来构建视觉传感器移动过程中所经过的地区的环境模型,同时也会记录下视觉传感器的移动轨迹,故需要通过图像估计出该视觉传感器的为位姿,位姿可以是位置和角度(或者是朝向)等。构建过程通常为基于上一图像帧的位置,以及上一图像帧与当前图像帧之间位姿变动(位姿变动可以是平移旋转等),从而确定出当前图像帧的位姿。例如,在实际应用时,在初始状态下将获取到的第一帧图像的位姿作为初始起点,在后续过程中,将计算任意相邻两帧图像之间的位姿变化量,再基于初始起点累计各个位姿变化量,从而完成环境模型的构建以及移动轨迹的生成。例如,参照图6,图中b1部分为环境模型和b2为移动轨迹。
84.示例性的,在本实施例中,为避免进行过多的计算,并不会对视觉传感器获取到的每一张图像帧进行计算,而是从普通图像帧中选取关键图像帧来进行计算,通常关键图像帧为具有代表性的图像帧,例如,当一个普通图像帧相对于上一个关键图像帧变化程度大于预设变化度,则将该普通图像帧作为关键图像帧。具体的关键图像帧的筛选条件也可以由技术人根据实际设置。可以理解的是,各图像帧实际为一种时序数据,上述当前关键图像帧可以是新筛选出的关键图像帧,而上一关键图像帧则是在时序顺序上上一次筛选出来的关键图像帧。进一步的,确定当前关键图像帧与上一关键图像帧之间的位姿变化量,再在上一关键图像帧的位姿的基础上累积该位姿变化量,即可得到当前关键图像帧的位姿,也即当前关键图形帧的第一绝对位姿。
85.在一可行的实施方式中,所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤包括:
86.步骤s110,通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量;
87.步骤s120,基于所述上一关键图像帧的第二绝对位姿累积所述位姿变量生成所述第一绝对位姿。
88.示例性的,在生成当前关键图像帧与上一关键图像帧之间的位姿变量(也即位姿变化量)时,将基于可从当前关键图像帧中追踪到的上一关键图像帧的特征生成。其中,特征可以是特征点,例如fast特征点,fast特征点是通过fast特征点检测算法,从图像帧上提取到的特征点。特征点的提取参数可设置为特征点数量最大值为1000,质量因子为0.01,最小的像素间距为8等,具体提取参数也可由技术人员设置。再对提取到的特征点进行光流追踪,例如,在上一关键图像帧上提取出特征点a,且在当前关键图像帧中也提取出特征点a,则表示从当前关键图像帧中追踪到上一关键图像帧的特征点a。通过当前关键图像帧中特征点a的坐标与上一关键图像帧中特征点a的坐标之间的差距,即可还原出当前关键图像帧与上一关键图像帧之间的位姿变量,例如,位姿变量可以包括旋转角度r和平移量t等。再在上一关键图像帧的第二绝对位姿基础上累积所述位姿变量从而生成当前关键的第一绝对位姿。
89.在一可行的实施方式中,所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤包括:
90.步骤s111,确定当前关键图像帧中的第一目标特征集,其中,所述第一目标特征集中的特征为从当前关键图像帧追踪到的所述上一关键图像帧中的特征;
91.步骤s112,基于所述第一目标特征集和所述上一关键图像帧的第二目标特征集中,存在追踪关系的两特征的位置信息生成所述位姿变量,其中,所述第二目标特征集中的特征为所述上一关键图像帧中被追踪到的特征。
92.示例性的,确定当前关键图像帧的第一目标特征集,第一目标特征集中搞得特征点是从当前关键图像帧上可追踪到的上一关键图像帧中的特征,例如,基于上述例子,当前关键图像帧中的特征点a即为第一目标特征集中的特征之一。上述上一关键图像帧的第二目标特征集中的特征为,在上一关键图像帧中被追踪到的特征,例如,上一关键图像帧中的特征点a即为第二目标特征集中的特征之一,相应的,当前关键图像帧中的特征点a与上一关键图像帧中的特征点a即为存在有追踪关系。再通过第一目标特征集和上一关键图像帧的第二目标特征集中,存在追踪关系的两特征之间的位置信息差异生成位姿变量。例如,以上述特征点a为例,通过特征点a分别在两图像帧中的位置信息的差异还原所述两图像帧之间的位姿变量。如可通过基础矩阵f或本质矩阵e求解,来还原得到位姿变量。
93.若基于基础矩阵f求解,设p1和p2分别是特征点a在两图像帧中(当前关键图像帧和上一关键图像帧)的像素点坐标,也即位置信息。具体计算公式如下:
94.f=k-t
t∧rk-1
[0095][0096]
式中,f为基础矩阵,p1和p2分别是特征点a在两图像帧中(当前关键图像帧和上一关键图像帧)的像素点坐标,k是相机内参矩阵,上标t为转置,t为位姿变量中的平移量,r为位姿变量中的转动角度。
[0097]
如基于本质矩阵e求解,设x1和x2分别是特征点a在两图像帧中(当前关键图像帧和上一关键图像帧)的归一化坐标,也即位置信息。具体位置信息计算公式如下:
[0098]
e=t∧r
[0099][0100]
式中,e为本质矩阵,x1和x2分别是特征点a在两图像帧中(当前关键图像帧和上一关键图像帧)的归一化坐标,上标t为转置,t为位姿变量中的平移量,r为位姿变量中的转动角度。
[0101]
技术人员可选取上述任意方式求解得到位姿变量。
[0102]
步骤s20,通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。
[0103]
需要说明的是,上述边缘化是指,为保持窗口的固定大小维持较小的计算量,对局部滑动窗口中部分较旧或者不满足要求的图像帧进行剔除,被剔除的图像帧即为。在实应用中,边缘化也被描述为将联合概率分布分解为边缘概率分布和条件概率分布的过程(也即利用数学上的舒尔补减少优化参数的过程)。被边缘化的图像帧也即是边缘图像帧。
[0104]
可以理解的是,在传统方案中,为减少计算量,通常不会计算边缘图像帧的位姿,
并将边缘图像帧剔除掉。但是值的说明的是,若直接将边缘化图像帧剔除,等于会丢掉与其相关的所有约束,从而会导致求解精度下降,也即位姿的估计结果存在误差,而且由于每一帧图像的估计结果都是基于上一帧的结果生成,因此,每次估计结果的误差会累计,从而导致最终估计的结果与实际情况有较大的偏差,所述有必要保证每次位姿估计结果的精确度。
[0105]
示例性的,在本实施例中除了通过上一关键图像帧来计算当前关键图像帧的第一绝对位姿外,将会通过各被边缘化的边缘图像帧对再对第一绝对位姿进行优化得到当前关键图像帧的目标位置。
[0106]
在一可行的实施方式中,所述通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿的步骤包括:
[0107]
步骤s210,对于由各所述边缘图像帧和所述当前关键图像帧组成的图像帧合集中的任意一图像帧,生成所述图像帧与所述图像帧的上一图像帧之间的位移距离;
[0108]
步骤s220,通过各所述位移距离生成所述当前关键图像帧与所述上一关键图像帧之间的第一距离变化量;
[0109]
步骤s230,通过所述位姿变量中的第二距离变化量与所述第一距离变化量之间的差异对所述第一绝对位姿进行优化,得到所述目标位姿。
[0110]
示例性的,上述图像帧合集由包括各边缘图像帧和当前关键图像帧组成,对于图像帧合集中任意一图像帧,计算该图像帧与所述图像帧的上一图像帧之间的位移距离,可以理解的是,每个图像帧会带有时间戳以及移动速度,移动速度通常是指拍摄该图像帧的设备的移动速度,可通过该设备上配置imu获取,故基于该图像帧时间戳和上一图像帧时间戳之间的差距得到两帧的时间差,基于该时间差和移动速度即可得到位移距离。再累计通过图像帧合集生成的各位移距离,即可得到所述当前关键图像帧与所述上一关键图像帧之间的第一距离变化量。可以理解的是,第一距离变化量是通过各边缘化图像帧以及当前关键图像帧中,相邻图像帧之间的位移距离累计生成。再计算位姿变量中的第二距离变化量与所述第一距离变化量之间的差异,其中,基于上述列子,第二距离变化量为上述位姿变量中的平移量t,第二距离变化量是通过两帧图像中被追踪到的特征点求解得到。再基于该差异对第一绝对位姿进行优化,也即可在第一绝对位姿的基础上累积该差异得到目标位姿。
[0111]
需要说明的是,本技术将获取图像时位姿和三维空间点的位置作为要估计的变量,设该变量为x={xk:k=1,...m},其中m为窗口中现有的状态总数。假设目前有一系列测量值z={zk:k=1,...m},测量值与状态变量关系可以用函数zk=hk(xk)+εk表达,其中hk(xk)为现有问题的数学模型,εk是测量噪声。在图优化slam(simultaneous localization and mapping,定位与建图)中,通过最大化后验概率p获得变量x的最优估计x
*
。在状态变量与测量值服从贝叶斯估计情况下,通过式1计算得到要估计的状态:
[0112][0113]
假设测量值z之间相互独立且噪声εk是均值为0的高斯噪声,最大化后验概率等价于最小化负后验概率的对数函数,所以式1等价于式2:
[0114][0115]
式2位姿估计和地图构建转化为最小二乘问题,之后可以通过高斯牛顿法或列文伯格-马夸尔特方法迭代求解。根据式2写成本技术中使用的形式,如式3:
[0116][0117]
式中,pi为fast特征点中的有深度信息的空间点pi,ui′‑
π(pi)为计算上一关键图像帧中提取的pi向当前关键帧图像上投影并计算的重投影误差,其中ui为空间点pi在上一关键图像帧上的像素点,π(pi)为具有深度空间点pi在图像当前关键图像帧上的投影点,ui′
为当前关键图像帧上光流跟踪获得与ui匹配的特征点,n为所有匹配上的有深度信息的点的总数。然后通过最小化重投影误差平方和计算得到相机的位姿变换。pd代表两个在滑动窗口中的图像帧的位置差,第二距离变化量,tj代表两个图像帧中间边缘化图形帧的第j帧与上一图像帧之间的生成间隔,vj代表两个图像帧中间边缘化图像的第j帧的速度,pr为当前关键图像帧与上一各且相邻的图像帧之间的位移距离。ti为当前关键图像帧的目标位姿。
[0118]
可以理解的是,本技术虽会利用边缘化图像帧对当前关键图像帧进行优化,但是并不会计算边缘化图像帧位姿,故本技术在较低计算量的同时保证了姿态估计结果的精确度。
[0119]
在本实施例中,基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。即首先通过上一关键图像帧生成当前关键图像帧的第一绝对位姿,第一绝对位姿为初步姿态估计的结果,再进一步的,通过边缘图像帧,也即被丢弃的图像帧,在第一绝对位姿的基础上进行优化修正得到当前关键帧的目标位姿。可以理解的是,相比于传统方案仅得到第一绝对位姿,本技术得到的目标位姿所使用的图像数量要远多于生成第一绝对位姿所使用的图像数量,故即便是在高速运动场景下,可保证目标位姿的精确度将大于第一绝对位姿的精确度,故本实施例图像位姿优化方法可进一步提高姿态的估计精度。
[0120]
参照图3,基于本技术第一实施例提出本技术的第二实施例,本实施例中与上述实施相同部分可参照上述内容,此处不再赘述。所述特征为关键图像帧上特征点周边预设范围内的图像块,在所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤之前,所述方法包括:
[0121]
步骤a10,从所述当前关键图像帧中提取特征点;
[0122]
步骤a20,以各所述特征点为中心,在所述当前关键图像帧上基于预设图像块划分半径生成各所述图像块;
[0123]
步骤a30,将所述当前关键图像帧中的各图像块与所述上一关键图像帧中的各图
像块匹配,以确定所述当前关键图像帧和所述上一关键图像帧中的相同图像块;
[0124]
步骤a40,在所述当前关键图像帧中所述相同图像块为,从当前关键图像帧中追踪到的所述上一关键图像帧的特征。
[0125]
需要说明的是,在本实施例中,进行光线追踪的特征是关键图像帧上特征点周边预设范围内的图像块,从当前关键图像帧中提取特征点,特征点可以是fast特征点。在以各特征点为中心,在当前关键图像帧上基于预设图像块划分半径来生成各图像块。在将当前关键图像帧中各图像块和上一关键图像帧中的各图像块匹配,例如,可进行相似度的匹配,若当前关键图像帧中一图像块与上一关键图像帧中一图像块的相似度大于预设阈值,则可判定这两图像块是相同图像块。而在当前关键图像帧中该相同图像块,则为从当前关键图像帧中追踪到的上一关键图像帧的特征,同样的,在上一关键图像帧中该相同图像块为被追踪到的特征。如参照图5,所示图中包括图像块a1和图像块a2,分别位于两帧图像中,需要说明的是,图像块a1和图像块a2实际为同一个图像块,是指位于的图像不同,相应的,图像块a1和图像块a2存在有追踪关系。
[0126]
可以理解的是,相比与对单个特征点进行光流追踪,在本实施例中,将对基于特征点生成的图像块进行追踪,由于图像块上具有的特征数量更多,所以进行光流追踪时更稳定,容错率更高,也即特征更容易追踪到。
[0127]
参照图4,基于本技术第二实施例提出本技术的第三实施例,本实施例中与上述实施相同部分可参照上述内容,此处不再赘述。在所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤之前,所述方法包括:
[0128]
步骤b10,若产生新图像帧,基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧;
[0129]
步骤b20,若是关键图像帧,将所述新图像帧作为所述当前关键图像帧,则执行所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤;
[0130]
步骤b30,若不是关键图像帧,则将所述新图像帧作为待边缘化图像帧,并记录下所述新图像帧的相对于上一图像帧的生成间隔以及所述新图像帧的速度,其中,所述生成间隔和所述速度用于生成所述位移距离。
[0131]
示例性的,每当视觉传感器产生新图像帧后,通过预设关键帧删选条件判断新图像帧是否为关键图像帧。若是关键图像帧,则将该新图像帧作为当前关键图像帧,再执行所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤。反之,若不是关键帧,则将新图像帧作为待边缘化图像帧,并记录下该新图像帧的相对于上一图像帧的生成间隔(两帧时间戳之差),以及所述新图像帧的速度,其中,生成间隔和速度可用于生成新图像帧和上一图像帧之间的位移距离。
[0132]
在一可行的实施方式中,所述预设关键帧筛选条件包括第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件,所述第一关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的移动路径距离超过预设第一距离阈值,且新图像帧周边预设第二距离阈值范围内不存在其他关键图像帧,所述第二关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的角度差超过预设角度阈值,所述第三关键帧筛选条件为在新图像帧中,追踪到的所述新图像帧的上一个关键图像帧的特征数量小于预设数量阈值;
[0133]
所述基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧:
[0134]
步骤b11,若所述新图像帧满足所述第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件中的任意一种,则将所述新图像帧作为关键图像帧。
[0135]
需要说明的,在本实施例中,预设关键帧筛选条件包括第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件。
[0136]
第一关键帧筛选条件为新图像帧与新图像帧的上一个关键图像帧的移动路径距离超过预设第一距离阈值,且新图像帧周边预设第二距离阈值范围内不存在其他关键图像帧。例如,上述预设第一距离阈值可以是0.2m,而预设第一距离阈值是针对新图像帧与新图像帧的上一个关键图像帧的移动路径距离,移动路径可包括直线路径和曲线路径;上述预设第二距离阈值范围可以是0.1m,预设第二距离阈值范围则是针对图像帧与图像帧之间的直线距离,与获取图像时视觉传感器的移动路径无关。
[0137]
第二关键帧筛选条件为新图像帧与新图像帧的上一个关键图像帧的角度差超过预设角度阈值。例如,预设角度阈值为10
°
,角度差可通过生成位姿变量中转动角度r是的求解方式生成,此处不再赘述。
[0138]
第三关键帧筛选条件为在新图像帧中,追踪到的所述新图像帧的上一个关键图像帧的特征数量小于预设数量阈值。例如,预设数量阈值可以是50个。
[0139]
可以理解的是,超过预设距离阈值的长度越长,角度差越大,可追踪到的数量越少,则表示视觉传感器当前所在的场景变动越大,则表示新图像帧越有可能作为关键帧,所以若新图像帧满足第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件中的任意一种,即可将该新图像帧作为关键图像帧。
[0140]
请参阅图7,此外,本技术实施例还提供一种图像位姿优化装置100,所述图像位姿优化装置100包括:
[0141]
生成模块10,用于基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;
[0142]
优化模块20,用于通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。
[0143]
可选地,所述生成模块10还用于:
[0144]
通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量;
[0145]
基于所述上一关键图像帧的第二绝对位姿累积所述位姿变量生成所述第一绝对位姿。
[0146]
可选地,所述生成模块20还用于:
[0147]
对于由各所述边缘图像帧和所述当前关键图像帧组成的图像帧合集中的任意一图像帧,生成所述图像帧与所述图像帧的上一图像帧之间的位移距离;
[0148]
通过各所述位移距离生成所述当前关键图像帧与所述上一关键图像帧之间的第一距离变化量;
[0149]
通过所述位姿变量中的第二距离变化量与所述第一距离变化量之间的差异对所述第一绝对位姿进行优化,得到所述目标位姿。
[0150]
可选地,所述优化模块20还用于:
[0151]
确定当前关键图像帧中的第一目标特征集,其中,所述第一目标特征集中的特征为从当前关键图像帧追踪到的所述上一关键图像帧中的特征;
[0152]
基于所述第一目标特征集和所述上一关键图像帧的第二目标特征集生成所述位姿变量,其中,所述第二目标特征集中的特征为所述上一关键图像帧中被追踪到的特征。
[0153]
可选地,所述图像位姿优化装置100还包括提取模块30,所述提取模块30用于:
[0154]
从所述当前关键图像帧中提取特征点;
[0155]
以各所述特征点为中心,在所述当前关键图像帧上基于预设图像块划分半径生成各所述图像块;
[0156]
将所述当前关键图像帧中的各图像块与所述上一关键图像帧中的各图像块匹配,以确定所述当前关键图像帧和所述上一关键图像帧中的相同图像块;
[0157]
在所述当前关键图像帧中所述相同图像块为,从当前关键图像帧中追踪到的所述上一关键图像帧的特征。
[0158]
可选地,所述图像位姿优化装置100还包括筛选模块40,所述筛选模块40用于:
[0159]
若产生新图像帧,基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧;
[0160]
若是关键图像帧,将所述新图像帧作为所述当前关键图像帧,则执行所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤;
[0161]
若不是关键图像帧,则将所述新图像帧作为待边缘化图像帧,并记录下所述新图像帧的相对于上一图像帧的生成间隔以及所述新图像帧的速度,其中,所述生成间隔和所述速度用于生成所述位移距离。
[0162]
可选地,所述预设关键帧筛选条件包括第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件,所述第一关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的移动路径距离超过预设第一距离阈值,且新图像帧周边预设第二距离阈值范围内不存在其他关键图像帧,所述第二关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的角度差超过预设角度阈值,所述第三关键帧筛选条件为在新图像帧中,追踪到的所述新图像帧的上一个关键图像帧的特征数量小于预设数量阈值;
[0163]
所述筛选模块40还用于:
[0164]
若所述新图像帧满足所述第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件中的任意一种,则将所述新图像帧作为关键图像帧。
[0165]
本技术提供的图像位姿优化装置,采用上述实施例中的图像位姿优化方法,旨在解决目前估计算法在高速运动场景下鲁棒性较低的技术问题。与现有技术相比,本技术实施例提供的图像位姿优化装置的有益效果与上述实施例提供的图像位姿优化方法的有益效果相同,且该图像位姿优化装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
[0166]
此外,为实现上述目的,本技术还提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的图像位姿优化程序,所述图像位姿优化程序被所述处理器执行时实现如上述的图像位姿优化方法的步骤。
[0167]
本技术电子设备的具体实施方式与上述图像位姿优化方法各实施例基本相同,在此不再赘述。
[0168]
此外,为实现上述目的,本技术还提供一种存储介质,所述存储介质上存储有图像位姿优化程序,所述图像位姿优化程序被处理器执行时实现如上述的图像位姿优化方法的步骤。
[0169]
本技术存储介质具体实施方式与上述图像位姿优化方法各实施例基本相同,在此不再赘述。
[0170]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0171]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0172]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0173]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种图像位姿优化方法,其特征在于,所述图像位姿优化包括:基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。2.如权利要求1所述的图像位姿优化方法,所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤包括:通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量;基于所述上一关键图像帧的第二绝对位姿累积所述位姿变量生成所述第一绝对位姿。3.如权利要求2所述的图像位姿优化方法,其特征在于,所述通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿的步骤包括:对于由各所述边缘图像帧和所述当前关键图像帧组成的图像帧合集中的任意一图像帧,生成所述图像帧与所述图像帧的上一图像帧之间的位移距离;通过各所述位移距离生成所述当前关键图像帧与所述上一关键图像帧之间的第一距离变化量;通过所述位姿变量中的第二距离变化量与所述第一距离变化量之间的差异对所述第一绝对位姿进行优化,得到所述目标位姿。4.如权利要求2所述的图像位姿优化方法,其特征在于,所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤包括:确定当前关键图像帧中的第一目标特征集,其中,所述第一目标特征集中的特征为从当前关键图像帧追踪到的所述上一关键图像帧中的特征;基于所述第一目标特征集和所述上一关键图像帧的第二目标特征集生成所述位姿变量,其中,所述第二目标特征集中的特征为所述上一关键图像帧中被追踪到的特征。5.如权利要求2所述的图像位姿优化方法,其特征在于,所述特征为关键图像帧上特征点周边预设范围内的图像块,在所述通过从当前关键图像帧中追踪到的所述上一关键图像帧的特征,生成所述当前关键图像帧与所述上一关键图像帧之间的位姿变量的步骤之前,所述方法包括:从所述当前关键图像帧中提取特征点;以各所述特征点为中心,在所述当前关键图像帧上基于预设图像块划分半径生成各所述图像块;将所述当前关键图像帧中的各图像块与所述上一关键图像帧中的各图像块匹配,以确定所述当前关键图像帧和所述上一关键图像帧中的相同图像块;在所述当前关键图像帧中所述相同图像块为,从当前关键图像帧中追踪到的所述上一关键图像帧的特征。6.如权利要求3所述的图像位姿优化方法,其特征在于,在所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤之前,所述方法包括:若产生新图像帧,基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧;
若是关键图像帧,将所述新图像帧作为所述当前关键图像帧,则执行所述基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿的步骤;若不是关键图像帧,则将所述新图像帧作为待边缘化图像帧,并记录下所述新图像帧的相对于上一图像帧的生成间隔以及所述新图像帧的速度,其中,所述生成间隔和所述速度用于生成所述位移距离。7.如权利要求6所述的图像位姿优化方法,其特征在于,所述预设关键帧筛选条件包括第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件,所述第一关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的移动路径距离超过预设第一距离阈值,且新图像帧周边预设第二距离阈值范围内不存在其他关键图像帧,所述第二关键帧筛选条件为新图像帧与所述新图像帧的上一个关键图像帧的角度差超过预设角度阈值,所述第三关键帧筛选条件为在新图像帧中,追踪到的所述新图像帧的上一个关键图像帧的特征数量小于预设数量阈值;所述基于预设关键帧筛选条件确定所述新图像帧是否为关键图像帧:若所述新图像帧满足所述第一关键帧筛选条件、第二关键帧筛选条件和第三关键帧筛选条件中的任意一种,则将所述新图像帧作为关键图像帧。8.一种图像位姿优化装置,其特征在于,所述图像位姿优化装置包括:生成模块,用于基于当前关键图像帧的上一关键图像帧生成所述当前关键图像帧的第一绝对位姿;优化模块,用于通过所述当前关键图像帧与所述上一关键图像帧之间各被边缘化的边缘图像帧,对所述第一绝对位姿进行优化得到所述当前关键图像帧的目标位姿。9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的图像位姿优化程序,其中:所述图像位姿优化程序被所述处理器执行时实现如权利要求1至7中任一项所述的图像位姿优化方法的步骤。10.一种存储介质,其特征在于,所述存储介质上存储有图像位姿优化程序,所述图像位姿优化程序被处理器执行时实现如权利要求1至7中任一项所述的图像位姿优化方法的步骤。
技术总结
本申请公开了一种图像位姿优化方法、装置、电子设备及存储介质,涉及计算机视觉技术领域,即本申请的方法首先通过上一关键图像帧生成当前关键图像帧的第一绝对位姿,第一绝对位姿为初步姿态估计的结果,再进一步的,通过边缘图像帧,也即被丢弃的图像帧,在第一绝对位姿的基础上进行优化修正得到当前关键帧的目标位姿。可以理解的是,相比于传统方案仅得到第一绝对位姿,本申请得到的目标位姿所使用的图像数量要远多于生成第一绝对位姿所使用的图像数量,故即便是在高速运动场景下,可保证目标位姿的精确度将大于第一绝对位姿的精确度,故本实施例图像位姿优化方法可进一步提高姿态的估计精度。高姿态的估计精度。高姿态的估计精度。
技术研发人员:余世杰
受保护的技术使用者:深圳创维新世界科技有限公司
技术研发日:2023.07.25
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
