CN110415293B - 交互处理方法、装置、系统和计算机设备 - Google Patents
交互处理方法、装置、系统和计算机设备 Download PDFInfo
- Publication number
- CN110415293B CN110415293B CN201810388215.3A CN201810388215A CN110415293B CN 110415293 B CN110415293 B CN 110415293B CN 201810388215 A CN201810388215 A CN 201810388215A CN 110415293 B CN110415293 B CN 110415293B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- coordinates
- world
- current
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种交互处理方法、装置、系统和计算机设备,该方法包括:获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标;将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。本申请的方案能够提高增强现实场景所表达的信息量。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种交互处理方法、装置、系统和计算机设备。
背景技术
随着科学技术的飞速发展,AR(Augmented Reality,增强现实)技术应运而生。AR技术使现实世界的场景和虚拟世界的场景不再隔离,实现了二者的共同显示。
传统方法中,一般是在终端设备中运行AR应用,然后在终端设备视野范围内的真实场景中叠加显示虚拟场景。由于终端设备的视野范围有限,导致展示的增强现实场景有限。因此,有限展示的增强现实场景所表达的信息量比较低。
发明内容
基于此,有必要针对传统方法的增强现实场景所表达的信息量比较低的问题,提供一种交互处理方法、装置、系统、计算机设备和存储介质。
一种交互处理方法,所述方法包括:
获取采集的当前图像帧;
在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
获取所述本地坐标所映射至的当前世界坐标;将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
一种交互处理装置,所述装置包括:
获取模块,用于获取采集的当前图像帧;
显示模块,用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
映射模块,用于获取所述本地坐标所映射至的当前世界坐标;
同步模块,用于将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象
一种交互处理系统,包括:第一设备和第二设备;
所述第一设备,用于获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标;将所述当前世界坐标同步至所述第二设备;
所述第二设备,用于在所述第二设备的相机坐标系中确定与同步的所述当前世界坐标相应的坐标;在确定的所述坐标处显示所述虚拟对象。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取采集的当前图像帧;
在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
获取所述本地坐标所映射至的当前世界坐标;将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:
获取采集的当前图像帧;
在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
获取所述本地坐标所映射至的当前世界坐标;将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
上述交互处理方法、装置、系统、计算机设备和存储介质,在采集的当前图像帧上,将虚拟对象按其在本地相机坐标系中的本地坐标显示,然后获取该本地坐标所映射至的当前世界坐标,将当前世界坐标同步至目标设备,当前世界坐标用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象,即目标设备会将同步的当前世界坐标转换为该目标设备的相机坐标系中的坐标,然后按目标设备的相机坐标系中的坐标显示虚拟对象。那么,本地的虚拟对象和目标设备中的虚拟对象对应于同一世界坐标系中的相同位置,从而实现了本地与目标设备中增强现实场景的同步,即实现了不同设备间的增强现实场景的交互,提高了增强现实场景所表达的信息量。
附图说明
图1A为一个实施例中交互处理方法的应用场景图;
图1B为另一个实施例中交互处理方法的应用场景图;
图2为一个实施例中交互处理方法的流程示意图;
图3为一个实施例中多个坐标系的关系示意图;
图4为一个实施例中交互方法的原理示意图;
图5为一个实施例中地图点集合的示意图;
图6为一个实施例中交互处理系统的框图;
图7为一个实施例中交互处理方法的时序图;
图8为一个实施例中交互处理装置的框图;
图9为另一个实施例中交互处理装置的框图;
图10为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1A为一个实施例中交互处理方法的应用场景图。参照图1A,该应用场景中包括建立通信连接的第一设备110和第二设备120。其中,第一设备110和第二设备120皆可以具备图像采集功能、增强现实处理功能和地图点集合构建功能。在一个实施例中,第一设备110和第二设备120中可运行增强现实应用。其中,增强显示应用,是能够实现增强现实处理功能的应用程序。
需要说明的是,为了实现双向通信,第一设备和第二设备的功能可以互换。本申请各实施例中的“第一”和“第二”仅用作区分,并不用于大小、先后和从属等其他方面的限定。
第一设备110可以获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标。第一设备110可以将虚拟对象在世界坐标系中的当前世界坐标同步至第二设备120(即目标设备)。同步的当前世界坐标,用于指示按第二设备120的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
可以理解,如图1B所示,在一个实施例中,第一设备110和第二设备120可以分别与服务器130建立网络连接,以通过服务器130实现相互间的通信。比如,第一设备110可以将虚拟对象在世界坐标系中的当前世界坐标发送至服务器130,由服务器130将虚拟对象在世界坐标系中的当前世界坐标转发至第二设备120。
图2为一个实施例中交互处理方法的流程示意图。该交互处理方法可以应用于图1中的第一设备110或第二设备120中,本实施例主要以该交互处理方法应用于图1中的第一设备110来举例说明。参照图2,该方法具体包括如下步骤:
S202,获取采集的当前图像帧。
其中,当前图像帧,是当前从真实场景中采集的图像帧。
在一个实施例中,获取的当前图像帧可以是当前采集的关键帧。
其中,关键帧是具备超过预设数量阈值的特征点、且相较于相邻图像帧产生超过预设视差阈值的视差的图像帧。特征点,是指图像灰度值发生剧烈变化的点或者图像中两个边缘的交点。特征点能够反映图像本质特征,能够标识图像中目标物体。视差,是从有一定距离的两个点上观察同一个目标所产生的方向差异。
可以理解,第一设备可以直接获取已采集的当前图像帧。第一设备也可以调用摄像头在真实场景中采集当前图像帧。
S204,在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示。
其中,本地相机坐标系,是指在本地建立的相机坐标系。可以理解,第一设备可以采集图像帧,所以第一设备本身具备相机功能,在第一设备本地则可以建立相机坐标系。本地相机坐标系则是以第一设备中的光轴与图像平面的交点为原点,x轴与y轴分别与图像的边平行,z轴为第一设备中的光轴所构成的三维直角坐标系。
需要说明的是,步骤S204中所述的虚拟对象在本地相机坐标系中的本地坐标,是指与当前图像帧对应的虚拟对象在本地相机坐标系中的本地坐标。比如,该虚拟对象在本地相机坐标系中的本地坐标,可以是采集当前图像帧时,该虚拟对象在本地相机坐标系中的本地坐标。
具体地,第一设备可以确定虚拟对象在本地相机坐标系中的本地坐标,并在当前图像帧上,将虚拟对象按该虚拟对象在本地相机坐标系中的本地坐标进行显示。即计算机设备可以按照在虚拟对象本地相机坐标系中的本地坐标在当前图像帧中确定相应的显示位置,并将虚拟对象在该显示位置处进行叠加显示。可以理解,虚拟对象叠加显示于当前图像帧上,即可形成增强现实场景。
S206,获取本地坐标所映射至的当前世界坐标。
其中,当前世界坐标,是虚拟对象在世界坐标系中所处的当前坐标。世界坐标系是固定不变的绝对坐标系。
在一个实施例中,第一设备可以通过其他设备获取本地坐标所映射至的当前世界坐标。比如,第一设备可以将虚拟对象在本地相机坐标系中的本地坐标发送至服务器,由服务器将该本地坐标映射为相应的当前世界坐标并返回,第一设备获取服务器返回的本地坐标所映射至的当前世界坐标。
在一个实施例中,步骤S206包括:在基于世界坐标系的地图点集合中,查找与当前图像帧中特征点匹配的地图点;根据查找到的地图点的世界坐标和与该地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照虚拟对象在本地相机坐标系中的本地坐标以及当前坐标转换关系,确定虚拟对象在世界坐标系中的当前世界坐标。
其中,地图点集合,是多个三维的地图点集合。地图点,是由采集的图像帧中特征点在世界坐标系中所对应的世界坐标定位得到。即地图点是现实世界中的点。比如,现实世界中有一点A,经过图像采集,该点A在图像帧中对应特征点A’,那么,根据点A’在世界坐标系中所对应的世界坐标定位可以得到地图点A。
可以理解,由于地图点集合是由在世界坐标系中的多个世界坐标定位得到,所以,地图点集合是基于世界坐标系建立的。
需要说明的是,由于地图点是由图像帧中的特征点在世界坐标系中所对应的世界坐标定位得到,那么地图点和特征点之间具有一对一的匹配关系。比如,根据特征点A’在世界坐标系中对应的世界坐标定位得到地图点A,那么,特征点A’和地图点A就相匹配。
具体地,第一设备中预先基于世界坐标系,根据从现实世界中采集的图像帧中特征点所对应的世界坐标构建地图点集合。在一个实施例中,用于构建地图点集合的图像帧包括第一设备本地(及第一设备自身)采集的图像帧和/或同步至本地(即同步至第一设备)的图像帧。
第一设备可以在预先基于世界坐标系的地图点集合中,查找与当前图像帧中的特征点匹配的地图点。可以理解,第一设备可以在地图点集合中查找到与当前图像帧中所有特征点匹配的地图点。第一设备也可以是在地图点集合查找到与当前图像帧中部分特征点匹配的地图点,即当前图像帧中有部分特征点与地图点集合中的地图点匹配成功,部分特征点与地图点集合中的地图点匹配失败。
需要说明的是,这里,与地图点匹配的特征点,是指当前图像帧中与查找到的地图点匹配的特征点。
其中,地图点的世界坐标,是指地图点在世界坐标系中的世界坐标。可以理解,由于地图点是由世界坐标定位得到,所以地图点的世界坐标即为定位得到该地图点的世界坐标。比如,根据世界坐标(x1,y1,z1)定位得到地图点A,那么地图点A的世界坐标即为世界坐标系中的坐标(x1,y1,z1)。
当前坐标转换关系,是世界坐标系和本地相机坐标系当前的坐标转换关系。可以理解,由于第一设备在使用过程中可能发送位置移动,那么不同位置处的第一设备的本地相机坐标系和世界坐标系之间的坐标转换关系就会不同,因此,根据当前图像帧确定的
需要说明的是,本申请实施例中使用“世界坐标”和“本地坐标”,是为了将世界坐标系中的坐标和本地相机坐标系中的坐标区分开来。
具体地,计算机设备可以确定地图点的世界坐标和与该地图点匹配的特征点在本地相机坐标系中的本地坐标之间的转换关系。可以理解,该转换关系,可以体现将世界坐标系中的点变换到相机坐标系中的点所需要的转换关系,因此,计算机设备可以根据该转换关系,可以确定世界坐标系和本地相机坐标系间的当前坐标转换关系。
在一个实施例中,该方法还包括:确定当前图像帧与相邻图像帧间的视差,根据确定的视差确定当前图像帧中与地图点匹配的特征点的深度;确定与地图点匹配的特征点在当前图像帧中对应的分布位置;根据分布位置和深度,得到与地图点匹配的特征点在本地相机坐标系中的本地坐标。
其中,特征点的深度,是指特征点在现实世界中所对应的点到成像平面的距离。特征点在当前图像帧中对应的分布位置,是指特征点在当前图像帧的图像坐标系中的位置坐标。可以理解,可以以当前图像帧建立二维的图像坐标系,然后确定特征点在图像坐标系中的位置坐标。
在一个实施例中,图像坐标系可以为图像像素坐标系。其中,图像像素坐标系,是以图像左上角为原点建立以像素为单位的二维直角坐标系。确定与地图点匹配的特征点在当前图像帧中对应的分布位置包括:确定特征点在当前图像帧的图像像素坐标系中的像素位置坐标。根据分布位置和深度,得到与地图点匹配的特征点在本地相机坐标系中的本地坐标包括:根据特征点在当前图像帧的图像像素坐标系中的像素位置坐标,确定特征点在当前图像帧的图像物理坐标系中的位置坐标,根据深度和在当前图像帧的图像物理坐标系中的位置坐标,确定与地图点匹配的特征点在本地相机坐标系中的本地坐标。
在一个实施例中,图像坐标系可以为图像物理坐标系。其中,图像物理坐标系,是以图像的中心处为原点,坐标轴平行于图像的边所建立的二维直角坐标系。确定与地图点匹配的特征点在当前图像帧中对应的分布位置包括:确定特征点在当前图像帧的图像物理坐标系中的位置坐标。根据分布位置和深度,得到与地图点匹配的特征点在本地相机坐标系中的本地坐标包括:根据深度和在当前图像帧的图像物理坐标系中的位置坐标,确定与地图点匹配的特征点在本地相机坐标系中的本地坐标。
可以理解,由于相机坐标系和图像坐标系之间的转换关系是基于出厂设置确定的,所以根据预设的相机坐标系和图像坐标系之间的转换关系,以及图像坐标系中的位置坐标,可以确定特征点在本地相机坐标系中横纵坐标,而根据特征点的深度可以得到特征点在本地相机坐标系中垂直方向的坐标,因而,可以确定当前图像帧中与地图点匹配的特征点在本地相机坐标系中的本地坐标。
由于本申请实施例中涉及到多个坐标系,为了使本申请方案更加清晰,现以图3为例对各坐标系进行区分说明。参照图3,Ow-XwYwZw为世界坐标系、Oc-XcYcZc为本地相机坐标系,uv为图像像素坐标系,以及O-xy为图像物理坐标系。点P(Xw,Yw,Zw)为世界坐标系中的点(即现实世界中真实的点),点p即为与点P(Xw,Yw,Zw)匹配的图像帧中的特征点。点p在图像物理坐标系中的位置坐标为(x,y),通过点p在图像物理坐标系中的位置坐标(x,y)和点p的深度,可以确定点p在本地相机坐标系中的本地坐标。进而,可以根据点P的世界坐标(Xw,Yw,Zw)和点p在相机坐标系中的本地坐标间的转换关系,确定世界坐标系和本地相机坐标系间的当前坐标转换关系。
其中,虚拟对象是增强现实场景中的虚拟形象。增强现实场景,是通过增强现实技术将虚拟世界和现实世界叠加显示的场景。
需要说明的是,虚拟对象可以有朝向属性,也可以没有朝向属性。比如,虚拟对象若是一颗象棋,则该虚拟对象就没有朝向属性。又比如,虚拟对象是一把靠椅,则该虚拟对象就有朝向属性。
在一个实施例中,虚拟对象可以是三维虚拟对象。可以理解,在其他实施例中,虚拟对象也可以是二维虚拟对象或一维虚拟对象。
具体地,第一设备可以确定在本地显示的虚拟对象在本地相机坐标系中的本地坐标,根据该虚拟对象在本地相机坐标系中的本地坐标和当前坐标转换关系,确定虚拟对象在世界坐标系中的当前世界坐标。
在一个实施例中,第一设备可以根据虚拟对象在显示界面中所处位置,以及虚拟对象的深度,确定虚拟对象在本地相机坐标系中的本地坐标。可以理解,虚拟对象的深度,是指虚拟对象在虚拟世界中所对应的点到成像平面的距离。
在其他实施例中,虚拟对象在本地相机坐标系中的本地坐标也可以预设。
S208,将当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
其中,目标设备是与第一设备存在通信连接、且需要进行交互的设备。需要说明的是,目标设备和第一设备本地参考的是同一个世界坐标系。
在一个实施例中,步骤S208包括:通过与目标设备的点对点连接,将当前世界坐标同步至目标设备。其中,点对点连接,是指第一设备和目标设备之间直接建立通信连接,而不需要借助第三方中转就可以实现通信。
具体地,第一设备可以直接通过与目标设备间预先建立的点对点连接,将当前世界坐标同步至目标设备。第一设备也可以执行与目标设备建立点对点连接的步骤,以建立与目标设备建立点对点连接,然后通过建立的点对点连接,将当前世界坐标同步至目标设备。
在一个实施例中,点对点连接可以包括热点连接和蓝牙(Bluetooth,一种无线技术标准)连接等。其中,热点连接,是通过将本地接收的网络信号转化为无线网络信号发出去,以和接入该无线网络的其他设备间建立的连接。在一个实施例中,热点连接包括Wi-Fi(一种允许电子设备连接到一个无线局域网的技术)热点连接。
在另一个实施例中,步骤S208包括:将当前世界坐标发送至服务器,通过服务器将当前世界坐标同步至目标设备。
在一个实施例中,第一设备和目标设备分别可以登录各自相应的网络账号。第一设备可以通过本地登录的网络账号将当前世界坐标发送至服务器,服务器按目标设备中登录的网络账号将当前世界坐标同步至目标设备。
在一个实施例中,网络账号可以包括即时通信账号或游戏账号。可以理解,在其他实施例中,网络账号还可以是在线学习账号或媒体内容分享账号等在互联网上注册的其他类型的账号。
目标设备在接收到第一设备所同步过来的当前世界坐标后,可以在目标设备的相机坐标系中确定与该当前世界坐标对应的坐标,然后在目标设备的相机坐标系中的该坐标处显示与第一设备中相同的虚拟对象。具体地,目标设备可以确定该目标设备本地的相机坐标系和世界坐标系间的坐标转换关系,根据该坐标转换关系,确定在目标设备的相机坐标系中与该当前世界坐标对应的坐标。
可以理解,目标设备按第一设备同步过来的当前世界坐标,确定虚拟对象在目标设备的相机坐标系中的显示位置,相当于是第一设备和目标设备是基于同一个世界坐标系中的相同位置处显示的虚拟模型,使得第一设备和目标设备中显示的虚拟模型的状态是同步,实现了第一设备和目标设备间的增强现实场景的交互。
可以理解,图1A和图1B中的第二设备即为目标设备。
上述交互处理方法,在采集的当前图像帧上,将虚拟对象按其在本地相机坐标系中的本地坐标显示,然后获取该本地坐标所映射至的当前世界坐标,将当前世界坐标同步至目标设备,当前世界坐标用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象,即目标设备会将同步的当前世界坐标转换为该目标设备的相机坐标系中的坐标,然后按目标设备的相机坐标系中的坐标显示虚拟对象。那么,本地的虚拟对象和目标设备中的虚拟对象对应于同一世界坐标系中的相同位置,从而实现了本地与目标设备中增强现实场景的同步,即实现了不同设备间的增强现实场景的交互,提高了增强现实场景所表达的信息量。
此外,基于世界坐标系预先建立了点云图。由于点云图建立于世界坐标系中,所以可以确定点云图中各地图点在世界坐标系中相应的世界坐标,那么从点云图中查找与采集的当前图像帧中特征点对应的地图点,则可以得到查找到的地图点的世界坐标。根据地图点的世界坐标和与地图点匹配的特征点在本地相机坐标系中的本地坐标间转换关系,确定世界坐标系和本地相机坐标系间的当前坐标转换关系。根据当前坐标转换关系,可以更加准确地确定出虚拟对象在本地相机坐标系中的本地坐标在世界坐标系中所对应的当前世界坐标。
在一个实施例中,当虚拟对象具有朝向属性时,该方法还包括:在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取朝向在世界坐标系中所对应的当前朝向;将确定的当前朝向同步至目标设备;当前朝向,用于指示按目标设备的相机坐标系中对应于当前朝向的朝向显示该虚拟对象。
具体地,第一设备可以确定虚拟对象在本地相机坐标系中的朝向,并在当前图像帧上,将虚拟对象按照该虚拟对象在本地相机坐标系中的朝向进行显示。同样地,虚拟对象在本地相机坐标系中的朝向与当前图像帧对应。比如,虚拟对象在本地相机坐标系中的朝向,可以是在采集当前图像帧时,虚拟对象在本地相机坐标系中的朝向。
第一设备还可以获取该虚拟对象在本地相机坐标系中的朝向于世界坐标系中所对应的当前朝向。其中,当前朝向,是当前的朝向。
在一个实施例中,第一设备可以根据所确定的世界坐标系和本地相机坐标系间的当前坐标转换关系、以及该虚拟对象在本地相机坐标系中的朝向,确定虚拟对象在世界坐标系中的当前朝向。
可以理解,世界坐标系和本地相机坐标系间不同的坐标转换关系,所确定的虚拟对象在世界坐标系中的朝向不同。
可以理解,世界坐标系和本地相机坐标系间的当前坐标转换关系体现了这两个坐标系中坐标轴的旋转平移变换关系,那么,如果虚拟对象具有朝向属性,则当前坐标转换关系同样可以体现虚拟对象在不同坐标系中的朝向转换关系,因此,第一设备根据该当前坐标转换关系和虚拟对象在本地相机坐标系中的朝向,可以确定出虚拟对象在世界坐标系中的当前朝向。
具体地,第一设备可以根据该当前坐标转换关系,对虚拟对象在本地相机坐标系中的朝向进行旋转处理,以确定虚拟对象在世界坐标系中的当前朝向。
可以理解,按照基于当前图像帧和地图点集合确定出的当前坐标转换关系,以及虚拟对象在本地相机坐标系中的朝向,确定虚拟对象在世界坐标系中的当前朝向。这样一来,可以使得确定的当前朝向更加的准确。
上述实施例中,当虚拟对象具有朝向属性时,第一设备可以在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示,并获取朝向在世界坐标系中所对应的当前朝向,将在世界坐标系中的当前朝向同步至目标设备;当前朝向,用于指示目标设备按当前朝向确定目标设备中的虚拟对象的朝向。即目标设备会按同步的当前朝向,确定在目标设备的相机坐标系中显示的虚拟对象的朝向,那么,本地的虚拟对象和目标设备中的虚拟对象对应于同一世界坐标系中的相同位置且相同朝向,从而使得本地与目标设备中增强现实场景的同步更加准确,即使得不同设备间的增强现实场景的交互准确,提高了增强现实场景交互的准确性。
在一个实施例中,在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点包括:确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
其中,在世界坐标系中构建地图点集合的图像帧,是在世界坐标系中所使用的用于构建地图点集合的图像帧。可以理解,地图点集合是通过图像帧中的特征点在世界坐标系中对应的地图点构建的,所以这些图像帧则在构建地图点集合中被使用。在一个实施例中,构建地图点集合的图像帧包括本地采集的图像帧和/或目标设备同步至本地的图像帧。
可以理解,从地图点集合中查找到的与重叠的图像中特征点匹配的地图点,即为与当前图像帧中特征点匹配的地图点。
具体地,第一设备可以从构建地图点集合的图像帧中确定与当前图像帧重叠的图像。可以理解,当前图像帧可以与至少一个构建地图点集合的图像帧具有重叠关系,所以重叠的图像可以位于至少一个构建地图点集合的图像帧中。第一设备可以识别重叠的图像中的特征点。第一设备中的地图点集合中记录了地图点和构建地图点集合的图像帧中特征点之间的匹配关系,第一设备可以根据该匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
可以理解,当前图像帧与构建地图点集合的图像帧未重叠的图像中的特征点则与地图点集合中的地图点匹配失败。
在一个实施例中,在世界坐标系中构建地图点集合的图像帧为关键帧。关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
上述实施例中,重叠的图像能够表征当前图像帧与历史的用于构建地图点集合的图像帧间的关联关系,通过图像帧间的关联关系结合地图点集合,可以更加快速、便捷地确定出世界坐标系和本地相机坐标系间的当前坐标转换关系。
在一个实施例中,该方法还包括:识别标记对象;以识别到的标记对象建立世界坐标系;采集图像帧;确定图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
其中,标记对象(Marker)是位于现实世界中的预设特定标记。需要说明的是,标记对象与第一设备本地和目标设备皆对应,即第一设备和目标设备皆以该标记对象建立世界坐标系。在一个实施例中,标记对象可以是一张图片。
具体地,第一设备中预先存储了标记对象图,按照该标记对象图,识别现实世界中与该标记对象图匹配的标记对象,第一设备以识别到的现实世界中的标记对象为参照建立世界坐标系。第一设备可以采集图像帧,确定所采集的图像帧中特征点在世界坐标系中的世界坐标,并在世界坐标系中,以图像帧中特征点的世界坐标生成地图点得到地图点集合。
可以理解,多个特征点的世界坐标可以生成得到多个地图点,多个地图点集合则可以构成地图点集合。
在一个实施例中,第一设备可以以标记对象的中心为原点,以标记对象的边为坐标轴建立世界坐标系。
需要说明的是,在构建地图点集合的过程中,标记对象不能进行移动。
在一个实施例中,采集的图像帧中包括含有标记对象的图像帧。确定图像帧中特征点在世界坐标系中的世界坐标包括:获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
其中,标记对象中的参考点,是在标记对象中预先选定的用于参与坐标转换计算的参考点。
在一个实施例中,第一设备中预先存储了标记对象中的参考点在在世界坐标系中对应的参考世界坐标,第一设备获取该预先存储的标记对象的参考点在世界坐标系中的参考世界坐标。在另一个实施例中,第一设备可以基于预设的标记对象建立的世界坐标系,计算该标记对象中的参考点在该世界坐标系中的世界坐标系。可以理解,由于世界坐标系是基于预设的标记对象建立,所以该标记对象中的参考点的参考世界坐标可以基于该标记对象自身建立的世界坐标系确定。
具体地,第一设备可以确定参考点在本地相机坐标系中的本地坐标,并确定参考点的本地坐标和参考世界坐标间的转换关系,根据该转换关系,第一设备可以确定本地相机坐标系与世界坐标系的坐标转换关系。
需要说明的是,目标设备中同样预先存储了标记对象图,目标设备按照该标记对象图,识别了现实世界中与该标记对象图匹配的标记对象。目标设备同样以识别到的现实世界中的标记对象为参照建立了世界坐标系。而且目标设备也依据标记对象中的参考点按照同样的方式,确定了目标设备的相机坐标系与该世界坐标系间的坐标转换关系。可以理解,目标设备和第一设备对应于同一个世界坐标系,即都是以标记对象为参照建立的世界坐标系。
图4为一个实施例中交互方法的原理示意图。参照图4,第一设备A和目标设备B分别具有各自的相机坐标系OA-XAYAZA和OB-XBYBZB,以标记对象M建立的世界坐标系为OW-XWYWZW,第一设备A的相机坐标系OA-XAYAZA和世界坐标系OW-XWYWZW间具有坐标转换关系TA,目标设备B的相机坐标系OB-XBYBZB和世界坐标系OW-XWYWZW间具有坐标转换关系TB。即第一设备A和目标设备B都对应于同一世界坐标系OW-XWYWZW。第一设备A将虚拟对象在相机坐标系OA-XAYAZA中的坐标按照坐标转换关系TA转换为世界坐标,并将转换后的世界坐标同步至目标设备B。目标设备B可以根据坐标转换关系TB,将同步至的世界坐标转换为相机坐标系OB-XBYBZB中的坐标,并将虚拟对象按转换后的坐标进行显示。此外,第一设备A还可以将自身采集的图像帧中各特征点在相机坐标系OA-XAYAZA中的坐标,转换为世界坐标并同步至目标设备B。目标设备B可以根据同步至的世界坐标生成地图点以丰富目标设备B中建立的地图点集合。
在一个实施例中,采集的图像帧中包括标记对象的图像帧有至少两个,而且包括标记对象的图像帧为关键帧。确定参考点在本地相机坐标系中的本地坐标包括:根据相邻的包括标记对象的关键帧间的视差,确定关键帧中的标记对象中的参考点的深度;根据该深度和参考点在关键帧中的分布位置,确定关键帧中标记对象中的参考点在本地相机坐标系中的本地坐标。
在另一实施例中,图像帧中的标记对象中的参考点在本地相机坐标系中的本地坐标可以预先设置。具体地,第一设备可以在指定的位置按指定的角度采集包括标记对象的图像帧,而标记对象的位置不会发生变化,那么图像帧中标记对象中的参考点在本地相机坐标系中的本地坐标也就是固定的,因此可以预先设置。第一设备则可以获取参考点在本地相机坐标系中预先设置的本地坐标。
进一步地,第一设备可以在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标,按确定的坐标转换关系,将所采集的图像帧中特征点的本地坐标转换为相应的世界坐标。
在一个实施例中,在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标包括:根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在相应关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
可以理解,对于采集的图像帧中标记对象中的参考点,则可以不再执行在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标的步骤及后续坐标转换步骤,以避免重复无用的处理,浪费系统资源。
上述实施例中,通过识别到的标记对象建立绝对的世界坐标系,根据采集的图像帧中特征点在世界坐标系中的世界坐标生成地图点,以构建基于世界坐标系的地图点集合。通过基于该世界坐标系所建立的地图点集合,来确定世界坐标系和本地相机坐标系间的当前坐标转换关系,能够更加地准确。
如图5所示,在一个实施例中,该方法还包括地图点同步步骤,具体包括以下步骤:
S502,获取由目标设备同步至本地的图像帧。
S504,获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标。
可以理解,这里的“本地”是指第一设备的本地。
具体地,目标设备可以将该目标设备自身采集的图像帧和图像帧中特征点在世界坐标系中的世界坐标同步至第一设备本地,第一设备获取由目标设备同步至本地的图像帧。
S506,根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点。
可以理解,第一设备和目标设备都是对应于同一个世界坐标系,所以第一设备可以在世界坐标系中根据同步至本地的特征点的世界坐标进行定位,生成相应地图点。
S508,将生成的地图点添加至本地得到的地图点集合中。
可以理解,由于第一设备中的地图点集合也是基于世界坐标系建立的,所以第一设备中的地图点集合和步骤S506中生成的地图点都是位于世界坐标系,即对应于同一个坐标系,所以,第一设备可以将生成的地图点添加至得到的地图点集合中,以使得地图点集合更加完整、丰富。
需要说明的是,更加完整、丰富的地图点集合能够更加准确地确定后续的世界坐标系和本地相机坐标系间的坐标转换关系。因为,每次有新增的当前图像帧的情况下,当在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点时,地图点集合越丰富,当前图像帧就越容易匹配到地图点,也就更容易且更准确地确定世界坐标系和本地相机坐标系间的当前坐标转换关系,从而使得虚拟对象的交互显示也更加的准确。
可以理解,第一设备可以存储同步至本地的图像帧中特征点和相应生成的地图点间的匹配关系,以便于后续在基于世界坐标系的地图点集合中,查找与图像帧中特征点匹配的地图点。
在一个实施例中,该方法还包括:确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
可以理解,当前图像帧中与地图点集合中的地图点匹配成功的特征点,已经有相匹配的地图点了,则就不必再次参与地图点的生成计算,以避免不必要的资源浪费。
具体地,第一设备可以确定当前图像帧中与地图点集合中的地图点匹配失败的特征点,即确定出当前图像帧中未匹配到地图点的特征点。第一设备可以在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
可以理解,第一设备可以确定匹配失败的特征点的深度和在当前图像帧中的分布位置,根据相应深度和分布位置,确定在本地相机坐标系中确定匹配失败的特征点的本地坐标。同样地,第一设备可以根据当前图像帧与相邻图像帧间的视差,确定匹配失败的特征点的深度。
上述实施例中,将当前图像帧中的与地图点集合中的地图点匹配失败的特征点的世界坐标生成相应地图点,并将生成的地图点添加至地图点集合,使得地图点集合更加的完整、丰富,使得后续新增的图像帧就越容易匹配到地图点,也就更容易且更准确地确定世界坐标系和本地相机坐标系间的实时坐标转换关系,从而使得后续的交互处理更加的准确。
在一个实施例中,该方法还包括:将当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备;同步的当前图像帧和当前图像帧中特征点的世界坐标,用于指示目标设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点。
需要说明的是,目标设备中也建立基于世界坐标系的地图点集合,目标设备中建立的地图点集合是根据目标设备采集的图像帧创建的。即目标设备中建立的地图点集合是由目标设备采集的图像帧中特征点在世界坐标系中的世界坐标定位得到的地图点构建。
具体地,第一设备可以将基于与目标设备间的通信连接,将当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备。第一设备可以根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点。
可以理解,由于第一设备和目标设备间相互同步图像帧和图像帧中特征点的世界坐标,来丰富对方的地图点集合,而该地图点集合是基于绝对坐标系——世界坐标系建立,那么,第一设备和目标设备中就具有相同的地图点集合。
需要说明的是,第一设备和目标设备中具有相同的地图点集合并不是指第一设备和目标设备中的增强现实场景中显示的现实场景相同,第一设备和目标设备中显示的现实场景仅与其所构建的地图点集合中一部分地图点相对应。
上述实施例中,将新增的当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备,使目标设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点,从而使得目标设备中建立的地图点集合与本地建立的地图点集合相一致,基于相一致的地图点集合进行与目标设备间的交互,使得后续的交互处理更加的准确。
如图6所示,在一个实施例中,提供了一种交互处理系统600,该系统600包括:第一设备602和第二设备604。其中。
第一设备602,用于获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标;将当前世界坐标同步至第二设备604。
第二设备604,用于在第二设备604的相机坐标系中确定与同步的当前世界坐标相应的坐标;在确定的坐标处显示虚拟对象。
在一个实施例中,第一设备602还用于在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据地图点的世界坐标和与地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照虚拟对象在本地相机坐标系中的本地坐标以及当前坐标转换关系,确定虚拟对象在世界坐标系中的当前世界坐标。
在一个实施例中,第一设备602还用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;
获取所述朝向在世界坐标系中所对应的当前朝向;;将确定的当前朝向同步至第二设备604。
第二设备604还用于在第二设备604的相机坐标系中确定与同步的所述当前世界坐标相应的坐标;在确定的坐标处显示所述虚拟对象。
在一个实施例中,第一设备602还用于确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
在一个实施例中,在世界坐标系中构建地图点集合的图像帧为关键帧;关键帧包括本地采集的关键帧和/或第二设备604同步至本地的关键帧。
在一个实施例中,第一设备602还用于识别标记对象;以标记对象建立世界坐标系;采集图像帧;确定图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
在一个实施例中,第一设备602还用于获取由第二设备604同步至本地的图像帧;获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标;根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
在一个实施例中,采集的图像帧中包括含有标记对象的图像帧;第一设备602还用于获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
在一个实施例中,采集的图像帧为关键帧;第一设备602还用于根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
在一个实施例中,第一设备602还用于确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
在一个实施例中,第一设备602还用于将当前图像帧和当前图像帧中特征点的世界坐标同步至第二设备604。
第二设备604还用于根据同步的当前图像帧中特征点的世界坐标生成地图点,并在第二设备604基于世界坐标系建立的地图点集合中添加生成的地图点。
在一个实施例中,第一设备602还用于通过与第二设备604的点对点连接,将当前世界坐标同步至第二设备604;或将当前世界坐标发送至服务器,通过服务器将当前世界坐标同步至第二设备604。
需要说明的是,第二设备604可以为前文所述的目标设备。
图7为一个实施例中交互处理方法的时序图。该时序图具体包括以下步骤:
1)第一设备识别标记对象;以标记对象建立世界坐标系;采集关键帧;采集的关键帧帧中包括含有标记对象的关键帧。
2)第一设备获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系。
3)第一设备根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
4)第一设备按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
5)第一设备获取第二设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标。
6)第一设备根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
7)第一设备获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标和朝向显示;确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
8)第一设备根据地图点的世界坐标和与地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照虚拟对象在本地相机坐标系中的本地坐标和朝向以及当前坐标转换关系,确定虚拟对象在世界坐标系中的当前世界坐标和当前朝向。
9)第一设备将虚拟对象的当前世界坐标和在世界坐标系中的当前朝向同步至第二设备。
10)第二设备按第二设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
需要说明的是,第二设备中已按照与步骤1)~4)相同的方法,在第二设备中建立了地图点集合,以及确定出了第二设备的相机坐标系和世界坐标系间的坐标转换关系,第二设备可以按照该坐标转换关系,确定第二设备的相机坐标系中对应于当前世界坐标的坐标。
11)第一设备确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至本地的地图点集合。
12)第一设备将当前图像帧和当前图像帧中特征点的世界坐标同步至第二设备。
13)第二设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在第二设备基于世界坐标系建立的地图点集合中添加生成的地图点。
可以理解,为了实现双向通信,第一设备和第二设备的身份可以互换。此外,这里的第二设备可以为前文所述的目标设备。
现结合具体实施例中的应用场景对交互处理方法进行说明。假设,手机A和手机B间建立了通信连接,在手机A和手机B都具备增强现实处理功能。手机A和手机B可以对着同一个标记对象(比如一张特定的图片)进行扫描识别,并皆以识别到的标记对象建立世界坐标系,可以理解,由于手机A和手机B都是以同一个标记对象建立世界坐标系,所以手机A和手机B中建立的世界坐标系相同。手机A和手机B分别可以从现实世界中采集图像帧,并基于世界坐标系,根据自身采集的图像帧构建三维的地图点集合(即根据自身采集的图像帧中特征点在世界坐标系中的世界坐标定位地图点,以构建三维的地图点集合)。手机A和手机B可以将所采集的图像帧和图像帧中特征点在世界坐标系中的世界坐标向对方同步。手机A和手机B在接收到同步的图像帧和图像帧中特征点在世界坐标系中的世界坐标后,可以根据同步过来的图像帧中特征点在世界坐标系中的世界坐标生成地图点,以丰富之前所构建的地图点集合。手机A可以根据当前图像帧,在手机A中建立的地图点集合中,查找与当前图像帧中特征点匹配的地图点;根据地图点的世界坐标和与地图点匹配的特征点在手机A的相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系。
假设,在现实世界中手机A和手机B分别位于彼此的正对面,在手机A和手机B中都显示了增强现实游戏场景,增强现实游戏场景包括现实场景和虚拟游戏场景,虚拟游戏场景中包括虚拟游戏对象,手机A和手机B中显示同一个虚拟游戏对象q。假设手机A中显示的虚拟游戏对象q在往手机屏幕的左侧移动,那么手机A可以根据该当前坐标转换关系和虚拟游戏对象q在手机A的相机坐标系中的坐标,确定虚拟游戏对象q在以标记对象建立的世界坐标系中的当前世界坐标,并将虚拟游戏对象q的当前世界坐标同步至手机B中。手机B接收到手机A同步至的虚拟游戏对象q的当前世界坐标,也可以根据手机B的相机坐标系和世界坐标系间的转换关系,确定虚拟游戏对象q的当前世界坐标在手机B的相机坐标系中的坐标,然后按照确定的坐标显示虚拟游戏对象q。由于手机A和手机B位于彼此的正对面,且对应于同一个世界坐标系,那么,当手机A中显示的虚拟游戏对象q在往手机屏幕的左侧移动时,则手机B中显示的则是虚拟游戏对象q往与手机A中相反的方向移动,即手机B中显示虚拟游戏对象q往手机屏幕的右侧移动。
又假设,在现实世界中手机A和手机B分别位于彼此的正对面,在手机A和手机B中都显示了增强现实绘画场景,增强现实游戏场景包括现实场景和虚拟绘画场景,虚拟绘画场景中包括画出的虚拟的画。假设用户在手机A中操作往手机右边画了一笔,那么手机A可以根据该当前坐标转换关系和组成往右画的这一笔的绘画点在手机A的相机坐标系中的坐标,确定绘画点在以标记对象建立的世界坐标系中的当前世界坐标,并将绘画点的当前世界坐标同步至手机B中。手机B接收到手机A同步至的绘画点的当前世界坐标,也可以根据手机B的相机坐标系和世界坐标系间的转换关系,确定绘画点的当前世界坐标在手机B的相机坐标系中的坐标,然后按照确定的坐标显示绘画点。由于手机A和手机B位于彼此的正对面,且对应于同一个世界坐标系,那么,当手机A中显示的是往手机右边画了一笔时,则手机B中显示的往手机B的左边画了一笔。
如图8所示,在一个实施例中,提供了一种交互处理装置800,该装置包括:获取模块802、显示模块804、映射模块806以及同步模块808,其中:
获取模块802,用于获取采集的当前图像帧。
显示模块804,用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示。
映射模块806,用于获取本地坐标所映射至的当前世界坐标。
同步模块808,用于将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
在一个实施例中,映射模块806还用于在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照虚拟对象在所述本地相机坐标系中的本地坐标以及所述当前坐标转换关系,确定所述虚拟对象在世界坐标系中的当前世界坐标。
在一个实施例中,同步模块808还用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取所述朝向在世界坐标系中所对应的当前朝向;将确定的当前朝向同步至目标设备;当前朝向,用于指示按所述目标设备的相机坐标系中对应于所述当前朝向的朝向显示所述虚拟对象。
在一个实施例中,映射模块806还用于确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
在一个实施例中,在世界坐标系中构建地图点集合的图像帧为关键帧;关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
如图9所示,在一个实施例中,该装置800还包括:
地图点集合构建模块801,用于识别标记对象;以标记对象建立世界坐标系;采集图像帧;确定图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
在一个实施例中,地图点集合构建模块801还用于获取由目标设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标;根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
在一个实施例中,采集的图像帧中包括含有标记对象的图像帧。地图点集合构建模块801还用于获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
在一个实施例中,采集的图像帧为关键帧。地图点集合构建模块801还用于根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
在一个实施例中,地图点集合构建模块801还用于确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
在一个实施例中,同步模块808还用于将当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备;同步的当前图像帧和当前图像帧中特征点的世界坐标,用于指示目标设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点。
在一个实施例中,同步模块808还用于通过与目标设备的点对点连接,将当前世界坐标同步至目标设备;或将当前世界坐标发送至服务器,通过服务器将当前世界坐标同步至目标设备。
图10为一个实施例中计算机设备的内部结构示意图。参照图10,该计算机设备可以是图1A或图1B中所示的第一设备或第二设备,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种交互处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种交互处理方法。计算机设备的网络接口用于进行网络通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏等。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该计算机设备可以是个人计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的交互处理装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该交互处理装置的各个程序模块,比如,图8所示的获取模块802、显示模块804、映射模块806以及同步模块808。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的交互处理方法中的步骤,例如,计算机设备可以通过如图8所示的交互处理装置800中的获取模块802获取采集的当前图像帧,并通过显示模块804在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示。计算机设备可以通过映射模块806获取本地坐标所映射至的当前世界坐标。计算机设备可以通过同步模块808将当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如下步骤:获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标;将当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
在一个实施例中,计算机程序还使得处理器执行如下步骤:在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取所述朝向在世界坐标系中所对应的当前朝向;将确定的当前朝向同步至目标设备;当前朝向,用于指示目标设备按当前朝向确定目标设备中的虚拟对象的朝向。
在一个实施例中,所述获取所述本地坐标所映射至的当前世界坐标包括:在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照所述当前坐标转换关系,将所述虚拟对象在所述本地相机坐标系中的本地坐标映射为所述虚拟对象在世界坐标系中的当前世界坐标。
在一个实施例中,在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点包括:确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
在一个实施例中,在世界坐标系中构建地图点集合的图像帧为关键帧;关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
在一个实施例中,计算机程序还使得处理器执行如下步骤:识别标记对象;以标记对象建立世界坐标系;采集图像帧;确定图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
在一个实施例中,计算机程序还使得处理器执行如下步骤:获取由目标设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标;根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
在一个实施例中,采集的图像帧中包括含有标记对象的图像帧;确定图像帧中特征点在世界坐标系中的世界坐标包括:获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
在一个实施例中,采集的图像帧为关键帧;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标包括:根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
在一个实施例中,计算机程序还使得处理器执行如下步骤:确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
在一个实施例中,计算机程序还使得处理器执行如下步骤:将当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备;同步的当前图像帧和当前图像帧中特征点的世界坐标,用于指示目标设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点。
在一个实施例中,将当前世界坐标同步至目标设备包括:通过与目标设备的点对点连接,将当前世界坐标同步至目标设备;或将当前世界坐标发送至服务器,通过服务器将当前世界坐标同步至目标设备。
在一个实施例中,提供了一种存储有计算机程序的存储介质,计算机程序被处理器执行时,使得处理器执行如下步骤:获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;获取所述本地坐标所映射至的当前世界坐标;将当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于当前世界坐标的坐标显示虚拟对象。
在一个实施例中,计算机程序还使得处理器执行如下步骤:在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取所述朝向在世界坐标系中所对应的当前朝向;将确定的当前朝向同步至目标设备;当前朝向,用于指示目标设备按当前朝向确定目标设备中的虚拟对象的朝向。
在一个实施例中,所述获取所述本地坐标所映射至的当前世界坐标包括:在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照所述当前坐标转换关系,将所述虚拟对象在所述本地相机坐标系中的本地坐标映射为所述虚拟对象在世界坐标系中的当前世界坐标。
在一个实施例中,在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点包括:确定在世界坐标系中构建地图点集合的图像帧;在确定的图像帧中确定与当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
在一个实施例中,在世界坐标系中构建地图点集合的图像帧为关键帧;关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
在一个实施例中,计算机程序还使得处理器执行如下步骤:识别标记对象;以标记对象建立世界坐标系;采集图像帧;确定图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以特征点的世界坐标生成地图点得到地图点集合。
在一个实施例中,计算机程序还使得处理器执行如下步骤:获取由目标设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在世界坐标系中的世界坐标;根据同步至本地的特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
在一个实施例中,采集的图像帧中包括含有标记对象的图像帧;确定图像帧中特征点在世界坐标系中的世界坐标包括:获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
在一个实施例中,采集的图像帧为关键帧;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标包括:根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别关键帧中特征点在关键帧中的分布位置;根据深度和分布位置,确定关键帧中特征点在本地相机坐标系中的本地坐标。
在一个实施例中,计算机程序还使得处理器执行如下步骤:确定当前图像帧中与地图点集合中的地图点匹配失败的特征点;在本地相机坐标系中确定匹配失败的特征点的本地坐标;按当前坐标转换关系,确定匹配失败的特征点的本地坐标相应的世界坐标;根据匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至地图点集合。
在一个实施例中,计算机程序还使得处理器执行如下步骤:将当前图像帧和当前图像帧中特征点的世界坐标同步至目标设备;同步的当前图像帧和当前图像帧中特征点的世界坐标,用于指示目标设备根据同步的当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于世界坐标系建立的地图点集合中添加生成的地图点。
在一个实施例中,将当前世界坐标同步至目标设备包括:通过与目标设备的点对点连接,将当前世界坐标同步至目标设备;或将当前世界坐标发送至服务器,通过服务器将当前世界坐标同步至目标设备。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (37)
1.一种交互处理方法,所述方法包括:
获取采集的当前图像帧;
在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;
根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;
按照所述当前坐标转换关系,将所述虚拟对象在所述本地相机坐标系中的本地坐标映射为所述虚拟对象在世界坐标系中的当前世界坐标;
将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
2.根据权利要求1所述的方法,其特征在于,还包括:
在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;
获取所述朝向在世界坐标系中所对应的当前朝向;
将所述当前朝向同步至所述目标设备;所述当前朝向,用于指示按所述目标设备的相机坐标系中对应于所述当前朝向的朝向显示所述虚拟对象。
3.根据权利要求1所述的方法,其特征在于,所述当前图像帧,是当前从真实场景中采集的图像帧。
4.根据权利要求3所述的方法,其特征在于,所述在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点包括:
确定在世界坐标系中构建地图点集合的图像帧;
在确定的所述图像帧中确定与所述当前图像帧重叠的图像;
根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
5.根据权利要求4所述的方法,其特征在于,所述在世界坐标系中构建地图点集合的图像帧为关键帧;所述关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
6.根据权利要求3所述的方法,其特征在于,还包括:
识别标记对象;
以所述标记对象建立世界坐标系;
采集图像帧;
确定所述图像帧中特征点在世界坐标系中的世界坐标;
在世界坐标系中,以所述特征点的世界坐标生成地图点得到地图点集合。
7.根据权利要求6所述的方法,其特征在于,还包括:
获取由所述目标设备同步至本地的图像帧;
获取同步至本地的图像帧中特征点在所述世界坐标系中的世界坐标;
根据同步至本地的所述特征点的世界坐标在世界坐标系中生成地图点;
将生成的地图点添加至本地得到的地图点集合中。
8.根据权利要求6所述的方法,其特征在于,采集的所述图像帧中包括含有标记对象的图像帧;
所述确定所述图像帧中特征点在世界坐标系中的世界坐标包括:
获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;
确定所述参考点在本地相机坐标系中的本地坐标;
根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;
在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;
按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
9.根据权利要求8所述的方法,其特征在于,采集的所述图像帧为关键帧;所述在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标包括:
根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;
识别所述关键帧中特征点在所述关键帧中的分布位置;
根据所述深度和所述分布位置,确定所述关键帧中特征点在本地相机坐标系中的本地坐标。
10.根据权利要求3所述的方法,其特征在于,还包括:
确定所述当前图像帧中与所述地图点集合中的地图点匹配失败的特征点;
在所述本地相机坐标系中确定所述匹配失败的特征点的本地坐标;
按所述当前坐标转换关系,确定所述匹配失败的特征点的本地坐标相应的世界坐标;
根据所述匹配失败的特征点的世界坐标生成相应地图点;
将生成的地图点添加至所述地图点集合。
11.根据权利要求3所述的方法,其特征在于,还包括:
将所述当前图像帧和所述当前图像帧中特征点的世界坐标同步至所述目标设备;同步的所述当前图像帧和所述当前图像帧中特征点的世界坐标,用于指示所述目标设备根据同步的所述当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于所述世界坐标系建立的地图点集合中添加生成的所述地图点。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述将所述当前世界坐标同步至目标设备包括:
通过与目标设备的点对点连接,将所述当前世界坐标同步至目标设备;或
将所述当前世界坐标发送至服务器,通过所述服务器将所述当前世界坐标同步至目标设备。
13.一种交互处理装置,其特征在于,所述装置包括:
获取模块,用于获取采集的当前图像帧;
显示模块,用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;
映射模块,用于在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照所述当前坐标转换关系,将所述虚拟对象在所述本地相机坐标系中的本地坐标映射为所述虚拟对象在世界坐标系中的当前世界坐标;
同步模块,用于将所述当前世界坐标同步至目标设备;同步的当前世界坐标,用于指示按目标设备的相机坐标系中对应于所述当前世界坐标的坐标显示所述虚拟对象。
14.根据权利要求13所述的装置,其特征在于,所述同步模块还用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取所述朝向在世界坐标系中所对应的当前朝向;将所述当前朝向同步至所述目标设备;所述当前朝向,用于指示按所述目标设备的相机坐标系中对应于所述当前朝向的朝向显示所述虚拟对象。
15.根据权利要求13所述的装置,其特征在于,所述当前图像帧,是当前从真实场景中采集的图像帧。
16.根据权利要求15所述的装置,其特征在于,所述映射模块还用于确定在世界坐标系中构建地图点集合的图像帧;在确定的所述图像帧中确定与所述当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
17.根据权利要求16所述的装置,其特征在于,所述在世界坐标系中构建地图点集合的图像帧为关键帧;所述关键帧包括本地采集的关键帧和/或目标设备同步至本地的关键帧。
18.根据权利要求15所述的装置,其特征在于,所述装置还包括:
地图点集合构建模块,用于识别标记对象;以所述标记对象建立世界坐标系;采集图像帧;确定所述图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以所述特征点的世界坐标生成地图点得到地图点集合。
19.根据权利要求18所述的装置,其特征在于,所述地图点集合构建模块还用于获取由所述目标设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在所述世界坐标系中的世界坐标;根据同步至本地的所述特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
20.根据权利要求18所述的装置,其特征在于,采集的所述图像帧中包括含有标记对象的图像帧;所述地图点集合构建模块还用于获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定所述参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
21.根据权利要求20所述的装置,其特征在于,采集的所述图像帧为关键帧;所述地图点集合构建模块还用于根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别所述关键帧中特征点在所述关键帧中的分布位置;根据所述深度和所述分布位置,确定所述关键帧中特征点在本地相机坐标系中的本地坐标。
22.根据权利要求13所述的装置,其特征在于,所述地图点集合构建模块还用于确定所述当前图像帧中与所述地图点集合中的地图点匹配失败的特征点;在所述本地相机坐标系中确定所述匹配失败的特征点的本地坐标;按所述当前坐标转换关系,确定所述匹配失败的特征点的本地坐标相应的世界坐标;根据所述匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至所述地图点集合。
23.根据权利要求13所述的装置,其特征在于,所述同步模块还用于将所述当前图像帧和所述当前图像帧中特征点的世界坐标同步至所述目标设备;同步的所述当前图像帧和所述当前图像帧中特征点的世界坐标,用于指示所述目标设备根据同步的所述当前图像帧中特征点的世界坐标生成地图点,并在目标设备基于所述世界坐标系建立的地图点集合中添加生成的所述地图点。
24.根据权利要求13至23中任一项所述的装置,其特征在于,所述同步模块还用于通过与目标设备的点对点连接,将所述当前世界坐标同步至目标设备;或将所述当前世界坐标发送至服务器,通过所述服务器将所述当前世界坐标同步至目标设备。
25.一种交互处理系统,包括:第一设备和第二设备;
所述第一设备,用于获取采集的当前图像帧;在当前图像帧上,将虚拟对象按照在本地相机坐标系中的本地坐标显示;在基于世界坐标系的地图点集合中,查找当前图像帧中特征点匹配的地图点;根据所述地图点的世界坐标和与所述地图点匹配的特征点在本地相机坐标系中的本地坐标,确定世界坐标系和本地相机坐标系间的当前坐标转换关系;按照所述当前坐标转换关系,将所述虚拟对象在所述本地相机坐标系中的本地坐标映射为所述虚拟对象在世界坐标系中的当前世界坐标;将所述当前世界坐标同步至所述第二设备;
所述第二设备,用于在所述第二设备的相机坐标系中确定与同步的所述当前世界坐标相应的坐标;在确定的所述坐标处显示所述虚拟对象。
26.根据权利要求25所述的系统,其特征在于,所述第一设备还用于在当前图像帧上,将虚拟对象按照在本地相机坐标系中的朝向进行显示;获取所述朝向在世界坐标系中所对应的当前朝向;将所述当前朝向同步至所述第二设备;所述第二设备,还用于按所述第二设备的相机坐标系中确定与同步的所述当前世界坐标相应的坐标;在确定的坐标处显示所述虚拟对象。
27.根据权利要求25所述的系统,其特征在于,所述当前图像帧,是当前从真实场景中采集的图像帧。
28.根据权利要求27所述的系统,其特征在于,所述第一设备还用于确定在世界坐标系中构建地图点集合的图像帧;在确定的所述图像帧中确定与所述当前图像帧重叠的图像;根据地图点集合中地图点与构建地图点集合的图像帧中特征点之间的匹配关系,从地图点集合中查找与重叠的图像中特征点匹配的地图点。
29.根据权利要求28所述的系统,其特征在于,所述在世界坐标系中构建地图点集合的图像帧为关键帧;所述关键帧包括本地采集的关键帧和/或所述第二设备同步至本地的关键帧。
30.根据权利要求25所述的系统,其特征在于,所述第一设备还用于识别标记对象;以所述标记对象建立世界坐标系;采集图像帧;确定所述图像帧中特征点在世界坐标系中的世界坐标;在世界坐标系中,以所述特征点的世界坐标生成地图点得到地图点集合。
31.根据权利要求30所述的系统,其特征在于,所述第一设备还用于获取由所述第二设备同步至本地的图像帧;获取同步至本地的图像帧中特征点在所述世界坐标系中的世界坐标;根据同步至本地的所述特征点的世界坐标在世界坐标系中生成地图点;将生成的地图点添加至本地得到的地图点集合中。
32.根据权利要求30所述的系统,其特征在于,采集的所述图像帧中包括含有标记对象的图像帧;所述第一设备还用于获取图像帧中的标记对象中的参考点在世界坐标系中的参考世界坐标;确定所述参考点在本地相机坐标系中的本地坐标;根据参考点的本地坐标和参考世界坐标间的转换关系,确定本地相机坐标系与世界坐标系的坐标转换关系;在本地相机坐标系中,确定采集的图像帧中特征点的本地坐标;按确定的坐标转换关系,将特征点的本地坐标转换为相应的世界坐标。
33.根据权利要求32所述的系统,其特征在于,采集的所述图像帧为关键帧;所述第一设备还用于根据相邻关键帧间的视差,确定采集的关键帧中特征点的深度;识别所述关键帧中特征点在所述关键帧中的分布位置;根据所述深度和所述分布位置,确定所述关键帧中特征点在本地相机坐标系中的本地坐标。
34.根据权利要求25所述的系统,其特征在于,所述第一设备还用于确定所述当前图像帧中与所述地图点集合中的地图点匹配失败的特征点;在所述本地相机坐标系中确定所述匹配失败的特征点的本地坐标;按所述当前坐标转换关系,确定所述匹配失败的特征点的本地坐标相应的世界坐标;根据所述匹配失败的特征点的世界坐标生成相应地图点;将生成的地图点添加至所述地图点集合。
35.根据权利要求25所述的系统,其特征在于,所述第一设备还用于将所述当前图像帧和所述当前图像帧中特征点的世界坐标同步至所述第二设备;所述第二设备还用于根据同步的所述当前图像帧中特征点的世界坐标生成地图点,并在所述第二设备基于所述世界坐标系建立的地图点集合中添加生成的所述地图点。
36.根据权利要求25至35中任一项所述的系统,其特征在于,所述第一设备还用于通过与所述第二设备的点对点连接,将所述当前世界坐标同步至所述第二设备;或将所述当前世界坐标发送至服务器,通过所述服务器将所述当前世界坐标同步至所述第二设备。
37.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388215.3A CN110415293B (zh) | 2018-04-26 | 2018-04-26 | 交互处理方法、装置、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388215.3A CN110415293B (zh) | 2018-04-26 | 2018-04-26 | 交互处理方法、装置、系统和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110415293A CN110415293A (zh) | 2019-11-05 |
CN110415293B true CN110415293B (zh) | 2023-05-23 |
Family
ID=68345804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810388215.3A Active CN110415293B (zh) | 2018-04-26 | 2018-04-26 | 交互处理方法、装置、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110415293B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968175B (zh) * | 2020-06-29 | 2023-11-03 | 青岛小鸟看看科技有限公司 | 图像处理方法、装置、设备及存储介质 |
CN113819890B (zh) * | 2021-06-04 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 测距方法、装置、电子设备及存储介质 |
CN115100276B (zh) * | 2022-05-10 | 2024-01-19 | 北京字跳网络技术有限公司 | 处理虚拟现实设备的画面图像的方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102326185A (zh) * | 2009-11-16 | 2012-01-18 | 索尼公司 | 信息处理装置、信息处理方法、程序和信息处理系统 |
CN102598064A (zh) * | 2009-10-12 | 2012-07-18 | Metaio有限公司 | 用于在真实环境的视图中描绘虚拟信息的方法 |
CN105453011A (zh) * | 2013-06-18 | 2016-03-30 | 微软技术许可有限责任公司 | 虚拟对象朝向和可视化 |
CN107111996A (zh) * | 2014-11-11 | 2017-08-29 | 本特图像实验室有限责任公司 | 实时共享的增强现实体验 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9293118B2 (en) * | 2012-03-30 | 2016-03-22 | Sony Corporation | Client device |
-
2018
- 2018-04-26 CN CN201810388215.3A patent/CN110415293B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102598064A (zh) * | 2009-10-12 | 2012-07-18 | Metaio有限公司 | 用于在真实环境的视图中描绘虚拟信息的方法 |
CN102326185A (zh) * | 2009-11-16 | 2012-01-18 | 索尼公司 | 信息处理装置、信息处理方法、程序和信息处理系统 |
CN105453011A (zh) * | 2013-06-18 | 2016-03-30 | 微软技术许可有限责任公司 | 虚拟对象朝向和可视化 |
CN107111996A (zh) * | 2014-11-11 | 2017-08-29 | 本特图像实验室有限责任公司 | 实时共享的增强现实体验 |
Also Published As
Publication number | Publication date |
---|---|
CN110415293A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640694B2 (en) | 3D model reconstruction and scale estimation | |
US11816810B2 (en) | 3-D reconstruction using augmented reality frameworks | |
CN105009120B (zh) | 基于客户端-服务器的动态搜索 | |
TWI582710B (zh) | The method of recognizing the object of moving image and the interactive film establishment method of automatically intercepting target image | |
KR102464271B1 (ko) | 포즈 획득 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN110415293B (zh) | 交互处理方法、装置、系统和计算机设备 | |
US11694405B2 (en) | Method for displaying annotation information, electronic device and storage medium | |
CN110060201B (zh) | 一种全景视频的热点交互方法 | |
CN108430032B (zh) | 一种实现vr/ar设备位置共享的方法及设备 | |
CN113793420B (zh) | 深度信息处理方法、装置、电子设备及存储介质 | |
JP2016194784A (ja) | 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム | |
CN117115244A (zh) | 云端重定位方法、装置及存储介质 | |
KR102234660B1 (ko) | 3d 투어 부가정보 태깅 시스템 및 방법 | |
JP2016194783A (ja) | 画像管理システム、通信端末、通信システム、画像管理方法、及びプログラム | |
WO2019056701A1 (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
KR100521728B1 (ko) | 비디오 지리 정보 시스템 | |
CN114089836B (zh) | 标注方法、终端、服务器和存储介质 | |
CN112577488B (zh) | 导航路线确定方法、装置、计算机设备和存储介质 | |
CA3239769A1 (en) | System and methods for validating imagery pipelines | |
CN110196638B (zh) | 基于目标检测和空间投影的移动端增强现实方法和系统 | |
JP7225016B2 (ja) | Ar空間画像投影システム、ar空間画像投影方法及びユーザ端末 | |
JP2018205863A (ja) | 画像処理装置、画像処理システムおよび制御プログラム | |
CN109348132B (zh) | 全景拍摄方法及装置 | |
CN117635717A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
WO2023164084A1 (en) | Systems and methods for generating dimensionally coherent training data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |