
1.本技术涉及定位技术领域,更具体地,涉及一种位姿确定方法、装置、电子设备及存储介质。
背景技术:2.同时定位与地图构建技术(simultaneous localization and mapping,slam)是通过终端设备在场景中移动并采集场景的图像,同时进行设备自身位姿的确定以及场景建模的一种方法,是室内导航、ar(augmented reality,增强现实)、机器人等领域的基础技术。现有的slam方法中,大多是从相机拍摄到的场景画面中提取特征,以实时确定相机的位姿,这也就意味着在定位过程中大多只考虑到视觉图像的二维特征,定位自由度存在欠缺,导致估算位姿不准确。
技术实现要素:3.鉴于上述问题,本技术提出了一种位姿确定方法、装置、电子设备及存储介质。
4.第一方面,本技术实施例提供了一种位姿确定方法,应用于电子设备,所述电子设备包括第一相机以及第二相机,所述第一相机以第一频率采集彩色图像,所述第二相机以第二频率采集深度图像,所述第二频率小于所述第一频率,所述方法包括:根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点;根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像;根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点;根据所述目标空间点,确定所述电子设备的位姿信息。
5.第二方面,本技术实施例提供了一种位姿确定装置,应用于电子设备,所述电子设备包括第一相机以及第二相机,所述第一相机以第一频率采集彩色图像,所述第二相机以第二频率采集深度图像,所述第二频率小于所述第一频率,所述装置包括:修正点获取模块,用于根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点;参考点获取模块,用于根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像;修正处理模块,用于根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点;位姿确定模块,用于根据所述目标空间点,确定所述电子设备的位姿信息。
6.第三方面,本技术实施例提供了一种电子设备,包括:第一相机以及第二相机;一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的位姿确定方法。
7.第四方面,本技术实施例提供了一种计算机可读取存储介质,所述计算机可读取
存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的位姿确定方法。
8.本技术提供的方案,电子设备可以包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,且第二频率小于第一频率。从而可以先根据获取到的多帧彩色图像,获取多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点,然后可以根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,目标彩色图像为多帧彩色图像中与深度图像相匹配的一帧彩色图像。然后根据该参考空间点,对待修正空间点进行修正处理,得到修正后的目标空间点,以根据该目标空间点,确定电子设备的位姿信息。由于本技术中的深度图像与彩色图像的采集无需保持同频率,大大降低了系统的软硬件功耗,且对于仅根据图像的二维特征所确定的空间信息,也可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1示出了根据本技术一个实施例的位姿确定方法流程图。
11.图2示出了根据本技术另一个实施例的位姿确定方法流程图。
12.图3示出了根据本技术另一个实施例的位姿确定方法中步骤s210的一种流程图。
13.图4示出了根据本技术另一个实施例的位姿确定方法中步骤s220的一种流程图。
14.图5示出了根据本技术另一个实施例的位姿确定方法中步骤s221的一种流程图。
15.图6示出了本技术提供的一种有效深度值筛选的示意图。
16.图7示出了本技术提供的一种修正参数确定方法的示意图。
17.图8示出了本技术提供的另一种修正参数确定方法的示意图。
18.图9示出了根据本技术又一个实施例的位姿确定方法流程图。
19.图10示出了根据本技术再一个实施例的位姿确定方法流程图。
20.图11示出了本技术提供的一种整体流程示意图。
21.图12示出了根据本技术一个实施例的位姿确定装置的一种框图。
22.图13是本技术实施例的用于执行根据本技术实施例的位姿确定方法的电子设备的框图。
23.图14是本技术实施例的用于保存或者携带实现根据本技术实施例的位姿确定方法的程序代码的存储单元。
具体实施方式
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
25.随着使用相机传感器进行自身定位的技术发展迅速,视觉slam的理论也逐渐基本成熟,但是仅使用相机作为唯一传感器进行定位的弊端也开始显现出来。具体地,利用相机采集的图像帧往往会丢失了环境的深度信息,这也就意味着在定位过程中大多只考虑到视觉图像的二维特征,使得求解出的位姿会产生尺度不确定性,导致估算位姿不准确。
26.为了解决上述问题,视觉惯导融合里程计(visual-imu odometry,vio)技术开始不断发展,vio是一种融合相机和惯性测量单元(inertial measurement unit,简称为imu)信息,来计算设备在空间中位姿的算法,其通过将imu估计的位姿序列和相机估计的位姿序列对齐可以估计出相机轨迹的真实尺度。如此通过利用不同类型传感器的不同特性来弥补单一传感器的固有缺陷,大大提升了设备的定位能力,推动了室内导航、增强现实、机器人等应用的快速落地。然而,该方法受到imu精度以及延迟性的限制,在短时间内可以获得较为准确的位姿信息,长时间使用则会产生较为严重的漂移,导致无法对相机进行准确的跟踪,定位效果仍不佳。
27.虽然目前也提出了一种融合深度相机与彩色rgb(red green blue,红色绿色蓝色)相机的vio技术,其可利用深度相机提供的绝对场景深度信息来实现更加精准的位姿估计,但其需要rgb相机与深度相机的采集频率保持一致,每一帧rgb图像都需要对应一张深度图像,并且需要该rgb图像与深度图像在时空上是完全对齐的,否则算法将无法正常工作,导致系统功耗非常大,同时对深度相机硬件的要求也很高,需要其保证高频稳定输出。
28.针对上述问题,发明人提出了本技术实施例提供的位姿确定方法、装置、电子设备以及存储介质,对于仅根据图像的二维特征所确定的空间信息,可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位。其中,具体的位姿确定方法在后续的实施例中进行详细的说明。
29.下面将针对可用于本技术实施例提供的位姿确定方法的应用环境进行描述。
30.在本技术实施例中,电子设备可以包括第一相机以及第二相机。其中,第一相机可以是用于采集彩色图像的相机,如彩色rgb(red green blue,红色绿色蓝色)相机,第二相机可以是用于采集深度图像的相机,如基于结构光原理的深度相机或者基于时间飞行法(time of flight,tof)原理的深度相机。其中,基于tof原理的深度相机可以是基于直接飞行时间法(direct time of flight,dtof)原理的深度相机,也可以是基于间接飞行时间法(indirect time of flight,itof)原理的深度相机,在本技术中不作限定。
31.在本技术实施例中,第一相机可以是以第一频率采集彩色图像,第二相机可以是以第二频率采集深度图像,其中第二频率小于第一频率。相对于现有技术,本技术摒弃了高频率的深度图像采集,采用对深度图像的采集进行低频控制的策略,大大降低了系统的软硬件功耗。具体地,在硬件功耗方面,由于无需再进行高频率的深度图像获取,所以也就不需要高性能的深度相机,降低了对深度相机硬件的要求,无需确保深度相机的高频稳定输出,硬件功耗下降。在软件功耗方面,不必每一帧彩色图像都需要获取深度图像并做时间对齐,系统的软件功耗下降。
32.在一些实施例中,第一频率可以是与第二频率呈固定倍数关系,具体的倍数值在此并不作限定,仅需第二频率小于第一频率即可。例如,第一相机采集彩色图像的第一频率为30hz时,第一频率可以是第二频率的3倍,即第二频率是第一频率的1/3,也即第二相机采
集深度图像的第二频率为10hz,从而可以每采集三帧彩色图像就采集一帧深度图像,使得硬件功耗下降为原来的1/3。
33.在另一些实施例中,第一频率可以是不与第二频率呈固定关系,也即可以不严格按照每采集几帧彩色图像就采集一帧深度图像的策略,仅需第二频率小于第一频率即可。例如,可以进行深度图像的质量判断,以仅在深度图像采集质量好时,第二相机按照固定频率进行采集,而在深度图像采集质量比较差时第二相机可以不采集。
34.在一些实施例中,第一相机与第二相机可以独立设置,也可以是一体化设置。例如形成一个彩色相机-深度相机(rgb-depth,rgb-d)相机,其既可以提供彩色rgb图像,也可以提供深度图像。
35.在一些实施例中,电子设备上也可以设置多个第一相机和第二相机(如设置有4个第一相机或3个第一相机),也可以增加其他装置,如设置与第一相机和第二相机配套的惯性测量单元(inertia measurement unit,imu),以进一步帮助确定相机或电子设备的位姿。
36.请参阅图1,图1示出了本技术一个实施例提供的位姿确定方法的流程示意图。在具体的实施例中,所述位姿确定方法应用于如图12所示的位姿确定装置600以及配置有所述位姿确定装置600的电子设备100(图13)。下面将针对图1所示的流程进行详细的阐述,所述视频播放方法具体可以包括以下步骤:
37.步骤s110:根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点。
38.在本技术实施例中,由于采集深度图像的第二频率小于采集彩色图像的第一频率,所以并不是每帧彩色图像都对应有一帧深度图像,从而对于没有深度图像对应的彩色图像而言,无法根据深度信息来准确估计相机或者设备的位姿。因此,在本技术实施例中,在获取到第一相机采集到的彩色图像时,可以不依赖深度图像,先仅根据彩色图像,来获取彩色图像中二维特征点所对应的三维空间点。
39.可以理解的是,由于仅根据图像的二维特征,求解出的位姿会产生尺度不确定性,因此,在得到仅根据彩色图像的二维特征得到,对应的三维空间点时,需要对该三维空间进行修正,也即将仅根据彩色图像的二维特征得到对应的三维空间点作为待修正空间点,以待后续进行尺度修正。
40.由于三维空间场景中的同一个三维空间点在不同视角下的像点存在对极约束关系,因此,在一些实施例中,可以根据不同视角的彩色图像之间的对级约束,来获取彩色图像的二维特征点对应的三维空间点。具体地,可以提取不同视角的彩色图像中的二维特征点,进行特征点匹配,以得到一一匹配对应的二维特征点集,从而可以根据一一匹配对应的二维特征点集,得到该不同视角的彩色图像中的二维特征点对应的三维空间点。其中,不同视角的彩色图像,可以是前后相邻帧的彩色图像,也可以前后间隔几帧的彩色图像,此处不作限定。
41.在一些实施例中,彩色图像中的二维特征点,可以是彩色图像中的像素点,可以是利用特征提取算法提取得到。其中,特征提取算法可以包括但不限于fast特征点检测算法、dog特征点检测算法、harris特征点检测算法、sift特征点检测算法、surf特征点检测算法等。
42.在一些实施例中,为了便于优化当前相机或设备位姿,或者优化近期观测到的三维空间点,可以设置一个滑动窗口,该窗口存放有最近几帧的彩色图像,从而可以进行一个局部优化,进而实现稳定的位姿追踪。其中,滑动窗口可以是指预先构建的固定长度的滑窗,滑动窗口内容纳固定数量的图像帧,滑动窗口像队列一样不断地添加新彩色图像帧并移除旧彩色图像帧,滑动窗口中可以记录了当前彩色图像帧以及在之前时刻的彩色图像帧的位姿及三维空间点数据。
43.可以理解的是,在起始时刻,第一相机还未采集场景的任何彩色图像,直至定位追踪开始后,第一相机会跟随电子设备在场景内移动,一边移动一边采集场景的彩色图像,形成连续帧的彩色图像流;在获得一定帧数的彩色图像后,电子设备可以初始化场景的三维地图模型,通常只包括场景的一小部分,或者与实际场景有差别。此后,第一相机每采集一帧的彩色图像,电子设备都可以根据该彩色图像对三维地图模型进行更新优化,即计算该彩色图像中二维特征点对应的三维空间点,以增加三维地图模型中没有的三维空间点(也称三维地图点)。由于这些三维空间点仅根据彩色图像的二维特征得到,存在尺度不确定性,因此,这些三维空间点需要作为待修正空间点,等待后续优化修正。
44.步骤s120:根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像。
45.在本技术实施例中,由于并不是每帧彩色图像都对应有一帧深度图像,因此,对存在有对应深度图像的目标彩色图像,可以根据其对应的深度图像,再一次求取目标彩色图像中二维特征点所对应的三维空间点。其中,深度图像(depth map)可以包含场景中目标物体的表面上的多个点与深度相机在深度方向上的距离信息,类似于灰度图像,只是它的一个像素点值表示的是深度相机距离目标物体的表面上一个点的实际距离。
46.由于目标彩色图像下场景的深度信息可以根据对应的深度图像清楚获知,因此,根据深度图像中的深度信息,来获取的目标彩色图像中二维特征点所对应的三维空间点,比较准确,后续估算的位姿也不会产生尺度的不确定性。因此,可以将根据深度图像获取到的目标彩色图像中二维特征点所对应的三维空间点,作为参考空间点,来对前述的待修正空间进行修正。其中,参考空间点可以理解为无需修正的,比较准确的三维空间点。
47.由于采集深度图像的第二频率与采集彩色图像的第一频率不一致,因此在获取到第二相机采集的深度图像时,需要将该深度图像与第一相机采集到的彩色图像进行对齐。
48.其中,对齐包括时间对齐。具体地,可以在获取到深度图像时,将该深度图像的时间戳与获取到的多帧彩色图像的时间戳进行匹配,以得到与深度图像的时间戳时间对齐的彩色图像。可选的,由于实际中不一定会存在时间完全相同的深度图像和彩色图像,因此,可以是在深度图像的时间戳与彩色图像的时间戳之间的时差小于误差容忍值,就可以将该深度图像与彩色图像作为时间对齐的匹配对。
49.其中,对齐还包括二维像素点之间的空间对齐。具体地,可以是根据第一相机与第二相机之间的外参,来对彩色图像和对应的深度图像中的像素点进行空间对齐。其中,外参可以是指第一相机的相机坐标系,与第二相机的相机坐标系之间的旋转矩阵和平移矩阵,包括了三个轴的旋转参数和三个轴的平移参数。由于通常会预先通过标定的方式对第一相机于第二相机进行标定,以得到外参标定参数,因此,外参通常为已知参数。从而通过上述
对齐,可以得到时间和空间都对齐匹配的一对深度图像和彩色图像。
50.在本技术实施例中,由于目标彩色图像为多帧彩色图像中与深度图像相匹配对齐的一帧彩色图像,因此可以在该深度图像上找到目标彩色图像中二维特征点所对应的深度值,然后可以通过深度相机的内参矩阵,将深度值转换为三维坐标,从而得到目标彩色图像中二维特征点所对应的三维空间点。
51.步骤s130:根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点。
52.由于利用深度信息获取的三维空间点比较准确,因此,在本技术实施例中,在得到根据深度图像得到的参考空间点后,可以根据该参考空间点对前述获得的待修正空间点进行修正处理,从而可以得到修正后的比较准确的三维空间点,作为用于计算位姿的目标空间点。
53.可以理解的是,由于每获取到新的彩色图像帧,都会基于步骤s110的方式计算出存在尺度不确定性的待修正空间点,而在获取到深度图像时,又会基于步骤s120的方式,对深度图像对应的目标彩色图像再次计算出不存在尺度不确定性的参考空间点,因此,必然会存在同时使用了两种方法来计算三维空间点的二维特征点,且由于该二维特征点对应的参考空间点比较准确,因此该二维特征点对应的参考空间点与待修正空间点之间的差异,可以反映为将待修正空间点调整到比较准确的位置,需要修正的程度。
54.在一些实施例中,参考空间和待修正空间点可能会处于不同的坐标系下,因此,在根据参考空间点,对待修正空间点进行修正处理之前,可以先将参考空间点与待修正空间点转换到同一个坐标系下。作为一种方式,由于一般是将第一帧彩色图像的坐标系作为世界坐标系,因此,可以是将参考空间点与待修正空间点都转换到第一帧彩色图像的坐标系后,再根据同一二维特征点所对应的参考空间点与待修正空间点之间的差异,来对前述获取到所有待修正空间点进行修正处理,从而得到修正后的目标空间点。
55.步骤s140:根据所述目标空间点,确定所述电子设备的位姿信息。
56.在本技术实施例中,在得到了比较准确的目标空间点后,可以就该目标空间点,确定电子设备的位姿信息。其中,位姿信息包括位置信息和姿态信息,位置信息为坐标系中x,y,z三个方向的平移信息,姿态信息为坐标系中x,y,z三个方向的旋转信息。
57.在一些实施例中,可以采用n点透视定位算法(perspective-n-point,pnp)的方法计算电子设备的位姿信息。其中,pnp是通过一组匹配好的三维空间点和二维特征点来求解两帧彩色图像之间运动的一种算法,它描述了当知道n个三维空间点以及它们的投影位置时,如何估计相机所在的位姿。因此,可以根据目标空间点以及其对应二维特征点,来确定出电子设备的位姿信息。
58.在一些实施例中,还可以结合imu数据对位姿进行联合优化。具体地,在采集彩色图像时,还可以采集对应的多组imu数据,然后对采集到的imu数据进行预积分处理以获取惯性数据,同时将目标空间点与惯性数据进行配准,并根据配准结果执行vio优化,以求解出更加精准的位姿。其中。执行vio优化,可以是利用目标空间点构建的第一约束条件(即代价函数)以及利用惯性数据构建的第二约束条件,然后利用非线性优化方法对代价函数进行优化,使得代价函数的值不断减小,以确定出本次的位姿优化结果。其中,本技术对非线性优化方法不进行特殊限定,例如,可以是高斯-牛顿算法、列文伯格-马夸尔特算法等。
59.本技术实施例提供的位姿确定方法,电子设备可以包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,且第二频率小于第一频率。从而可以先根据获取到的多帧彩色图像,获取多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点,然后可以根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,目标彩色图像为多帧彩色图像中与深度图像相匹配的一帧彩色图像,然后根据该参考空间点,对待修正空间点进行修正处理,得到修正后的目标空间点,以根据该目标空间点,确定电子设备的位姿信息。由于本技术中的深度图像与彩色图像的采集无需保持同频率,既大大降低了系统的软硬件功耗,且对于仅根据图像的二维特征所确定的空间信息,也可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位,能够应用于低性能设备。
60.请参阅图2,图2示出了本技术另一个实施例提供的位姿确定方法的流程示意图。该位姿确定方法应用于上述电子设备,下面将针对图2所示的流程进行详细的阐述,所述位姿确定方法具体可以包括以下步骤:
61.步骤s210:根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点。
62.在一些实施例中,可以是对相邻帧彩色图像的二维特征点进行三角化处理,以分别确定出相邻帧彩色图像基于二维特征点的三维空间点信息。具体地,请参阅图3,步骤s210可以包括:
63.步骤s211:根据获取到的多帧彩色图像,将相邻彩色图像中的二维特征点进行匹配,获得相匹配的二维特征点。
64.在一些实施例中,可以是每获取到新的彩色图像时,可以将该新的彩色图像钟的二维特征点与上一帧彩色图像中的二维特征点进行匹配,以得到一一匹配对应的二维特征点集。在另一些实施例中,在与前一帧彩色图像进行特征点匹配后,也可以与前前一帧彩色图像进行特征点匹配,还可以是对滑动窗口中存在的所有帧彩色图像的任意两帧彩色图像,都进行特征点匹配,以最大限定地恢复彩色图像中各个二维特征点对应的三维空间点。
65.步骤s212:对所述相匹配的二维特征点进行三角化处理,获得所述相邻彩色图像中所述相匹配的二维特征点所对应的三维空间点作为待修正空间点。
66.在本技术实施例中,得到相邻彩色图像中相匹配的二维特征点后,可以对相匹配的二维特征点进行三角化处理,从而可以分别获得相邻彩色图像中每帧彩色图像中该二维特征点所对应的三维空间点。具体的,三角化也被称为三角测量(triangulation),是指通过在两处观察同一个点的夹角来确定该点的距离。
67.步骤s220:根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像。
68.由于深度图像中各个像素点反映的是深度相机距离目标点的实际距离,也即反映的是环境的深度信息,因此,可以结合彩色图像的二维特征以及该环境深度,得到彩色图像中各个二维特征点所对应的三维空间点。具体地,请参阅图4,步骤s220可以包括:
69.步骤s221:根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的有效深度值。
70.步骤s222:将所述有效深度值转换为三维坐标,获得所述目标彩色图像中二维特征点所对应的三维空间点作为参考空间点。
71.由于深度图像的每个像素点的值代表深度相机距离目标点的实际距离,因此,在将深度图像的像素点与目标彩色图像中的像素点进行空间对齐后,可以根据深度图像以及该对齐关系,得到目标彩色图像中各个像素点(即二维特征点)对应的有效深度值。从而可以将该有效深度值转换为三维坐标,获得目标彩色图像中各个二维特征点所对应的三维空间点。
72.由于深度图像中并不一定所有深度信息都是准确的,例如,第二相机为基于itof原理的深度相机时,itof相机的测量原理会导致在场景的边缘、低反射率区域的深度误差很大,因此,在一些实施例中,可以在根据深度信息进行三维空间点获取之前,先筛选出有效的深度信息。具体地,请参阅图5,步骤s221可以包括:
73.步骤s2211:根据获取到的深度图像,获取目标彩色图像中目标二维特征点所对应的目标深度值,其中,所述目标二维特征点为所述目标彩色图像中任一二维特征点。
74.在一些实施例中,可以先丢弃深度图像中深度值超出第二相机量程范围内的特征点。例如,第二相机的有效量程为0.1-6m时,则可以将深度值小于0.1和大于6m的都丢弃。
75.当深度图像中的深度值都处于第二相机量程范围内时,还需判断特征点的深度值是否可靠准确。而一般的,如果特征点周围一定大小的邻域范围内如果深度值变化很小或者成线性变化,则可以认为该特征点处在一个小平面上,该特征点对应的深度值精度较高,为可靠值,反之则不可靠,可以丢弃。
76.在本技术实施例中,可以从目标彩色图像中任选一个二维特征点作为目标二维特征点,并对该目标二维特征点所对应的目标深度值的可靠性进行测试。具体地,在将深度图像的像素点与目标彩色图像中的像素点进行空间对齐后,可以先根据深度图像以及该对齐关系,获取到目标彩色图像中目标二维特征点所对应的目标深度值,以便后续来比较该目标深度值与特征点周围对应的深度值的差异。
77.步骤s2212:根据所述深度图像,获取所述目标二维特征点周围指定区域内的所有邻近二维特征点的平均深度值。
78.在本技术实施例中,在将深度图像的像素点与目标彩色图像中的像素点进行空间对齐后,可以先根据深度图像以及该对齐关系,获取目标二维特征点周围指定区域内的所有邻近二维特征点所对应的深度值,并进行求婚,计算平均深度值。其中,指定区域可以是固定大小的区域,如7px*7px大小的领域方块,也可以是固定特征点个数的区域,如周围30个二维特征点所在的区域,此处不作限定。
79.步骤s2213:当所述目标深度值与所述平均深度值之间的差值小于指定阈值时,将所述目标深度值作为所述目标彩色图像中目标二维特征点所对应的有效深度值。
80.在本技术实施例中,在得到目标二维特征点所对应的目标深度值时,可以将该目标深度值与目标二维特征点周围指定区域内的所有邻近二维特征点的平均深度值进行比较,以确定深度值是否相差不大,从而可确定出该目标二维特征点所对应的目标深度值是否为有效深度值。
81.具体地,可以是当目标深度值与平均深度值之间的差值小于指定阈值时,将目标二维特征点所对应的目标深度值判定为有效深度值,从而可以将该目标深度值作为为目标彩色图像中目标二维特征点所对应的有效深度值,进行后续的三维空间点恢复。其中,指定阈值可以预存于电子设备,可以根据实际情况合理设定,此处不作限定。
82.可以理解的是,当目标深度值与平均深度值之间相差不大,可以认为目标二维特征点与其周围的邻近二维特征点处在一个小平面上,所以该目标深度值很大可能是可靠准确的,因此,可以将其保留。如果目标深度值与平均深度值之间相差很大,则可以认为目标二维特征点与其周围的邻近二维特征点未处在一个小平面上,该目标二维特征点的目标深度值产生了突变,该目标深度值不一定可靠,因此,可以将其丢弃。如此,可以过滤掉大部分不准确深度值,保留下来的深度值基本都是准确可信的。
83.示例性地,请参阅图6,以提取的特征点(空心圆点)为中心,向上下左右各走3个像素点,得到一个7*7的邻域方块(虚线框),提取方块内除中心点外所有像素点(实心圆点,共48个,图中未全部示意出)对应的深度值(实心三角点,共48个)求和,计算深度平均值。如果中心特征点(空心圆点)的深度值(空心三角点)与方块内深度平均值的差值大于指定阈值,则认为该中心特征点的深度值不可信,需要将其丢弃。从而可以过滤掉大部分不准确深度值,保留下准确可信的深度值。
84.在对深度图像中的不可靠深度值进行过滤后,可以根据过滤后的深度图像,获取目标彩色图像中二维特征点所对应的准确的有效深度值,并将该有效深度值转换为三维坐标,从而可以较为准确获得目标彩色图像中二维特征点所对应的三维空间点,作为参考空间点。
85.步骤s230:将所述参考空间点对应的二维特征点与所述待修正空间点对应的二维特征点进行匹配,得到同一二维特征点所对应的所述参考空间点以及所述待修正空间点。
86.在本技术实施例中,在采用三角化法和深度信息获取了彩色图像中二维特征点对应的三维空间点后,可以找出同时采用这两种方式获取三维空间点的二维特征点,以根据不同方式求取同一二维特征点,得到的三维空间点差异,来确定三角化法求取的偏差,从而对三角化求取的三维空间点进行合理修正。具体地,可以将获取得到的参考空间点所对应的二维特征点,与获取得到的待修正空间点所对应的二维特征点进行匹配,从而可以得到同一二维特征点所对应的参考空间点以及待修正空间点,作为一组匹配对,进而后续可根据该匹配对,对待修正空间点进行修正处理。
87.步骤s240:根据所述同一二维特征点所对应的所述参考空间点以及所述待修正空间点,确定修正参数。
88.在本技术实施例中,在得到同一二维特征点所对应的参考空间点以及待修正空间点构成的匹配对后,可以根据该参考空间点以及待修正空间点,确定修正参数。作为一种方式,可以是利用最小二乘法计算出待修正空间点所需要调整的修正参数,计算公式如下:s0m
1-m2=0,其中,m1为利用彩色图像获取到的待修正空间点集合,m2为利用深度图像获取到的参考空间点集合,s0为修正参数。
89.由于通常是将第一帧彩色图像所在的坐标系作为世界坐标系,因此,在一些实施例中,可以是将同一二维特征点所对应的所述参考空间点以及所述待修正空间点都转换到第一帧(i0帧)彩色图像所在的坐标系下后,再进行修正参数的计算,从而可以得到第一帧
彩色图像所在的坐标系下的修正参数s0。
90.示例性地,当二维特征点为第四帧(i3帧)彩色图像中的特征点时,可以采用如下公式进行坐标转换:m3=r
03
m2+t
03
,其中,r03和t03分别是i3帧相对于i0帧的旋转和平移,m3为i3坐标系下的参考空间点集合m转换到i0坐标系后的参考空间点集合。
91.其中,r03和t03为已知值。可以理解的是,在进行位姿计算的时候,是一次计算一个滑动窗口内所有彩色图像帧的位姿,然后下一次计算的时候,是去掉滑窗中排在第一的那一帧彩色图像,然后在滑窗内加入一帧新来的彩色图像,以此类推不断去掉老的彩色图像帧,加入新的彩色图像帧,来进行位姿优化求解。也就是说,当一个滑窗里有10帧彩色图像,还没开始进行位姿优化求解的时候,只有滑窗内新加入的那一帧没有经历过优化计算(其他的9帧都是之前就在滑窗中的,只有新加入的那一帧是第一次加入到优化滑窗中来的)。即便如此,最新加入的那一帧位姿也是知道的,这个位姿来自于imu的积分计算,将这个imu积分结果作为新加入帧的位姿初始值,从而可以得到r03和t03。
92.示例性地,请参阅图7,图7示出了一种修正参数确定的整体示意图。其中,在获取到i0,i1,i2三帧彩色图像时,由于并未获取到深度图像,所以只能通过三角化法计算i0,i1,i2三帧彩色图像中二维特征点所对应的三维空间点,由于跟踪过程中尺度的不断漂移,三角化得到的三维空间点变得越来越不准确,因此需要将其作为待修正空间点以待后续修正。由图7可见,直至获取到i3帧彩色图像时,才获取到对应的深度图像。由于该深度图像与i3帧彩色图像对应,因此,i3帧彩色图像中的二维特征点有深度信息,此时可以根据该深度图像计算i3帧彩色图像中各个二维特征点对应的三维空间点,由于根据深度信息得到三维空间点更准确,因此,可以将其作为参考空间点,对前述的待修正空间点进行修正。
93.另外,由于i3帧彩色图像得到的参考空间点的坐标系为i3帧彩色图像所在的坐标系,因此,需要将其转换到i0帧彩色图像所在的坐标系(即世界坐标系)下,同理,前述获取的待修正空间点也需要转换到i0帧彩色图像所在的坐标系(即世界坐标系)下。从而可以找出同一二维特征点所对应的待修正空间点以及参考空间点所构成的匹配对,并根据所有匹配对以及最小二乘法来计算i0坐标系下的修正参数s0。
94.步骤s250:基于所述修正参数,对所述待修正空间点进行修正处理,得到修正后的目标空间点。
95.由于并不是所有彩色图像都有对应的深度图像,也即并不是所有的二维特征点都能恢复出比较准确的三维空间点,大部分二维特征点恢复出的都是存在尺度不确定性的的待修正空间点。因此,在本技术实施例中,在得到修正参数后,可以根据该修正参数,对所有待修正空间点进行修正处理,从而得到修正后的比较准确的目标空间点。其中,对所有待修正空间点进行修正处理,可以是对所有修正空间点都乘以该修正参数,得到的结果,即为修正后的目标空间点。
96.在一些实施例中,当待修正空间点经过修正参数,得到修正后的比较准确目标空间点后,即使后面再获取到深度图像,也不必再进行修正,也即仅需要通过最近获取到的深度图像对之前获取到的待修正空间点进行修正,且仅需修正一次,减少系统功耗。
97.示例性地,请参阅图8,图8示出了一种空间点修正的整体示意图。具体地,由于滑动窗口的不断滑动,滑窗内不断加入新的彩色图像帧,这些彩色图像帧会带来一些新的三维空间点,这些三维空间点是用三角化的方式进行恢复的,比如当i4,i5,i6帧彩色图像新
加入滑窗的时候,这些帧通过三角化,会恢复出一些新的,前面帧没有观测到过的二维特征点所对应三维空间点m4,这些地图点经过坐标系变换后被加入到i0坐标系下的三维空间点m1中,此时m1中多了一些新的三维空间点,这些三维空间点并没有经历过修正,所以这些新的三维空间点即可作为待修正空间点。
98.直到i7帧彩色图像到来时,才获取到新的深度图像。此时可以通过深度图像恢复出i7帧彩色图像中一些比较准确的二维特征点所对应的三维空间点m5,作为参考空间点,由于有部分的二维特征点所对应三维空间点之前可能已经通过三角化法已经恢复出来过,因此可以将三角化法恢复出的三维空间点,与利用i7帧彩色图像对应的深度图像恢复出的三维空间点匹配上,形成同一二维特征点的匹配点对。利用这些匹配点对便可以计算出新的修正参数,然后利用该修正参数,可以修正所有未被修正过的待修正空间点。周而复始以上操作,滑窗内的待修正空间点,便可以不断被低频率的深度图像获取到参考空间点,间歇性的修正了。其中,计算修正参数时,同样需要转换到i0帧彩色图像所在的坐标系(即世界坐标系)下,此处不再赘述。
99.步骤s260:根据所述目标空间点,确定所述电子设备的位姿信息。
100.在本技术实施例中,步骤s260可以参阅前述实施例,此处不再赘述。
101.本技术实施例提供的位姿确定方法,电子设备可以包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,且第二频率小于第一频率。从而可以先根据获取到的多帧彩色图像,获取多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点,然后可以根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,目标彩色图像为多帧彩色图像中与深度图像相匹配的一帧彩色图像,然后根据该参考空间点,对待修正空间点进行修正处理,得到修正后的目标空间点,以根据该目标空间点,确定电子设备的位姿信息。由于本技术中的深度图像与彩色图像的采集无需保持同频率,既大大降低了系统的软硬件功耗,且对于仅根据图像的二维特征所确定的空间信息,也可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位,能够应用于低性能设备。且由于使用低频率的深度图像对高频率的彩色图像所对应路标点进行尺度调整的相关算法,可以避免使用大量冗余的深度信息,同时也避免了频繁的使用深度信息将过多的深度图像固有噪声引入到vio系统中来。可实现更加精准且高效的定位。
102.请参阅图9,图9示出了本技术又一个实施例提供的位姿确定方法的流程示意图。该位姿确定方法应用于上述电子设备,下面将针对图7所示的流程进行详细的阐述,所述位姿确定方法具体可以包括以下步骤:
103.步骤s310:根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点。
104.步骤s320:判断是否获取到深度图像。若是,则执行步骤s330~步骤s350。若否,则执行步骤s360。
105.在一些实施例中,当第二相机采集深度图像的频率不规律或采集的图像质量效果不佳时,可以不严格按照每获取预设帧数彩色图像才获取一帧深度图像的策略,可以是通过检测是否获取到深度图像,来确定是否执行后续的修正处理。具体地,当获取到深度图像
时,可以按照前述实施例的内容,根据深度图像获取到参考空间点,并根据参考空间点对待修正空间点修正处理,以根据修正后的目标空间点,确定电子设备的位姿信息。而当未获取到深度图像时,可以先根据待修正空间点,对电子设备的位姿信息进行初略计算,以大致确定当前位姿。
106.在一些实施例中,判断是否获取到深度图像,可以是判断是否获取到图像质量大于指定质量的深度图像。从而可以选择性的只在深度图像输入良好的情况下,才使用深度图像进行位姿优化,其适应性更强,对深度相机性能的要求更低。
107.步骤s330:根据所述深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像。
108.步骤s340:根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点。
109.步骤s350:根据所述目标空间点,确定所述电子设备的位姿信息。
110.在本技术实施例中,步骤s330~s350可以参阅前述实施例的内容,此处不再赘述。
111.步骤s360:根据所述待修正空间点,确定所述电子设备的位姿信息。
112.在本技术实施例中,当未获取到深度图像时,可以先根据待修正空间点,对电子设备的位姿信息进行初略计算,以大致确定当前位姿。
113.在一些实施例中,为了提高准确性,在根据待修正空间点,对电子设备的位姿信息进行初略计算后,可以结合imu数据对位姿进行联合优化。具体地,可以是利用待修正空间点构建的第一约束条件(即代价函数)以及利用imu数据构建的第二约束条件,然后利用非线性优化方法对代价函数进行优化,使得代价函数的值不断减小,以求解出更加准确的位姿。
114.本技术实施例提供的位姿确定方法,电子设备可以包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,且第二频率小于第一频率。从而可以先根据获取到的多帧彩色图像,获取多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点,然后当获取到深度图像时,可以根据该深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,目标彩色图像为多帧彩色图像中与深度图像相匹配的一帧彩色图像,然后根据该参考空间点,对待修正空间点进行修正处理,得到修正后的目标空间点,以根据该目标空间点,确定电子设备的位姿信息。由于本技术中的深度图像与彩色图像的采集无需保持同频率,既大大降低了系统的软硬件功耗,且对于仅根据图像的二维特征所确定的空间信息,也可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位,能够应用于低性能设备。
115.请参阅图10,图10示出了本技术又一个实施例提供的位姿确定方法的流程示意图。该位姿确定方法应用于上述电子设备,下面将针对图10所示的流程进行详细的阐述,所述位姿确定方法具体可以包括以下步骤:
116.步骤s410:根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点。
117.步骤s420:判断是否获取到深度图像。若是,则执行步骤s430~步骤s470。若否,则执行步骤s480~步骤s500。
118.步骤s430:当获取到深度图像时,根据所述深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像。
119.步骤s440:根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点。
120.步骤s450:根据所述目标空间点,确定所述电子设备的位姿信息。
121.步骤s460:根据所述目标空间点,构建第一重投影误差。
122.在本技术实施例中,在根据目标空间点,确定所述电子设备的位姿信息后,还可以对位姿进行优化。具体地,在获取到更加准确的目标空间点,可以利用目标空间点,构建第一重投影误差。其中,重投影误差是指投影的点(理论值)与图像上的测量点的误差。具体地,获取目标空间点在彩色图像中的二维投影点,并计算该二维投影点与目标空间点对应的二维特征点之间的误差,即可得到第一重投影误差。
123.步骤s470:根据所述第一重投影误差,对所述电子设备的位姿信息进行优化。
124.在本技术实施例中,在得到第一重投影误差后,可以利用该第一重投影误差构建第一约束条件,然后利用非线性优化方法对代价函数进行优化,使得代价函数的值不断减小,从而可最小化所有二维投影点到对应二维特征点之间的距离,以逐渐优化出更加精准的位姿。
125.在一些实施例中,在利用该第一重投影误差构建第一约束条件后,也可以利用imu数据构建的第二约束条件,然后利用非线性优化方法对代价函数进行紧耦合联合优化,使得代价函数的值不断减小。
126.在一些实施例中,由于目标空间点是修正后的比较准确的三维空间点,因此,在优化过程中,可以将该目标空间点的值进行固定,不再作为优化变量,无需与位姿一起优化。如此,大量的地图点被固定,可大大节约优化时间。
127.步骤s480:根据所述待修正空间点,确定所述电子设备的位姿信息。
128.步骤s490:根据所述待修正空间点,构建第二重投影误差。
129.在本技术实施例中,在根据待修正空间点,确定所述电子设备的位姿信息后,还可以对位姿进行优化。具体地,可以利用待修正空间点,构建第二重投影误差。具体地,获取待修正空间点在彩色图像中的二维投影点,并计算该二维投影点与待修正空间点对应的二维特征点之间的误差,即可得到第二重投影误差。
130.步骤s500:根据所述第二重投影误差,对所述电子设备的位姿信息以及所述待修正空间点进行优化。
131.在本技术实施例中,在得到第二重投影误差后,可以利用该第二重投影误差构建第一约束条件,然后利用非线性优化方法对代价函数进行优化,使得代价函数的值不断减小,从而可最小化所有二维投影点到对应二维特征点之间的距离,以逐渐优化出更加精准的位姿。
132.在一些实施例中,在利用该第二重投影误差构建第一约束条件后,也可以利用imu数据构建的第二约束条件,然后利用非线性优化方法对代价函数进行紧耦合联合优化,使
得代价函数的值不断减小。
133.在一些实施例中,由于待修正空间点未被修正,不够准确,因此,在优化过程中,可以将该待修正空间点的值作为优化变量,与位姿一起优化。已得到更加准确的位姿以及三维空间点。
134.示例性地,请参阅图11,图11示出了本技术的一种位姿确定方法的整体流程图。其中,电子设备包括第一相机、第二相机和惯性测量单元,第一相机为以第一频率采集彩色图像的彩色相机,第二相机为以第二频率采集深度图像的深度相机。在vio系统初始化完成进行跟踪过程后,可以通过彩色相机持续采集彩色图像,电子设备可以对输入的彩色图像进行计算,以判断输入的彩色图像是否为指定个数,以确定是否进行深度图像的检测。例如,第一频率为第二频率的3倍时,可以判断输入的彩色图像个数是否为3的整数倍,若是则当前很可能会输入深度图像,因此,又必须进行深度图像的检测。当输入的彩色图像为指定个数时,可以检测当前彩色图像是否有匹配的深度图像,如果是,则可以对深度图像进行有效深度值的筛选,以过滤掉不准确的深度值。然后利用深度图像恢复得到的参考空间点,对三角化恢复出的待修正空间点进行修正。并根据修正后的目标空间点构建视觉约束,并与imu约束一起联合优化,得到更准确的位姿。同时,在优化过程中,经过修正的空间点固定,不再作为优化变量与位姿一起优化。
135.本技术实施例提供的位姿确定方法,电子设备可以包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,且第二频率小于第一频率。从而可以先根据获取到的多帧彩色图像,获取多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点,然后当获取到深度图像时,可以根据该深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,目标彩色图像为多帧彩色图像中与深度图像相匹配的一帧彩色图像,然后根据该参考空间点,对待修正空间点进行修正处理,得到修正后的目标空间点,以根据该目标空间点,确定电子设备的位姿信息。由于本技术中的深度图像与彩色图像的采集无需保持同频率,既大大降低了系统的软硬件功耗,且对于仅根据图像的二维特征所确定的空间信息,也可以使用低频的深度图像所确定的空间信息来进行修正调整,从而得到比较准确的三维空间信息,来进行精准的位姿获取,增加了定位自由度,提高了定位准确度,从而实现了低频率深度图像的精准定位,能够应用于低性能设备。
136.请参阅图12,其示出了本技术实施例提供的一种位姿确定装置600的结构框图。该位姿确定装置600应用上述的电子设备,该电子设备包括第一相机以及第二相机,第一相机以第一频率采集彩色图像,第二相机以第二频率采集深度图像,第二频率小于第一频率。该位姿确定装置600包括:修正点获取模块610、参考点获取模块620、修正处理模块630以及位姿确定模块640。其中,修正点获取模块610用于根据获取到的多帧彩色图像,获取所述多帧彩色图像中二维特征点所对应的三维空间点作为待修正空间点;参考点获取模块620用于根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的三维空间点作为参考空间点,其中,所述目标彩色图像为所述多帧彩色图像中与所述深度图像相匹配的一帧彩色图像;修正处理模块630用于根据所述参考空间点,对所述待修正空间点进行修正处理,得到修正后的目标空间点;位姿确定模块640用于根据所述目标空间点,确定所述电子设备的位姿信息。
137.在一些实施方式中,参考点获取模块620包括:深度确定单元,用于根据获取到的深度图像,获取目标彩色图像中二维特征点所对应的有效深度值;坐标转换单元,用于将所述有效深度值转换为三维坐标,获得所述目标彩色图像中二维特征点所对应的三维空间点作为参考空间点。
138.在一些实施方式中,上述深度确定单元可以具体用于:根据获取到的深度图像,获取目标彩色图像中目标二维特征点所对应的目标深度值,其中,所述目标二维特征点为所述目标彩色图像中任一二维特征点;根据所述深度图像,获取所述目标二维特征点周围指定区域内的所有邻近二维特征点的平均深度值;当所述目标深度值与所述平均深度值之间的差值小于指定阈值时,将所述目标深度值作为所述目标彩色图像中目标二维特征点所对应的有效深度值。
139.在一些实施方式中,修正点获取模块610可以具体用于:根据获取到的多帧彩色图像,将相邻彩色图像中的二维特征点进行匹配,获得相匹配的二维特征点;对所述相匹配的二维特征点进行三角化处理,获得所述相邻彩色图像中所述相匹配的二维特征点所对应的三维空间点作为待修正空间点。
140.在一些实施方式中,修正处理模块630可以具体用于:将所述参考空间点对应的二维特征点与所述待修正空间点对应的二维特征点进行匹配,得到同一二维特征点所对应的所述参考空间点以及所述待修正空间点;根据所述同一二维特征点所对应的所述参考空间点以及所述待修正空间点,确定修正参数;基于所述修正参数,对所述待修正空间点进行修正处理,得到修正后的目标空间点。
141.在一些实施方式中,位姿确定装置600还可以包括:第一构建模块,用于根据所述目标空间点,构建第一重投影误差;第一优化模块,用于根据所述第一重投影误差,对所述电子设备的位姿信息进行优化。
142.在一些实施方式中,位姿确定装置600还可以包括:位姿估计模块,用于当未获取到所述深度图像时,根据所述待修正空间点,确定所述电子设备的位姿信息。
143.在一些实施方式中,位姿确定装置600还可以包括:第二构建模块,用于根据所述目标空间点,构建第一重投影误差;第二优化模块,用于根据所述第一重投影误差,对所述电子设备的位姿信息进行优化。
144.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
145.在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
146.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
147.请参考图13,其示出了本技术实施例提供的一种电子设备的结构框图。该电子设备100可以是智能手机、平板电脑、智能手表等能够运行应用程序的电子设备。本技术中的电子设备100可以包括一个或多个如下部件:处理器110、存储器120、第一相机130、第二相机140以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所
描述的方法。
148.处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(central processing unit,cpu)、位姿确定器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
149.存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
150.请参考图14,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
151.计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
152.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。