本发明涉及增强现实技术领域,尤其涉及一种用于设置空间中的虚拟对象的方法和电子设备。
背景技术:
本部分的陈述仅仅是为了提供与本申请的技术方案有关的背景信息,以帮助理解,其对于本申请的技术方案而言并不一定构成现有技术。
增强现实(augmentedreality)技术也被称为混合现实技术,其通过计算机技术将虚拟对象应用到现实场景,使得现实场景和虚拟对象实时地呈现到同一个画面或空间中,从而增强用户对现实世界的感知。
虚拟对象例如可以是放置于现实场景中的虚拟屏幕,其上可以呈现某个人物的视频、图像等。然而目前,人物视频和图像或者用于呈现人物视频和图像的虚拟对象通常可以被以任何方式创建并被叠加到任何现实场景中,并不能很好地与现实场景中的位置进行结合或者绑定。
因此,需要一种依赖于现实场景中的位置的虚拟对象设置方法或呈现方法。
技术实现要素:
本发明的一个方面涉及一种用于设置空间中的虚拟对象的方法,其中,所述虚拟对象用于呈现设备所拍摄的人物影像,所述方法包括:基于所述设备扫描光通信装置所获得的位置信息来确定人物影像的拍摄位置;通过所述设备拍摄人物影像;产生用于呈现所述人物影像的虚拟对象;以及基于所述人物影像的拍摄位置设置所述虚拟对象在空间中的位置。
可选地,所述方法还包括:处理所拍摄的人物影像,以产生背景透明的人物影像或者产生人物抠图影像。
可选地,其中,所述人物影像的拍摄位置为:所述设备的位置;所述设备所扫描的光通信装置的位置;或者所述设备所拍摄的人物的位置。
可选地,其中,所述人物影像包括人物视频或人物图像。
可选地,其中,所述虚拟对象包括用于呈现人物影像的虚拟屏幕或者三维人物模型。
可选地,其中,基于所述设备扫描光通信装置所获得的位置信息来确定所述设备的位置,以及其中,所述人物影像的拍摄位置是所述设备在拍摄所述人物影像时的位置。
可选地,所述方法还包括:获得所述设备在拍摄所述人物影像时的姿态,其中,基于所述设备在拍摄所述人物影像时的位置和姿态设置所述虚拟对象在空间中的位置。
可选地,其中,所述人物影像的拍摄位置是所述设备所拍摄的人物的位置,以及其中,通过如下方式获得所述设备所拍摄的人物的位置:获得所述设备在拍摄所述人物影像时的位置和姿态;基于所述设备在拍摄所述人物影像时的位置和姿态确定被拍摄的人物的位置。
可选地,其中,所述基于所述设备在拍摄所述人物影像时的位置和姿态确定被拍摄的人物的位置包括:确定被拍摄的人物相对于所述设备的位置;基于所述设备在拍摄所述人物影像时的位置和姿态以及被拍摄的人物相对于所述设备的位置,确定被拍摄的人物的位置。
可选地,其中,通过如下方式确定所述人物影像的拍摄位置:根据所述设备的用户的指示记录所述设备的位置,并将该位置作为所述人物影像的拍摄位置。
可选地,其中,所述人物影像的拍摄位置是所述设备扫描的光通信装置的位置,以及其中,通过如下方式获得所述光通信装置的位置:通过所述设备扫描光通信装置来获得所述光通信装置的标识信息;以及通过所述光通信装置的标识信息获得所述光通信装置的位置。
可选地,其中,所述设备扫描光通信装置的时刻与所述设备拍摄人物影像的时刻之间的时间差小于阈值;和/或,所述设备扫描光通信装置的位置与所述设备拍摄人物影像的位置之间的距离小于阈值。
可选地,其中,通过所述设备拍摄多个人物影像,以及其中,所述方法还包括:配置一个或多个虚拟对象以使得以预定的时序在不同的位置或者相同的位置呈现所述多个人物影像。
本发明的另一方面涉及一种用于基于光通信装置呈现虚拟对象的方法,包括:通过设备扫描光通信装置来确定所述设备的启初位置和姿态信息,其中,所述设备具有图像采集器件和显示媒介;获得设置于所述设备周围的虚拟对象的相关信息,所述相关信息包括所述虚拟对象的位置信息;以及基于所述设备的当前位置和姿态信息以及所述虚拟对象的相关信息,在所述设备的显示媒介上的相应呈现位置处呈现所述虚拟对象。
可选地,其中,所述虚拟对象是用于呈现人物影像的虚拟对象,以及其中,所述人物影像是背景透明的人物影像或者是人物抠图影像。
可选地,其中,所述基于所述设备的当前位置和姿态信息以及所述虚拟对象的相关信息在所述设备的显示媒介上的相应呈现位置处呈现所述虚拟对象包括:基于所述设备的当前位置和姿态信息以及所述虚拟对象的位置信息,确定所述虚拟对象在所述设备的显示媒介上的呈现位置。
可选地,其中,基于所述设备的启初位置和姿态信息以及所述设备的传感器采集的信息获得所述设备的当前位置和姿态信息。
可选地,其中,所述获得设置于所述设备周围的虚拟对象的相关信息包括:所述设备扫描所述光通信装置来获得所述光通信装置的标识信息,并通过所述标识信息获得所述虚拟对象的相关信息;或者,基于所述设备的位置信息获得所述虚拟对象的相关信息。
可选地,其中,所述设置于所述设备周围的虚拟对象包括至少两个虚拟对象,以及其中,所述至少两个虚拟对象被配置以预定的时序呈现在所述设备的显示媒介上。
本发明的另一个方面涉及计算机程序以及存储该计算机程序的存储介质,在所述计算机程序被处理器执行时,能够用于实现上述的方法。
本发明的另一个方面涉及一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现上述的方法。
通过本发明的方案,提供了一种基于光标签的、依赖于现实场景中的位置的虚拟对象设置方法或呈现方法,其可以与现实场景更好地结合,实现更好的增强现实效果。另外,本发明的方案可以使用虚拟对象的创作位置来限制虚拟对象的呈现位置,从而避免增强现实应用中的虚假信息,促成增强现实应用的普及和推广。
附图说明
以下参照附图对本发明的实施例作进一步说明,其中:
图1示出了一种示例性的光标签;
图2示出了一种示例性的光标签网络;
图3示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法;
图4示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法;
图5示出了第一用户在布置了光标签的场景中使用设备为第二用户拍摄视频;
图6示出了根据一个实施例的设备的显示媒介;
图7示出了根据一个实施例的设备的显示媒介;
图8示出了根据一个实施例的在设备的显示媒介上呈现的一个实际图像;
图9示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法;
图10示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法;
图11示出了根据一个实施例的用于基于光标签呈现虚拟对象的方法。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限制本发明。
光通信装置也称为光标签,这两个术语在本文中可以互换使用。光标签能够通过不同的发光方式来传递信息,其具有识别距离远、可见光条件要求宽松的优势,并且光标签所传递的信息可以随时间变化,从而可以提供大的信息容量和灵活的配置能力。
光标签中通常可以包括控制器和至少一个光源,该控制器可以通过不同的驱动模式来驱动光源,以向外传递不同的信息。图1示出了一种示例性的光标签100,其包括三个光源(分别是第一光源101、第二光源102、第三光源103)。光标签100还包括控制器(在图1中未示出),其用于根据要传递的信息为每个光源选择相应的驱动模式。例如,在不同的驱动模式下,控制器可以使用不同的驱动信号来控制光源的发光方式,从而使得当使用具有成像功能的设备拍摄光标签100时,其中的光源的成像可以呈现出不同的外观(例如,不同的颜色、图案、亮度、等等)。通过分析光标签100中的光源的成像,可以解析出各个光源此刻的驱动模式,从而解析出光标签100此刻传递的信息。可以理解,图1所示的光标签仅仅用作示例,光标签可以具有与图1所示的示例不同的形状,并且可以具有与图1所示的示例不同数量和/或不同形状的光源。
为了基于光标签向用户提供相应的服务,每个光标签可以被分配一个标识信息(id),该标识信息用于由光标签的制造者、管理者或使用者等唯一地识别或标识光标签。通常,可由光标签中的控制器驱动光源以向外传递该标识信息,而用户可以使用设备对光标签进行图像采集来获得该光标签传递的标识信息,从而可以基于该标识信息来访问相应的服务,例如,访问与标识信息相关联的网页、获取与标识信息相关联的其他信息(例如,与该标识信息对应的光标签的位置信息)等等。本文提到的设备例如可以是用户携带或控制的设备(例如,手机、平板电脑、智能眼镜、ar/vr眼镜、ar/vr头盔、智能手表等等),也可以是能够自主移动的机器(例如,无人机、无人驾驶汽车、机器人等等)。设备可以通过其上的图像采集器件(例如摄像头)对光标签进行图像采集来获得包含光标签的图像,并通过分析图像中的光标签(或光标签中的各个光源)的成像以识别出光标签传递的信息。
可以将与每个光标签相关的信息存储于服务器中。在现实中,还可以将大量的光标签构建成一个光标签网络。图2示出了一种示例性的光标签网络,该光标签网络包括多个光标签和至少一个服务器。可以在服务器上保存每个光标签的标识信息(id)或其他信息,例如与该光标签相关的服务信息、与该光标签相关的描述信息或属性,如光标签的位置信息、型号信息、物理尺寸信息、物理形状信息、姿态或朝向信息等。光标签也可以具有统一的或默认的物理尺寸信息和物理形状信息等。设备可以使用识别出的光标签的标识信息来从服务器查询获得与该光标签有关的其他信息。光标签的位置信息可以是指该光标签在物理世界中的实际位置,也可以是相对于所安装的场所的相对位置信息,其可以通过地理坐标信息来指示。服务器可以是在计算装置上运行的软件程序、一台计算装置或者由多台计算装置构成的集群。光标签可以是离线的,也即,光标签不需要与服务器进行通信。当然,可以理解,能够与服务器进行通信的在线光标签也是可行的。
图3示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法,该虚拟对象用于播放设备拍摄的人物视频,该方法可以包括如下步骤:
步骤301:基于拍摄设备扫描光标签所获得的位置信息来确定人物视频的拍摄位置。
设备扫描光标签所获得的位置信息可以是设备的位置信息,也可以是光标签的位置信息。在一些实施例中,例如可以将拍摄设备的位置、拍摄设备所扫描的光标签的位置、拍摄设备所拍摄的人物的位置等作为人物视频的拍摄位置。
步骤302:通过拍摄设备拍摄人物视频。
步骤303:产生用于播放该人物视频的虚拟对象。
所述虚拟对象可以是虚拟屏幕,其可以被放置到现实场景中,使得当用户使用具有图像采集器件和显示媒介的设备(例如,手机、ar眼镜等)观察该现实场景时,该虚拟屏幕可以叠加到设备显示媒介所呈现的现实场景图像上,从而实现增强现实效果。
在一个实施例中,可以进一步处理所拍摄的人物视频。例如,处理该人物视频以生成背景透明的视频(例如,带alpha透明通道的视频)或者人物抠图视频,使得该视频中只有人物,而不具备拍摄视频时的背景。
步骤304:基于人物视频的拍摄位置来设置虚拟对象在空间中的位置。
在一个实施例中,该虚拟对象在空间中的位置可以设置在所述人物视频的拍摄位置。在一个实施例中,可以基于人物视频的拍摄位置确定一个空间范围,并使得虚拟对象的位置只能位于该空间范围内。虚拟对象在空间中的可设置的位置受到人物视频的拍摄位置的限制。在一个实施例中,用户可以通过设备来设置虚拟对象在空间中的位置,当所设置的位置不满足要求时,可以提示用户。虚拟对象在空间中的位置可以是其相对于光标签的位置,也可以是其在某个场所坐标系或者世界坐标系中的位置。
需要说明的是,步骤301和302并无执行时间上的先后关系,两者可以以不同的顺序执行或者并发执行,从而可以在拍摄人物视频之前、期间或者之后获得人物视频的拍摄位置。在一个实施例中,拍摄设备可以在被拍摄人物所在的位置扫描光标签来获得人物视频的拍摄位置,然后拍摄人物视频。在一个实施例中,设备可以先拍摄人物视频,然后在被拍摄人物所在的位置扫描光标签来获得人物视频的拍摄位置。在一个实施例中,拍摄设备可以在拍摄人物视频之前或者之后,在拍摄该人物视频的位置扫描光标签来获得人物视频的拍摄位置。在一个实施例中,设备可以先扫描光标签来获得设备的初始位置,然后拍摄人物视频,并在拍摄人物视频的过程中确定设备在拍摄人物视频时的位置,之后,可以基于该位置确定人物视频的拍摄位置。
在某些情况下,拍摄设备在扫描光标签并获得人物视频的拍摄位置之后,可能会移动,然后才会拍摄人物视频。为了确保视频拍摄位置的准确度,在一个实施例中,可以限定设备扫描光标签的时刻与设备拍摄人物视频的时刻之间的时间差小于阈值,或者可以限定设备扫描光标签的位置与设备拍摄人物视频的位置之间的距离小于阈值。
图4示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法,在该方法中,在拍摄人物视频的过程中获得拍摄设备的位置,并基于该位置确定人物视频的拍摄位置。该方法可以包括如下步骤:
步骤401:基于拍摄设备扫描光标签所获得的位置信息来确定拍摄设备在空间中的位置。
在一个实施例中,设备可以通过采集包括光标签的图像并分析该图像(例如,分析图像中的光标签的成像的大小、透视变形等)来确定其相对于光标签的位置,该相对位置可以包括设备相对于光标签的距离和方向。
在一个实施例中,设备还可以通过采集包括光标签的图像并分析该图像来确定其相对于光标签的姿态。例如,当光标签的成像位置或成像区域位于设备成像视野的中心时,可以认为设备当前正对着光标签。
在一些实施例中,设备可以通过扫描光标签来识别光标签传递的标识信息,并可以通过该标识信息来获得(例如通过查询)光标签在某个场所坐标系(例如,针对某个房间、建筑物、园区等建立的坐标系)或者世界坐标系中的位置和姿态信息。如此,基于光标签在场所坐标系或者世界坐标系中的位置和姿态信息以及设备相对于光标签的位置或姿态信息,可以确定设备在该场所坐标系或者世界坐标系中的位置或姿态信息。因此,所确定的设备在空间中的位置或姿态可以是设备相对于光标签的位置或姿态,但也可以是设备在某个场所坐标系(例如,针对某个房间、建筑物、园区等建立的坐标系)或者世界坐标系中的位置或姿态。
在一个实施例中,设备可以通过扫描光标签来识别光标签传递的标识信息,并通过该标识信息确定该光标签所在现实场景的场景信息,该场景信息例如可以是现实场景的三维模型信息、现实场景的点云信息、光标签周围的辅助标志的信息或者其他信息等。之后,基于所确定的场景信息以及设备所采集的现实场景的图像可以通过视觉定位来确定设备在现实场景中的位置和/或姿态。
在一个实施例中,也可以根据设备中内置的各种传感器(例如磁力传感器、方向传感器、重力传感器等)来确定设备的姿态。
设备可以通过扫描光标签来确定设备在扫描光标签时在空间中的位置或姿态,在这之后,设备可能会发生平移和/或旋转,在这种情况下,可以例如使用设备内置的各种传感器(例如,加速度传感器、磁力传感器、方向传感器、重力传感器、陀螺仪、摄像头等)通过本领域已知的方法(例如,惯性导航、视觉里程计、slam、vslam、sfm等)来采集其位置变化和/或姿态变化信息,从而可以基于设备在扫描光标签时在空间中的位置或姿态以及之后设备的位置或姿态变化信息,获得设备当前在空间中的位置或姿态。在一个实施例中,设备可以在光标签处于其摄像头视野中时重新扫描光标签以校正或者重新确定其位置或姿态信息。
步骤402:通过拍摄设备拍摄人物视频。
可以使用设备上的图像采集器件采集人物视频。例如,如图5所示,第一用户501在布置了光标签504的场景中使用设备503为第二用户502拍摄视频。可以理解,在拍摄视频时,第一用户501并不是必要的,第二用户502可以在将设备503固定到某个位置(例如,固定到三脚架)后对自己进行拍摄,第二用户502也可以手持设备503或者将设备503耦接到自拍杆对自己进行拍摄。
步骤403:获得拍摄设备在拍摄人物视频时的位置。
在设备拍摄人物视频的过程中,可以获得设备的位置。在拍摄过程中,设备可能是静止的,也可能是移动的。所获得的设备的位置例如可以是拍摄过程中的某一时刻设备的位置,例如拍摄开始时设备的位置、拍摄结束时设备的位置、拍摄过程的某一中间时刻时设备的位置。在一个实施例中,也可以采集设备在拍摄过程中的多个位置,并根据该多个位置来获得设备在拍摄人物视频时的位置。例如,可以对设备在拍摄过程中的多个位置求平均值,并将该平均值作为设备在拍摄人物视频时的位置。
在一个实施例中,还可以获得设备在拍摄人物视频时的姿态。类似地,所获得的设备的姿态例如可以是拍摄过程中的某一时刻时设备的姿态。在一个实施例中,也可以采集设备在拍摄过程中的多个姿态,并根据该多个姿态来获得设备在拍摄人物视频时的姿态。
步骤404:产生用于播放所述视频的虚拟对象。
在一个实施例中,虚拟对象可以是虚拟屏幕,并且该虚拟屏幕可以具有预定的规格,例如尺寸、纵横比等。在一个实施例中,可以根据人物视频的相关信息来设置虚拟屏幕的规格。在一个实施例中,虚拟屏幕可以具有边框或者没有边框。在一个实施例中,虚拟屏幕可以是具有不规则形状的屏幕。
步骤405:基于拍摄设备在拍摄人物视频时的位置来设置虚拟对象在空间中的位置。
虚拟对象在空间中的可设置的位置受到设备在拍摄人物视频时的位置的限制。在一个实施例中,可以基于设备在拍摄人物视频时的位置,确定一个空间范围,使得虚拟对象在空间中的位置位于该空间范围内。例如,可以以设备在拍摄人物视频时的位置为中心,确定一个直径10米的圆作为空间范围。
在一个实施例中,如果在步骤403中还获得了设备在拍摄人物视频时的姿态,则可以在步骤405中基于设备在拍摄人物视频时的位置和姿态,确定一个空间范围,使得虚拟对象在空间中的可设置的位置位于该空间范围内。例如,可以基于设备在拍摄人物视频时的位置和姿态,确定设备正前方三米处的位置,并以该位置为中心确定一个空间范围。
在将虚拟对象设置到现实场景中之后,用户可以使用具有图像采集器件和显示媒介的设备来观察增强现实效果。图6示出了根据一个实施例的设备的显示媒介,其上呈现了通过设备摄像头采集的现实场景图像,并在该现实场景图像上叠加了一个虚拟对象,该虚拟对象上可以播放之前为第二用户502拍摄的视频。
在一个实施例中,可以处理所拍摄的人物视频。例如,可以处理该人物视频以生成背景透明的视频(例如,带alpha透明通道的视频)或者人物抠图视频,使得该视频看起来只有人物,而不具备拍摄视频时的背景。如此,当用户通过设备(例如手机或智能眼镜)的显示媒介观察虚拟屏幕时,仅会观察到视频中的人物,而不会观察到视频背景或者不会意识到虚拟屏幕的边界(例如长方形边界),就好像人物真实地位于现实场景中一样,从而可以实现更好的增强现实效果。
图7示出了根据一个实施例的设备的显示媒介。与图6相比,虚拟屏幕上播放的视频是背景透明的视频,使得视频中的第二用户502被逼真地叠加到现实场景中。
图8示出了根据一个实施例的在设备的显示媒介上呈现的一个实际图像,其中,一个用于播放人物视频的虚拟屏幕被叠加在通过设备摄像头采集的现实场景图像上,所播放的人物视频是背景透明的视频。
在一个实施例中,还可以设置虚拟屏幕的尺寸,以使得其中播放的视频中的人物具有与真人类似的大小。在一个实施例中,还可以设置虚拟屏幕在空间中的朝向或者姿态。
在一些实施例中,可以基于设备在拍摄人物视频时的位置和姿态确定被拍摄的人物在空间中的位置,并且虚拟对象在空间中的可设置的位置受到该人物在空间中的位置的限制。图9示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法,其包括如下步骤(其中的部分步骤与图4所示的步骤类似,在此不再赘述):
步骤901:基于拍摄设备扫描光标签所获得的位置信息来确定拍摄设备在空间中的位置。
步骤902:通过拍摄设备拍摄人物视频。
步骤903:获得拍摄设备在拍摄人物视频时的位置和姿态。
步骤904:确定被拍摄的人物相对于拍摄设备的位置。
在一个实施例中,可以根据被拍摄的人物在设备摄像头视野中的大小、位置等来确定人物相对于设备的位置。在一个实施例中,可以默认人物位于设备正前方的某一距离(例如,3米或5米)处。在一个实施例中,可以由用户手工输入人物相对于设备的位置。
步骤905:基于拍摄设备在拍摄人物视频时的位置和姿态以及被拍摄的人物相对于拍摄设备的位置,确定被拍摄的人物在空间中的位置。
被拍摄的人物在空间中的位置可以是其相对于光标签的位置,但也可以是其在某个场所坐标系或者世界坐标系中的位置。
步骤906:产生用于播放所述视频的虚拟对象。
步骤907:基于所述人物在空间中的位置来设置虚拟对象在空间中的位置。
在一个实施例中,可以基于人物在空间中的位置,确定一个空间范围,使得虚拟对象在空间中的可设置的位置位于该空间范围内。在一个实施例中,可以基于被拍摄的人物在空间中的位置,确定一个位置,并将该位置作为虚拟对象在空间中的位置。在一个实施例中,可以直接将被拍摄的人物在空间中的位置作为虚拟对象在空间中的位置。
在一个实施例中,可以例如在设备拍摄人物视频之前或者之后通过设备的位置来确定被拍摄的人物在空间中的位置。例如,用户在使用设备拍摄视频之前,可以手持设备移动到某一位置,并通过设备发送指示以记录该位置,之后,用户可以站在该位置,并将设备置于该位置周围来拍摄视频。
图10示出了根据一个实施例的用于基于光标签来设置空间中的虚拟对象的方法,在该方法中,可以获得设备所扫描的光标签的位置,并且虚拟对象在空间中的可设置的位置受到该光标签的位置的限制。该方法可以包括如下步骤:
步骤1001:通过拍摄设备扫描光标签来获得光标签的标识信息。
步骤1002:通过光标签的标识信息获得光标签的位置。
步骤1003:通过拍摄设备拍摄人物视频。
步骤1004:产生用于播放所述人物视频的虚拟对象。
步骤1005:基于所述光标签的位置来设置虚拟对象在空间中的位置。
在一个实施例中,可以拍摄多段人物视频,并可以配置一个或多个虚拟对象以使得其可以以预定的时序在不同的位置或者相同的位置播放所述多段人物视频。例如,在一个博物馆中可能存在多个相邻的展品,用户可以为每个展品拍摄一段讲解视频,并配置一个或多个虚拟对象以使得以预定的时序在不同的位置(例如,在每个展品旁边)播放多个讲解视频,从而实现虚拟导览功能。例如,对于三个展品a、b、c,可以拍摄三段讲解视频a、b、c,并配置一个或多个虚拟对象以使得在三个展品a、b、c旁边依次播放三段讲解视频a、b、c。在一个实施例中,如果使用一个虚拟对象播放要在不同位置呈现的多段人物视频,可以使得虚拟对象的位置随时间发生改变;如果使用多个虚拟对象分别播放要在不同位置呈现的多段人物视频,则可以将该多个虚拟对象设置于不同的位置,并配置各个虚拟对象的呈现时段。
上文以虚拟对象呈现的人物视频为例进行了说明,但可以理解,其他人物影像(例如,人物图像)同样适用于本发明的方案。
在一个实施例中,在拍摄人物影像时,可以使用位于人物周围的多个设备从多个不同角度拍摄,以获得人物的三维影像,例如三维人物视频或者三维人物图像。在这种情况下,可以使用三维人物模型作为虚拟对象来呈现人物影像。
图11示出了根据一个实施例的用于基于光标签呈现虚拟对象的方法,该虚拟对象可以是上文描述的虚拟屏幕或三维人物模型,但可以理解,这并非限制,虚拟对象还可以例如是图标、图片、文字、表情符号、虚拟的三维物体、三维场景模型、一个可跳转的网页链接、等等。该方法可以包括如下步骤:
步骤1101:通过设备扫描光标签来确定设备的启初位置和姿态信息。
在一个实施例中,所确定的设备的位置和姿态可以是其相对于光标签的位置和姿态。在一个实施例中,设备可以通过扫描光标签来识别光标签传递的标识信息,并可以通过该标识信息来获得光标签在某个场所坐标系或者世界坐标系中的位置和姿态信息。如此,基于光标签在场所坐标系或者世界坐标系中的位置和姿态信息以及设备相对于光标签的位置或姿态信息,可以确定设备在该场所坐标系或者世界坐标系中的位置或姿态信息。
在通过扫描光标签确定设备的启初或初始位置和姿态信息之后,设备可能会发生平移和/或旋转,在这种情况下,可以通过设备的传感器采集设备的位置变化和/或姿态变化信息,从而可以基于设备的启初位置和姿态信息以及设备传感器采集的信息,获得设备在空间中的实时位置和姿态信息。
在一个实施例中,设备可以在光标签处于其摄像头视野中时重新扫描光标签以校正或者重新确定其位置或姿态信息,该校正或者重新确定的位置或姿态信息可以作为启初位置和姿态信息。
步骤1102:获得设置于设备周围的虚拟对象的相关信息,所述相关信息包括所述虚拟对象的位置信息。
在一个实施例中,虚拟对象的相关信息可以包括虚拟对象的描述信息和位置信息。在一个实施例中,虚拟对象的相关信息还可以包括虚拟对象的姿态信息。虚拟对象的位置或姿态可以是其相对于光标签的位置或姿态,也可以是其在场所坐标系或者世界坐标系中的位置或姿态。
在一个实施例中,设备可以通过扫描光标签获得光标签的标识信息,并通过该标识信息获得虚拟对象的相关信息。在一个实施例中,可以基于设备的位置信息以及可选的姿态信息来查询获得设备周围的虚拟对象的相关信息。进行查询时所使用的设备的位置信息和姿态信息可以是设备的启初位置和姿态信息,也可以是设备在其他任一时刻的位置和姿态信息,可以基于设备的启初位置和姿态信息以及设备传感器采集的信息,获得设备在任一时刻的位置和姿态信息。
步骤1103:基于设备的当前位置和姿态信息以及所述虚拟对象的相关信息,在设备的显示媒介上的相应呈现位置处呈现所述虚拟对象。
在确定了设备的当前位置和姿态信息之后,实际上可以确定设备的图像采集器件的当前视野范围。进一步地,基于虚拟对象的位置可以确定该虚拟对象是否位于设备的图像采集器件的当前视野范围内,以及位于该视野范围内的什么位置,从而可以确定虚拟对象在设备的显示媒介上的呈现位置,并在显示媒介上的该位置处呈现虚拟对象。
在一个实施例中,在虚拟对象的相关信息包括虚拟对象的姿态信息的情况下,可以进一步基于设备的姿态信息和虚拟对象的姿态信息来确定在设备的显示媒介上呈现的虚拟对象的姿态。在一个实施例中,也可以使得虚拟对象的某个方向始终面向观察该虚拟对象的用户的设备。例如,可以使得虚拟屏幕的表面始终朝向用户的设备。在一个实施例中,在设备的显示媒介上呈现虚拟对象之后,设备可以接收用户的输入以对虚拟对象的位置和/或姿态进行调整或者与虚拟对象交互。
在一个实施例中,可以基于与设备或者设备用户相关的信息筛选设备周围的虚拟对象或者筛选虚拟对象的相关信息,从而可以根据设备用户的偏好向其呈现其可能喜欢的虚拟对象。
在一个实施例中,虚拟对象在空间中的位置可以随时间发生变化。在一个实施例中,设置于设备周围的虚拟对象可能包括至少两个虚拟对象,并且该至少两个虚拟对象可以以预定的时序在不同的位置或者相同的位置呈现在设备的显示媒介上。
在本发明的一个实施例中,可以以计算机程序的形式来实现本发明。计算机程序可以存储于各种存储介质(例如,硬盘、光盘、闪存等)中,当该计算机程序被处理器执行时,能够用于实现本发明的方法。
在本发明的另一个实施例中,可以以电子设备的形式来实现本发明。该电子设备包括处理器和存储器,在存储器中存储有计算机程序,当该计算机程序被处理器执行时,能够用于实现本发明的方法。
本文中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个本文中各处的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是不符合逻辑的或不能工作。本文中出现的类似于“根据a”、“基于a”、“通过a”或“使用a”的表述意指非排他性的,也即,“根据a”可以涵盖“仅仅根据a”,也可以涵盖“根据a和b”,除非特别声明其含义为“仅仅根据a”。在本申请中为了清楚说明,以一定的顺序描述了一些示意性的操作步骤,但本领域技术人员可以理解,这些操作步骤中的每一个并非是必不可少的,其中的一些步骤可以被省略或者被其他步骤替代。这些操作步骤也并非必须以所示的方式依次执行,相反,这些操作步骤中的一些可以根据实际需要以不同的顺序执行,或者并行执行,只要新的执行方式不是不符合逻辑的或不能工作。
由此描述了本发明的至少一个实施例的几个方面,可以理解,对本领域技术人员来说容易地进行各种改变、修改和改进。这种改变、修改和改进意于在本发明的精神和范围内。虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
1.一种用于设置空间中的虚拟对象的方法,其中,所述虚拟对象用于呈现设备所拍摄的人物影像,所述方法包括:
基于所述设备扫描光通信装置所获得的位置信息来确定人物影像的拍摄位置;
通过所述设备拍摄人物影像;
产生用于呈现所述人物影像的虚拟对象;以及
基于所述人物影像的拍摄位置设置所述虚拟对象在空间中的位置。
2.根据权利要求1所述的方法,还包括:
处理所拍摄的人物影像,以产生背景透明的人物影像或者产生人物抠图影像。
3.根据权利要求1所述的方法,其中,所述人物影像的拍摄位置为:
所述设备的位置;
所述设备所扫描的光通信装置的位置;或者
所述设备所拍摄的人物的位置。
4.根据权利要求1所述的方法,其中,所述人物影像包括人物视频或人物图像。
5.根据权利要求1所述的方法,其中,所述虚拟对象包括用于呈现人物影像的虚拟屏幕或者三维人物模型。
6.根据权利要求1-5中任一项所述的方法,其中,基于所述设备扫描光通信装置所获得的位置信息来确定所述设备的位置,以及其中,所述人物影像的拍摄位置是所述设备在拍摄所述人物影像时的位置。
7.根据权利要求6所述的方法,还包括:获得所述设备在拍摄所述人物影像时的姿态,其中,基于所述设备在拍摄所述人物影像时的位置和姿态设置所述虚拟对象在空间中的位置。
8.根据权利要求1-5中任一项所述的方法,其中,所述人物影像的拍摄位置是所述设备所拍摄的人物的位置,以及其中,通过如下方式获得所述设备所拍摄的人物的位置:
获得所述设备在拍摄所述人物影像时的位置和姿态;
基于所述设备在拍摄所述人物影像时的位置和姿态确定被拍摄的人物的位置。
9.根据权利要求8所述的方法,其中,所述基于所述设备在拍摄所述人物影像时的位置和姿态确定被拍摄的人物的位置包括:
确定被拍摄的人物相对于所述设备的位置;
基于所述设备在拍摄所述人物影像时的位置和姿态以及被拍摄的人物相对于所述设备的位置,确定被拍摄的人物的位置。
10.根据权利要求1所述的方法,其中,通过如下方式确定所述人物影像的拍摄位置:
根据所述设备的用户的指示记录所述设备的位置,并将该位置作为所述人物影像的拍摄位置。
11.根据权利要求1-5中任一项所述的方法,其中,所述人物影像的拍摄位置是所述设备扫描的光通信装置的位置,以及其中,通过如下方式获得所述光通信装置的位置:
通过所述设备扫描光通信装置来获得所述光通信装置的标识信息;以及
通过所述光通信装置的标识信息获得所述光通信装置的位置。
12.根据权利要求1-5中任一项所述的方法,其中,
所述设备扫描光通信装置的时刻与所述设备拍摄人物影像的时刻之间的时间差小于阈值;和/或
所述设备扫描光通信装置时的位置与所述设备拍摄人物影像时的位置之间的距离小于阈值。
13.根据权利要求1-5中任一项所述的方法,其中,通过所述设备拍摄多个人物影像,以及其中,所述方法还包括:配置一个或多个虚拟对象以使得以预定的时序在不同的位置或者相同的位置呈现所述多个人物影像。
14.一种用于基于光通信装置呈现虚拟对象的方法,包括:
通过设备扫描光通信装置来确定所述设备的启初位置和姿态信息,其中,所述设备具有图像采集器件和显示媒介;
获得设置于所述设备周围的虚拟对象的相关信息,所述相关信息包括所述虚拟对象的位置信息;以及
基于所述设备的当前位置和姿态信息以及所述虚拟对象的相关信息,在所述设备的显示媒介上的相应呈现位置处呈现所述虚拟对象。
15.根据权利要求14所述的方法,其中,所述虚拟对象是用于呈现人物影像的虚拟对象,以及其中,所述人物影像是背景透明的人物影像或者是人物抠图影像。
16.根据权利要求14或15所述的方法,其中,所述基于所述设备的当前位置和姿态信息以及所述虚拟对象的相关信息在所述设备的显示媒介上的相应呈现位置处呈现所述虚拟对象包括:
基于所述设备的当前位置和姿态信息以及所述虚拟对象的位置信息,确定所述虚拟对象在所述设备的显示媒介上的呈现位置。
17.根据权利要求14或15所述的方法,其中,基于所述设备的启初位置和姿态信息以及所述设备的传感器采集的信息获得所述设备的当前位置和姿态信息。
18.根据权利要求14或15所述的方法,其中,所述获得设置于所述设备周围的虚拟对象的相关信息包括:
所述设备扫描所述光通信装置来获得所述光通信装置的标识信息,并通过所述标识信息获得所述虚拟对象的相关信息;或者
基于所述设备的位置信息获得所述虚拟对象的相关信息。
19.根据权利要求14或15所述的方法,其中,所述设置于所述设备周围的虚拟对象包括至少两个虚拟对象,以及其中,所述至少两个虚拟对象被配置以预定的时序呈现在所述设备的显示媒介上。
20.一种存储介质,其中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现权利要求1-19中任一项所述的方法。
21.一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现权利要求1-19中任一项所述的方法。
技术总结