方位跟踪方法、实现增强现实的方法及相关装置、设备与流程

文档序号:12472228阅读:257来源:国知局
方位跟踪方法、实现增强现实的方法及相关装置、设备与流程

本申请涉及计算机领域,尤其涉及一种方位跟踪方法、实现增强现实的方法及相关装置、设备。



背景技术:

在人们认识世界的过程中,地球仪一直是不可缺少的地理教具,它可以让人们以更加形象而有趣的方式来认识空间与位置的概念,了解到陆地的宽广、海洋的浩瀚、四季的更迭,尤其对于孩子们形成正确的科学观和世界观也具有重要的意义。但是,长期以来,传统的地球仪只能表达非常有限的地理信息,例如陆地与海洋的边界、国家之间的边境线等;而对于更加丰富的地理信息,例如地球内部的构造、地球在太阳系中的位置、地球表面的动植物分布规律等,传统的地球仪则无能为力。

目前存在一些虚拟地球仪应用产品,此类应用产品通过屏幕显示一个虚拟地球仪,人们可以通过单指在屏幕上滑动来控制虚拟地球仪转动,也可以通过双指在屏幕上伸缩来控制虚拟地球仪放大或缩小。相对于实体地球仪而言,虚拟地球仪操作简便、便于携带,信息量也很大。但是,虚拟地球仪也存在一些明显的劣势,例如用户体验相对较差,无法给用户以真实的空间存在感和实际的操作体验感。

申请内容

本申请的目的是提供一种方位跟踪方法、实现增强现实的方法及相关装置、设备。

为实现上述目的,本申请提供了一种目标实体的方位跟踪方法,该方法包括:

获取包含目标实体的视频帧;

对所述视频帧中的目标实体进行图像特征提取,获取所述目标实体可视表面的图像特征信息;

基于所述目标实体的预制特征集合对获取到的所述目标实体可视表面的图像特征信息进行特征识别,在预制特征集合中获取与所述可视表面匹配的表面区域,其中,所述预制特征集合包含所述目标实体的多个表面区域以及每个表面区域的图像特征信息;

根据与所述可视表面匹配的表面区域的中心点坐标和方向矢量分别确定所述目标实体可视表面的中心点坐标和方向矢量。

进一步地,在获取包含目标实体的视频帧之前,还包括:

对目标实体进行预处理,构建所述目标实体的预制特征集合。

进一步地,对目标实体进行预处理,构建所述目标实体的预制特征集合,包括:

获取目标实体多个表面区域的图像,其中,所述多个表面区域至少覆盖所述目标实体的所有表面区域;

对所述多个表面区域的图像进行图像特征提取,获取所述每个表面区域的图像特征信息;

根据所述每个表面区域的图像特征信息构建所述目标实体的预制特征集合。

进一步地,根据与所述可视表面匹配的表面区域的中心点坐标确定所述目标实体可视表面的中心点坐标,包括:

若与所述可视表面匹配的表面区域有多个,将多个表面区域的中心点坐标进行加权平均处理,确定所述目标实体的中心点坐标。

进一步地,根据与所述可视表面匹配的表面区域的方向矢量确定所述目标实体可视表面方向矢量,包括:

若与所述可视表面匹配的表面区域有多个,将多个表面区域的方向矢量加权相加并进行矢量归一化处理,获取所述目标实体可视表面的方向矢量。

本申请还提供了一种实现增强现实的方法,该方法包括:

采用所述方位跟踪方法获取所述目标实体的中心点坐标和方向矢量;

根据所述方向矢量由虚拟模型中获取与所述可视表面对应的显示部分;

根据所述中心点坐标将所述显示部分渲染至所述视频帧中,以使所述目标实体的可视表面由所述显示部分覆盖。

输出完成渲染的视频帧。

进一步地,该方法还包括:

获取所述显示部分中的信息叠加点;

将所述信息叠加点对应的虚拟信息渲染至所述视频帧中,以使所述显示部分的相应位置显示所述虚拟信息。

进一步地,所述虚拟模型设置有触发点;

所述方法还包括:

判断所述显示部分的触发点是否位于所述视频帧的触发区域;

若所述触发点处于所述视频帧的触发区域,将所述触发点的触发效果渲染至所述视频帧中。

进一步地,所述目标实体为实体地球仪,所述虚拟模型为与所述实体地球仪匹配的虚拟地球仪。

基于本申请的另一方面,还提供了一种目标实体的方位跟踪装置,该装置包括:

图像采集模块,用于获取包含目标实体的视频帧;

特征提取模块,用于对所述视频帧中的目标实体进行图像特征提取,获取所述目标实体可视表面的图像特征信息;

特征匹配模块,用于基于所述目标实体的预制特征集合对获取到的所述目标实体可视表面的图像特征信息进行特征识别,在预制特征集合中获取与所述可视表面匹配的表面区域,其中,所述预制特征集合包含所述目标实体的多个表面区域以及每个表面区域的图像特征信息;

综合处理模块,用于根据与所述可视表面匹配的表面区域的中心点坐标和方向矢量分别确定所述目标实体可视表面的中心点坐标和方向矢量。

进一步地,该装置还包括:

预处理模块,用于在获取包含目标实体的视频帧之前,对目标实体进行预处理,构建所述目标实体的预制特征集合。

进一步地,所述预处理模块,用于控制所述图像采集模块获取目标实体多个表面区域的图像,其中,所述多个表面区域至少覆盖所述目标实体的所有表面区域;控制所述特征提取模块对所述多个表面区域的图像进行图像特征提取,获取所述每个表面区域的图像特征信息;以及根据所述每个表面区域的图像特征信息构建所述目标实体的预制特征集合。

进一步地,所述综合处理模块,用于在与所述可视表面匹配的表面区域有多个时,将多个表面区域的中心点坐标进行加权平均处理,确定所述目标实体的中心点坐标。

进一步地,所述综合处理模块,用于在与所述可视表面匹配的表面区域有多个时,将多个表面区域的方向矢量加权相加并进行矢量归一化处理,获取所述目标实体可视表面的方向矢量。

本申请还提供了一种实现增强现实的设备,该设备包括:

方位跟踪装置,用于获取所述目标实体的中心点坐标和方向矢量;

渲染装置,用于根据所述方向矢量由虚拟模型中获取与所述可视表面对应的显示部分,以及根据所述中心点坐标将所述显示部分渲染至所述视频帧中,以使所述目标实体的可视表面由所述显示部分覆盖;

输出装置,用于输出完成渲染的视频帧。

进一步地,所述渲染装置,还用于获取所述显示部分中的信息叠加点,以及将所述信息叠加点对应的虚拟信息渲染至所述视频帧中,以使所述显示部分的相应位置显示所述虚拟信息。

进一步地,所述虚拟模型设置有触发点;

所述渲染装置,还用于判断所述显示部分的触发点是否位于所述视频帧的触发区域,并在所述触发点处于所述视频帧的触发区域时,将所述触发点的触发效果渲染至所述视频帧中。

进一步地,所述目标实体为实体地球仪,所述虚拟模型为与所述实体地球仪匹配的虚拟地球仪。

与现有技术相比,本申请的方案能够基于增强现实技术将一些虚拟的图形、图像、信息等叠加到真实场景中去,起到了对现实场景进行增强的作用,通过将实体地球仪作为目标实体,使其能够同时兼备现有技术中的实体地球仪和虚拟地球仪的优点。通过实时获取目标实体的中心坐标点和方向矢量实现方位跟踪,并基于该中心坐标点和方向矢量对输出的视频帧进行实时渲染,使得用户在操控实体地球仪的过程中,虚拟地球仪会以相同的角度和速度转动,能够极大地改善用户体验。

此外,通过实时获取的包含目标实体的视频帧,进行图像特征提取,并与预先构建的预制特征集合进行图像特征匹配,并基于匹配结果进行计算,获取当前视频帧中目标实体可视表面的中心点坐标和方向矢量,由此能够快速准确地实现目标实体的方位跟踪,保证屏幕中显示的虚拟地球仪与实体地球仪能够同步运动,给予用户真实的空间存在感和实际的操作体验感。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请实施例提供的一种目标实体的方位跟踪方法的流程图;

图2(a)为本申请提供的一种可行的地球仪表面区域划分方式在赤道平面的投影示意图

图2(b)~(e)分别为图2(a)所划分的4个半球面在赤道平面的投影示意图;

图3为本申请实施例中与所述可视表面匹配的两个表面区域在参考坐标系下的空间方位示意图;

图4为本申请实施例中进行预处理的具体处理流程图;

图5为本申请实施例提供的一种实现增强现实的方法的流程图;

图6为申请实施例提供的一种目标实体的方位跟踪装置的结构示意图;

图7为本申请实施例提供的一种实现增强现实的设备的结构示意图;

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括、但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

图1示出了本申请实施例提供的一种目标实体的方位跟踪方法,该方法用于在实现AR(Augmented Reality,增强现实)的处理过程中,实现对实体目标可视表面的方位跟踪,具体包括以下步骤:

步骤S101,获取包含目标实体的视频帧。所述目标实体可以是实体地球仪,也可以是例如球体、椭球体、多面体等其它规则或者不规则形状的实体。在实际场景中可以通过带有摄像头等图像采集装置的设备来拍摄目标实体,以获取到包含目标实体的视频帧。例如,通过智能手机的摄像头拍摄一段关于实体地球仪的视频,该视频中的任意一帧均可用于后续步骤的处理,以获取在该视频帧中实体地球仪可视表面的中心坐标点和方向矢量。

步骤S102,对所述视频帧中的目标实体进行图像特征提取,获取所述目标实体可视表面的图像特征信息。对于某一目标实体,在视频帧中仅可以看到其某一部分的表面,例如对于球形的实体地球仪,视频帧中该实体地球仪的可视表面最大为半个球面,在进行图像特征提取时,也仅需要提取可视的半个球面的图像特征信息。而对于例如多面体或者其它不规则形状的实体,可视表面根据摄像头镜头角度的不同,可能包含其中的一个或者多个侧面。在进行图像特征提取时,可以采用现有技术中各类成熟的图像特征提取技术,例如基于颜色特征、纹理特征、形状特征、空间关系特征等图像特征信息中任意一种或多种的组合,提取地球仪表面图案的一种或多种图像特征信息。

步骤S103,基于所述目标实体的预制特征集合对获取到的所述目标实体可视表面的图像特征信息进行特征识别,在预制特征集合中获取与所述可视表面匹配的表面区域。其中,所述预制特征集合包含所述目标实体的多个表面区域以及每个表面区域的图像特征信息,仍以前述实体地球仪为例,其预制特征集合中包含的多个表面区域的一种可行的划分方式为:以地球仪的经线方向进行划分,将整个地球仪划分为4个完整的半球面,这4个半球面的中心点(即球心)完全重合,且相邻的每两个半球面之间具有90°的重合区域,这种划分方式在赤道平面上的投影如图2(a)所示,其中各个半球面在赤道平面上的投影如图2(b)~(e)。所述预制特征集合可以直接采用已有的集合数据,也可以在进行处理之前,通过离线预处理的方式获取。

而由于每个半球面上的地理环境不同,相应部分的图案也会各不相同,例如水域和陆地会采用不同的色彩,陆地中各种类型的地形同样会采用不同的颜色或图案等,由此4个半球面对应的图像特征信息也将完全不同。所述预制特征集合中,每个半球面对应的图像特征信息同样可以采用颜色特征、纹理特征、形状特征、空间关系特征等图像特征信息中任意一种或多种的组合。通过图像特征的匹配识别,若可视表面某一部分的图像特征信息与预制特征集合中的某一表面区域中的相应部分相同或者相似度超过阈值,则可以确定两者匹配,由此获取预制特征集合中所有与可视表面匹配的表面区域。

在实际场景中,由于在视频获取过程中摄像头与实体地球仪的相对位置的不同,获取到的实体地球仪的可视表面可能包含了上述预制特征集合中一个完整的半球面,也可能由其中多个半球面的某一部分组成。例如,镜头方向与赤道上任意一点和地心连线重合,此时实体地球仪的可视表面可能包含上述预制特征集合中一个完整的半球面,或者由其中两个半球面的一部分组成;若镜头方向与地轴重合,则此时实体地球仪的可视表面可能由上述预制特征集合中4个半球面的各一部分组成。

步骤S104,根据与所述可视表面匹配的表面区域的中心点坐标和方向矢量分别确定所述目标实体可视表面的中心点坐标和方向矢量。本实施例在进行数学处理的过程中,将当前摄像头所在的位置设置为参考坐标系的原点,在此参考坐标系下,不论是摄像头移动还是目标实体移动,都可以视为目标实体的位置发生了变化,而摄像头的位置保持不变。由于目标实体可视表面的空间位置可以在视频帧中确定,则由此可以确定与所述可视表面匹配的表面区域的中心点坐标和方向矢量。对于实体地球仪,其表面区域的所述中心点坐标即为以摄像头所在的位置为原点的参考坐标系下球心的坐标,而所述方向矢量则可指定为在同样参考系下从球心点到经度、纬度均为0°点的单位矢量。

在某些特定的情况下,与所述可视表面匹配的表面区域仅有一个,此时该表面区域的中心点坐标和方向矢量即为所述目标实体可视表面的中心点坐标和方向矢量。而当与所述可视表面匹配的表面区域有多个时,受限于处理精度、摄像头的抖动等不可避免的因素,由视频帧获取的表面区域的中心点坐标以及方向矢量都有可能存在误差。例如,在理想情况下,同一目标实体的表面区域对应的中心点坐标应当一致,而在存在误差的情况下,多个表面区域的中心点坐标可能并不相同,并且相应的方向矢量也有所不同。若与所述可视表面匹配的两个表面区域在参考坐标系下的空间方位如图3所示,其中心点坐标分别为和方向矢量分别为和

在根据与所述可视表面匹配的表面区域的中心点坐标确定所述目标实体可视表面的中心点坐标时,若与所述可视表面匹配的表面区域有多个,将多个表面区域的中心点坐标进行加权平均处理,确定所述目标实体的中心点坐标。其中,权重的设置可以根据不同的场景具体设置,以达到最优的计算精度,而作为一种可行的实施方式,可以将所有表面区域的权重设置为相同,此时可以根据如下公式进行计算:

其中,即为所述目标实体可视表面的中心点坐标,表示任意一个与所述可视表面匹配的表面区域的中心点坐标,n为匹配到的表面区域的数量。

而在根据与所述可视表面匹配的表面区域的方向矢量确定所述目标实体可视表面方向矢量时,若与所述可视表面匹配的表面区域有多个,将多个表面区域的方向矢量加权相加并进行矢量归一化处理,获取所述目标实体可视表面的方向矢量。同理,在进行加权相加时,权重的设置可以根据不同的场景具体设置,以达到最优的计算精度,而作为一种可行的实施方式,可以将所有表面区域的权重设置为相同,此时可以根据如下公式进行计算:

其中,即为所述目标实体可视表面的中心点坐标,表示任意一个与所述可视表面匹配的表面区域的方向矢量,n为匹配到的表面区域的数量。

通过对多帧图像的连续处理,从而动态地获取每一时刻实体地球仪的空间方位,不论是改变摄像头与实体地球仪的相对位置,还是旋转实体地球仪,均能够准确地获取实体地球仪相对于摄像头的中心点坐标以及方向矢量,并基于此完成虚拟地球仪的渲染,即可保证虚拟地球仪与实体地球仪同步转动或者移动。

在实际场景中,可以在获取包含目标实体的视频帧之前,对目标实体进行预处理,以构建所述目标实体的预制特征集合。通过此种方式可以针对任意形状的目标实体构建相应的预制特征集合,从而完成任意形状目标实体的实时方位跟踪以及AR实现。以地球仪的场景为例,该预处理的主要过程是:对球体表面的图像特征进行离线扫描,从而得到球体表面的一个预制特征集合,这个预制特征集合会被预先存储,进而能够与实时采集到的实体地球仪可视表面的图像特征进行比对和匹配。具体过程包括如图4所示的步骤:

步骤S401,获取目标实体多个表面区域的图像,其中,所述多个表面区域至少覆盖所述目标实体的所有表面区域;

步骤S402,对所述多个表面区域的图像进行图像特征提取,获取所述每个表面区域的图像特征信息;

步骤S403,根据所述每个表面区域的图像特征信息构建所述目标实体的预制特征集合。

在对实体地球仪进行预处理时,即在采集表面区域的图像特征信息、构建预制特征集合时,需要遵循以下原则,从而保证进行方位跟踪识别时能够具有更加稳定、高效的处理性能,具体包括:

1)预制特征集合由球体表面的若干个表面区域(相对于整个球体表面,该表面区域为局部曲面)构成,每个表面区域的覆盖区域最大不超过一个完整的半球面;

2)所有表面区域的集合应能够覆盖完整的球面;

3)每个表面区域上的图像特征应尽量充足且均匀;

4)每两个相邻的表面区域之间可具有一定的重合面积;

5)相邻表面区域之间的重合面积越大,越能够提升方位跟踪的精确度;

6)表面区域的数目越多,计算负载越大,应根据设备的实际处理能力来决定数目。

进一步地,本申请实施例还提供了一种实现增强现实的方法,该方法的处理流程如图5所示,包括以下步骤:

步骤S501,采用前述的方位跟踪方法获取所述目标实体的中心点坐标和方向矢量。

步骤S502,根据所述方向矢量由虚拟模型中获取与所述可视表面对应的显示部分。若所述目标实体为实体地球仪,则所述虚拟模型可以是与所述实体地球仪匹配的虚拟地球仪。根据所述方向矢量,基于所述虚拟地球仪的球心可以确定与所述可视表面对应的显示部分,该显示部分即为以该方向矢量为中心所指向的半球面。

步骤S503,根据所述中心点坐标将所述显示部分渲染至所述视频帧中,以使所述目标实体的可视表面由所述显示部分覆盖。基于中心点的坐标可以确定显示部分需要渲染至所述视频帧中的哪个位置,仍以虚拟地球仪为例,基于中心点坐标以及该虚拟地球仪的半径可以确定显示部分的半球面在该视频帧中应当处于的空间位置,由此完成最终画面的合成,使得视频帧中原本实体地球仪的可视表面由所述虚拟地球仪的相应半球面覆盖。

步骤S504,输出完成渲染的视频帧。通过前述的处理,最终呈现给用户的画面中无法看到实体地球仪,而是由虚拟地球仪替代了实体地球仪原本的位置,由于虚拟地球仪能够显示的信息量大,并且在操控实体地球仪的过程中,虚拟地球仪会以相同的角度和速度转动,能够极大地改善用户体验。

此外,除了一些普通地球仪上均具备的地理信息之外,利用虚拟地球仪可以承载较大信息量的特点,通过在虚拟模型上预先增加信息叠加点的方式,增加不同主题的虚拟信息,例如在对应的地理位置上呈现一些地标建筑、珍稀动物、地质奇观等的三维模型。具体处理方法为:

首先,获取所述显示部分中的信息叠加点。实际处理过程中,可以在获取到相应的显示部分之后,检测该显示部分中是否包含预先设置好的信息叠加点,例如在四川所在的位置预先设置一个关于大熊猫的信息叠加点,当虚拟地球仪显示部分的半球面包含四川所在的地理区域时,即可以检测到该信息叠加点。

然后,将所述信息叠加点对应的虚拟信息渲染至所述视频帧中,以使所述显示部分的相应位置显示所述虚拟信息。所述虚拟信息可以是一个大熊猫的三维模型,由此用户可以直接在屏幕上看到一个大熊猫位于四川的位置,更加直观和清晰地了解各类地理知识。

进一步地,为了能够向用户传递更形象、更动态的信息,可以在虚拟模型上设置一些触发点。在渲染过程中,判断所述显示部分的触发点是否位于所述视频帧的触发区域;若所述触发点处于所述视频帧的触发区域,将所述触发点的触发效果渲染至所述视频帧中。

其中,所述触发区域可以根据实际需求设置。例如对于触屏,可以将该触发区域设置于用户当前触摸的区域,以实现用户点击实现触发;也可以静态地设置在屏幕的某一块特定区域,例如屏幕中央;还可以进一步通过光标、光圈等进行标记,以便于用户识别。而所述触发效果可以是语音、视频、三维动画效果等,例如将所述触发点设置于大熊猫的显示位置,当该大熊猫的三维模型处于触发区域内时,大熊猫的三维模型会被放大,同时进行相应的动作,例如走路、起立等;此外,触发效果也可以是突出显示效果,例如将触发点设置为任意行政区域的范围,当某一行政区域进入到触发区域时,该行政区域将会高亮显示。在此,本领域技术人员应当理解,所述触发区域、触发效果以及触发点的设置方式仅为举例,其他现有的或者今后可能出现的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用的方式包含于此。

基于本申请的另一方面,还提供了一种目标实体的方位跟踪装置60,该装置60用于在实现AR的处理过程中,实现对实体目标可视表面的方位跟踪,其具体结构如图6所示,包括图像采集模块610、特征提取模块620、特征匹配模块630和综合处理模块640。具体地,所述图像采集模块610用于获取包含目标实体的视频帧。所述目标实体可以是实体地球仪,也可以是例如球体、椭球体、多面体等其它规则或者不规则形状的实体。在实际场景中可以通过带有摄像头等图像采集装置的设备来拍摄目标实体,以获取到包含目标实体的视频帧。例如,通过智能手机的摄像头拍摄一段关于实体地球仪的视频,该视频中的任意一帧均可用于后续的处理,以获取在该视频帧中实体地球仪可视表面的中心坐标点和方向矢量。

所述特征提取模块620用于对所述视频帧中的目标实体进行图像特征提取,获取所述目标实体可视表面的图像特征信息。对于某一目标实体,在视频帧中仅可以看到其某一部分的表面,例如对于球形的实体地球仪,视频帧中该实体地球仪的可视表面最大为半个球面,在进行图像特征提取时,也仅需要提取可视的半个球面的图像特征信息。而对于例如多面体或者其它不规则形状的实体,可视表面根据摄像头镜头角度的不同,可能包含其中的一个或者多个侧面。在进行图像特征提取时,可以采用现有技术中各类成熟的图像特征提取技术,例如基于颜色特征、纹理特征、形状特征、空间关系特征等图像特征信息中任意一种或多种的组合,提取地球仪表面图案的一种或多种图像特征信息。

所述特征匹配模块630用于基于所述目标实体的预制特征集合对获取到的所述目标实体可视表面的图像特征信息进行特征识别,在预制特征集合中获取与所述可视表面匹配的表面区域。其中,所述预制特征集合包含所述目标实体的多个表面区域以及每个表面区域的图像特征信息,仍以前述实体地球仪为例,其预制特征集合中包含的多个表面区域的一种可行的划分方式为:以地球仪的经线方向进行划分,将整个地球仪划分为4个完整的半球面,这4个半球面的中心点(即球心)完全重合,且相邻的每两个半球面之间具有90°的重合区域,这种划分方式在赤道平面上的投影如图2(a)所示,其中各个半球面在赤道平面上的投影如图2(b)~(e)。所述预制特征集合可以直接采用已有的集合数据,也可以在进行处理之前,通过离线预处理的方式获取。

而由于每个半球面上的地理环境不同,相应部分的图案也会各不相同,例如水域和陆地会采用不同的色彩,陆地中各种类型的地形同样会采用不同的颜色或图案等,由此4个半球面对应的图像特征信息也将完全不同。所述预制特征集合中,每个半球面对应的图像特征信息同样可以采用颜色特征、纹理特征、形状特征、空间关系特征等图像特征信息中任意一种或多种的组合。通过图像特征的匹配识别,若可视表面某一部分的图像特征信息与预制特征集合中的某一表面区域中的相应部分相同或者相似度超过阈值,则可以确定两者匹配,由此获取预制特征集合中所有与可视表面匹配的表面区域。

在实际场景中,由于在视频获取过程中摄像头与实体地球仪的相对位置的不同,获取到的实体地球仪的可视表面可能包含了上述预制特征集合中一个完整的半球面,也可能由其中多个半球面的某一部分组成。例如,镜头方向与赤道上任意一点和地心连线重合,此时实体地球仪的可视表面可能包含上述预制特征集合中一个完整的半球面,或者由其中两个半球面的一部分组成;若镜头方向与地轴重合,则此时实体地球仪的可视表面可能由上述预制特征集合中4个半球面的各一部分组成。

所述综合处理模块640用于根据与所述可视表面匹配的表面区域的中心点坐标和方向矢量分别确定所述目标实体可视表面的中心点坐标和方向矢量。本实施例在进行数学处理的过程中,将当前摄像头所在的位置设置为参考坐标系的原点,在此参考坐标系下,不论是摄像头移动还是目标实体移动,都可以视为目标实体的位置发生了变化,而摄像头的位置保持不变。由于目标实体可视表面的空间位置可以在视频帧中确定,则由此可以确定与所述可视表面匹配的表面区域的中心点坐标和方向矢量。对于实体地球仪,其表面区域的所述中心点坐标即为以摄像头所在的位置为原点的参考坐标系下球心的坐标,而所述方向矢量则可指定为在同样参考系下从球心点到经度、纬度均为0°点的单位矢量。

在某些特定的情况下,与所述可视表面匹配的表面区域仅有一个,此时该表面区域的中心点坐标和方向矢量即为所述目标实体可视表面的中心点坐标和方向矢量。而当与所述可视表面匹配的表面区域有多个时,受限于处理精度、摄像头的抖动等不可避免的因素,由视频帧获取的表面区域的中心点坐标以及方向矢量都有可能存在误差。例如,在理想情况下,同一目标实体的表面区域对应的中心点坐标应当一致,而在存在误差的情况下,多个表面区域的中心点坐标可能并不相同,并且相应的方向矢量也有所不同。若与所述可视表面匹配的两个表面区域在参考坐标系下的空间方位如图3所示,其中心点坐标分别为和方向矢量分别为和

所述综合处理模块640在根据与所述可视表面匹配的表面区域的中心点坐标确定所述目标实体可视表面的中心点坐标时,若与所述可视表面匹配的表面区域有多个,将多个表面区域的中心点坐标进行加权平均处理,确定所述目标实体的中心点坐标。其中,权重的设置可以根据不同的场景具体设置,以达到最优的计算精度,而作为一种可行的实施方式,可以将所有表面区域的权重设置为相同,此时可以根据如下公式进行计算:

其中,即为所述目标实体可视表面的中心点坐标,表示任意一个与所述可视表面匹配的表面区域的中心点坐标,n为匹配到的表面区域的数量。

而所述综合处理模块640在根据与所述可视表面匹配的表面区域的方向矢量确定所述目标实体可视表面方向矢量时,若与所述可视表面匹配的表面区域有多个,将多个表面区域的方向矢量加权相加并进行矢量归一化处理,获取所述目标实体可视表面的方向矢量。同理,在进行加权相加时,权重的设置可以根据不同的场景具体设置,以达到最优的计算精度,而作为一种可行的实施方式,可以将所有表面区域的权重设置为相同,此时可以根据如下公式进行计算:

其中,即为所述目标实体可视表面的中心点坐标,表示任意一个与所述可视表面匹配的表面区域的方向矢量,n为匹配到的表面区域的数量。

通过对多帧图像的连续处理,从而动态地获取每一时刻实体地球仪的空间方位,不论是改变摄像头与实体地球仪的相对位置,还是旋转实体地球仪,均能够准确地获取实体地球仪相对于摄像头的中心点坐标以及方向矢量,并基于此完成虚拟地球仪的渲染,即可保证虚拟地球仪与实体地球仪同步转动或者移动。

在实际场景中,可以通过预处理模块在获取包含目标实体的视频帧之前,对目标实体进行预处理,以构建所述目标实体的预制特征集合。通过此种方式可以针对任意形状的目标实体构建相应的预制特征集合,从而完成任意形状目标实体的实时方位跟踪以及AR实现。以地球仪的场景为例,该预处理的主要过程是:对球体表面的图像特征进行离线扫描,从而得到球体表面的一个预制特征集合,这个预制特征集合会被预先存储,进而能够与实时采集到的实体地球仪可视表面的图像特征进行比对和匹配。所述预处理模块具体用于控制所述图像采集模块获取目标实体多个表面区域的图像,其中,所述多个表面区域至少覆盖所述目标实体的所有表面区域;控制所述特征提取模块对所述多个表面区域的图像进行图像特征提取,获取所述每个表面区域的图像特征信息;以及根据所述每个表面区域的图像特征信息构建所述目标实体的预制特征集合。

在对实体地球仪进行预处理时,即在采集表面区域的图像特征信息、构建预制特征集合时,需要遵循以下原则,从而保证进行方位跟踪识别时能够具有更加稳定、高效的处理性能,具体包括:

1)预制特征集合由球体表面的若干个表面区域(相对于整个球体表面,该表面区域为局部曲面)构成,每个表面区域的覆盖区域最大不超过一个完整的半球面;

2)所有表面区域的集合应能够覆盖完整的球面;

3)每个表面区域上的图像特征应尽量充足且均匀;

4)每两个相邻的表面区域之间可具有一定的重合面积;

5)相邻表面区域之间的重合面积越大,越能够提升方位跟踪的精确度;

6)表面区域的数目越多,计算负载越大,应根据设备的实际处理能力来决定数目。

进一步地,本申请实施例还提供了一种实现增强现实的设备,该设备的结构如图7所示,包括方位跟踪装置60、渲染装置710和输出装置720。具体地,所述方位跟踪装置60用于获取所述目标实体的中心点坐标和方向矢量。所述渲染装置710用于根据所述方向矢量由虚拟模型中获取与所述可视表面对应的显示部分,以及根据所述中心点坐标将所述显示部分渲染至所述视频帧中,以使所述目标实体的可视表面由所述显示部分覆盖。若所述目标实体为实体地球仪,则所述虚拟模型可以是与所述实体地球仪匹配的虚拟地球仪。根据所述方向矢量,基于所述虚拟地球仪的球心可以确定与所述可视表面对应的显示部分,该显示部分即为以该方向矢量为中心所指向的半球面。基于中心点的坐标可以确定显示部分需要渲染至所述视频帧中的哪个位置,仍以虚拟地球仪为例,基于中心点坐标以及该虚拟地球仪的半径可以确定显示部分的半球面在该视频帧中应当处于的空间位置,由此完成最终画面的合成,使得视频帧中原本实体地球仪的可视表面由所述虚拟地球仪的相应半球面覆盖。

所述输出装置720用于输出完成渲染的视频帧。通过前述的处理,最终呈现给用户的画面中无法看到实体地球仪,而是由虚拟地球仪替代了实体地球仪原本的位置,由于虚拟地球仪能够显示的信息量大,并且在操控实体地球仪的过程中,虚拟地球仪会以相同的角度和速度转动,能够极大地改善用户体验。

在此,本领域技术人员应当理解,所述设备可以包括但不限于用户终端或者用户终端与网络设备通过网络相集成所构成的设备。所述用户终端包括但不限于个人计算机、触控终端等实现,具体可以是智能手机、平板电脑、PDA、AR眼镜或者其它具备图像获取、处理以及输出功能的电子设备;所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。此外,所述设备还可以是运行有包含相关算法及图形用户界面的应用程序(APP)的电子设备,或者应用程序本身。

以智能手机为例,作为一种典型的实现方式,智能手机的摄像头可用于实现图像采集模块610的相关功能,其处理器可用于实现特征提取模块620、特征匹配模块630、综合处理模块640以及渲染装置710的相关功能,而其屏幕则可实现输出装置720的相关功能。在实际场景下,处理器也可以通过通信模块将相关数据上传网络设备,由网络设备完成相关数据的计算、处理工作。

此外,除了一些普通地球仪上均具备的地理信息之外,利用虚拟地球仪可以承载较大信息量的特点,通过在虚拟模型上预先增加信息叠加点的方式,增加不同主题的虚拟信息,例如在对应的地理位置上呈现一些地标建筑、珍稀动物、地质奇观等的三维模型。由此,所述渲染装置710还用于进行如下处理:

首先,获取所述显示部分中的信息叠加点。实际处理过程中,可以在获取到相应的显示部分之后,检测该显示部分中是否包含预先设置好的信息叠加点,例如在四川所在的位置预先设置一关于大熊猫的信息叠加点,当虚拟地球仪显示部分的半球面包含四川所在的地理区域时,即可以检测到该信息叠加点。

然后,将所述信息叠加点对应的虚拟信息渲染至所述视频帧中,以使所述显示部分的相应位置显示所述虚拟信息。所述虚拟信息可以是一个大熊猫的三维模型,由此用户可以直接在屏幕上看到一个大熊猫位于四川的位置,更加直观和清晰地了解各类地理知识。

进一步地,为了能够向用户传递更形象、更动态的信息,可以在虚拟模型上设置一些触发点。在渲染过程中,所述渲染装置710判断所述显示部分的触发点是否位于所述视频帧的触发区域;若所述触发点处于所述视频帧的触发区域,将所述触发点的触发效果渲染至所述视频帧中。

其中,所述触发区域可以根据实际需求设置。例如对于触屏,可以将该触发区域设置于用户当前触摸的区域,以实现用户点击实现触发;也可以静态地设置在屏幕的某一块特定区域,例如屏幕中央;还可以进一步通过光标、光圈等进行标记,以便于用户识别。而所述触发效果可以是音频、视频、三维动画效果等,例如将所述触发点设置于大熊猫的显示位置,当该大熊猫的三维模型处于触发区域内时,大熊猫的三维模型会被放大,同时进行相应的动作,例如走路、起立等;此外,触发效果也可以是突出显示效果,例如将触发点设置为任意行政区域的范围,当某一行政区域进入到触发区域时,该行政区域将会高亮显示。在此,本领域技术人员应当理解,所述触发区域、触发效果以及触发点的设置方式仅为举例,其他现有的或者今后可能出现的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用的方式包含于此。

综上所述,本申请的方案能够基于增强现实技术将一些虚拟的图形、图像、信息等叠加到真实场景中去,起到了对现实场景进行增强的作用,通过将实体地球仪作为目标实体,使其能够同时兼备现有技术中的实体地球仪和虚拟地球仪的优点。通过实时获取目标实体的中心坐标点和方向矢量实现方位跟踪,并基于该中心坐标点和方向矢量对输出的视频帧进行实时渲染,使得用户在操控实体地球仪的过程中,虚拟地球仪会以相同的角度和速度转动,能够极大地改善用户体验。

此外,通过实时获取的包含目标实体的视频帧,进行图像特征提取,并与预先构建的预制特征集合进行图像特征匹配,并基于匹配结果进行计算,获取当前视频帧中目标实体可视表面的中心点坐标和方向矢量,由此能够快速准确地实现目标实体的方位跟踪,保证屏幕中显示的虚拟地球仪与实体地球仪能够同步运动,给予用户真实的空间存在感和实际的操作体验感。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1