相机间外参的标定方法及电子设备与流程

文档序号:28816092发布日期:2022-02-09 06:06阅读:638来源:国知局
相机间外参的标定方法及电子设备与流程

1.本技术涉及机器视觉领域,尤其涉及相机间外参的标定方法及电子设备。


背景技术:

2.在机器视觉等领域中,电子设备在确定图像中任意两点像素之间的真实距离前需要先确定空间物体表面某点的三维几何位置与该空间物体在图像中对应点之间的映射关系,这种映射关系可以称为相机参数。其中,相机参数包括相机内参和相机外参。
3.电子设备在具备两个或更多个相机的情况下,可以通过两个或更多个相机拍摄得到的图像进行同时定位和建图(simultaneous localization and mapping, slam)。由于不同相机在现实空间中的位姿(pose)不同,需要确定两个或更多个相机的相机间外参,才能确定不同相机拍摄得到的图像之间的映射关系,进而才能联合处理不同相机拍摄得到的图像以实现定位和建图。其中,两个或更多个相机之间的相机间外参是指两个或更多个相机之中任意两个相机的相机坐标系的转换关系。
4.为了获得不同相机的相机间外参,一种可行的方法为:通过标定板、标定杆等参照物直接确定相机1和相机2的内参和外参,然后通过比较相机1获取到的参照物的图像和相机2获取到参照物的图像确定相机1和相机2之间的映射关系,最后通过映射关系、相机1的内参和外参、相机2的内参和外参,直接求解得到相机1和相机2的相机间外参。
5.但是,实现该方法需依赖特定的、精密的辅助仪器,如标定版、标定杆等。消费者不能通过一种简便的方式进行相机间外参的标定,导致电子设备的定位和建图的精度和能力下降,进而影响到用户体验。


技术实现要素:

6.本技术实施例提供了相机间外参的标定方法及电子设备。本技术实施例提供的相机间外参的标定方法包括:首先确定两个相机获取的图像中的共视图像,然后确定共视图像在世界坐标系下的坐标,然后确定两个相机的相机间外参的初值,再然后通过建立共视图像在不同相机的像素坐标系或图像坐标系下的映射关系,最后基于该映射关系和相机间外参的初值确定相机外参的终值。本技术实施例提供的相机间外参的标定方法,可以在不预先知道相机的内参的情况下,并且在不依赖特定的标定仪器的帮助下,标定两个或更多个相机的相机间外参。
7.第一方面,本技术实施例提供了一种相机间外参的标定方法,应用于包括第一相机和第二相机的电子设备,包括:执行第一运动,或者显示第一通知,该第一通知用于提醒用户对该电子设备执行第一运动;在该第一运动过程中,获取包括共视图像的第一图像组和第二图像组,该第一图像组为通过该第一相机获取的图像组,该第二图像组为该第二相机获取的图像组,该第一相机和该第二相机的相对位姿不变;根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标;根据该第一图像组确定第一外参组、根据该第二图像组确定第二外参组,该第一外参组包括该第一相机在获取第一图像组中的
图像时的相机外参,该第二外参组包括该第二相机在获取第二图像组中的图像时的相机外参;根据该共视图像在世界坐标系下的坐标、该第一外参组、该第二外参组确定第一参数,该第一参数为该第一相机和该第二相机的相机间外参的初值;建立该第一图像组和该第二图像组中共视图像的映射关系,根据该映射关系和第一参数确定第二参数,该第二参数为该第一相机和该第二相机的相机间外参的终值。
8.在上述实施例中,可以在不预先知道相机的内参的情况下,并且在不依赖特定的标定仪器的帮助下,标定两个或更多个相机的相机间外参,进而为联合处理多个相机的图像提供了基础。
9.结合第一方面的一些实施例,在一些实施例中,确定该第一相机和该第二相机没有共视区域,该第一运动与第一相机和第二相机的相对位姿有关,该第一运动用于使得该第一图像组和该第二图像组中存在具有该共视图像的多个图像对;该根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标,具体包括:确定该第一图像组和第二图像组中具有该共视图像的多个图像对,根据该多个图像对确定该共视图像在世界坐标系下的坐标;该建立该第一图像组和该第二图像组中共视图像的映射关系,具体包括:建立该多个图像对中该共视图像的映射关系。
10.在上述实施例中,在第一相机和第二相机没有共视区域的情况下,需要通过第一运动使得第一图像组和第二图像组中存在具有共视图像的多个图像对。并且,由于执行了第一运动才获得具有共视图像的多个图像对,则第一图像组和第二图像组中的一部分图像是不属于该多个图像对的,进而在建立多个图像对中共视图像的映射关系时,可以只对图像对中的共视图像建立映射关系。
11.结合第一方面的一些实施例,在一些实施例中,确定该第一相机和该第二相机有共视区域;该根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标,具体包括:确定该第一图像组和第二图像组中具有该共视图像的多个图像对,根据该多个图像对确定该共视图像在世界坐标系下的坐标;该建立该第一图像组和该第二图像组中共视图像的映射关系,具体包括:建立该多个图像对中该共视图像的映射关系。
12.在上述实施例中,在第一相机和第二相机没有共视区域的情况下,理论上,第一图像组和第二图像组中每一张图像上均有共视图像。但是考虑到实际可视区域的影响,第一图像组和第二图像组中的一部分图像是不属于该多个图像对的,进而在建立多个图像对中共视图像的映射关系时,可以只对图像对中的共视图像建立映射关系。
13.结合第一方面的一些实施例,在一些实施例中,在该执行第一运动,或者显示第一通知前,该方法还包括:在该第一相机获取的图像不满足第一条件的情况下,开启该第二相机,并且通过该第一相机和该第二相机获取图像。
14.在上述实施例中,在第一相机获取的图像不满足第一条件的情况下,会开启第二相机获取图像,进而联合处理图像得到更准确的定位和建图结果。
15.结合第一方面的一些实施例,在一些实施例中,该第一条件包括:图像的纹理程度低于纹理阈值、图像中的动态物体数量多于动态物体数量阈值、图像中的动态物体面积大于动态物体面积阈值中的一种或多种。
16.在上述实施例中,直接判断定位和建图结果是否准确是比较困难的,所以可以根据图像的纹理程度低于纹理阈值、图像中的动态物体数量多于动态物体数量阈值、图像中
的动态物体面积大于动态物体面积阈值等判断图像是否会导致定位和建图结果不准确。
17.结合第一方面的一些实施例,在一些实施例中,该多个图像对包括第一图像对,该第一图像对包括第一图像和第二图像,该第一图像属于第一图像组,该第二图像属于第二图像组,该第一图像对的置信度大于置信度阈值,该置信度用于描述图像对中共视图像的旋转不变性。
18.在上述实施例中,当图像1和图像2的共视图像的旋转不变性较差时,用图像1和图像2的数据参与计算反而会使得最后确定的相机间外参不容易收敛到最优值附近,所以可以对图像对进行筛选,进而提高收敛的速度。
19.第二方面,本技术实施例提供了一种相机间外参的标定方法,应用于包括第一电子设备和第二电子设备的系统,该第一电子设备上配置有第一相机,该第二电子设备上配置有第二相机,包括:该第一电子设备和该第二电子设备执行第一运动,或者该第一电子设备和该第二电子设备显示第一通知,该第一通知用于提醒用户对该第一电子设备和该第二电子设备执行第一运动;在该第一运动过程中,该第一电子设备通过第一相机获取第一图像组,该第二电子设备通过第二相机获取第二图像组;在该第一运动过程中,该第一相机和该第二相机的相对位姿不变;该第一电子设备根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标、第一外参组、第二外参组,该第一外参组包括该第一相机在获取第一图像组中的图像时的相机外参,该第二外参组包括该第二相机在获取第二图像组中的图像时的相机外参;该第一电子设备根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标;根据该第一图像组确定第一外参组、根据该第二图像组确定第二外参组,该第一外参组包括该第一相机在获取第一图像组中的图像时的外参,该第二外参组包括该第二相机在获取第二图像组中的图像时的外参,该第一电子设备和该第二电子设备具有相同的该世界坐标系;该第一电子设备根据该共视图像在世界坐标系下的坐标、该第一外参组、该第二外参组确定第一参数,该第一参数为该第一相机和该第二相机的相机间外参的初值;该第一电子设备建立该第一图像组和该第二图像组中共视图像的映射关系,根据该映射关系和第一参数确定第二参数,该第二参数为该第一相机和该第二相机的相机间外参的终值。
20.在上述实施例中,可以在不预先知道相机的内参的情况下,并且在不依赖特定的标定仪器的帮助下,标定两个或更多个相机的相机间外参,进而为联合处理多个相机的图像提供了基础。
21.结合第一方面的一些实施例,在一些实施例中,在该第一电子设备和该第二电子设备执行第一运动,或者该第一电子设备和该第二电子设备显示第一通知前,该方法还包括:该第一电子设备确定该第一相机获取的图像不满足第一条件;该第一条件包括:图像的纹理程度低于纹理阈值、图像中的动态物体数量多于动态物体数量阈值、图像中的动态物体面积大于动态物体面积阈值中的一种或多种;该第一电子设备向该第二电子设备发送请求获取第二相机的图像。
22.在上述实施例中,当第一电子设备基于自己摄像头获取的图像不能得到准确的定位和建图结果后,可以请求第二电子设备,获取第二电子设备上相机获取的图像,进而为联合处理图像确定准确的定位和建图结果提供基础。
23.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:一个或多个处理
器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行:执行第一运动,或者显示第一通知,该第一通知用于提醒用户对该电子设备执行第一运动;在该第一运动过程中,获取包括共视图像的第一图像组和第二图像组,该第一图像组为通过该第一相机获取的图像组,该第二图像组为该第二相机获取的图像组,该第一相机和该第二相机的相对位姿不变;根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标;根据该第一图像组确定第一外参组、根据该第二图像组确定第二外参组,该第一外参组包括该第一相机在获取第一图像组中的图像时的相机外参,该第二外参组包括该第二相机在获取第二图像组中的图像时的相机外参;根据该共视图像在世界坐标系下的坐标、该第一外参组、该第二外参组确定第一参数,该第一参数为该第一相机和该第二相机的相机间外参的初值;建立该第一图像组和该第二图像组中共视图像的映射关系,根据该映射关系和第一参数确定第二参数,该第二参数为该第一相机和该第二相机的相机间外参的终值。
24.在上述实施例中,可以在不预先知道相机的内参的情况下,并且在不依赖特定的标定仪器的帮助下,标定两个或更多个相机的相机间外参。
25.结合第三方面的一些实施例,在一些实施例中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:确定该第一相机和该第二相机没有共视区域,该第一运动与第一相机和第二相机的相对位姿有关,该第一运动用于使得该第一图像组和该第二图像组中存在具有该共视图像的多个图像对;确定该第一图像组和第二图像组中具有该共视图像的多个图像对,根据该多个图像对确定该共视图像在世界坐标系下的坐标;建立该多个图像对中该共视图像的映射关系。
26.结合第三方面的一些实施例,在一些实施例中,该一个或多个处理器具体用于调用该计算机指令以使得该电子设备执行:建立该多个图像对中该共视图像的映射关系。该根据该第一图像组或根据该第二图像组确定该共视图像在世界坐标系下的坐标;确定该第一图像组和第二图像组中具有该共视图像的多个图像对,根据该多个图像对确定该共视图像在世界坐标系下的坐标;建立该多个图像对中该共视图像的映射关系。
27.结合第三方面的一些实施例,在一些实施例中,该一个或多个处理器还用于调用该计算机指令以使得该电子设备执行:在该第一相机获取的图像不满足第一条件的情况下,开启该第二相机,并且通过该第一相机和该第二相机获取图像。
28.结合第三方面的一些实施例,在一些实施例中,该第一条件包括:图像的纹理程度低于纹理阈值、图像中的动态物体数量多于动态物体数量阈值、图像中的动态物体面积大于动态物体面积阈值中的一种或多种。
29.结合第三方面的一些实施例,在一些实施例中,该多个图像对包括第一图像对,该第一图像对包括第一图像和第二图像,该第一图像属于第一图像组,该第二图像属于第二图像组,该第一图像对的置信度大于置信度阈值,该置信度用于描述图像对中的共视图像的旋转不变性。
30.第四方面,本技术实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
31.第五方面,本技术实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
32.第六方面,本技术实施例提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
33.可以理解地,上述第三方面提供的电子设备、第四方面提供的芯片系统、第五方面提供的计算机程序产品以及第六方面提供的计算机存储介质均用于执行本技术实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
34.图1a为本技术实施例提供的定位结果、建图结果对电子设备影响的一个示例性示意图。
35.图1b、图1c为本技术实施例提供的定位结果、建图结果对电子设备影响的另一个示例性示意图。
36.图2a和图2b为本技术实施例提供的利用多路图像提高同时定位和建图的一个示例性示意图。
37.图3为本技术实施例提供的相机间外参的标定方法的流程的一个示例性示意图。
38.图4a为本技术是实施例提供的共视图像的一个示例性示意图。
39.图4b为本技术是实施例提供的共视图像的另一个示例性示意图。
40.图5为本技术实施例提供的第一运动的一个示例性示意图。
41.图6为本技术实施例提供的电子设备提示用户对电子设备做第一运动的界面的一个示例性示意图。
42.图7为本技术实施例提供的代数方法求解共视图像对应的物体在世界坐标系下的坐标的过程的一个示例性示意图。
43.图8为本技术实施例提供的一个电子设备旋转的一个示例性示意图。
44.图9为本技术实施例提供的一个降低第一图像组数量方法的一个示例性示意图。
45.图10为本技术实施例提供的图像对置信度检测的一个示例性示意图。
46.图11为本技术实施例提供的一个相机间外参初值与映射误差关系的一个示例性示意图。
47.图12为本技术实施例提供的电子设备硬件架构的一个示例性示意图。
48.图13a是本技术实施例提供的电子设备软件架构的一个示例性示意图。
49.图13b为在图13a所示软件架构下实施相机间外参的标定方法的数据流的一个示例性示意图。
具体实施方式
50.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“该”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文
中明确地有相反指示。
51.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
52.本技术以下实施例中的术语“用户界面(user interface,ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
53.电子设备提供增强现实(augment reality, ar)功能、虚拟现实(virtual reality,vr)功能等其他需要对环境进行同步定位和建图的功能时,电子设备需要确定相机或其他可以获取图像装置的相机内参和相机外参。
54.当同步定位和建图的结果不准确时,不准确的定位结果、建图结果可能会影响电子设备的工作。例如,当电子设备是扫地机器人时,电子设备对自己的定位不准确或家庭的区域建图不准确的情况下,就无法完整的清扫家庭的区域如图1a所示;又例如,电子设备为手机、投影仪、vr眼镜等设备时,电子设备环境的建图不准确的情况下,电子设备的ar、vr功能中的图像就会出现畸变如图1b和图1c所示。
55.图1a为本技术实施例提供的定位结果、建图结果对电子设备影响的一个示例性示意图。
56.如图1a所示,在电子设备为扫地机器人时,电子设备需要对待清扫区域进行建图,并定位自己在待清扫区域中的位置,进而才能完成清扫任务。当电子设备的定位、建图结果不够精确的时候,例如,电子设备的建图结果为家庭区域的子区域,则电子设备只会清扫该子区域,遗留一部分区域未打扫。又或者,电子设备的建图结果是准确的,但是定位结果不准确,也会导致类似的问题。
57.图1b、图1c为本技术实施例提供的定位结果、建图结果对电子设备影响的另一个示例性示意图。
58.如图1b所示,电子设备正在拍摄一个立体矩形,并且通过ar功能在屏幕上显示位于立体矩形上的图像1。其中,该图像1为电子设备通过ar功能生成的。由于电子设备的ar功能依赖于电子设备的定位结果和建图结果,当定位结果或建图结果出现误差的情况下,电子设备生成的图像1可能会发生偏移和形变,如图1c所示。
59.在上文中如图1a、图1b、图1c所示的场景中,定位和建图的准确性极大程度的影响了电子设备是否能准确执行基于机器视觉的功能。
60.图2a和图2b为本技术实施例提供的利用多路图像提高同时定位和建图的一个示例性示意图。
61.如图2a所示,当电子设备在基于相机1获取得到的图像执行同时定位和建图的过
程中,由于相机1获取得到的图像纹理较弱或者动态物体较多,电子设备基于相机1获取得到的图像,如图2a中的图像11,执行同时定位和建图的效果较差。
62.在该情况下,电子设备可以开启相机2或相机3,根据不同相机的相机间外参和不同相机获取到的图像执行联合的同时定位和建图,以提升同时定位和建图的精度。
63.例如,在图2a中,相机2和相机1可以是手机的不同的后置相机。电子设备在确定相机1和相机2的相机间外参后,可以对相机1获取到的图像和相机2获取到的图像进行联合处理,例如图2a中的图像12和图像21,进而执行联合的同时定位和建图,提升同时定位和建图的精度。
64.类似的,在图2b中,在确定相机1和相机3的相机间外参后,可以对相机1获取到的图像和相机3获取到的图像进行联合处理,例如图2a中的图像12和图像31,进而执行联合的同时定位和建图,提升同时定位和建图的精度。
65.可以理解的是,当电子设备上具有多个相机时,可以联合处理多个相机获取的图像,对环境进行更准确的定位和建图;或者,当电子设备上具有多个相机时,多个相机中的正在工作的相机1的视线被遮蔽时,可以开启其他相机以继续获取图像,进而继续执行slam;或者,多个相机中的正在工作的相机1拍摄到的图像纹理较弱、动态物体较多的情况下,可以开启其他相机以继续获取图像,进而继续执行定位和建图。
66.但是,不论是联合处理多个相机获取的图像,还是切换工作的相机以继续执行同时定位和建图,都需要确定不同相机的相机间外参。其中,不同相机的相机间外参由不同相机的相对的位姿决定。
67.本技术实施例提供了一种相机间外参的标定方法,可以快速的、准确的定位不同相机的相机间外参。
68.下面示例性的介绍本技术实施例提供的相机间外参的标定方法及电子设备。
69.首先,本技术实施例提供的相机间外参的标定方法首先需要确定共视图像;其次,通过三维重建获取共视图像在世界坐标系下的坐标,建立共视图像在不同相机的相机坐标系之间的映射关系,进而获取相机间外参的初值;最后,建立共视图像在不同相机的像素坐标系/图像坐标系中的映射关系,通过最小化映射误差,在相机间外参的初值的基础上优化得到准确的相机间外参。
70.很显然的,本技术实施例提供的相机间外参的标定方法无需借助特殊的仪器,如标定盘、标定杆;其次,本技术实施例提供的相机间外参的标定方法无需预先确定多个相机之间的相对位姿,也无需预先知道不同相机的内参。
71.下面结合图3所示的内容,示例性的介绍相机间外参的标定方法的方法流程。
72.图3为本技术实施例提供的相机间外参的标定方法的流程的一个示例性示意图。
73.本技术实施例提供的相机间外参的标定方法包括:s301:可选的,确定第一相机采集的图像不满足第一条件。
74.可选的,在本技术一些实施例中,电子设备在执行同时定位和建图的过程中,并且电子设备是基于第一相机采集的图像执行同时定位和建图的情况下,在电子设备对每一帧图像执行同时定位和处理前,确定第一相机采集的图像是否满足第一条件。
75.当第一相机采集的图像满足第一条件,则表示第一相机采集的图像可以支持电子设备执行同时定位和建图;当第一相机采集的图像不满足第一条件,则表示第一相机采集
的图像不支持电子设备执行同时定位和建图,或者电子设备执行同时定位和建图得到的结果精度较低。
76.具体的,第一条件可以包括以下的一种或多种:(a)图像中的动态物体的数量大于阈值;(b)图像中动态物体的范围大于阈值;(c)图像的纹理的清晰程度低于阈值;(d)图像的亮度低于阈值等等。
77.s302:启动第二相机,获取第二相机采集到的图像。
78.电子设备启动第二相机,并获取第二相机采集到的图像。
79.可选的,在本技术一些实施例中,第二相机可以位于其他电子设备上。例如,电子设备1和电子设备2之间建立有电信连接,如蓝牙连接、wifi连接等,第一相机位于电子设备1上,第二相机位于电子设备2上。
80.值得说明的是,在执行步骤s302以及后续步骤时,第一相机和第二相机的相对位姿不发生变化。同时,在执行步骤s302前,第一相机和第二相机的相对位姿可以发生变化。
81.值得说明的是,当第一相机和第二相机在不同的电子设备上时,在执行步骤s302以及后续步骤时,第一相机和第二相机的相对位姿不发生变化。其中,当第一相机和第二相机相对于各自的电子设备是固定的,则可以通过保证第一电子设备和第二电子设备的相对位姿不发生变化实现第一相机和第二相机的相对位姿不发生变化。
82.可选的,在本技术一些实施例中,第一相机的内参可以与第二相机的内参相同或不同。
83.可选的,在本技术一些实施例中,第一相机可以与第二相机的相机类型相同或不同。其中,相机类型从不同的角度可以有不同的划分。例如,相机类型可以是长焦、微距等;又例如,相机类型可以是黑白、红外、激光雷达。
84.其中,在本技术的举例说明中,以相机1指代第一相机,相机2指代第二相机。
85.s303:判断是否检索到共视图像。
86.判断是否检索到共视图像,若是则执行步骤s305;若否,则执行步骤s304。
87.其中,若是第一相机和第二相机具有共视区域,则一般情况下可以检索到共视图像;若是第一相机和第二相机不具有共视区域,则一般情况下检索不到共视图像。例如,电子设备为手机时,手机的后置的多个摄像头可以为具有共视区域的第一相机和第二相机;又例如,电子设备为手机时,手机的前置摄像头为第一相机,手机的后置摄像头为第二相机。
88.其中,共视图像为不同相机拍摄得到的图像中对应相同的物体的一组图像,如图4a和图4b所示。
89.图4a为本技术是实施例提供的共视图像的一个示例性示意图。
90.如图4a所示,相机1和相机2从不同的位姿拍摄物体1,在相机1和相机2得到的图像中,有部分相同或相似的图像,则这部分相同或相似的图像为共视图像。其中,相似指示图像经过平移和/或旋转和/或亮度变换后相同。
91.可选的,在本技术一些实施例中,可以对不同相机获取到的图像执行尺度不变特征变换特征(scale-invariant feature transform,sift)提取,然后比较不同相机获取得到的图像的sift特征,进而确定两幅图像是否有共视图像,以及确定共视图像包括的内容。
92.可以理解的是,由于不同相机的内参可能是不同的,并且不同相机的位姿不同,故
相同的物体在不同的相机的像素坐标系或图像坐标系中的内容可能是不完全相同的,在该情况,可以利用如sift特征在内的许多特征确定共视图像,以及确定共视图像包括的内容。
93.可选的,在检索共视图像时,可以仅对同一时间内不同相机获取到的图像进行检索。
94.图4b为本技术是实施例提供的共视图像的另一个示例性示意图。
95.如图4b所示,在相机1和相机2的位姿不同的情况下,比较同一时刻相机1拍摄的图像11和相机2拍摄得到的图像21,可以确定是否存在共视图像,以及共视图像包括的内容。
96.s304:电子设备执行第一运动,或者到电子设备提醒用户对电子设备做第一运动。
97.在步骤s303中,确定没有检索到共视图像后,电子设备做第一运动,或者电子设备提示用户对电子设备做第一运动。在本技术实施例中,在第一运动过程中,第一相机和第二相机的拍摄范围有重叠,即在第一运动的过程中,第一相机可以获取第一组图像,第二相机可以获取第二组图像,第一组图像和第二组图像中存在共视图像。
98.值得说明的是,与步骤s303中不同的是,第一组图像和第二组图像中的共视图像可以出现在不同的时间。例如,第一相机的快门速度与第二相机的快门速度相同,第一组图像有n张图像,第二组图像有n张图像,则共视图像可以出现在第一组的第i张,以及出现在第二组的第k张。其中,i小于n,k小于n,k不等于n。
99.或者,第一相机的快门速度与第二相机的快门速度也可以不同。
100.其中,第一运动包括旋转,可以是原地旋转也可以是围绕某个点作为圆心沿着圆周进行旋转,具体的如图5所示。
101.图5为本技术实施例提供的第一运动的一个示例性示意图。
102.例如,如图5所示,电子设备的坐标可以以相机1的坐标代替,相机1的坐标为(x0,y0,z0)。其中,第一运动可以是电子设备绕x=x0,y=y0进行旋转,第一运动还可以是电子设备绕x=0,y=0执行选装。
103.或者,电子设备也可以提示用户对电子设备做第一运动,其中提示可以如图6所示。
104.图6为本技术实施例提供的电子设备提示用户对电子设备做第一运动的界面的一个示例性示意图。
105.如图6所示,电子设备在相机的界面上显示提示控件601,提示控件601用于提示用户对电子设备做第一运动。例如,提示控件上显示“请将手机进行旋转”。
106.值得说明的是,图6仅仅是电子设备提示用户对电子设备做第一运动的界面的一个示例性示意图,并不对提示控件的形状、提示的内容做出任何限定。
107.值得说明的是,第一运动的方式与第一相机和第二相机的相对位姿有关。例如,当第一相机为手机的后置相机,第二相机为手机的前置相机时,第一运动是如5所示的多种运动方式。
108.在本技术实施例中,在第一运动过程中,第一相机和第二相机的相对位姿不发生变化。若,第一相机和第二相机的相对位姿发生变化,则重新执行步骤s302、步骤s303。
109.s305:确定共视图像在世界坐标系下的坐标。
110.电子设备可以根据多张包含共视图像的图像,对共视图像对应的物体进行三维重建(3d reconstruction),获取共视图像对应的物体的在世界坐标系下的坐标,以及第一相
机和第二相机在不同位姿下的外参。
111.可选的,在本技术一些实施例中,在执行步骤s304的过程中,可以确定相机的内参,也可以不确定相机的内参。
112.其中,世界坐标系是电子设备建立的坐标系,用于描述真实空间中不同物体之间相对位置关系的坐标系。
113.其中,根据是否已知相机的内参和/或外参,分为以下几种情况,示例性的介绍通过三维重建确定共视图像对应的物体在世界坐标系下的坐标:情况一:第一相机的内参和外参已知。
114.第一相机的内参为,以及第一相机在第一位姿的外参,则投影矩阵,第一相机的投影矩阵为。
115.且,已知共视图像在图像坐标系或像素坐标系下的坐标,设共视图像对应的物体在世界坐标系下的坐标为。则,与的关系如式(1):(1)。其中,i表示不同位姿下的相机;j表示世界坐标系下不同的点,为不同位姿的相机获取到图像中共视图像的坐标,为不同位姿下相机的投影矩阵,为不同位姿下相机的外参。
116.进而,确定式(2)如:(2)。
117.根据式(2),电子设备可以根据投影矩阵和共视图像在图像坐标系或像素坐标系下的坐标确定共视图像对应的物体在世界坐标系下的坐标。
118.情况二:第一相机的内参和外参未知。
119.在第一相机的内参和外参未知的情况下,可以通过运动恢复结构(sfm,structure from motion)或深度学习等多种方法确定共视图像对应的物体在世界坐标系下的坐标,在此不作限定。或者,也可以先对相机的内参和外参进行标定,标定后按照第一种情况确定共视图像对应的物体在世界坐标系下的坐标。
120.下面主要以sfm为例,示例性的介绍确定共视图像对应的物体在世界坐标系下的坐标的方法。
121.例如,可以通过代数方法求解基础矩阵f,然后估计相机的内参和外参,或者直接估计相机的投影矩阵,进而通过最小化在像素坐标系或图像坐标系中的投影误差,求得共视图像对应的物体在世界坐标系下的坐标。下面结合图7所示的内容,示例性的介绍代数方法求解共视图像对应的物体在世界坐标系下的坐标的过程。
122.图7为本技术实施例提供的代数方法求解共视图像对应的物体在世界坐标系下的坐标的过程的一个示例性示意图。
123.如图7所示,相机1从不同的位姿获取被拍摄物体的图像,如图7中的位姿1、位姿2、位姿3。其中,相机1从位姿2和位姿3拍摄的图像中都包括特征点1。其中特征点1在世界坐标系下的坐标为,对应的,特征点1在位姿1拍摄的图像中的坐标为,特征点2在位姿
2拍摄的图像中的坐标为。
124.当存在至少八个(未在图7中示出)类似特征点1的特征点后,可以求得基础矩阵f。在得到基础矩阵f后,可以求得相机在不同位姿下的投影矩阵和。然后通过如式(3)所示的方式,求得共视图像对应的物体在世界坐标系下的坐标,其中公式(3)如:(3)。
125.其中,用于计算和的距离,如欧式距离等。
126.值得说明的是,通过代数法求得可以具有歧义,即可以是不准确的。在该情况下,可以通过其他先验信息,如世界坐标系中平行的线、垂直的线等特征消除的歧义。
127.可选的,在本技术一些实施例中,在基于sfm确定共视图像在世界坐标系下的坐标后,还可以确定第一相机和第二相机的内参。
128.又例如,可以基于深度学习、神经网络等方法训练一个用于确定共视图像对应的物体在世界坐标系下的坐标的模型。其中,利用该模型可以直接确定共视图像对应的物体在世界坐标系下的坐标,然后求得第一相机和第二相机的相机在不同位姿下的外参。
129.值得说明的是,在本技术实施例中,确定共视图像对应的物体在世界坐标系下的坐标可以通过多种方法实现,在此不作限定。
130.值得说明的是,若是电子设备执行了步骤s304,则在电子设备旋转过程中获取到的图像可以作为sfm处理的图像。若是电子设备没有执行步骤s304,则电子设备可以执行第二运动,或者提升用户对电子设备做第二运动,使得电子设备可以获取到sfm需要的图像。或者,若是电子设备没有执行步骤s304,可以采用其他方法确定共视图像对应的物体在世界坐标系下的坐标。
131.其中,若是电子设备没有执行步骤s304,则电子设备可以执行第二运动,电子设备执行第二运动过程中,第一相机获取的图像组为第一图像组,第二相机获取的图像组为第二图像组。
132.值得说明的是,也可以基于第二相机采集得到的图像进行三维重建,进而确定共视图像对应的物体在世界坐标系下的坐标。
133.值得说明的是,当第一相机和第二相机分别位于电子设备1上和电子设备2上,电子设备1和电子设备2的世界坐标系相同。
134.s306:基于共视图像在不同相机的相机坐标系的映射关系确定第一相机和第二相机的相机间外参的初值。
135.在步骤s303或步骤s304中,电子设备执行第一运动和/或第二运动的过程中,第一相机和第二相机的相对位姿不发生变化,并且可以确定第一相机和第二相机在不同位姿下的外参。则,可以建立共视图像在不同相机的相机坐标系的映射关系如下所示。
136.例如,共视图像中的特征点在相机1的位姿i的相机坐标系下的坐标为
,共视图像中的特征点在相机2的位姿i的相机坐标系下的坐标为,则世界坐标系和相机坐标系的映射关系如下式(4)和式(5):(4)、(5)。
137.其中,为相机1在位姿i的外参;为相机2在位姿i的外参。
138.通过联立多个(4)和(5),可以建立式(6):(6)。
139.其中,可以是相机1的不同位姿之间的相对平移、旋转矩阵;其中,可以是相机2的不同位姿之间的相对平移、旋转矩阵。
140.下面结合图8所示的内容示例性的介绍第一相机和第二相机的不同位姿之间的相对平移、旋转矩阵。
141.图8为本技术实施例提供的一个电子设备旋转的一个示例性示意图。
142.例如,如图8所示,电子设备执行第一运动和/或第二运动的过程中,相机1和相机2的相对位姿不发生变化。其中,相机1的位姿变化包括:位姿1、位姿2、位姿3;相机2的位姿变化包括位姿1、位姿2、位姿3。其中,相机1的位姿为位姿1时,相机2的位姿为位姿1;相机1的位姿为位姿2时,相机2的位姿为位姿2;相机1的位姿为位姿3时,相机2的位姿为位姿3。
143.记,为相机1在位姿i下的外参,为相机2在位姿i下的外参。
144.则,上文中的式(6)中的、可以为:、、、。其中、、、、、均为在步骤s304中的确定的参数。
145.为相机1在位姿1和位姿2的相对平移、旋转矩阵;为相机1在位姿1和位姿3的相对平移、旋转矩阵;为相机2在位姿1和位姿2的相对平移、旋转矩阵;为相机2在位姿1和位姿3的相对平移、旋转矩阵。
146.其中,在计算得到、、、后,可以计算得到。为本技术实施例提供的第一相机和第二相机的相机间外参的初值。
147.值得说明的是,并不局限于图8所示的三对位姿,相机1和相机2还可以有更多对位姿,并在求得相机间外参的初值后执行平均、加权平均处理,降低相机间外参的初值的误差。
148.可选的,在本技术一些实施例中,在对不同对位姿求得的相机间外参的初值执行平均、加权平均处理的过程中,考虑到相机间外参由平移矩阵和旋转矩阵组成,可以先对相
机间外参分解为平移矩阵和旋转矩阵,对平移矩阵直接执行平均、加权平均,将旋转矩阵转换成欧拉角后执行平均、加权平均,并在执行平均、加权平均后,将欧拉角转换为旋转矩阵,进而求得平均、加权平均后的相机间外参的初值。
149.其中,加权平均处理中的权重可以是不同位姿的置信度,其中,不同位姿的置信度可以在步骤s305中获取,其中不同位姿的置信度表示不同位姿下相机的外参的准确程度。
150.s307:以相机间外参的初值为初始值,建立第一相机的像素坐标系或图像坐标系至第二相机的像素坐标系或图像坐标系中的映射关系,基于该映射关系确定相机间外参的终值。
151.在确定相机间外参的初值后,可以基于相机间外参的初值建立第一相机的像素坐标系或图像坐标系至第二相机的像素坐标系或图像坐标系中的映射关系。
152.可选的,在本技术一些实施例中,在步骤s306中,电子设备可以确定第一相机的内参和第二相机的内参。在该情况下,由于已知第一相机的内参、第二相机的内参以及第一相机和第二相机的相机间外参,可以建立映射关系。其中,表示相机1中图像坐标系或像素坐标系中的图像与相机2中图像坐标系或像素坐标系中图像的关系,如下式(7):(7)。
153.其中,为共视图像在相机1的图像坐标系或像素坐标系的坐标,为共视图像在相机2的图像坐标系或像素坐标系的坐标。
154.可选的,在本技术一些实施例中,在步骤s306中,电子设备可以不确定第一相机的内参和第二相机的内参。在该情况下,由于第一相机的内参和第二相机的内参是固定的,则可以建立映射关系,其中q为第一相机的内参和第二相机的内参决定的一个常量矩阵。其中,也可以表示相机1中图像坐标系/像素坐标系中的图像与相机2中图像坐标系/像素坐标系中图像的关系,如下式(8):(8)。
155.进而通过式(9)求得相机间外参的终值,式(9)如:(9)。
156.可选的,在本技术一些实施例中,可以通过对图像进行相似度计算,进而降低参与式(9)的和的数量,降低计算量。
157.图9为本技术实施例提供的一个降低第一图像组数量方法的一个示例性示意图。
158.如图9所示,第一图像组中任意两个图像,如图像1和图像2,当图像1和图像2的相似度大于阈值的情况下,可以选择图像1或图像2参与步骤s306中式(9)的计算;当图像1和图像2的相似度小于等于阈值的情况下,可以选择图像1和图像2参与步骤s307中式(9)的计算。
159.可以理解的是,相似的图像并不会贡献新的信息,进而提高步骤s306中式(9)的计算的准确度,所以可以通过筛选减低计算量。
160.可选的,在本技术一些实施例中,可以对第一组图像和第二组图像中的包含有共视图像的图像对执行置信度检测。在图像对的置信度大于阈值的情况下,该图像对才会参与步骤s307中式(9)的计算。
161.图10为本技术实施例提供的图像对置信度检测的一个示例性示意图。
162.如图10所示,包含有共视图像对应的物体的图像1和图像2为图像对1。其中,图像1来源于第一组图像,图像2来源于第二组图像。
163.如图10所示,第一组图像和第二组图像之间还可以包括有图像对2、

、其他图像对。
164.确定图像对1的置信度是否大于阈值,若图像对1的置信度大于阈值,则图像对1会参与步骤s307中式(9)的计算;图像对1的置信度小于阈值,则图像对1不会参与步骤s307中式(9)的计算。
165.其中,图像对1的置信度用于衡量图像对1中的共视图像的旋转不变性、缩放不变性、亮度不变性。图像对1的置信度越高,则共视图像或共视图像的特征的旋转不变性、缩放不变性、亮度不变性越好,有利于提高步骤s307中式(9)的计算结果的准确性。
166.值得说明的是,式(9)作为一个优化问题的求解,其初值的选择直接影响到是否能收敛到最优值。本技术实施例中,电子设备通过执行步骤s306,求解得到的初值位于最优值附近,在执行步骤s307后,可以收敛到最优值,如图11所示。
167.图11为本技术实施例提供的一个相机间外参初值与映射误差关系的一个示例性示意图。
168.如图11所示,当相机间外参初值小于初值1时,步骤s307中式(9)的计算结果最后会收敛到次优值1;当相机间外参初值大于初值1小于初值2时,步骤s307中式(9)的计算结果最后会收敛到次优值2;当相机间外参初值大于初值2小于初值3时,步骤s307中式(9)的计算结果最后会收敛到次优值3;当相机间外参初值大于初值3小于初值4时,步骤s307中式(9)的计算结果最后会收敛到最优值。
169.电子设备在执行步骤s306后,求解得到的相机间外参的初值大于初值3小于初值4,或者电子设备求解得到的相机间外参的初值答案概率位于初值3和初值4的范围内,所以可以收敛到最优值,求得相机间外参的终值。
170.可选的在本技术一些实施例中,还可以通过式(9)求解第一相机的相机内参和第二相机的相机内参。可选的,本技术一些实施例中,可以将式(9)中的求解量转换为相机间外参、第一相机的相机内参和第二相机的相机内参,进而直接求得这些参数。
171.最后,介绍本技术实施例提供的电子设备的硬件架构和软件架构。
172.图12为本技术实施例提供的电子设备硬件架构的一个示例性示意图。
173.电子设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、人工智能(artificial intelligence, ai)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本技术实施例对该电子设备的具体类型不作特殊限制。
174.电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总
线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
175.可以理解的是,本发明实施例示意的结构并不构成对电子设备的具体限定。在本技术另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
176.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
177.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
178.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在本技术另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
179.充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。
180.电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。移动通信模块150可以提供应用在电子设备上的包括2g/3g/4g/5g等无线通信的解决方案。调制解调处理器可以包括调制器和解调器。
181.无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。
182.电子设备通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。显示屏194用于显示图像,视频等。
183.isp用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。在一些实施例中,电子设备可以包括1个或n个摄像头193,n为大于1的正整数。其中,摄像头193即为本技术实施例中的第一相机、第二相机。
184.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。视频编解码器用于对数字视频压缩或解压缩。npu为神经网络(neural-network ,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
185.内部存储器121可以包括一个或多个随机存取存储器(random access memory, ram)和一个或多个非易失性存储器(non-volatile memory, nvm)。
186.随机存取存储器可以包括静态随机存储器(static random-access memory, sram)、动态随机存储器(dynamic random access memory, dram)、同步动态随机存储器(synchronous dynamic random access memory, sdram)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory, ddr sdram,例如第五代ddr sdram一般称为ddr5 sdram)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。快闪存储器按照运作原理划分可以包括nor flash、nand flash、3d nand flash等,按照存储单元电位阶数划分可以包括单阶存储单元(single-level cell,slc)、多阶存储单元(multi-level cell,mlc)、三阶储存单元(triple-level cell, tlc)、四阶储存单元(quad-level cell, qlc)等,按照存储规范划分可以包括通用闪存存储(英文:universal flash storage,ufs)、嵌入式多媒体存储卡(embedded multi media card,emmc)等。随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。
187.外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。电子设备可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
188.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170d用于连接有线耳机。
189.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180b可以用于确定电子设备的运动姿态。气压传感器180c用于测量气压。磁传感器180d包括霍尔传感器。加速度传感器180e可检测电子设备在各个方向上(一般为三轴)加速度的大小。距离传感器180f,用于测量距离。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。环境光传感器180l用于感知环境光亮度。指纹传感器180h用于采集指纹。温度传感器180j用于检测温度触摸传感
器180k,也称“触控器件”。骨传导传感器180m可以获取振动信号。
190.按键190包括开机键,音量键等。
191.马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。sim卡接口195用于连接sim卡。
192.图13a是本技术实施例提供的电子设备软件架构的一个示例性示意图。
193.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
194.应用程序层可以包括一系列应用程序包。
195.如图13a所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
196.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
197.如图13a所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
198.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
199.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
200.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
201.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
202.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
203.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
204.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
205.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
206.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
207.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库
(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
208.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
209.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。
210.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形引擎是2d绘图的绘图引擎。三维图形库可以基于相机获取的图像进行同时定位和建图。
211.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
212.下面结合图13b示例性的说明本技术实施例提供的相机间外参的标定方法。
213.图13b为在图13a所示软件架构下实施相机间外参的标定方法的数据流的一个示例性示意图。
214.如图13b所示,摄像头驱动获取相机1拍摄的图像,并将相机1的图像传递给三维图像处理库,三维图像处理库中存在有基于图像获取定位和建图结果的方法或函数。三维图像处理库将定位和建图结果传递给上层,或者基于定位和建图结果进行进一步的处理。
215.三维图像处理库中还可以存在有确定图像是否满足第一条件的方法或函数。三维图像处理库确定相机1拍摄的图像不满足第一条件后,则不能确定准确的定位和建图结果。
216.然后,摄像头驱动可以开启相机2采集图像,并将相机1的图像和相机2的图像传递给三维图形处理库。三维图像处理库执行相机1和相机2的外参标定,即执行步骤s303至步骤s307,确定相机间外参的终值。
217.三维图像处理库在获取到相机间外参的终值后,可以联合处理相机1的图像和相机2的图像去确定准确的定位和建图结果。
218.其中,在步骤s304中,三维图像处理库需要将电子设备执行第一运动的指示传递给其他模块,三维图像处理库需要将电子设备提醒用户对电子设备执行第一运动的指示传递给其他模块。
219.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
220.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软
盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
221.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1