CN112053451A - 基于光通信装置叠加虚拟对象的方法和相应的电子设备 - Google Patents
基于光通信装置叠加虚拟对象的方法和相应的电子设备 Download PDFInfo
- Publication number
- CN112053451A CN112053451A CN201910485772.1A CN201910485772A CN112053451A CN 112053451 A CN112053451 A CN 112053451A CN 201910485772 A CN201910485772 A CN 201910485772A CN 112053451 A CN112053451 A CN 112053451A
- Authority
- CN
- China
- Prior art keywords
- information
- virtual object
- optical communication
- relative
- virtual
- 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.)
- Pending
Links
Images
Classifications
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种基于光通信装置叠加虚拟对象的方法和相应的电子设备,该方法包括:设备获得光通信装置的标识信息,所述标识信息与一个或多个虚拟对象相关联;设备通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息,所述叠加信息包括所述虚拟对象相对于光通信装置的叠加位置信息;以及设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象。
Description
技术领域
本发明属于增强现实或虚拟现实技术领域,尤其涉及一种基于光通信装置叠加虚拟对象的方法和相应的电子设备。
背景技术
本部分的陈述仅仅是为了提供与本发明相关的背景信息,以帮助理解本发明,这些背景信息并不一定构成现有技术。
近年来,增强现实(Augmented Reality,AR)和虚拟现实(Virtual Reality,VR)技术取得了长足的进展,并获得了越来越广泛的应用。
增强现实技术也被称为混合现实技术,其通过计算机技术将虚拟对象应用到现实场景,使得现实场景和虚拟对象实时地呈现到同一个画面或空间中,从而增强用户对现实世界的感知。由于增强现实技术具有能够对真实环境进行增强显示输出的特性,其在医疗研究与解剖训练、精密仪器制造和维修、军用飞机导航、工程设计和远程机器人控制等技术领域,获得了越来越广泛的应用并且具有明显的优势。在一种增强现实应用中,可以在视野中的固定位置处叠加一些数据信息,例如,飞行员在学习驾驶飞机的时候,可以通过佩戴显示头盔来查看在现实场景上叠加的飞行数据,这些数据通常都是显示在视野中的固定的位置处(例如,始终在左上角)。这种增强现实技术缺乏足够的灵活性。在另一种增强现实应用中,可以首先识别出现实场景中的真实物体,然后将虚拟对象叠加到屏幕上显示的该真实物体上或附近。但是,当前的增强现实技术难以做到在现实场景中的精确位置处叠加虚拟对象,特别是当虚拟对象的叠加位置与识别出的真实物体距离较远时。
虚拟现实技术是一种能够创建和体验虚拟世界的计算机仿真技术,它利用计算机生成一种交互式的虚拟场景,其实体行为的仿真系统能够使用户沉浸到该虚拟场景中。在该虚拟场景中,通常具有许多虚拟对象,这些虚拟对象的叠加位置或呈现位置通常会根据用户的位置或姿态的改变而改变。但是,当前的虚拟现实技术通常是基于设备内部的传感器(例如,加速度传感器、陀螺仪等)来跟踪用户的位置或姿态,这种方式存在误差,且误差会随着时间逐渐积累,导致难以根据用户的实际位置或姿态来准确地叠加虚拟对象。
发明内容
本发明的方案提供了一种基于光通信装置在现实场景或虚拟场景中叠加虚拟对象的方法,其通过使用光通信装置作为锚点,能够在现实场景或虚拟场景中的精确位置处叠加虚拟对象。
本发明的一个方面涉及一种基于光通信装置叠加虚拟对象的方法,包括:设备获得光通信装置的标识信息,所述标识信息与一个或多个虚拟对象相关联;设备通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息,所述叠加信息包括所述虚拟对象相对于光通信装置的叠加位置信息;以及设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象。
可选地,其中,所述设备具有图像采集器件,以及其中,所述设备相对于光通信装置的位置信息通过如下方式获得:所述设备通过采集包括光通信装置的图像并分析该图像来确定其相对于光通信装置的位置信息。
可选地,其中,所述设备的姿态信息包括:所述设备相对于所述光通信装置的姿态信息。
可选地,其中,所述设备具有图像采集器件,以及其中,所述设备相对于所述光通信装置的姿态信息通过如下方式获得:基于所述光通信装置在所述设备的显示媒介上的成像来确定所述设备相对于所述光通信装置的姿态信息。
可选地,其中,所述设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象包括:基于所述叠加信息和所述设备相对于光通信装置的位置信息来确定所述虚拟对象相对于所述设备的位置信息;以及基于所述虚拟对象相对于所述设备的位置信息和所述姿态信息,在所述设备的显示媒介上呈现所述虚拟对象。
可选地,其中,所述设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象包括:基于所述叠加信息、所述设备相对于光通信装置的位置信息、所述姿态信息确定待叠加的虚拟对象在所述设备的显示媒介上的成像位置和成像大小;以及基于所述成像位置和成像大小在所述设备的显示媒介上呈现所述虚拟对象。
可选地,上述方法还包括:在呈现了所述虚拟对象之后:再次确定所述设备相对于光通信装置的位置信息;再次确定所述设备的姿态信息;以及基于所述虚拟对象的叠加信息、再次确定的所述位置信息和所述姿态信息,校正所述虚拟对象在所述设备的显示媒介上的呈现。
可选地,其中,所述通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息包括:使用所述标识信息以及所述设备或其用户的相关信息进行查询,以获得待叠加的虚拟对象以及所述虚拟对象的叠加信息。
可选地,其中,所述通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息包括:通过所述标识信息以及所述设备相对于光通信装置的位置信息和/或姿态信息来获得待叠加的虚拟对象以及所述虚拟对象的叠加信息。
可选地,其中,所述虚拟对象的叠加位置信息包括所述虚拟对象上的多个点中的每个点的叠加位置信息。
可选地,其中,所述叠加信息还包括待叠加的虚拟对象的叠加姿态信息或叠加时间信息。
可选地,其中,基于现实世界中的物体相对于光通信装置的位置来确定所述虚拟对象相对于光通信装置的叠加位置信息。
可选地,其中,通过在所述设备的显示媒介上呈现所述虚拟对象,实现了所述虚拟对象在现实场景或虚拟场景中的叠加。
本发明的另一个方面涉及一种基于光通信装置叠加虚拟对象的方法,包括:设备获得光通信装置的标识信息;设备通过所述标识信息获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息,所述叠加信息包括叠加位置信息和叠加时间信息,其中,所述叠加位置信息是虚拟对象相对于光通信装置的位置信息;以及设备基于其相对于光通信装置的位置信息、其姿态信息、所述虚拟对象的叠加位置信息和叠加时间信息,在所述设备的显示媒介上呈现虚拟对象或者删除已呈现的虚拟对象。
可选地,其中,所述通过所述标识信息获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息包括:使用所述标识信息以及所述设备或其用户的相关信息进行查询,以获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息。
可选地,其中,基于现实世界中的物体相对于光通信装置的位置来确定所述虚拟对象的叠加位置信息。
本发明的再一个方面涉及一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述的方法。
本发明的再一个方面涉及一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述的方法。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1示出了一种示例性的光标签;
图2示出了一种示例性的光标签网络;
图3示出了根据一个实施例的基于光标签在现实场景中叠加虚拟对象的方法;
图4示出了根据另一个实施例的基于光标签在现实场景中叠加虚拟对象的方法;
图5示出了根据另一个实施例的基于光标签在现实场景中叠加虚拟对象的方法;
图6示出了根据一个实施例的在一个方向观察的叠加了虚拟对象后的现实场景;以及
图7示出了根据一个实施例的在另一个方向观察的叠加了虚拟对象后的现实场景。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
光通信装置也称为光标签,这两个术语在本文中可以互换使用。光标签能够通过发出不同的光来传递信息,其具有识别距离远、可见光条件要求宽松、指向性强的优势,并且光标签所传递的信息可以随时间变化,从而可以提供大的信息容量和灵活的配置能力。
光标签中通常可以包括控制器和至少一个光源,该控制器可以通过不同的驱动模式来驱动光源,以向外传递不同的信息。图1示出了一种示例性的光标签100,其包括三个光源(分别是第一光源101、第二光源102、第三光源103)。光标签100还包括控制器(在图1中未示出),其用于根据要传递的信息为每个光源选择相应的驱动模式。例如,在不同的驱动模式下,控制器可以使用不同的驱动信号来控制光源的发光方式,从而使得当使用具有成像功能的设备拍摄光标签100时,其中的光源的图像可以呈现出不同的外观(例如,不同的颜色、图案、亮度、等等)。通过分析光标签100中的光源的成像,可以解析出各个光源此刻的驱动模式,从而解析出光标签100此刻传递的信息。
为了基于光标签向用户提供相应的服务,每个光标签可以被分配一个标识信息(ID),该标识信息用于由光标签的制造者、管理者或使用者等唯一地识别或标识光标签。通常,可由光标签中的控制器驱动光源以向外传递该标识信息,而用户可以使用设备对光标签进行图像采集来获得该光标签传递的标识信息,从而可以基于该标识信息来访问相应的服务,例如,访问与光标签的标识信息相关联的网页、获取与标识信息相关联的其他信息(例如,与该标识信息对应的光标签的位置信息)、等等。本文提到的设备例如可以是用户随身携带的移动设备(例如,带有摄像头的手机、平板电脑、智能眼镜、智能头盔、智能手表等等),也可以是能够自主移动的机器(例如,无人机、无人驾驶汽车、机器人等等)。设备可以通过其上的摄像头对光标签进行连续的图像采集来获得包含光标签的多张图像,并通过内置的应用程序来分析每张图像中的光标签(或光标签中的各个光源)的成像以识别出光标签传递的信息。
光标签可以安装于固定的位置,并可以将光标签的标识信息(ID)以及任何其他信息(例如位置信息)存储于服务器中。在现实中,可以将大量的光标签构建成一个光标签网络。图2示出了一种示例性的光标签网络,该光标签网络包括多个光标签和至少一个服务器,其中,与每个光标签相关的信息可保存在服务器上。例如,可以在服务器上保存每个光标签的标识信息(ID)或任何其他信息,例如与该光标签相关的服务信息、与该光标签相关的描述信息或属性,如光标签的位置信息、物理尺寸信息、物理形状信息、姿态或朝向信息等。设备可以使用识别出的光标签的标识信息来从服务器查询获得与该光标签有关的其他信息。光标签的位置信息可以是指该光标签在物理世界中的实际位置,其可以通过地理坐标信息来指示。服务器可以是在计算装置上运行的软件程序、一台计算装置或者由多台计算装置构成的集群。光标签可以是离线的,也即,光标签不需要与服务器进行通信。当然,可以理解,能够与服务器进行通信的在线光标签也是可行的。
可以将光标签作为锚点,来实现虚拟对象到现实场景或虚拟场景中的叠加。虚拟对象例如可以是图标、图片、文字、表情符号、虚拟的三维物体、三维场景模型、一段动画、一段视频、一个可跳转的网页链接、等等。在下文中,以在现实场景中叠加虚拟对象为例进行了说明,但需要说明的是,这并非限制,本发明的方案同样适用于在虚拟场景中叠加虚拟对象。在一个实施例中,可以不依赖于光标签来呈现虚拟场景,并以摄像头视野中的光标签为锚点来在这个虚拟场景中叠加其他虚拟对象。在另一个实施例中,也可以以光标签为锚点来呈现虚拟场景并进一步在该虚拟场景中叠加其他虚拟对象。例如,可以基于光标签的位置和/或姿态等来确定所呈现的虚拟场景的位置和/或姿态等,虚拟场景本身可以被看作一个虚拟对象并可以以本发明的方案进行叠加或呈现。
图3示出了根据一个实施例的基于光标签在现实场景中叠加虚拟对象的方法,该方法包括如下步骤:
步骤301:设备获得光标签的标识信息。
例如,设备可以通过采集并分析光标签的图像,来识别出光标签传递的其标识信息。该标识信息可以与一个或多个虚拟对象相关联。
步骤302:设备使用光标签的标识信息进行查询,以获得待叠加的虚拟对象以及所述虚拟对象的叠加信息,该叠加信息包括叠加位置信息。
设备在识别出光标签的标识信息之后,可以使用该标识信息向服务器发出查询请求。在服务器处可以预先存储与该光标签相关的信息,其例如可以包括光标签的标识信息、与该光标签(或光标签的标识信息)相关联的一个或多个虚拟对象的描述信息、每个虚拟对象的叠加位置信息、等等。虚拟对象的描述信息是用于描述该虚拟对象的相关信息,例如可以包括虚拟对象中包含的图片、文字、图标、虚拟对象的标识信息、形状信息、颜色信息、尺寸信息、等等。基于该描述信息,设备可以呈现出相应的虚拟对象。虚拟对象的叠加位置信息可以是相对于光标签的位置信息(例如,虚拟对象的叠加位置相对于光标签的距离信息和相对于光标签的方向信息),其用于指示虚拟对象的叠加位置。设备通过向服务器发出查询请求,可以获得要在设备当前呈现的现实场景中叠加的虚拟对象的描述信息以及该虚拟对象的叠加信息。在一个实施例中,在服务器处存储的虚拟对象描述信息可以仅仅是虚拟对象的标识信息,设备在获得该标识信息后,可以使用该标识信息在设备本地或从第三方获得用于虚拟对象的呈现的更为详细的描述信息。在一个实施例中,虚拟对象的叠加信息还可以包括虚拟对象的叠加姿态信息或叠加时间信息,该叠加姿态信息可以是虚拟对象相对于光标签的姿态信息,也可以是其在现实世界的坐标系中的姿态信息。
需要说明的是,为了确定虚拟对象的叠加姿态,并非必须使用虚拟对象的叠加姿态信息,而是也可以使用虚拟对象的叠加位置信息来确定虚拟对象的叠加姿态。例如,对于一个虚拟对象,可以确定其上的若干个点的叠加位置信息,这些不同的点的叠加位置信息能够用于确定该虚拟对象相对于光标签的姿态或者在现实世界坐标系中的姿态。
在一个实施例中,可以基于现实世界中位于光标签附近的其他物体相对于光标签的位置来确定虚拟对象的叠加位置信息,例如,可以将虚拟对象相对于光标签的位置确定为某个物体相对于光标签的位置,或者可以将虚拟对象相对于光标签的位置确定为位于某个物体相对于光标签的位置附近,如此,在叠加虚拟对象时,这些虚拟对象可以覆盖现实场景中的物体,或者可以在这些物体周围或附近呈现相关的虚拟对象,从而实现精确的增强现实效果。
步骤303:设备确定其相对于光标签的位置信息。
设备可以采用各种方式来确定其相对于光标签的位置信息,该相对位置信息可以包括设备相对于光标签的距离信息和方向信息。通常情况下,设备相对于光标签的位置信息实际上是设备的图像采集器件相对于光标签的位置信息。在一个实施例中,设备可以通过采集包括光标签的图像并分析该图像来确定其相对于光标签的位置信息。例如,设备可以通过图像中的光标签成像大小以及可选的其他信息(例如,光标签的实际物理尺寸信息、设备的摄像头的焦距)来确定光标签与识别设备的相对距离(成像越大,距离越近;成像越小,距离越远)。设备可以使用光标签的标识信息从服务器获得光标签的实际物理尺寸信息,或者光标签可以具有统一的物理尺寸并在设备上存储该物理尺寸。设备可以通过包括光标签的图像中的光标签成像的透视畸变以及可选的其他信息(例如,光标签的成像位置),来确定设备相对于光标签的方向信息。设备可以使用光标签的标识信息从服务器获得光标签的物理形状信息,或者光标签可以具有统一的物理形状并在设备上存储该物理形状。在一个实施例中,设备也可以通过其上安装的深度摄像头或双目摄像头等来直接获得光标签与识别设备的相对距离。设备也可以采用现有的任何其他定位方法来确定其相对于光标签的位置信息。
步骤304:设备确定其姿态信息。
设备可以确定其姿态信息,该姿态信息可以用于确定设备拍摄的现实场景的范围或边界。通常情况下,设备的姿态信息实际上是设备的图像采集器件的姿态信息。在一个实施例中,设备可以确定其相对于光标签的姿态信息,例如,设备可以根据光标签的成像来确定其相对于光标签的姿态信息,当光标签的成像位置或成像区域位于设备成像视野的中心时,可以认为设备当前正对着光标签。在确定设备的姿态时可以进一步考虑光标签的成像的方向。随着设备的姿态发生改变,光标签在设备上的成像位置和/或成像方向会发生相应的改变,因此,可以根据光标签在设备上的成像来获得设备相对于光标签的姿态信息。
在一个实施例中,也可以以如下方式来确定设备相对于光标签的位置和姿态信息(可以统称为位姿信息)。具体地,可以根据光标签建立一个坐标系,该坐标系可以被称为光标签坐标系。可以将光标签上的一些点确定为在光标签坐标系中的一些空间点,并且可以根据光标签的物理尺寸信息和/或物理形状信息来确定这些空间点在光标签坐标系中的坐标。光标签上的一些点例如可以是光标签的外壳的角、光标签中的光源的端部、光标签中的一些标识点、等等。根据光标签的物体结构特征或几何结构特征,可以在设备相机拍摄的图像中找到与这些空间点分别对应的像点,并确定各个像点在图像中的位置。根据各个空间点在光标签坐标系中的坐标以及对应的各个像点在图像中的位置,结合设备相机的内参信息,可以计算得到拍摄该图像时设备相机在光标签坐标系中的位姿信息(R,t),其中R为旋转矩阵,其可以用于表示设备相机在光标签坐标系中的姿态信息,t为位移向量,其可以用于表示设备相机在光标签坐标系中的位置信息。计算R、t的方法在现有技术中是已知的,例如,可以利用3D-2D的PnP(Perspective-n-Point)方法来计算R、t,为了不模糊本发明,在此不再详细介绍。旋转矩阵R和位移向量t实际上可以描述如何将某个点的坐标在光标签坐标系和设备相机坐标系之间转换。例如,通过旋转矩阵R和位移向量t,可以将某个点在光标签坐标系中的坐标转换为在设备相机坐标系中的坐标,并可以进一步转换为图像中的像点的位置。如此,对于具有多个特征点(虚拟对象的轮廓上的多个点)的虚拟对象,可以在该虚拟对象的叠加信息中包括该多个特征点在光标签坐标系中的坐标(也即,相对于光标签的位置信息),基于多个特征点在光标签坐标系中的坐标,可以确定这些特征点在设备相机坐标系中的坐标,从而可以确定这些特征点在设备上的各自成像位置。虚拟对象的多个特征点的各自成像位置一旦确定,就可以相应地确定出该虚拟对象整体的成像的位置、大小、或姿态等。
步骤305:基于虚拟对象的叠加信息、设备相对于光标签的位置信息、设备的姿态信息,在设备的显示媒介上呈现所述虚拟对象,从而在现实场景中叠加所述虚拟对象。
虚拟对象的叠加位置信息体现了待叠加的虚拟对象相对于光标签的位置信息。在通过上述步骤获得了虚拟对象的叠加位置信息和设备相对于光标签的位置信息之后,实际上可以创建出以光标签为原点的三维空间坐标系,其中,设备和待叠加的虚拟对象均具有在该坐标系中的准确的空间坐标。在一个实施例中,也可以基于虚拟对象的叠加位置信息和设备相对于光标签的位置信息来确定待叠加的虚拟对象相对于设备的位置信息。在上述基础上,可以基于设备的姿态信息在现实场景中叠加该虚拟对象。例如,可以基于设备和待叠加的虚拟对象的相对距离来确定待叠加的虚拟对象的成像大小,可以基于设备和待叠加的虚拟对象的相对方向和设备的姿态信息来确定待叠加的虚拟对象在设备上的成像位置。基于该成像位置和成像大小,可以在现实场景中实现虚拟对象的准确叠加。在一个实施例中,待叠加的虚拟对象可以具有默认的成像大小,在这种情况下,可以仅确定待叠加的虚拟对象在设备上的成像位置,而不确定其成像大小。在叠加信息包括虚拟对象的叠加姿态信息的情况下,可以进一步确定所叠加的虚拟对象的姿态。在一个实施例中,可以根据上文所计算的设备(更准确地说,该设备的相机)相对于光标签的位姿信息(R,t)来确定待叠加的虚拟对象在设备上的成像的位置、大小或姿态等。在一种情况下,如果确定待叠加的虚拟对象当前不在设备的视野中(例如,虚拟对象的成像位置在显示屏幕之外),则不显示虚拟对象。
在上述实施例中,光标签实际上被用作了锚点,基于该锚点,实现了虚拟对象在现实场景中的精确叠加。而且,即使虚拟对象的叠加位置与光标签距离较远时,也可以实现精确叠加。
本领域技术人员可以理解,设备也可以在确定了其位置信息和/或姿态信息之后,使用光标签的标识信息查询待叠加的虚拟对象。在一个实施例中,设备可以在确定了其位置信息和/或姿态信息之后,使用光标签的标识信息以及设备的位置信息和/或姿态信息进行查询,以确定待叠加的虚拟对象以及所述虚拟对象的叠加信息。如此,可以根据设备的位置和/或姿态筛选需要叠加的虚拟对象,从而减轻需要传输的网络流量。
在一个实施例中,设备可以使用各种可行的方式来呈现现实场景。例如,设备可以通过摄像头采集现实世界的信息并使用上述信息在显示屏幕上再现出现实场景,虚拟对象的图像可以被叠加在该显示屏幕上。设备(例如智能眼镜)也可以不通过显示屏幕来再现现实场景,而是可以简单地通过棱镜、透镜、反射镜、透明物体(例如玻璃)等来再现现实场景,虚拟对象的图像可以被光学地叠加到该现实场景中。上述显示屏幕、棱镜、透镜、反射镜、透明物体等可以统称为设备的显示媒介,虚拟对象可以被呈现在该显示媒介上。例如,在一种光学透视式增强现实设备中,用户通过特定的透镜观察到现实场景,同时该透镜可以将虚拟对象的成像反射到用户的眼中。在一个实施例中,设备的用户可以直接观察到现实场景或其部分,该现实场景或其部分在被用户的眼睛观察到之前不需要经过任何媒介进行再现,并且虚拟对象可以被光学地叠加到该现实场景中。因此,现实场景或其中的部分在被用户的眼睛观察到之前并不一定需要通过设备来呈现或再现。
在叠加了虚拟对象之后,设备可能会发生平移和/或旋转,在这种情况下,可以使用本领域已知的方法(例如,诸如手机之类的终端设备可使用其内置的加速度传感器、陀螺仪、视觉里程计等)来测量其位置变化以及姿态变化,从而对虚拟对象的显示进行调整,例如,改变其成像位置、成像大小、观察角度、虚拟对象进入设备视野、虚拟对象离开设备视野、等等。这在本领域中是已知的,不再赘述。但是,由于设备内置传感器的精度问题,和某些场景下纹理特征的缺失(例如:光线不好的黑夜,无纹理特征的白墙,蓝天等),现有技术采用的通过内置传感器或视觉里程计跟踪设备位置和姿态的方法易引起所叠加的虚拟对象的漂移。例如,在设备经过了一段时间的平移和/或旋转之后,当虚拟对象再次出现在视野中时,会发现其当前的叠加位置偏离了初始的叠加位置。这种偏离通常会随着时间的过去而越来越严重。
在一个实施例中,设备可以重新(例如,当光标签离开设备视野后重新进入设备视野时,或者在光标签保持在设备视野中的情况下每隔一定时间)确定其相对于光标签的位置信息以及其相对于光标签的姿态信息,并基于虚拟对象的叠加位置信息、设备相对于光标签的位置信息、设备相对于光标签的姿态信息,重新确定虚拟对象的成像位置和/或成像大小,从而校正所述虚拟对象在现实场景中的叠加。例如,如果设备当前显示的虚拟对象的成像位置或成像大小与重新确定的成像位置或成像大小存在差异或者差异超过预设阈值,设备可以根据重新确定的成像位置和成像大小来叠加虚拟对象。如此,可以避免叠加的虚拟对象的位置随着设备的转动或移动而发生漂移。
在某些情况下,可能存在与光标签关联的多个虚拟对象,并且在叠加这些虚拟对象时可能会出现重叠、遮挡等情形。在一个实施例中,当叠加多个虚拟对象时可以考虑这些虚拟对象之间的重叠、遮挡等情形,并且仅在现实场景中叠加或呈现未被遮挡的虚拟对象或者虚拟对象的未被遮挡的部分。在另一个实施例中,也可以考虑将遮挡其他虚拟对象的虚拟对象或其部分设置为半透明,并且也叠加或呈现被遮挡的虚拟对象或其部分,从而使得设备用户能够观察到所有虚拟对象。
在一个实施例中,在叠加虚拟对象时,设备可以根据需要仅叠加其当前视野范围内的一部分虚拟对象,而非视野范围内的所有虚拟对象。例如,对于一些叠加位置与设备位置非常接近的虚拟对象,如果在设备观察到的现实场景中叠加该虚拟对象,该虚拟对象可能会显示为具有非常大的尺寸(近大远小),并会遮挡大量其他物体,从而影响设备用户的使用体验。对于一些叠加位置与设备位置相距非常远的虚拟对象,如果在设备观察到的现实场景中叠加该虚拟对象,该虚拟对象可能会显示为具有非常小的尺寸而难于观察,并不需要叠加。对于一些位于设备视野范围边缘处的虚拟对象,或者一些被实际物体或其他虚拟对象遮挡或部分遮挡的虚拟对象,也可以不进行叠加。
在一个实施例中,在叠加了虚拟对象之后,设备或其用户可以对该虚拟对象执行操作,以改变虚拟对象的属性。例如,设备或其用户可以移动虚拟对象的位置、改变虚拟对象的姿态、改变虚拟对象的大小或颜色、在虚拟对象上添加标注、等等。在一个实施例中,在设备或其用户改变了虚拟对象的属性之后,可以把虚拟对象的修改后的属性信息上传到服务器。服务器可以基于修改后的属性信息来修改其存储的虚拟对象的描述信息和叠加信息。如此,当之后其他用户使用其设备扫描光标签时,可以在现实场景中叠加修改后的虚拟对象。
在一个实施例中,为了提高虚拟对象叠加的灵活性、可定制性,可以为不同的设备或设备用户定制不同的虚拟对象。图4示出了根据另一个实施例的基于光标签在现实场景中叠加虚拟对象的方法,该方法包括如下步骤(部分步骤与图3中的步骤类似,在此不再详细解释):
步骤401:设备获得光标签的标识信息。
步骤402:设备使用光标签的标识信息以及所述设备或其用户的相关信息进行查询,以获得待叠加的虚拟对象以及所述虚拟对象的叠加信息,该叠加信息包括叠加位置信息。
设备的相关信息例如可以是设备的标识信息、设备的型号信息、设备的配置信息等,设备的用户的相关信息例如可以是该用户的标识信息、身份信息、年龄信息、性别信息、职业信息、个人爱好信息等。设备在识别出光标签的标识信息之后,可以使用该标识信息和所述设备或其用户的相关信息向服务器发出查询请求。服务器在接收到查询请求后,可以基于光标签的标识信息和设备或其用户的相关信息,选择出合适的一个或多个虚拟对象,并向设备发送该一个或多个虚拟对象的描述信息以及每个虚拟对象的叠加信息。在一个实施例中,虚拟对象的叠加信息还可以包括虚拟对象的叠加姿态信息或叠加时间信息。
步骤403:设备确定其相对于光标签的位置信息。
步骤404:设备确定其姿态信息。
步骤405:基于虚拟对象的叠加信息、设备相对于光标签的位置信息、设备的姿态信息,在设备的显示媒介上呈现所述虚拟对象,从而在现实场景中叠加所述虚拟对象。
如此,可以在相同的现实场景中为不同的设备或用户叠加不同的虚拟对象,这是非常有利的。例如,在机器人控制领域,在同一场所中可能存在不同的机器人,这些机器人被设计用于沿着不同的路线执行不同的任务或功能。通过采用图4所示的方法,可以在相同的现实场景中为不同的机器人叠加不同的虚拟对象,以分别辅助这些机器人的行进或操作。
在一个实施例中,为了提高虚拟对象叠加的灵活性、可定制性,可以根据不同的时刻来配置要叠加的不同的虚拟对象。图5示出了根据另一个实施例的基于光标签在现实场景中叠加虚拟对象的方法,该方法包括如下步骤(部分步骤与图3中的步骤类似,在此不再详细解释):
步骤501:设备获得光标签的标识信息。
步骤502:设备使用光标签的标识信息进行查询,以获得待叠加的一个或多个虚拟对象以及每个虚拟对象的叠加位置信息和叠加时间信息。
虚拟对象的叠加时间信息例如可以是一个时间段,其可以用叠加开始时间和叠加结束时间表示,用于指示该虚拟对象在现实场景中的生存期。不同虚拟对象的生存期可以重叠。设备在识别出光标签的标识信息之后,可以使用该标识信息向服务器发出查询请求。在服务器处可以预先存储与该光标签相关的信息,其例如可以包括光标签的标识信息、与该光标签相关联的一个或多个虚拟对象的描述信息、每个虚拟对象的叠加位置信息、每个虚拟对象的叠加时间信息、等等。服务器可以基于当前时间信息和虚拟对象的叠加时间信息,从与光标签的标识信息相关联的多个虚拟对象中选择一个或多个虚拟对象(例如,叠加结束时间晚于当前时间的一个或多个虚拟对象),并将所选择的一个或多个虚拟对象的描述信息、叠加位置信息、叠加时间信息发送给设备。
步骤503:设备确定其相对于光标签的位置信息。
步骤504:设备确定其姿态信息。
步骤505:设备确定当前应叠加的虚拟对象。
设备可以根据收到的每个虚拟对象的叠加时间信息,确定出当前时刻应在现实场景中叠加的虚拟对象。
步骤506:基于当前应叠加的虚拟对象的叠加位置信息、设备相对于光标签的位置信息、设备的姿态信息,在现实场景中叠加所述当前应叠加的虚拟对象。
步骤507:随着时间的过去,根据每个虚拟对象的叠加位置信息和叠加时间信息在现实场景中叠加虚拟对象或删除虚拟对象。
例如,当某一个虚拟对象的生存期开始时,可以在现实场景中叠加该虚拟对象,当其生存期结束时,可以从现实场景中删除该虚拟对象。在叠加虚拟对象时,可以使用设备相对于光标签的位置信息以及姿态信息来叠加虚拟对象,也可以使用设备通过其内置的传感器跟踪的当前位置信息以及姿态信息来叠加虚拟对象。
如此,可以根据不同的时刻来配置要在现实场景中叠加的不同的虚拟对象,并设定每个虚拟对象的生存期,这极大地提高了虚拟对象叠加的灵活性和可定制性。
在另一个实施例中,在图5所示的步骤502中可以进一步使用设备或其用户的相关信息,也即,设备可以使用光标签的标识信息和设备或其用户的相关信息进行查询,以确定针对该设备的待叠加的一个或多个虚拟对象以及每个虚拟对象的叠加位置信息和叠加时间信息。如此,可以为不同的设备或设备用户定制在不同时刻叠加的不同虚拟对象,进一步提高了虚拟对象叠加的灵活性和可定制性。
图6示出了根据一个实施例的在一个方向观察的叠加了虚拟对象后的现实场景,图7示出了根据一个实施例的在另一个方向观察的叠加了虚拟对象后的现实场景。在图6和图7中示出了安装于房间墙壁上的一个光标签(包括三个条状光源),并且示出了在桌子上方叠加的一个虚拟对象,该虚拟对象是一个虚拟显示屏,其中可以显示图片、视频等。
在上文中,以在现实场景中叠加虚拟对象为例进行了说明,但可以理解,本发明的方案同样适用于在虚拟场景中叠加虚拟对象。在设备呈现或显示的虚拟场景中可以包括各种虚拟对象,例如虚拟的三维场景模型、虚拟物体、虚拟人物、等等。在叠加各种虚拟对象时,设备可以通过摄像头识别出光标签,并将该光标签作为锚点来叠加各种虚拟对象,通过这种方式,可以准确地跟踪用户的位置或姿态并准确地叠加各种虚拟对象。在虚拟场景中可以显示或不显示光标签或用于示出光标签的位置的图标或标识。
本文中提到的设备可以是用户携带的设备(例如,手机、平板电脑、智能眼镜、智能头盔、智能手表、等等),但是可以理解,该设备也可以是能够自主移动的机器,例如,无人机、无人驾驶汽车、机器人等。设备上可以安装有图像采集器件(例如摄像头)和显示媒介(例如显示屏)。
在本发明的一个实施例中,可以以计算机程序的形式来实现本发明。计算机程序可以存储于各种存储介质(例如,硬盘、光盘、闪存等)中,当该计算机程序被处理器执行时,能够用于实现本发明的方法。
在本发明的另一个实施例中,可以以电子设备的形式来实现本发明。该电子设备包括处理器和存储器,在存储器中存储有计算机程序,当该计算机程序被处理器执行时,能够用于实现本发明的方法。
本文中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个本文中各处的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。本文中出现的类似于“根据A”、“基于A”、“通过A”或“使用A”的表述意指非排他性的,也即,“根据A”可以涵盖“仅仅根据A”,也可以涵盖“根据A和B”,除非特别声明或者根据上下文明确可知其含义为“仅仅根据A”。在本申请中为了清楚说明,以一定的顺序描述了一些示意性的操作步骤,但本领域技术人员可以理解,这些操作步骤中的每一个并非是必不可少的,其中的一些步骤可以被省略或者被其他步骤替代。这些操作步骤也并非必须以所示的方式依次执行,相反,这些操作步骤中的一些可以根据实际需要以不同的顺序执行,或者并行执行,只要新的执行方式不是不符合逻辑的或不能工作。
由此描述了本发明的至少一个实施例的几个方面,可以理解,对本领域技术人员来说容易地进行各种改变、修改和改进。这种改变、修改和改进意于在本发明的精神和范围内。虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
Claims (18)
1.一种基于光通信装置叠加虚拟对象的方法,包括:
设备获得光通信装置的标识信息,所述标识信息与一个或多个虚拟对象相关联;
设备通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息,所述叠加信息包括所述虚拟对象相对于光通信装置的叠加位置信息;以及
设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象。
2.根据权利要求1所述的方法,其中,所述设备具有图像采集器件,以及其中,所述设备相对于光通信装置的位置信息通过如下方式获得:所述设备通过采集包括光通信装置的图像并分析该图像来确定其相对于光通信装置的位置信息。
3.根据权利要求1所述的方法,其中,所述设备的姿态信息包括:
所述设备相对于所述光通信装置的姿态信息。
4.根据权利要求3所述的方法,其中,所述设备具有图像采集器件,以及其中,所述设备相对于所述光通信装置的姿态信息通过如下方式获得:
基于所述光通信装置在所述设备的显示媒介上的成像来确定所述设备相对于所述光通信装置的姿态信息。
5.根据权利要求1-4中任一项所述的方法,其中,所述设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象包括:
基于所述叠加信息和所述设备相对于光通信装置的位置信息来确定所述虚拟对象相对于所述设备的位置信息;以及
基于所述虚拟对象相对于所述设备的位置信息和所述姿态信息,在所述设备的显示媒介上呈现所述虚拟对象。
6.根据权利要求1-4中任一项所述的方法,其中,所述设备基于其相对于光通信装置的位置信息、其姿态信息以及所述叠加信息,在所述设备的显示媒介上呈现所述虚拟对象包括:
基于所述叠加信息、所述设备相对于光通信装置的位置信息、所述姿态信息确定待叠加的虚拟对象在所述设备的显示媒介上的成像位置和成像大小;以及
基于所述成像位置和成像大小在所述设备的显示媒介上呈现所述虚拟对象。
7.根据权利要求1-4中任一项所述的方法,还包括:在呈现了所述虚拟对象之后:
再次确定所述设备相对于光通信装置的位置信息;
再次确定所述设备的姿态信息;以及
基于所述虚拟对象的叠加信息、再次确定的所述位置信息和所述姿态信息,校正所述虚拟对象在所述设备的显示媒介上的呈现。
8.根据权利要求1-4中任一项所述的方法,其中,所述通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息包括:
使用所述标识信息以及所述设备或其用户的相关信息进行查询,以获得待叠加的虚拟对象以及所述虚拟对象的叠加信息。
9.根据权利要求1-4中任一项所述的方法,其中,所述通过所述标识信息获得待叠加的虚拟对象以及所述虚拟对象的叠加信息包括:
通过所述标识信息以及所述设备相对于光通信装置的位置信息和/或姿态信息来获得待叠加的虚拟对象以及所述虚拟对象的叠加信息。
10.根据权利要求1-4中任一项所述的方法,其中,所述虚拟对象的叠加位置信息包括所述虚拟对象上的多个点中的每个点的叠加位置信息。
11.根据权利要求1-4中任一项所述的方法,其中,所述叠加信息还包括待叠加的虚拟对象的叠加姿态信息或叠加时间信息。
12.根据权利要求1-4中任一项所述的方法,其中,基于现实世界中的物体相对于光通信装置的位置来确定所述虚拟对象相对于光通信装置的叠加位置信息。
13.根据权利要求1-4中任一项所述的方法,其中,通过在所述设备的显示媒介上呈现所述虚拟对象,实现了所述虚拟对象在现实场景或虚拟场景中的叠加。
14.一种基于光通信装置叠加虚拟对象的方法,包括:
设备获得光通信装置的标识信息;
设备通过所述标识信息获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息,所述叠加信息包括叠加位置信息和叠加时间信息,其中,所述叠加位置信息是虚拟对象相对于光通信装置的位置信息;以及
设备基于其相对于光通信装置的位置信息、其姿态信息、所述虚拟对象的叠加位置信息和叠加时间信息,在所述设备的显示媒介上呈现虚拟对象或者删除已呈现的虚拟对象。
15.根据权利要求14所述的方法,其中,所述通过所述标识信息获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息包括:
使用所述标识信息以及所述设备或其用户的相关信息进行查询,以获得与该光通信装置相关联的一个或多个虚拟对象以及每个虚拟对象的叠加信息。
16.根据权利要求14所述的方法,其中,基于现实世界中的物体相对于光通信装置的位置来确定所述虚拟对象的叠加位置信息。
17.一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现权利要求1-16中任一项所述的方法。
18.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现权利要求1-16中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910485772.1A CN112053451A (zh) | 2019-06-05 | 2019-06-05 | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 |
PCT/CN2020/094381 WO2020244576A1 (zh) | 2019-06-05 | 2020-06-04 | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910485772.1A CN112053451A (zh) | 2019-06-05 | 2019-06-05 | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112053451A true CN112053451A (zh) | 2020-12-08 |
Family
ID=73609791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910485772.1A Pending CN112053451A (zh) | 2019-06-05 | 2019-06-05 | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112053451A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015194975A (ja) * | 2014-03-31 | 2015-11-05 | 日本放送協会 | 電子機器、表示方法、プログラム及び通信システム |
CN105391938A (zh) * | 2014-08-27 | 2016-03-09 | 株式会社理光 | 图像处理装置、图像处理方法和计算机程序产品 |
CN108022306A (zh) * | 2017-12-30 | 2018-05-11 | 华自科技股份有限公司 | 基于增强现实的场景识别方法、装置、存储介质和设备 |
CN108540542A (zh) * | 2018-03-26 | 2018-09-14 | 湖北大学 | 一种移动增强现实系统及显示的方法 |
-
2019
- 2019-06-05 CN CN201910485772.1A patent/CN112053451A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015194975A (ja) * | 2014-03-31 | 2015-11-05 | 日本放送協会 | 電子機器、表示方法、プログラム及び通信システム |
CN105391938A (zh) * | 2014-08-27 | 2016-03-09 | 株式会社理光 | 图像处理装置、图像处理方法和计算机程序产品 |
CN108022306A (zh) * | 2017-12-30 | 2018-05-11 | 华自科技股份有限公司 | 基于增强现实的场景识别方法、装置、存储介质和设备 |
CN108540542A (zh) * | 2018-03-26 | 2018-09-14 | 湖北大学 | 一种移动增强现实系统及显示的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210383551A1 (en) | Fiducial marker patterns, their automatic detection in images, and applications thereof | |
CN108292489B (zh) | 信息处理装置和图像生成方法 | |
EP3149698B1 (en) | Method and system for image georegistration | |
JP6008397B2 (ja) | 光学式シースルー型hmdを用いたarシステム | |
US10999412B2 (en) | Sharing mediated reality content | |
WO2015090421A1 (en) | Method and system for providing information associated with a view of a real environment superimposed with a virtual object | |
CN109561282B (zh) | 一种用于呈现地面行动辅助信息的方法与设备 | |
US20190122435A1 (en) | Generating time-delayed augmented reality content | |
JP2019124849A (ja) | 頭部装着型表示装置、表示システム、及び、頭部装着型表示装置の制御方法 | |
US20150145786A1 (en) | Method of controlling electronic device using transparent display and apparatus using the same | |
JP6061334B2 (ja) | 光学式シースルー型hmdを用いたarシステム | |
TWI764366B (zh) | 基於光通信裝置的互動方法和系統 | |
CN112561952A (zh) | 用于为目标设置可呈现的虚拟对象的方法和系统 | |
US11238658B2 (en) | AR space image projecting system, AR space image projecting method, and user terminal | |
CN112558008B (zh) | 基于光通信装置的导航方法、系统、设备及介质 | |
CN111242107B (zh) | 用于设置空间中的虚拟对象的方法和电子设备 | |
CN112053451A (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
CN112055033B (zh) | 基于光通信装置的交互方法和系统 | |
CN112312041B (zh) | 基于拍摄的图像校正方法、装置、电子设备及存储介质 | |
WO2020244576A1 (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
CN112053444A (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
CN111753565B (zh) | 用于呈现与光通信装置有关的信息的方法和电子设备 | |
CN112051919B (zh) | 一种基于位置的交互方法和交互系统 | |
TWI759764B (zh) | 基於光通信裝置疊加虛擬物件的方法、電子設備以及電腦可讀取記錄媒體 | |
CN112581630A (zh) | 一种用户交互方法和系统 |
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 |