一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

相机位姿确定、虚拟物体显示方法、装置及电子设备与流程

2021-11-15 16:21:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种相机位姿确定、虚拟物体显示方法、装置、电子设备及存储介质。


背景技术:

2.增强现实(augmentedreality,ar)是将虚拟物体叠加在真实场景中并加以显示、交互的系统。目前的ar技术已经成为虚拟现实研究中的一个重要领域,也是人机界面技术发展的一个重要方向。现有技术在为图像捕捉设备采集到的真实场景图像叠加虚拟物体时,往往需要根据图像捕捉设备的位姿,确定虚拟物体与真实场景图像中的真实物体之间的遮挡关系,以提高将虚拟物体叠加在真实场景的效果。
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.当所述第一特征点在所述当前帧图像中的特征描述子与所述第二特征点在所述位姿参照图像中的特征描述子匹配时,则根据所述第一特征点和所述第二特征点,确定所述相机初始位姿。
36.在一种可能实现方式中,所述根据所述第一特征点和所述第二特征点,确定所述
相机初始位姿,包括:
37.获取所述第一特征点在世界坐标系中的三维位置信息,以及,获取所述第二特征点在所述位姿参照图像中的二维位置信息;
38.通过预标定的相机内部参数,根据所述第一特征点在世界坐标系中的三维位置信息和所述第二特征点在所述位姿参照图像中的二维位置信息,确定所述相机初始位姿。
39.根据本公开实施例的第二方面,提供一种虚拟物体显示方法,包括:
40.获取目标相机位姿;所述目标相机位姿为根据上述第一方面或第一方面的任一种可能实现方式中所述的相机位姿确定方法得到的;
41.根据所述目标相机位姿,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系;
42.根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体。
43.在一种可能实现方式中,所述根据所述目标相机位姿,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系,包括:
44.基于所述目标相机位姿,构建虚拟空间场景,所述虚拟空间场景包括相机的观测点、所述待添加虚拟物体和所述待追踪物体的三维模型;
45.获取相机成像平面的像素点,并根据所述观测点、所述观测点的相机朝向信息和所述像素点,在所述虚拟空间场景中生成遮挡关系判定射线,其中,所述遮挡关系判定射线的原点为所述观测点;
46.根据所述遮挡关系判定射线,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系。
47.在一种可能实现方式中,所述根据所述遮挡关系判定射线,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系,包括:
48.当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待添加虚拟物体相交时,则确定所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体。
49.在一种可能实现方式中,所述根据所述遮挡关系判定射线,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系,包括:
50.当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待追踪物体的三维模型相交时,则确定所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体。
51.在一种可能实现方式中,所述根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体,包括:
52.当所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体时,则在所述当前帧图像中为所述像素点绘制所述待添加虚拟物体。
53.在一种可能实现方式中,所述根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体,包括:
54.当所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体时,则在所述当前帧图像中不为所述像素点绘制所述待添加虚拟物体。
55.根据本公开实施例的第三方面,提供一种相机位姿确定装置,包括:
56.获取单元,被配置为执行获取当前帧图像;所述当前帧图像包括待追踪物体;
57.定位单元,被配置为执行确定所述当前帧图像对应的相机初始位姿;
58.投影单元,被配置为执行根据所述相机初始位姿,将所述待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,所述三维模型为根据预设三维对象数据库中与所述当前帧图像相似度最高的目标图像得到的;所述目标图像为对预设的三维标记物体进行环绕拍摄而得到的;
59.校正单元,被配置为执行根据所述投影图像和所述当前帧图像之间的差异,对所述相机初始位姿进行校正,得到目标相机位姿。
60.在一种可能实现方式中,所述校正单元,具体被配置为执行根据所述投影图像,生成所述当前帧图像的物体边缘图像;所述物体边缘图像携带有所述待追踪物体的三维模型在所述投影图像中的物体边缘特征;根据所述物体边缘图像和所述当前帧图像,确定所述当前帧图像对应的位姿调整参数;根据所述位姿调整参数,对所述相机初始位姿进行校正,得到所述目标相机位姿。
61.在一种可能实现方式中,所述校正单元,具体被配置为执行将所述物体边缘图像和所述当前帧图像输入至预训练的位姿优化模型;通过所述预训练的位姿优化模型,提取所述当前帧图像的物体边缘特征和所述物体边缘图像的物体边缘特征,并根据所述当前帧图像的物体边缘特征与所述物体边缘图像的物体边缘特征之间的差异,生成所述位姿调整参数;其中,所述预训练的位姿优化模型是基于训练样本对预设的神经网络训练获取的;所述训练样本包括样本图像和所述样本图像对应的样本物体边缘图像,以及,所述样本图像对应相机的位姿调整参数标签;所述位姿调整参数标签为预先根据所述样本图像的物体边缘特征与所述样本物体边缘图像的物体边缘特征之间的差异进行标记得到的。
62.在一种可能实现方式中,当所述当前帧图像为非第一帧图像时,所述校正单元,具体被配置为执行根据所述位姿调整参数,对所述相机初始位姿进行调整,得到调整后位姿;获取前一帧图像中的前一帧特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据所述调整后位姿和所述前一帧特征点在世界坐标系中的三维位置信息,确定所述前一帧特征点在所述当前帧图像中的投影点;根据所述前一帧特征点在所述当前帧图像中的投影点,确定所述目标相机位姿。
63.在一种可能实现方式中,所述校正单元,具体被配置为执行根据所述投影点,确定所述当前帧图像中的多个候选像素点;所述候选像素点与所述投影点之间的像素距离小于预设的距离阈值;在多个所述候选像素点中,确定目标像素点;其中,所述目标像素点在所述当前帧图像中的特征描述子与所述前一帧特征点在所述前一帧图像中的特征描述子之间的相似度符合预设条件;获取所述目标像素点在所述当前帧图像中的二维位置信息,并通过所述相机内部参数,根据所述目标像素点在所述当前帧图像中的二维位置信息和所述前一帧特征点在世界坐标系中的三维位置信息,确定所述目标相机位姿。
64.在一种可能实现方式中,所述投影单元,具体被配置为执行获取所述三维模型的每个特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据所述相机初始位姿和每个所述特征点在世界坐标系中的三维位置信息,确定每个所述特征点对应的二维位置信息;根据每个所述特征点对应的二维位置信息,生成所述投影图像。
65.在一种可能实现方式中,所述定位单元,具体被配置为执行在所述预设三维对象数据库中,查询与所述当前帧图像相似度最高的位姿参照图像;获取所述当前帧图像中第
一特征点的特征描述子,以及,获取所述位姿参照图像中第二特征点的特征描述子;当所述第一特征点在所述当前帧图像中的特征描述子与所述第二特征点在所述位姿参照图像中的特征描述子匹配时,则根据所述第一特征点和所述第二特征点,确定所述相机初始位姿。
66.在一种可能实现方式中,所述定位单元,具体被配置为执行获取所述第一特征点在世界坐标系中的三维位置信息,以及,获取所述第二特征点在所述位姿参照图像中的二维位置信息;通过预标定的相机内部参数,根据所述第一特征点在世界坐标系中的三维位置信息和所述第二特征点在所述位姿参照图像中的二维位置信息,确定所述相机初始位姿。
67.根据本公开实施例的第四方面,提供一种虚拟物体显示装置,包括:
68.获取单元,被配置为执行获取目标相机位姿;所述目标相机位姿为根据上述第二方法或第二方面的任一种可能实现方式所述的相机位姿确定装置得到的;
69.确定单元,被配置为执行根据所述目标相机位姿,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系;
70.渲染单元,被配置为执行根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体。
71.在一种可能实现方式中,所述确定单元,具体被配置为执行基于所述目标相机位姿,构建虚拟空间场景,所述虚拟空间场景包括相机的观测点、所述待添加虚拟物体和所述待追踪物体的三维模型;获取相机成像平面的像素点,并根据所述观测点、所述观测点的相机朝向信息和所述像素点,在所述虚拟空间场景中生成遮挡关系判定射线,其中,所述遮挡关系判定射线的原点为所述观测点;根据所述遮挡关系判定射线,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系。
72.在一种可能实现方式中,所述确定单元,具体被配置为执行当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待添加虚拟物体相交时,则确定所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体。
73.在一种可能实现方式中,所述确定单元,具体被配置为执行当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待追踪物体的三维模型相交时,则确定所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体。
74.在一种可能实现方式中,所述渲染单元,具体被配置为执行当所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体时,则在所述当前帧图像中为所述像素点绘制所述待添加虚拟物体。
75.在一种可能实现方式中,所述渲染单元,具体被配置为执行当所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体时,则在所述当前帧图像中不为所述像素点绘制所述待添加虚拟物体。
76.根据本公开实施例的第五方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任一种可能实现方式所述的相机位姿确定方法。
77.根据本公开实施例的第六方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第二方面或第二方面的任一种可能实现方式所述的虚拟物体显示方法。
78.根据本公开实施例的第七方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任一种可能实现方式所述的相机位姿确定方法。
79.根据本公开实施例的第八方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面或第二方面的任一种可能实现方式所述的虚拟物体显示方法。
80.根据本公开实施例的第九方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的相机位姿确定方法。
81.根据本公开实施例的第十方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第二方面的任一项实施例中所述的虚拟物体显示方法。
82.本公开的实施例提供的技术方案至少带来以下有益效果:通过获取包括待追踪物体的当前帧图像,并确定当前帧图像对应的相机初始位姿;再基于相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,三维模型为根据预设三维对象数据库中与当前帧图像相似度最高的目标图像得到的;目标图像为对预设的三维标记物体进行环绕拍摄而得到的;根据投影图像和当前帧图像之间的差异,实现对相机初始位姿进行进一步地校正,从而准确地定位出相机的位姿。
83.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
84.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
85.图1是根据一示例性实施例示出的一种相机位姿确定方法的应用环境图。
86.图2是根据一示例性实施例示出的一种相机位姿确定方法的流程图。
87.图3是根据一示例性实施例示出的一种位姿优化模型的网络结构示意图。
88.图4是根据另一示例性实施例示出的一种相机位姿确定方法的流程图。
89.图5是根据一示例性实施例示出的一种虚拟物体显示方法的流程图。
90.图6是根据一示例性实施例示出的一种遮挡关系判定射线的示意图。
91.图7是根据另一示例性实施例示出的一种虚拟物体显示方法的流程图。
92.图8是根据一示例性实施例示出的一种渲染后的当前帧图像的示意图。
93.图9是根据一示例性实施例示出的一种相机位姿确定装置的框图。
94.图10是根据一示例性实施例示出的一种虚拟物体显示装置的框图。
95.图11是根据一示例性实施例示出的一种电子设备的内部结构图。
具体实施方式
96.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
97.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
98.本公开所提供的相机位姿确定方法,可以应用于如图1所示的应用环境中。其中,终端110可以是但不限于各种手机、个人数字助理、平板电脑等。实际应用中,用户可以操控终端110进行一系列的ar游戏。因此,本公开实施例的方法和装置主要在配备有图像捕捉设备的终端110上应用。
99.图2是根据一示例性实施例示出的一种相机位姿确定方法的流程图,如图2所示,该相机位姿确定方法用于图1所示的终端110中,包括以下步骤。
100.在步骤s210中,获取当前帧图像;当前帧图像包括待追踪物体。
101.其中,当前帧图像可以是指包括待追踪物体的图像。
102.其中,待追踪物体可以是指在进行增强现实过程中进行追踪的对象。实际应用中,待追踪物体可以使现实场景中的建筑物、室内家具等物理对象。
103.具体实现中,终端110在进行增强现实时,终端110可以获取图像捕捉设备实时捕捉到的当前帧图像。
104.其中,图像捕捉设备可以但不限于是各种摄像头、相机、摄像机等。
105.需要说明的是,终端110在进行增强现实之前,还需要对图像捕捉设备进行标定。确定图像捕捉设备的相机内部参数。
106.在步骤s220中,确定当前帧图像对应的相机初始位姿。
107.实际应用中,当终端110获取当前帧图像后,终端110可以确定当前帧图像中的特征点,并根据特征点的二维坐标信息和特征点在世界坐标系中的三维坐标信息,基于pnp(perspective n points)算法和相机内部参数,计算当前帧图像对应的相机初始位姿。
108.在步骤s230中,根据相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,三维模型为根据预设三维对象数据库中与当前帧图像相似度最高的目标图像得到的;目标图像为对预设的三维标记物体进行环绕拍摄而得到的。
109.需要说明的是,终端110在获取当前帧图像之前,终端110需要预先对待追踪物体在现实场景中的真实物体,如预设的三维标记物体进行三维建模得到对应的三维模型,并建立基于环绕三维标记物体拍摄的三维对象数据库。
110.实际应用中,终端110可以采用structure from motion算法(一种重建算法)等,对待追踪物体在现实场景中的真实物体(三维标记物体)进行建模,得到三维模型、确定三维模型每个特征点在世界坐标系中的三维坐标、对三维标记物体进行环绕拍摄得到多张三维模型图片,并基于上述数据构建三维对象数据库。
111.换句话说,该三维对象数据库中可以保存四部分信息:一、三维模型的顶点、面片
信息。二、各张三维模型图片中特征点在各张图片中的二维坐标。三、每个特征点的描述子信息。四、每个特征点在世界坐标系中的三维坐标。
112.具体实现中,当终端110获取到图像捕捉设备捕捉的当前帧图像后,终端110可以在上述预设三维对象数据库中的多张三维模型图片中,查询与当前帧图像相似度最高的目标图像。其中,目标图像中的三维模型与当前帧图像中的待追踪物体具有多个匹配特征点。
113.然后,终端110可以根据三维模型的多个匹配特征点对应的在世界坐标系中的三维坐标,基于pnp算法,按照当前确定的相机初始位姿,将该待追踪物体的三维模型投影至相机成像平面,进而得到投影图像。
114.在步骤s240中,根据投影图像和当前帧图像之间的差异,对相机初始位姿进行校正,得到目标相机位姿。
115.具体实现中,当终端110确定投影图像后,终端110通过比对投影图像和当前帧图像之间的差异,终端110根据投影图像和当前帧图像之间的差异,对相机初始位姿进行校正,得到相机初始位姿。具体来说,终端110可以比对投影图像中的物体边缘特征与当前帧图像中的物体边缘特征之间的边缘特征差异,并基于该边缘特征差异对相机初始位姿进行校正,得到目标相机位姿。
116.上述相机位姿确定方法中,通过获取包括待追踪物体的当前帧图像,并确定当前帧图像对应的相机初始位姿;再基于相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,三维模型为根据预设三维对象数据库中与当前帧图像相似度最高的目标图像得到的;目标图像为对预设的三维标记物体进行环绕拍摄而得到的;根据投影图像和当前帧图像之间的差异,实现对相机初始位姿进行进一步地校正,从而准确地定位出相机的位姿。
117.在一示例性实施例中,根据投影图像和当前帧图像之间的差异,对相机初始位姿进行校正,得到目标相机位姿,包括:根据投影图像,生成当前帧图像的物体边缘图像;物体边缘图像携带有待追踪物体的三维模型在投影图像中的物体边缘特征;根据物体边缘图像和当前帧图像,确定当前帧图像对应的位姿调整参数;根据位姿调整参数,对相机初始位姿进行校正,得到目标相机位姿。
118.其中,物体边缘图像携带有待追踪物体的三维模型在投影图像中的物体边缘特征。
119.具体实现中,在根据投影图像和当前帧图像之间的差异,对相机初始位姿进行校正,得到目标相机位姿的过程中,具体包括:终端110对待追踪物体的三维模型在投影图像中的边缘特征进行提取处理,生成物体边缘图像。具体来说,物体边缘图像中的每个像素值表示该像素对应的深度值。其中,像素值为0表示该像素不是待追踪物体的三维模型的边缘。然后,终端110可以根据物体边缘图像和当前帧图像,确定当前帧图像对应的位姿调整参数;最后,终端110根据位姿调整参数,对相机初始位姿进行校正,得到目标相机位姿。
120.具体地,终端110可以通过预训练的神经网络,对物体边缘图像和当前帧图像进行处理,从而输出一个7维的特征向量,作为位姿调整参数。其中,特征向量包括四元数和平移向量,用于表示相机初始位姿与相机实际位姿之间的旋转平移差值。然后,终端110按照该旋转平移差值对相机初始位姿进行调整,得到目标相机位姿。
121.本实施例的技术方案,通过提取投影图像中的物体边缘特征,得到物体边缘图像;
并根据物体边缘图像和当前帧图像,准确地根据投影图像和当前帧图像之间的差异,确定出相机初始位姿对应的位姿调整参数,进而对相机初始位姿进行校正,从而实现准确地定位出目标相机位姿。
122.在一示例性实施例中,根据物体边缘图像和当前帧图像,确定当前帧图像对应的位姿调整参数,包括:将物体边缘图像和当前帧图像输入至预训练的位姿优化模型;通过预训练的位姿优化模型,提取当前帧图像的物体边缘特征和物体边缘图像的物体边缘特征,并根据当前帧图像的物体边缘特征与物体边缘图像的物体边缘特征之间的差异,生成位姿调整参数。
123.其中,预训练的位姿优化模型是基于训练样本对预设的神经网络训练获取的。
124.其中,训练样本包括样本图像和样本图像对应的样本物体边缘图像,以及,样本图像对应相机的位姿调整参数标签。
125.其中,位姿调整参数标签为预先根据样本图像的物体边缘特征与样本物体边缘图像的物体边缘特征之间的差异进行标记得到的。
126.更具体地,预训练的位姿优化模型用于对输入的图像进行卷积、池化、全连接和激活处理,得到与图像对应的位姿调整参数。
127.具体实现中,终端110在根据物体边缘图像和当前帧图像,确定当前帧图像对应的位姿调整参数的过程中,具体包括:终端110将物体边缘图像和当前帧图像作为输入图像,并作为输入参数输入至预训练的位姿优化模型。终端110通过预训练的位姿优化模型,对输入图像进行卷积、池化、全连接和激活处理,从而提取出当前帧图像的物体边缘特征和物体边缘图像的物体边缘特征,并根据当前帧图像的物体边缘特征与物体边缘图像的物体边缘特征之间的差异,生成位姿调整参数。
128.为了便于领域技术人员的理解,图3根据一示例性实施例示出的一种位姿优化模型的网络结构示意图;如图3所示,位姿优化模型包括输出层、第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、全连接层和激活层;实际应用中,激活层可以使用softmax函数;如此,位姿优化模型通过对输入图像进行多层次地卷积和池化处理,可以快速且准确地对物体边缘图像和当前帧图像进行处理,确定对应的位姿调整参数。
129.本实施例的技术方案,通过基于预训练的位姿优化模型对物体边缘图像和当前帧图像进行处理,可以准确地提取出提取当前帧图像的物体边缘特征和物体边缘图像的物体边缘特征,并根据当前帧图像的物体边缘特征与物体边缘图像的物体边缘特征之间的差异,快速且准确地确定与当前的初始位姿对应的位姿调整参数,进而对对初始位姿进行校正,从而实现准确地定位出相机位姿。
130.图4是根据另一示例性实施例示出的一种相机位姿确定方法的流程图,如图4所示,该相机位姿确定方法用于图1所示的终端110中,包括以下步骤。在步骤s402中,获取当前帧图像;所述当前帧图像包括待追踪物体。在步骤s404中,确定所述当前帧图像对应的相机初始位姿。在步骤s406中,根据所述相机初始位姿,将所述待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,所述三维模型为根据预设三维对象数据库中与所述当前帧图像相似度最高的目标图像得到的;所述目标图像为对预设的三维标记物体进行环绕拍摄而得到的。在步骤s408中,根据所述投影图像和所述当前帧图像之间的差异,对所述相机初始位姿进行校正,得到目标相机位姿根据所述投影图像,生成所述当前帧图像的物体
边缘图像;所述物体边缘图像携带有所述待追踪物体的三维模型在所述投影图像中的物体边缘特征。在步骤s410中,将所述物体边缘图像和所述当前帧图像输入至预训练的位姿优化模型。在步骤s412中,通过所述预训练的位姿优化模型,提取所述当前帧图像的物体边缘特征和所述物体边缘图像的物体边缘特征,并根据所述当前帧图像的物体边缘特征与所述物体边缘图像的物体边缘特征之间的差异,生成位姿调整参数。在步骤s414中,根据所述位姿调整参数,对所述相机初始位姿进行校正,得到所述目标相机位姿。上述步骤的具体限定可以参见上文对一种相机位姿确定方法的具体限定,在此不再赘述。
131.在一示例性实施例中,当当前帧图像为非第一帧图像时,根据位姿调整参数,对相机初始位姿进行校正,得到目标相机位姿,包括:根据位姿调整参数,对相机初始位姿进行调整,得到调整后位姿;获取前一帧图像中的前一帧特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据调整后位姿和前一帧特征点在世界坐标系中的三维位置信息,确定前一帧特征点在当前帧图像中的投影点;根据前一帧特征点在当前帧图像中的投影点,确定目标相机位姿。
132.其中,前一帧特征点可以是前一帧图像中的各个特征点。
133.其中,前一帧图像为当前帧图像的上一帧图像。
134.具体实现中,当当前帧图像为非第一帧图像时,终端110在根据位姿调整参数,对相机初始位姿进行校正,得到目标相机位姿的过程中,具体包括:终端110在确定位姿调整参数后,终端110根据位姿调整参数中的对相机初始位姿进行调整,得到调整后位姿。然后,终端110获取相机捕捉的前一帧图像,并确定前一帧图像中的前一帧特征点在世界坐标系中的三维位置信息,例如,前一帧特征点在世界坐标系中的三维坐标信息。
135.然后,终端110可以基于pnp算法,通过图像捕捉设备的相机内部参数,根据调整后位姿和前一帧特征点在世界坐标系中的三维坐标信息,将该前一帧特征点投影到当前帧图像中,进而确定前一帧特征点在当前帧图像中的投影点;然后,终端110在根据前一帧特征点在当前帧图像中的投影点,确定目标相机位姿。
136.本实施例的技术方案,当当前帧图像为非第一帧图像时,通过将前一帧图像中的前一帧特征点投影到当前帧图像中,进而确定前一帧特征点在当前帧图像中的投影点;并根据该投影点在在当前帧图像中的位置信息,对基于位姿调整参数校正后的调整后位姿进行进一步地校正,使得更为精确地定位出相机位姿。
137.在一示例性实施例中,根据前一帧特征点在当前帧图像中的投影点,确定目标相机位姿,包括:根据投影点,确定当前帧图像中的多个候选像素点;候选像素点与投影点之间的像素距离小于预设的距离阈值;在多个候选像素点中,确定目标像素点;其中,目标像素点在当前帧图像中的特征描述子与前一帧特征点在前一帧图像中的特征描述子之间的相似度符合预设条件;获取目标像素点在当前帧图像中的二维位置信息,并通过相机内部参数,根据目标像素点在当前帧图像中的二维位置信息和前一帧特征点在世界坐标系中的三维位置信息,确定目标相机位姿。
138.其中,候选像素点与投影点之间的像素距离小于预设的距离阈值。
139.其中,目标像素点在当前帧图像中的特征描述子与前一帧特征点在前一帧图像中的特征描述子之间的相似度符合预设条件。
140.具体实现中,当终端110在根据前一帧特征点在当前帧图像中的投影点,确定目标
相机位姿的过程中,具体包括:终端110根据投影点,确定当前帧图像中的多个候选像素点;其中,候选像素点与投影点之间的像素距离小于预设的距离阈值。具体来说,终端110在根据投影点,确定当前帧图像中的多个候选像素点时,终端110可以以投影点为圆心,x像素为半径,确定候选像素区域。将候选像素区域中的像素点作为多个候选像素点,以使候选像素点与投影点之间的像素距离小于预设的距离阈值x。其中,x为正整数;实际应用中,x可以取5。如此,通过选择与投影点之间的像素距离小于预设的距离阈值的候选像素点即投影点临域内的描述子,可以减少描述子比对的数据量。
141.然后,终端110根据前一帧特征点在前一帧图像中的特征描述子,在多个候选像素点中,确定目标像素点。其中,目标像素点在当前帧图像中的特征描述子与前一帧特征点在前一帧图像中的特征描述子之间的相似度符合预设条件。
142.实际应用中,当目标像素点在当前帧图像中的特征描述子与前一帧特征点在前一帧图像中的特征描述子之间的相似度大于预设的阈值时,则判定目标像素点在当前帧图像中的特征描述子与前一帧特征点在前一帧图像中的特征描述子之间的相似度符合预设条件,以使目标像素点在当前帧图像中的特征描述子为与前一帧特征点在前一帧图像中的特征描述子最相似的特征描述子。然后,终端110将目标像素点在当前帧图像中的二维位置信息,作为该投影点新的二维位置信息。
143.最后,终端110可以利用pnp算法,通过图像捕捉设备的相机内部参数,根据目标像素点在当前帧图像中的二维位置信息和前一帧特征点在世界坐标系中的三维位置信息,例如,前一帧特征点在世界坐标系中的三维坐标信息,计算出图像捕捉设备的最终位姿,并将该最终位姿,作为目标相机位姿。
144.本实施例的技术方案,在根据前一帧特征点在当前帧图像中的投影点,确定目标相机位姿的过程中,通过在当前帧图像中确定特征描述子与前一帧特征点在前一帧图像中的特征描述子最相似的目标像素点,对投影点在当前帧图像中的二维位置信息进行更新,并根据更新后的投影点在当前帧图像中的二维位置信息,准确地确定图像捕捉设备的最终位姿,作为目标相机位姿,使得到的目标相机位姿可以更为精确地表达出图像捕捉设备的位置信息和姿态信息,从而减少确定虚拟物体与真实物体之间的遮挡关系的误差,进而提高将虚拟物体叠加在真实场景的效果。
145.在一示例性实施例中,确定当前帧图像对应的相机初始位姿,包括:在预设三维对象数据库中,查询与当前帧图像相似度最高的位姿参照图像;获取当前帧图像中第一特征点的特征描述子,以及,获取位姿参照图像中第二特征点的特征描述子;当第一特征点在当前帧图像中的特征描述子与第二特征点在位姿参照图像中的特征描述子匹配时,则根据第一特征点和第二特征点,确定相机初始位姿。
146.具体实现中,终端110在确定当前帧图像对应的相机初始位姿的过程中,具体包括:终端110可以获取在预设三维对象数据库中,查询与当前帧图像相似度最高的位姿参照图像;具体来说,终端110可以对当前帧图像进行特征点提取,确定当前帧图像的特征点。然后,终端110可以利用bow(bag of words,词袋)算法,根据当前帧图像的特征点在预设三维对象数据库中的多张图像中,查询位姿参照图像。其中,位姿参照图像的特征点与当前帧图像的特征点之间的特征相似度满足预设条件,以使位姿参照图像为与当前帧图像最相似的图像。
147.然后,终端110可以获取当前帧图像中第一特征点的特征描述子,以及,获取位姿参照图像中第二特征点的特征描述子。然后,终端110判断第一特征点的特征描述子与第二特征点的特征描述子是否匹配,当第一特征点的特征描述子与第二特征点的特征描述子匹配时,根据第一特征点和第二特征点,确定相机初始位姿。
148.需要说明的是,第一特征点与第二特征点为一组匹配特征点。实际应用中,位姿参照图像与待追踪物体之间的匹配特征点具有m组。实际应用中,m为正整数,m的最低值可以是15。
149.在一示例性实施例中,根据第一特征点和第二特征点,确定相机初始位姿,包括:获取第一特征点在世界坐标系中的三维位置信息,以及,获取第二特征点在位姿参照图像中的二维位置信息;通过预标定的相机内部参数,根据第一特征点在世界坐标系中的三维位置信息和第二特征点在位姿参照图像中的二维位置信息,确定相机初始位姿。
150.具体实现中,当终端110根据第一特征点和第二特征点,确定相机初始位姿的过程中,终端110可以查询每个第一特征点在世界坐标系中的三维位置信息,例如,每个第一特征点在世界坐标系中的三维坐标信息。同时,终端110确定每个第二特征点在位姿参照图像中的二维位置信息,例如,每个第二特征点在位姿参照图像中的二维坐标信息;
151.最后,终端110可以基于pnp算法,通过相机内部参数,根据第一特征点在世界坐标系中的三维坐标信息和第二特征点在位姿参照图像中的二维坐标信息,计算出相机当前所处的初始位姿即相机初始位姿。
152.本实施例的技术方案,通过根据当前帧图像查询预设三维对象数据库中对应的深度信息,进而利用该深度信息准确地计算出当前帧图像对应的相机初始位姿,以用于在后续快速地对相机初始位姿进行校正,使得到的目标相机位姿可以更为精确地表达出图像捕捉设备的位置信息和姿态信息。
153.在一示例性实施例中,根据相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像,包括:获取三维模型的每个特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据相机初始位姿和每个特征点在世界坐标系中的三维位置信息,确定每个特征点对应的二维位置信息;根据每个特征点对应的二维位置信息,生成投影图像。
154.具体实现中,终端110在根据相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像的过程中,终端110可以在预设三维对象数据库中,获取待追踪物体的三维模型的每个特征点在世界坐标系中的三维位置信息,例如;每个特征点在世界坐标系中的三维坐标信息。
155.然后,终端110基于pnp算法,通过相机内部参数,根据相机初始位姿和每个特征点在世界坐标系中的三维坐标信息进行投影,确定每个特征点对应的二维坐标信息;最后,终端110根据每个特征点对应的二维位置信息,生成相机在处于该相机初始位姿时三维模型对应的投影图像。
156.本实施例的技术方案,通过获取三维模型的每个特征点在世界坐标系中的三维位置信息;并通过预标定的相机内部参数,根据相机初始位姿和每个特征点在世界坐标系中的三维位置信息,准确地确定每个特征点对应的二维位置信息;从而根据每个特征点对应的二维位置信息生成投影图像,准确地对将待追踪物体的三维模型投影至相机成像平面,
得到相机在处于相机初始位姿时三维模型对应的投影图像。
157.图5是根据一示例性实施例示出的一种虚拟物体显示方法的流程图,如图5所示,该虚拟物体显示方法用于图1所示的终端110中,包括以下步骤。
158.在步骤s510中,获取目标相机位姿;目标相机位姿为根据上述实施例中任一项的相机位姿确定方法得到的。在步骤s520中,根据目标相机位姿,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系。
159.具体实现中,当终端110采用上述的相机位姿确定方法得到的目标相机位姿后,终端110可以根据该目标相机位姿,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系。具体来说,终端110可以按照该目标相机位姿,确定相机的观测点和观测方向,并基于待添加虚拟物体的三维坐标信息和待追踪物体的三维模型的三维坐标信息,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系。
160.在步骤s530中,根据遮挡关系,在当前帧图像中渲染出待添加虚拟物体。
161.具体实现中,当终端110确定确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系后,终端110可以根据该遮挡关系,在当前帧图像中渲染出待添加虚拟物体,得到渲染后的当前帧图像。
162.上述的虚拟物体显示方法,通过获取包括待追踪物体的当前帧图像,并确定当前帧图像对应的相机初始位姿;再基于相机初始位姿,将待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,三维模型为根据预设三维对象数据库中与当前帧图像相似度最高的目标图像得到的;目标图像为对预设的三维标记物体进行环绕拍摄而得到的;根据投影图像和当前帧图像之间的差异,对相机初始位姿进行校正,通过在初步确定相机的相机初始位姿后,基于该相机初始位姿和三维对象数据库的特征点信息,对相机初始位姿进行进一步地校正,从而准确地定位出相机的位姿,再基于目标相机位姿,准确地确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系,减少确定虚拟物体与真实物体之间的遮挡关系的误差,使虚拟物体在当前帧图像中具有更好的纵深感、真实感,提高将虚拟物体叠加在真实场景的显示效果。
163.在一示例性实施例中,根据目标相机位姿,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系,包括:基于目标相机位姿,构建虚拟空间场景,虚拟空间场景包括相机的观测点、待添加虚拟物体和待追踪物体的三维模型;获取相机成像平面的像素点,并根据观测点、观测点的相机朝向信息和像素点,在虚拟空间场景中生成遮挡关系判定射线;其中,遮挡关系判定射线的原点为观测点;根据遮挡关系判定射线,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系。
164.其中,虚拟空间场景可以是指基于待添加虚拟物体和待追踪物体的三维模型、目标相机位姿的三维坐标信息进行模拟得到的空间场景。
165.具体来说,终端110在根据目标相机位姿,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系的过程中,具体包括:终端110基于目标相机位姿,构建虚拟空间场景,虚拟空间场景包括相机的观测点、待添加虚拟物体和待追踪物体的三维模型。然后,终端110获取相机成像平面的像素点,并根据观测点、观测点的相机朝向信息和像素点,在虚拟空间场景中生成遮挡关系判定射线;其中,遮挡关系判定射线的原点为观测点。
166.其中,遮挡关系判定射线可以为
167.其中,r为相机坐标系到世界坐标系的旋转矩阵,即观测点的相机朝向信息;k
inv
为相机内部参数的矩阵的逆;为像素点i在图像中的二维坐标;o为相机中心在世界坐标系中的坐标即观测点的坐标。
168.为了便于本领域技术人员的理解,图6提供了一种遮挡关系判定射线的示意图;其中,610为遮挡关系判定射线;620为相机成像平面;x为像素点;o为相机中心在世界坐标系中的坐标。
169.最后,终端110再根据遮挡关系判定射线,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系。
170.在一示例性实施例中,根据遮挡关系判定射线,确定待添加虚拟物体在当前帧图像中与待追踪物体之间的遮挡关系,包括:当在虚拟空间场景中遮挡关系判定射线先与待添加虚拟物体相交时,则确定像素点对应的遮挡关系为待添加虚拟物体遮挡到待追踪物体。当在虚拟空间场景中遮挡关系判定射线先与待追踪物体的三维模型相交时,则确定像素点对应的遮挡关系为待追踪物体遮挡到待添加虚拟物体。
171.具体实现中,当终端110判断出在虚拟空间场景中遮挡关系判定射线先与待添加虚拟物体相交时,则确定像素点对应的遮挡关系为待添加虚拟物体遮挡到待追踪物体。当终端110判断出在虚拟空间场景中遮挡关系判定射线先与待追踪物体的三维模型相交时,则确定像素点对应的遮挡关系为待追踪物体遮挡到待添加虚拟物体。
172.另外,当终端110判断出在虚拟空间场景中遮挡关系判定射线均不与待追踪物体的三维模型和待添加虚拟物体相交时,则终端110确定该像素点不存在待追踪物体和待添加虚拟物体。
173.上述实施例的技术方案,通过获取相机成像平面的像素点,并根据观测点、观测点的相机朝向信息和像素点,在虚拟空间场景中生成遮挡关系判定射线,并基于该遮挡关系判定射线准确地判断在虚拟空间场景待追踪物体的三维模型与待添加虚拟物体的遮挡关系,从而便于后续准确地在当前帧图像中渲染出待添加虚拟物体。
174.在一示例性实施例中,根据遮挡关系,在当前帧图像中渲染出待添加虚拟物体,包括:当像素点对应的遮挡关系为待添加虚拟物体遮挡到待追踪物体时,则在当前帧图像中为像素点绘制待添加虚拟物体。当像素点对应的遮挡关系为待追踪物体遮挡到待添加虚拟物体时,则在当前帧图像中不为像素点绘制待添加虚拟物体。
175.具体实现中,当终端110根据遮挡关系,在当前帧图像中渲染出待添加虚拟物体的过程中,通过当像素点对应的遮挡关系为待添加虚拟物体遮挡到待追踪物体时,则在当前帧图像中为像素点绘制待添加虚拟物体。当像素点对应的遮挡关系为待追踪物体遮挡到待添加虚拟物体时,则在当前帧图像中不为像素点绘制待添加虚拟物体。如此,在当前帧图像绘制出待添加虚拟物体,得到渲染后的当前帧图像。
176.图7是根据另一示例性实施例示出的一种虚拟物体显示方法的流程图,如图7所示,该虚拟物体显示方法用于图1所示的终端110中,包括以下步骤。在步骤s702中,获取目标相机位姿;所述目标相机位姿为根据权利要求1至8中任一项所述的相机位姿确定方法得到的。在步骤s704中,基于所述目标相机位姿,构建虚拟空间场景,所述虚拟空间场景包括相机的观测点、所述待添加虚拟物体和所述待追踪物体的三维模型。在步骤s706中,获取相机成像平面的像素点,并根据所述观测点、所述观测点的相机朝向信息和所述像素点,在所
述虚拟空间场景中生成遮挡关系判定射线,其中,所述遮挡关系判定射线的原点为所述观测点。在步骤s708中,根据所述遮挡关系判定射线,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系。在步骤s710中,根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体。上述步骤的具体限定可以参见上文对一种虚拟物体显示方法的具体限定,在此不再赘述。
177.为了便于本领域技术人员的理解,图8实例性地提供了一种渲染后的当前帧图像的示意图。其中,810为待追踪物体;820为虚拟物体。
178.应该理解的是,虽然图2、图4、图5和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4、图5和图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
179.图9是根据一示例性实施例示出的一种相机位姿确定装置框图。参照图9,该装置包括:
180.获取单元910,被配置为执行获取当前帧图像;所述当前帧图像包括待追踪物体;
181.定位单元920,被配置为执行确定所述当前帧图像对应的相机初始位姿;
182.投影单元930,被配置为执行根据所述相机初始位姿,将所述待追踪物体的三维模型投影至相机成像平面,得到投影图像;其中,所述三维模型为根据预设三维对象数据库中与所述当前帧图像相似度最高的目标图像得到的;所述目标图像为对预设的三维标记物体进行环绕拍摄而得到的;
183.校正单元940,被配置为执行根据所述投影图像和所述当前帧图像之间的差异,对所述相机初始位姿进行校正,得到目标相机位姿。
184.在一种可能实现方式中,所述校正单元940,具体被配置为执行根据所述投影图像,生成所述当前帧图像的物体边缘图像;所述物体边缘图像携带有所述待追踪物体的三维模型在所述投影图像中的物体边缘特征;根据所述物体边缘图像和所述当前帧图像,确定所述当前帧图像对应的位姿调整参数;根据所述位姿调整参数,对所述相机初始位姿进行校正,得到所述目标相机位姿。
185.在一种可能实现方式中,所述校正单元940,具体被配置为执行将所述物体边缘图像和所述当前帧图像输入至预训练的位姿优化模型;通过所述预训练的位姿优化模型,提取所述当前帧图像的物体边缘特征和所述物体边缘图像的物体边缘特征,并根据所述当前帧图像的物体边缘特征与所述物体边缘图像的物体边缘特征之间的差异,生成所述位姿调整参数;其中,所述预训练的位姿优化模型是基于训练样本对预设的神经网络训练获取的;所述训练样本包括样本图像和所述样本图像对应的样本物体边缘图像,以及,所述样本图像对应相机的位姿调整参数标签;所述位姿调整参数标签为预先根据所述样本图像的物体边缘特征与所述样本物体边缘图像的物体边缘特征之间的差异进行标记得到的。
186.在一种可能实现方式中,当所述当前帧图像为非第一帧图像时,所述校正单元940,具体被配置为执行根据所述位姿调整参数,对所述相机初始位姿进行调整,得到调整
后位姿;获取前一帧图像中的前一帧特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据所述调整后位姿和所述前一帧特征点在世界坐标系中的三维位置信息,确定所述前一帧特征点在所述当前帧图像中的投影点;根据所述前一帧特征点在所述当前帧图像中的投影点,确定所述目标相机位姿。
187.在一种可能实现方式中,所述校正单元940,具体被配置为执行根据所述投影点,确定所述当前帧图像中的多个候选像素点;所述候选像素点与所述投影点之间的像素距离小于预设的距离阈值;在多个所述候选像素点中,确定目标像素点;其中,所述目标像素点在所述当前帧图像中的特征描述子与所述前一帧特征点在所述前一帧图像中的特征描述子之间的相似度符合预设条件;获取所述目标像素点在所述当前帧图像中的二维位置信息,并通过所述相机内部参数,根据所述目标像素点在所述当前帧图像中的二维位置信息和所述前一帧特征点在世界坐标系中的三维位置信息,确定所述目标相机位姿。
188.在一种可能实现方式中,所述投影单元930,具体被配置为执行获取所述三维模型的每个特征点在世界坐标系中的三维位置信息;通过预标定的相机内部参数,根据所述相机初始位姿和每个所述特征点在世界坐标系中的三维位置信息,确定每个所述特征点对应的二维位置信息;根据每个所述特征点对应的二维位置信息,生成所述投影图像。
189.在一种可能实现方式中,所述定位单元920,具体被配置为执行在所述预设三维对象数据库中,查询与所述当前帧图像相似度最高的位姿参照图像;获取所述当前帧图像中第一特征点的特征描述子,以及,获取所述位姿参照图像中第二特征点的特征描述子;当所述第一特征点在所述当前帧图像中的特征描述子与所述第二特征点在所述位姿参照图像中的特征描述子匹配时,则根据所述第一特征点和所述第二特征点,确定所述相机初始位姿。
190.在一种可能实现方式中,所述定位单元920,具体被配置为执行获取所述第一特征点在世界坐标系中的三维位置信息,以及,获取所述第二特征点在所述位姿参照图像中的二维位置信息;通过预标定的相机内部参数,根据所述第一特征点在世界坐标系中的三维位置信息和所述第二特征点在所述位姿参照图像中的二维位置信息,确定所述相机初始位姿。
191.图10是根据一示例性实施例示出的一种虚拟物体显示装置框图。参照图10,该装置包括:
192.获取单元1010,被配置为执行获取目标相机位姿;所述目标相机位姿为根据上述第二方法或第二方面的任一种可能实现方式所述的相机位姿确定装置得到的;
193.确定单元1020,被配置为执行根据所述目标相机位姿,确定待添加虚拟物体在所述当前帧图像中与所述待追踪物体之间的遮挡关系;
194.渲染单元1030,被配置为执行根据所述遮挡关系,在所述当前帧图像中渲染出所述待添加虚拟物体。
195.在一种可能实现方式中,所述确定单元1020,具体被配置为执行基于所述目标相机位姿,构建虚拟空间场景,所述虚拟空间场景包括相机的观测点、所述待添加虚拟物体和所述待追踪物体的三维模型;获取相机成像平面的像素点,并根据所述观测点、所述观测点的相机朝向信息和所述像素点,在所述虚拟空间场景中生成遮挡关系判定射线,其中,所述遮挡关系判定射线的原点为所述观测点;根据所述遮挡关系判定射线,确定待添加虚拟物
体在所述当前帧图像中与所述待追踪物体之间的遮挡关系。
196.在一种可能实现方式中,所述确定单元1020,具体被配置为执行当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待添加虚拟物体相交时,则确定所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体。
197.在一种可能实现方式中,所述确定单元1020,具体被配置为执行当在所述虚拟空间场景中所述遮挡关系判定射线先与所述待追踪物体的三维模型相交时,则确定所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体。
198.在一种可能实现方式中,所述渲染单元1030,具体被配置为执行当所述像素点对应的遮挡关系为所述待添加虚拟物体遮挡到所述待追踪物体时,则在所述当前帧图像中为所述像素点绘制所述待添加虚拟物体。
199.在一种可能实现方式中,所述渲染单元1030,具体被配置为执行当所述像素点对应的遮挡关系为所述待追踪物体遮挡到所述待添加虚拟物体时,则在所述当前帧图像中不为所述像素点绘制所述待添加虚拟物体。
200.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
201.图11是根据一示例性实施例示出的一种用于执行相机位姿确定、虚拟物体显示方法的设备1100的框图。例如,设备1100可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
202.参照图11,设备1100可以包括以下一个或多个组件:处理组件1102、存储器1104、电力组件1106、多媒体组件1108、音频组件1110、输入/输出(i/o)的接口1112、传感器组件1114以及通信组件1116。
203.处理组件1102通常控制设备1100的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
204.存储器1104被配置为存储各种类型的数据以支持在设备1100的操作。这些数据的示例包括用于在设备1100上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘或光盘。
205.电源组件1106为设备1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为设备1100生成、管理和分配电力相关联的组件。
206.多媒体组件1108包括在所述设备1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多
媒体组件1108包括一个前置摄像头和/或后置摄像头。当设备1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
207.音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(mic),当设备1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
208.i/o接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
209.传感器组件1114包括一个或多个传感器,用于为设备1100提供各个方面的状态评估。例如,传感器组件1114可以检测到设备1100的打开/关闭状态,组件的相对定位,例如所述组件为设备1100的显示器和小键盘,传感器组件1114还可以检测设备1100或设备1100一个组件的位置改变,用户与设备1100接触的存在或不存在,设备1100方位或加速/减速和设备1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
210.通信组件1116被配置为便于设备1100和其他设备之间有线或无线方式的通信。设备1100可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
211.在示例性实施例中,设备1100可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
212.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1104,上述指令可由设备1100的处理器1120执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
213.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
214.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献