CN108564045A - 增强现实的数据处理方法、装置、存储介质和计算机设备 - Google Patents
增强现实的数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108564045A CN108564045A CN201810344721.2A CN201810344721A CN108564045A CN 108564045 A CN108564045 A CN 108564045A CN 201810344721 A CN201810344721 A CN 201810344721A CN 108564045 A CN108564045 A CN 108564045A
- Authority
- CN
- China
- Prior art keywords
- marker
- picture frame
- pose
- characteristics map
- management
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种增强现实的数据处理方法、装置、存储介质和计算机设备,所述方法包括:定期对当时所采集的现实场景的图像帧进行标记物识别;向管理地图集添加新识别的标记物的特征地图;在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿;分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加所述虚拟对象。本申请提供的方案可以用较小的代价实现基于多标记物的增强现实。
Description
技术领域
本申请涉及增强现实技术领域,特别是涉及一种增强现实的数据处理方法、装置、存储介质和计算机设备。
背景技术
随着硬件能力的提升和图像处理技术的不断发展,出现了增强现实技术。增强现实技术可以在现实场景的图像上叠加虚拟对象,从视觉上呈现虚拟和现实相结合的应用场景。
目前增强现实技术可以基于标记物(marker)实现,即marker-based实现方式。此实现方式需要事先准备好标记物放置在现实场景中,采集现实场景的图像帧,当从图像帧中检测到标记物时,就可以基于图像帧中标记物的形态在图像帧中放置虚拟对象。
然而,目前增强现实的实现方式对硬件要求比较高,目前的手机等终端一般仅能够基于单个标记物实现增强现实,难以基于多标记物实现增强现实。
发明内容
基于此,有必要针对目前难以基于多标记物实现增强现实的技术问题,提供一种增强现实的数据处理方法、装置、计算机可读存储介质和计算机设备。
一种增强现实的数据处理方法,包括:
定期对当时所采集的现实场景的图像帧进行标记物识别;
向管理地图集添加新识别的标记物的特征地图;
在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿;
分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;
输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加所述虚拟对象。
一种增强现实的数据处理装置,包括:
识别模块,用于定期对当时所采集的现实场景的图像帧进行标记物识别;
地图管理模块,用于向管理地图集添加新识别的标记物的特征地图;
检测模块,用于在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿;
跟踪模块,用于分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加所述虚拟对象。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行一种增强现实的数据处理方法。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行一种增强现实的数据处理方法。
上述增强现实的数据处理方法、装置、计算机可读存储介质和计算机设备,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。
附图说明
图1为一个实施例中增强现实的数据处理方法的应用环境图;
图2为一个实施例中增强现实的数据处理方法的流程示意图;
图3为一个实施例中定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图的步骤的流程示意图;
图4为一个实施例中定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别的步骤的流程示意图;
图5为一个实施例中跟踪标记物失败时触发标记物检测并继续跟踪标记物的步骤的流程示意图;
图6为一个实施例中增强现实的数据处理方法的流程示意图的流程示意图;
图7为一个实施例中增强现实的数据处理系统的架构图;
图8为一个实施例中不同线程配合实现增强现实的数据处理方法的示意图;
图9为另一个应用场景中现实场景的示意图;
图10为一个应用场景中移动终端上实现增强现实以及相应管理地图集变化的示意图;
图11为一个实施例中增强现实的数据处理装置的结构框图;
图12位另一个实施例中增强现实的数据处理装置的结构框图;
图13为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中增强现实的数据处理方法的应用环境图。参照图1,该增强现实的数据处理方法应用于增强现实的数据处理系统。该增强现实的数据处理系统包括:终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种增强现实的数据处理方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该增强现实的数据处理方法具体包括如下步骤:
步骤S202,定期对当时所采集的现实场景的图像帧进行标记物识别。
定期表示周期性地执行动作,比如每隔设定的时长执行动作或者每到设定的时间点执行动作。设定的时长可以动态调整。定期的周期可按照时间长度来衡量,也可以按照间隔的图像帧数量来衡量。图像帧可按照固定帧率采集。
当时所采集的现实场景的图像帧,是定期执行标记物识别的动作的时刻所采集到的现实场景的图像帧。标记物识别是从图像帧中识别出是否存在标记物的过程。
标记物可以是二维图像或者三维物体,标记物可用来确定终端的位姿,从而确定虚拟对象的位姿。标记物可以采用可容纳信息的规范化图形表示;该规范化图形包括用于定位该种图形的定位特征,还包括信息容纳区域,信息在信息容纳区域的图像表达形式可根据预先定义的编码规则填充。
在一个实施例中,终端可每隔设定的图像帧数量或者每隔设定的时长,对当时从现实场景采集的图像帧进行标记物识别。在一个实施例中,终端可定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别;此种情况下,步骤S202可由检测线程执行。在一个实施例中,终端可定期通过服务器上的云端标记物数据库对终端当时所采集的图像帧进行标记物识别;此种情况下,步骤S202可由云识别线程执行。云端标记物数据库所覆盖的标记物,多于本地标记物数据库所覆盖的标记物。
在一个实施例中,对图像帧进行标记物识别,具体可以对图像帧进行语义分割,得到不同的图形区域。提取图形区域的特征描述子,分别计算提取的特征描述子与标记物数据库中的每个标记物特征描述子间的相似度,选取计算到的相似度中最大相似度。若最大的相似度高于或等于预设相似度,则表示从图像帧中识别到标记物;若最大的相似度低于预设相似度,则表示未从图像帧中识别到标记物。
一个图像的特征描述子,表示该图像的特征。特征描述子可以是向量形式。特征描述子可以采用SIFT(Scale-invariant feature transform,尺度不变特征变换)描述子、SURF(Speeded Up Robust Features,加速稳健特征)描述子、LBP(Local BinaryPattern),局部二值模式)描述子或HOG(Histogram of Oriented Gradient,方向梯度直方图)描述子。
步骤S204,向管理地图集添加新识别的标记物的特征地图。
管理地图集是需要进行跟踪的标记物的特征地图的集合。一个标记物的特征地图,是一个标记物的特征点的集合。通过步骤S202中的标记物识别后,如果识别到的标记物未先前未识别到过,则该识别到的标记物是新识别的标记物。管理地图集还可以包括标记物的特征描述子,还可以包括标记物的最近有效位姿,还可以包括表示跟踪成功或跟踪失败的跟踪状态。
在一个实施例中,终端在从图像帧中识别到标记物时,判断该标记物是否是新的标记物。若是新的标记物,则终端会提取新识别的标记物的特征地图,进而向管理地图集添加该特征地图。
步骤S206,在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿。
采集的图像帧可以是进行标记物识别的图像帧,也可以是进行标记物识别的图像帧之后采集的图像帧。检测标记物,是从图像帧中检测出指定标记物的动作。位姿包括标记物的位置和姿态,位置表示标记物的空间位置,可以用三维坐标表示;姿态表示标记物的坐标系的偏移量。
在一个实施例中,终端可通过检测线程并根据新识别的标记物的特征地图在采集的图像帧中进行标记物检测,如果检测成功,则根据检测到的标记物的特征地图确定标记物的位姿。
在一个实施例中,终端具体可以基于新识别的标记物的特征地图建立标记物坐标系,进而按照检测到的标记物的特征地图在标记物坐标系中的偏移确定相应标记物的位姿。
在一个实施例中,终端可将检测标记物成功得到的相应标记物的位姿作为最近有效位姿记录到管理地图集中,并与相应标记物的特征地图对应。
步骤S208,分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物。
具体地,终端可判断管理地图集中的每个特征地图是否对应最近有效位姿。若对应有最近有效位姿,则终端可根据对应最近有效位姿的特征地图和相应的最近有效位姿,在采集的图像帧中跟踪标记物。若跟踪标记物成功,则终端可将管理地图集中对应的最近有效位姿更新为跟踪成功的标记物的位姿。若未对应最近有效位姿,则终端可继续判断管理地图集中的每个特征地图是否对应最近有效位姿。
在一个实施例中,若跟踪标记物成功,则终端可在管理地图集中对相应的特征地图添加跟踪成功状态。若跟踪标记物失败,则终端可在管理地图集中对相应的特征地图添加跟踪失败状态。
在一个实施例中,终端可基于管理地图集中每个特征地图相应的标记物的位姿,确定该特征地图于在检测标记物成功的图像帧后采集的图像帧中的候选范围,从而在候选范围中进一步确定当前跟踪到的标记物的特征地图,从而计算当前跟踪到的标记物的位姿。
步骤S210,输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加虚拟对象。
标记物所对应的虚拟对象可根据应用场景的需求进行设置。当标记物是电影海报时,相应的虚拟对象可以是相应电影中的素材,比如人物、景物、动物、卡通形象或者人造物等,人造物比如机器人或建筑或航天器等。当标记物是规范化图形时,相应的虚拟对象可根据规范化图形的信息容纳区域中的信息确定。当标记物是二维的卡通形象时,相应的虚拟对象可以是该卡通形象的三维形象。标记物可以是实体商品,相应的虚拟对象可以是该实体商品的介绍或者用于介绍该实体商品的虚拟形象。
终端可将跟踪到的标记物的位姿输出到终端上运行的渲染模块;通过渲染模块,并根据输出的位姿确定标记物坐标系和终端坐标系间的映射关系,从而按照该映射关系、以及标记物与虚拟对象间的位姿映射关系,确定虚拟对象的位姿,从而按照虚拟对象的位姿就可以在跟踪标记物的图像帧中叠加虚拟对象,以将叠加有虚拟对象的该图像帧进行渲染显示。
上述增强现实的数据处理方法,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。
在一个实施例中,步骤S206可由检测线程执行;步骤S208和步骤S210可由与检测线程相互独立的跟踪线程执行。本实施例中,检测线程独立运行,能够及时发现新出现的标记物,从而可以进一步由跟踪线程高效地跟踪标记物,并根据跟踪到的标记物的位姿高效地实现基于多标记物的增强现实。在其它实施例中,线程也可以替换成进程。
在一个实施例中,增强现实的数据处理方法还包括:定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;将服务器新识别的标记物的特征地图添加到本地标记物数据库;步骤S202包括:定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
新识别到的标记物,是此次识别之前在管理地图集中不存在相应特征地图的标记物。服务器新识别到的标记物,还是此次识别之前在本地标记物数据库不存在相应特征地图的标记物。本地标记物数据库,是存在于终端本地的标记物数据库,包括标记物的特征地图,还可以包括标记物的特征描述子。
在一个实施例中,终端可定期将当时所采集的图像帧发送至服务器。服务器可在接收到图像帧后,从图像帧中提取特征描述子,进而在云端标记物数据库中查找具有与终端所发送的特征描述子匹配的特征描述子的特征地图,如果查找到,则将查找到的特征地图作为新识别到的标记物的特征地图。特征描述子间匹配可以是相似度大于相似度阈值。服务器可将新识别到的标记物的特征地图直接反馈至终端,终端也可以从服务器下载该新识别到的标记物的特征地图。
在一个实施例中,终端可定期从当时所采集的图像帧中提取特征描述子,将该特征描述子发送至服务器。服务器在云端标记物数据库中查找具有与终端所发送的特征描述子匹配的特征描述子的特征地图,如果查找到,则将查找到的特征地图作为新识别到的标记物的特征地图。服务器可将新识别到的标记物的特征地图直接反馈至终端,终端也可以从服务器下载该新识别到的标记物的特征地图。本实施例中,定期上传从图像帧中提取出的特征描述子,进而基于云端标记物数据库进行标记物识别,可减少对网络资源的占用。
上述实施例中,定期根据本地标记物数据库进行标记物识别,可以及时发现本地已知且未识别到的标记物;而定期获取服务器新识别到的标记物的特征地图以更新本地标记物数据库,可以在尽量少占用资源的情况下增加标记物的覆盖率,以提供对更多标记物的支持。
如图3所示,在一个实施例中,定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图,具体包括如下步骤:
S302,定期向服务器发送对当时采集的图像帧进行标记物识别的云识别请求。
具体地,终端可通过云识别线程,每隔设定数量的图像帧或者每隔设定的时长,向服务器发送云识别请求。云识别请求用于请求服务器对终端当时所采集的图像帧进行标记物识别。
S304,接收服务器在根据云端标记物数据库新识别到标记物时反馈的识别结果。
服务器在接收到云识别请求后,可基于服务器上的云端标记物数据库对终端发起云识别请求的当时所采集的图像帧进行标记物识别。服务器在根据云识别请求识别到标记物时,可判断该标记物是否是相对于终端是新识别到的标记物;若是新识别到的标记物,则服务器可向终端返回识别结果。
具体地,服务器可根据云识别请求确定终端当时所采集图像帧中的特征描述子,进而从云端标记物数据库中查找与确定的特征描述子匹配的特征描述子,若查找到则识别到标记物。服务器具体可从云识别请求中直接提取终端当时所采集图像帧中的特征描述子,也可以从云识别请求中提取终端当时所采集图像帧后从该图像帧中提取特征描述子。
进一步地,服务器若识别到标记物,可在服务器上与终端对应的同步标记物数据库中查找与匹配的特征描述子相匹配的特征描述子;若未查找到,则说明是新识别到的标记物,并可将该特征描述子加入该同步标记物数据库。同步标记物数据库是与终端本地进行数据同步的标记物数据库。
S306,根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库。
具体地,识别结果可包括服务器新识别到的标记物的标记物标识。则步骤S306包括:向服务器发送携带标记物标识的查询请求;接收服务器所反馈的与标记物标识对应的特征地图;将接收到的特征地图添加到本地标记物数据库。本实施例中,服务器在新识别到标记物后,存储相应的特征地图,等待终端的查询请求。终端在收到识别结果后,可按照终端的网络使用策略主动发起查询请求,从服务器拉取新识别到的标记物的特征地图。
在一个实施例中,步骤S306包括:从识别结果中提取新识别到的标记物的特征地图,将提取的特征地图添加到本地标记物数据库。本实施例中,服务器在新识别到标记物后,可直接向终端反馈该标记物的特征地图,以供终端高效地对本地标记物数据库进行更新。
上述实施例中,定期通过服务器上的云端标记物数据库进行标记物识别,并结合根据本地标记物数据库进行的标记物识别、标记物检测及根据管理地图集进行的标记物跟踪,可以高效、全面以及低资源消耗低实现基于多标记物的增强现实。
在一个实施例中,步骤S202所包括的定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别的步骤、以及步骤S206,由检测线程执行;步骤S204地图管理线程执行;步骤S208以及步骤S210由跟踪线程执行;定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图的步骤,以及将服务器新识别的标记物的特征地图添加到本地标记物数据库的步骤,由云识别线程执行;云识别线程、检测线程、跟踪线程和地图管理线程相互独立运行。在其它实施例中,可将线程均替换为进程。
本实施例中,采用相互独立的云识别线程、检测线程、跟踪线程和地图管理线程分别独立执行不同的功能,可避免单线程执行时的阻塞,从而进一步高效地实现基于多标记物的增强现实。
如图4所示,在一个实施例中,定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别的步骤包括以下步骤:
S402,定期检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量。
第一数量表示管理地图集中特征地图的数量,具体表示当前处于活跃状态的特征地图的数量。第二数量表示本地标记物数据库中可用于识别标记物的特征地图的总量,也表示本地可识别的标记物的总数量。终端可每隔设定的时长或者每隔设定的图像帧数量进行检查。特征地图处于活跃状态,表示在某时长度量值阈值内该特征地图所表示的标记物在图像帧中出现多于一次。
S404,当第一数量小于第二数量,且第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
具体地,终端可判断第一数量是否小于第二数量,并且判断第二数量是否小于特征地图数量阈值;如果均为是,则根据本地标记物数据库对当时所采集的图像帧进行标记物识别;如果其中至少一个判断为否,则等待下次检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量。特征地图数量阈值时预设的数量,用于控制处于活跃状态的特征地图的数量,保证整个流程能够流畅运行。
在一个实施例中,终端可通过定期检查获取到第一数量和第二数量后,先判断第一数量是否小于第二数量;若先判断的结果为是,则再判断第二数量是否小于特征地图数量阈值;若再判断的结果也为是,则根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,终端可通过定期检查获取到第二数量,从而先判断第二数量是否小于特征地图数量阈值;如果先判断的结果为是,则进一步检查管理地图集中特征地图的第一数量,并且再判断第一数量是否小于第二数量;如果再判断的结果也为是,则根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
上述实施例中,当第一数量小于第二数量时,说明基于本地标记物数据库还可以识别出新的标记物,继续进行标记物识别是有效的,避免做无效处理占用资源;当第一数量小于特征地图数量阈值时,说明目前处于活跃状态的特征地图的数量还未达到设定的上限,如果标记物继续增加也能够一定程度上保证流畅性。因此本实施例可以有效地利用本地资源实现基于多标记物的增强现实。
在一个实施例中,步骤S202包括:定期检查管理地图集中特征地图的数量;当数量小于特征地图数量阈值时,对当时所采集的现实场景的图像帧进行标记物识别。
具体地,终端可定期检查管理地图集中特征地图的数量,进而判断该数量是否小于特征地图数量阈值;若是则对当时所采集的现实场景的图像帧进行标记物识别;若否则等待下次检查管理地图集中特征地图的数量。
本实施例中,当管理地图集中特征地图的数量小于特征地图数量阈值时,说明目前处于活跃状态的特征地图的数量还未达到设定的上限,如果标记物继续增加也能够一定程度上保证流畅性。因此本实施例可以有效地利用本地资源实现基于多标记物的增强现实。
如图5所示,在一个实施例中,增强现实的数据处理方法还包括跟踪标记物失败时触发标记物检测并继续跟踪标记物的步骤,具体包括如下步骤:
步骤S502,当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物。
具体地,终端通过检测线程在某图像帧中检测标记物成功后,在管理地图集中设置相应特征地图的最近有效位姿为检测到的标记物的位姿。终端通过跟踪线程并基于管理地图集中的特征地图和相应的最近有效位姿,从检测到标记物的图像帧的下一图像帧起进行标记物跟踪。
如果跟踪成功,则终端可通过跟踪线程,将跟踪成功的标记物在管理地图集中的特征地图的最近有效位姿,更新为此次跟踪成功的标记物的位姿,并在接下来的图像帧中继续跟踪标记物。如果跟踪失败,则终端可通过跟踪线程,对管理地图集中的相应特征地图标记跟踪失败状态。
步骤S504,根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物。
具体地,终端通过检测线程检查到管理地图集中的特征地图存在跟踪失败状态,则触发基于该存在跟踪失败状态的特征地图的标记物检测,并在检测成功时取消管理地图集中该特征地图的跟踪失败状态。
在一个实施例中,对于同一图像帧,标记物检测和标记物追踪都会计算标记物的位姿,且标记物跟踪的速度较快,如果跟踪成功则直接输出位姿不再等待标记物检测的结果;如果对该图像帧进行的所有标记物跟踪失败,则需要等待对该图像帧进行的标记物检测所得到的位姿。
上述实施例中,当跟踪标记物失败时,触发标记物检测,进而基于标记物检测的结果继续跟踪标记物,可以尽可能保证基于多标记物实现增强现实时的效率和标记物覆盖率。
在一个实施例中,步骤S504具体包括:将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;根据融合位姿继续在采集的图像帧中跟踪标记物。
历史跟踪位姿,是跟踪相应标记物所记录的历史的位姿。将多于一个的位姿融合,可以采用求平均量或者求加权平均量的方式。当采用加权平均量的方式时,可以将距当前时间越近的位姿赋予越高的权重。
在一个实施例中,终端具体可将预设数量的时间上连续的多于一个的位姿融合;多于一个的位姿包括在当前采集的图像帧中检测成功的标记物的位姿。
在一个实施例中,终端可特征地图和相应标记物的融合位姿,确定在进行跟踪的图像帧中的候选范围,从而在候选范围中进一步确定前跟踪到的标记物的特征地图,从而计算当前跟踪到的标记物的位姿。
上述实施例中,虑到标记物移动是连续性的,即使采集图像帧是离散的,标记物的位姿也不会发生太大突变,将检测成功得到的位姿和历史跟踪位姿融合得到融合位姿,从而基于融合位姿继续跟踪标记物,可避免位姿发生突变,可保证跟踪标记物的准确性。
在一个实施例中,该增强现实的数据处理方法还包括:获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;当时长度量值大于或等于时长度量值阈值时,将具有时长度量值的特征地图从管理地图集中清除。
时长度量值是衡量时间长度的量化值。时长度量值可以采用时间单位的值,如毫秒或秒等。时长度量值也可以采用间隔图像帧的数量。终端可实时获取时长度量值,也可以定时获取时长度量值。终端可每次在跟踪成功时从零开始计时,直到计时达到时长度量值阈值时,将相应的特征地图从管理地图集中清除。
本实施例中,时长度量值,可以反映管理地图集中相应特征地图不活跃的时长,如果时长度量值较大,达到了时长度量值阈值,说明该特征地图长期不活跃,将该特征地图从管理地图集中清除。通过动态地管理管理地图集,可将有限的资源分配给活跃的特征地图使用,可高效、低消耗地实现基于多标记物的增强现实。
图6为一个实施例中增强现实的数据处理方法的流程示意图,图7位一个实施例中增强现实的数据处理系统的架构图,图8为不同线程配合实现增强现实的数据处理方法的流程示意图。应该理解的是,虽然图6或图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6或图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。增强现实的数据处理方法具体包括如下步骤:
步骤S602,通过云识别线程,定期向云识别平台发送对当时采集的图像帧进行标记物识别的云识别请求。接收云识别平台在根据云端标记物数据库新识别到标记物时反馈的识别结果。识别结果包括云识别平台新识别到的标记物的标记物标识。
云识别平台上存储有云端标记物数据库,并运行有云识别引擎,云识别平台通过云识别引擎并基于云端标记物数据库进行标记物识别。云识别平台可以是服务器。云识别平台可在识别到标记物时向终端反馈识别结果,识别结果包括识别到的标记物的标记物标识,终端可根据标记物标识判断云识别平台识别到的是否是新识别的标记物。
步骤S604,通过云识别线程,向云识别平台发送携带标记物标识的查询请求;接收云识别平台所反馈的与标记物标识对应的特征地图;将接收到的特征地图添加到本地标记物数据库。
步骤S606,通过检测线程,定期检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量;当第一数量小于第二数量,且第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
检测线程可在首次进入用于实现增强现实的数据处理方法的应用程序时,或者在上一图像帧跟踪标记物失败时触发执行。
步骤S608,通过地图管理线程,在检测线程检测标记物成功时,向管理地图集添加新识别的标记物的特征地图。
步骤S610,通过地图管理线程,实时或定期获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;当时长度量值大于或等于时长度量值阈值时,将具有时长度量值的特征地图从管理地图集中清除。
步骤S612,通过检测线程,在采集的图像帧中根据特征地图检测标记物,且在检测成功时得到相应标记物的位姿。
终端通过检测线程,确定需要检测的标记物的特征地图,从而基于特征地图进行标记物检测。需要检测的标记物可以是新识别到的标记物,也可以是上一图像帧中跟踪失败的标记物。
步骤S614,通过跟踪线程,分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物。
步骤S616,通过跟踪线程,当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物;将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;根据融合位姿继续在采集的图像帧中跟踪标记物。
跟踪线程判断管理地图集中的每个特征地图是否可以进行跟踪,如果可以,则按照正常的跟踪流程进行,跟踪成功则输出相应的位姿到渲染模块进行渲染,否则设置该特征地图为跟踪失败状态,唤醒检测线程进行标记物检测。
步骤S618,通过跟踪线程输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加虚拟对象。
上述增强现实的数据处理方法,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。采用相互独立的云识别线程、检测线程、跟踪线程和地图管理线程分别独立执行不同的功能,可避免单线程执行时的阻塞,从而进一步高效地实现基于多标记物的增强现实。
参照图9和图10,下面用一个具体应用场景说明上述增强现实的数据处理方法的原理。本应用场景中,现实场景中存在5个电影海报,这些电影海报都作为标记物记录在云端标记物数据库中。
移动终端的摄像头拍摄到其中4个电影海报,如果本地标记物数据库中存在则识别出4个电影海报,如果不存在则会在定期发起云识别请求时通过云识别平台识别出。终端会将新识别到的4个电影海报的特征地图加入到管理地图集中,并且基于管理地图集跟踪这个4个电影海报,还会基于跟踪确定的位姿确定相应虚拟对象的位姿,从而显示出对应不同的电影海报呈现不同的虚拟形象的增强现实场景。
摄像头移动后,4个电影海报中的2个电影海报从镜头中消失,并新增了1个电影海报。此时,移动终端会在管理地图集中增加新增的电影海报的特征地图,并且继续基于管理地图集进行跟踪并实现增强现实。摄像头移动后若保持一段时间,比如经过了1000个图像帧,终端就会将先前从镜头中消失的电影海报的特征地图从管理地图集中清除。
图11为一个实施例中增强现实的数据处理装置1100的结构框图。参照图11,该增强现实的数据处理装置1100包括识别模块1101、地图管理模块1102、检测模块1103和跟踪模块1104。
识别模块1101,用于定期对当时所采集的现实场景的图像帧进行标记物识别。
地图管理模块1102,用于向管理地图集添加新识别的标记物的特征地图。
检测模块1103,用于在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿。
跟踪模块1104,用于分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加虚拟对象。
如图12所示,在一个实施例中,增强现实的数据处理装置1100还包括云识别模块1105,用于定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;将服务器新识别的标记物的特征地图添加到本地标记物数据库。
识别模块1101,用于定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,识别模块1101和检测模块1103是检测线程;地图管理模块1102是地图管理线程;跟踪模块1104是跟踪线程。在一个实施例中,云识别模块1105是云识别线程。
在一个实施例中,云识别模块1105还用于定期向服务器发送对当时采集的图像帧进行标记物识别的云识别请求;接收服务器在根据云端标记物数据库新识别到标记物时反馈的识别结果;根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库。
在一个实施例中,识别结果包括服务器新识别到的标记物的标记物标识;云识别模块1105还用于向服务器发送携带标记物标识的查询请求;接收服务器所反馈的与标记物标识对应的特征地图;将接收到的特征地图添加到本地标记物数据库。
在一个实施例中,识别模块1101还用于定期检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量;当第一数量小于第二数量,且第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,识别模块1101还用于定期检查管理地图集中特征地图的数量;当数量小于特征地图数量阈值时,对当时所采集的现实场景的图像帧进行标记物识别。
在一个实施例中,检测模块1103还用于当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物;跟踪模块1104还用于根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物。
在一个实施例中,跟踪模块1104还用于将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;根据融合位姿继续在采集的图像帧中跟踪标记物。
在一个实施例中,地图管理模块1102还用于获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;当时长度量值大于或等于时长度量值阈值时,将具有时长度量值的特征地图从管理地图集中清除。
上述增强现实的数据处理装置1100,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置、摄像头和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现增强现实的数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行增强现实的数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的增强现实的数据处理装置1100可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该增强现实的数据处理装置1100的各个程序模块,比如,图11所示的识别模块1101、地图管理模块1102、检测模块1103和跟踪模块1104。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的增强现实的数据处理方法中的步骤。
例如,图13所示的计算机设备,可以通过如图11所示的增强现实的数据处理装置1100中的识别模块1101,执行定期对当时所采集的现实场景的图像帧进行标记物识别的步骤。计算机设备可通过地图管理模块1102,执行向管理地图集添加新识别的标记物的特征地图的步骤。计算机设备可通过检测模块1103,执行在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿。跟踪模块1104可用于执行分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿的步骤。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:定期对当时所采集的现实场景的图像帧进行标记物识别;向管理地图集添加新识别的标记物的特征地图;在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿;分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加虚拟对象。
在一个实施例中,在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行;分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及输出跟踪到的标记物的位姿,由与检测线程相互独立的跟踪线程执行。
在一个实施例中,计算机程序还使得处理器执行以下步骤:定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;将服务器新识别的标记物的特征地图添加到本地标记物数据库;定期对当时所采集的现实场景的图像帧进行标记物识别包括:定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图包括:定期向服务器发送对当时采集的图像帧进行标记物识别的云识别请求;接收服务器在根据云端标记物数据库新识别到标记物时反馈的识别结果;根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库。
在一个实施例中,识别结果包括服务器新识别到的标记物的标记物标识;根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库包括:向服务器发送携带标记物标识的查询请求;接收服务器所反馈的与标记物标识对应的特征地图;将接收到的特征地图添加到本地标记物数据库。
在一个实施例中,定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别,及在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行。
向管理地图集添加新识别的标记物的特征地图,由地图管理线程执行。
分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及输出跟踪到的标记物的位姿,由跟踪线程执行。
定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图,以及将服务器新识别的标记物的特征地图添加到本地标记物数据库,由云识别线程执行;云识别线程、检测线程、跟踪线程和地图管理线程相互独立运行。
在一个实施例中,定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别包括:定期检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量;当第一数量小于第二数量,且第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,定期对当时所采集的现实场景的图像帧进行标记物识别包括:定期检查管理地图集中特征地图的数量;当数量小于特征地图数量阈值时,对当时所采集的现实场景的图像帧进行标记物识别。
在一个实施例中,计算机程序还使得处理器执行以下步骤:当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物;根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物。
在一个实施例中,根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物包括:将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;根据融合位姿继续在采集的图像帧中跟踪标记物。
在一个实施例中,计算机程序还使得处理器执行以下步骤:获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;当时长度量值大于或等于时长度量值阈值时,将具有时长度量值的特征地图从管理地图集中清除。
上述计算机设备,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。
在一个实施例中,一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:定期对当时所采集的现实场景的图像帧进行标记物识别;向管理地图集添加新识别的标记物的特征地图;在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿;分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加虚拟对象。
在一个实施例中,在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行;分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及输出跟踪到的标记物的位姿,由与检测线程相互独立的跟踪线程执行。
在一个实施例中,计算机程序还使得处理器执行以下步骤:定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;将服务器新识别的标记物的特征地图添加到本地标记物数据库;定期对当时所采集的现实场景的图像帧进行标记物识别包括:定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图包括:定期向服务器发送对当时采集的图像帧进行标记物识别的云识别请求;接收服务器在根据云端标记物数据库新识别到标记物时反馈的识别结果;根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库。
在一个实施例中,识别结果包括服务器新识别到的标记物的标记物标识;根据识别结果,将服务器新识别到的标记物的特征地图添加到本地标记物数据库包括:向服务器发送携带标记物标识的查询请求;接收服务器所反馈的与标记物标识对应的特征地图;将接收到的特征地图添加到本地标记物数据库。
在一个实施例中,定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别,及在采集的图像帧中根据特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行。
向管理地图集添加新识别的标记物的特征地图,由地图管理线程执行。
分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及输出跟踪到的标记物的位姿,由跟踪线程执行。
定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图,以及将服务器新识别的标记物的特征地图添加到本地标记物数据库,由云识别线程执行;云识别线程、检测线程、跟踪线程和地图管理线程相互独立运行。
在一个实施例中,定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别包括:定期检查管理地图集中特征地图的第一数量、以及本地标记物数据库中特征地图的第二数量;当第一数量小于第二数量,且第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
在一个实施例中,定期对当时所采集的现实场景的图像帧进行标记物识别包括:定期检查管理地图集中特征地图的数量;当数量小于特征地图数量阈值时,对当时所采集的现实场景的图像帧进行标记物识别。
在一个实施例中,计算机程序还使得处理器执行以下步骤:当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物;根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物。
在一个实施例中,根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物包括:将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;根据融合位姿继续在采集的图像帧中跟踪标记物。
在一个实施例中,计算机程序还使得处理器执行以下步骤:获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;当时长度量值大于或等于时长度量值阈值时,将具有时长度量值的特征地图从管理地图集中清除。
上述计算机可读存储介质,定期进行标记物识别,从而将出现的标记物的特征地图添加到管理地图集中,从而不断发现新出现的标记物。这样当采集的图像帧中出现多个标记物时,多个标记物的特征地图就会添加到管理地图集中,尽量能够覆盖更多的标记物。经过标记物检测后,就可以基于管理地图集和通过检测得到的标记物的位姿进行持续的标记物跟踪,输出跟踪到的标记物的位姿以实现增强现实。标记物跟踪的效率比标记物检测的效率高很多,通过标记物定期识别、标记物检测和标记物跟踪的配合,能够用较小的代价实现基于多标记物的增强现实。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (15)
1.一种增强现实的数据处理方法,包括:
定期对当时所采集的现实场景的图像帧进行标记物识别;
向管理地图集添加新识别的标记物的特征地图;
在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿;
分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;
输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加所述虚拟对象。
2.根据权利要求1所述的方法,其特征在于,所述在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行;
所述分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及所述输出跟踪到的标记物的位姿,由与所述检测线程相互独立的跟踪线程执行。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;
将所述服务器新识别的标记物的特征地图添加到本地标记物数据库;
所述定期对当时所采集的现实场景的图像帧进行标记物识别包括:
定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
4.根据权利要求3所述的方法,其特征在于,所述定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图包括:
定期向服务器发送对当时采集的图像帧进行标记物识别的云识别请求;
接收服务器在根据云端标记物数据库新识别到标记物时反馈的识别结果;
根据所述识别结果,将所述服务器新识别到的标记物的特征地图添加到本地标记物数据库。
5.根据权利要求4所述的方法,其特征在于,所述识别结果包括所述服务器新识别到的标记物的标记物标识;
所述根据所述识别结果,将所述服务器新识别到的标记物的特征地图添加到本地标记物数据库包括:
向所述服务器发送携带所述标记物标识的查询请求;
接收所述服务器所反馈的与所述标记物标识对应的特征地图;
将接收到的特征地图添加到本地标记物数据库。
6.根据权利要求3所述的方法,其特征在于,所述定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别,及所述在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿,由检测线程执行;
所述向管理地图集添加新识别的标记物的特征地图,由地图管理线程执行;
所述分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物,以及所述输出跟踪到的标记物的位姿,由跟踪线程执行;
所述定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图,以及所述将所述服务器新识别的标记物的特征地图添加到本地标记物数据库,由云识别线程执行;所述云识别线程、所述检测线程、所述跟踪线程和所述地图管理线程相互独立运行。
7.根据权利要求3所述的方法,其特征在于,所述定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别包括:
定期检查所述管理地图集中特征地图的第一数量、以及所述本地标记物数据库中特征地图的第二数量;
当所述第一数量小于所述第二数量,且所述第一数量小于特征地图数量阈值时,根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
8.根据权利要求1所述的方法,其特征在于,所述定期对当时所采集的现实场景的图像帧进行标记物识别包括:
定期检查所述管理地图集中特征地图的数量;
当所述数量小于特征地图数量阈值时,对当时所采集的现实场景的图像帧进行标记物识别。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当采集的上一图像帧中跟踪标记物失败时,则在当前采集的图像帧中根据跟踪失败的标记物的特征地图检测标记物;
根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物。
10.根据权利要求9所述的方法,其特征在于,所述根据在当前采集的图像帧中检测成功的标记物的位姿,继续在采集的图像帧中跟踪标记物包括:
将在当前采集的图像帧中检测成功的标记物的位姿和相应标记物的历史跟踪位姿融合,得到融合位姿;
根据所述融合位姿继续在采集的图像帧中跟踪标记物。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
获取管理地图集中的各特征地图从上次跟踪成功起到现在的时长度量值;
当所述时长度量值大于或等于时长度量值阈值时,将具有所述时长度量值的特征地图从所述管理地图集中清除。
12.一种增强现实的数据处理装置,其特征在于,包括:
识别模块,用于定期对当时所采集的现实场景的图像帧进行标记物识别;
地图管理模块,用于向管理地图集添加新识别的标记物的特征地图;
检测模块,用于在采集的图像帧中根据所述特征地图检测标记物成功时,得到相应标记物的位姿;
跟踪模块,用于分别根据管理地图集中每个特征地图和相应标记物的位姿,于在检测标记物成功的图像帧后采集的图像帧中跟踪标记物;输出跟踪到的标记物的位姿;输出的位姿,用于确定与跟踪到的标记物对应的虚拟对象的位姿,并按照确定的位姿在相应图像帧中叠加所述虚拟对象。
13.根据权利要求12所述的装置,其特征在于,还包括:
云识别模块,用于定期获取服务器从现实场景的图像帧中新识别到的标记物的特征地图;将所述服务器新识别的标记物的特征地图添加到本地标记物数据库;
所述识别模块,用于定期根据本地标记物数据库对当时所采集的图像帧进行标记物识别。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344721.2A CN108564045B (zh) | 2018-04-17 | 2018-04-17 | 增强现实的数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344721.2A CN108564045B (zh) | 2018-04-17 | 2018-04-17 | 增强现实的数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564045A true CN108564045A (zh) | 2018-09-21 |
CN108564045B CN108564045B (zh) | 2020-12-04 |
Family
ID=63535582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810344721.2A Active CN108564045B (zh) | 2018-04-17 | 2018-04-17 | 增强现实的数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564045B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111428A (zh) * | 2019-05-28 | 2019-08-09 | 艾瑞迈迪科技石家庄有限公司 | 一种应用于增强现实的虚拟目标标定方法及装置 |
CN112132940A (zh) * | 2020-09-16 | 2020-12-25 | 北京市商汤科技开发有限公司 | 显示方法、装置,显示设备及存储介质 |
CN112887793A (zh) * | 2021-01-25 | 2021-06-01 | 脸萌有限公司 | 视频处理方法、显示设备和存储介质 |
CN113759910A (zh) * | 2021-09-03 | 2021-12-07 | 上海擎朗智能科技有限公司 | 一种建图的方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130107404A (ko) * | 2012-03-22 | 2013-10-02 | 한남대학교 산학협력단 | 미디어 콘텐츠 편집을 이용한 증강 객체 융합 시스템 및 그 방법 |
CN107025662A (zh) * | 2016-01-29 | 2017-08-08 | 成都理想境界科技有限公司 | 一种实现增强现实的方法、服务器、终端及系统 |
CN107862720A (zh) * | 2017-11-24 | 2018-03-30 | 北京华捷艾米科技有限公司 | 基于多地图融合的位姿优化方法及位姿优化系统 |
-
2018
- 2018-04-17 CN CN201810344721.2A patent/CN108564045B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130107404A (ko) * | 2012-03-22 | 2013-10-02 | 한남대학교 산학협력단 | 미디어 콘텐츠 편집을 이용한 증강 객체 융합 시스템 및 그 방법 |
CN107025662A (zh) * | 2016-01-29 | 2017-08-08 | 成都理想境界科技有限公司 | 一种实现增强现实的方法、服务器、终端及系统 |
CN107862720A (zh) * | 2017-11-24 | 2018-03-30 | 北京华捷艾米科技有限公司 | 基于多地图融合的位姿优化方法及位姿优化系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110111428A (zh) * | 2019-05-28 | 2019-08-09 | 艾瑞迈迪科技石家庄有限公司 | 一种应用于增强现实的虚拟目标标定方法及装置 |
CN110111428B (zh) * | 2019-05-28 | 2023-06-20 | 艾瑞迈迪科技石家庄有限公司 | 一种应用于增强现实的虚拟目标标定方法及装置 |
CN112132940A (zh) * | 2020-09-16 | 2020-12-25 | 北京市商汤科技开发有限公司 | 显示方法、装置,显示设备及存储介质 |
CN112887793A (zh) * | 2021-01-25 | 2021-06-01 | 脸萌有限公司 | 视频处理方法、显示设备和存储介质 |
CN113759910A (zh) * | 2021-09-03 | 2021-12-07 | 上海擎朗智能科技有限公司 | 一种建图的方法、装置、电子设备及存储介质 |
CN113759910B (zh) * | 2021-09-03 | 2024-06-07 | 上海擎朗智能科技有限公司 | 一种建图的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108564045B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112232293B (zh) | 图像处理模型训练、图像处理方法及相关设备 | |
CN108564045A (zh) | 增强现实的数据处理方法、装置、存储介质和计算机设备 | |
CN109947967B (zh) | 图像识别方法、装置、存储介质和计算机设备 | |
CN109285105A (zh) | 水印检测方法、装置、计算机设备和存储介质 | |
US10970874B2 (en) | Method and apparatus for performing image feature matching using labeled keyframes in SLAM-based camera tracking | |
CN110275516A (zh) | 通过移除动态交通参与者的稳健的即时定位和地图构建 | |
CN107239794B (zh) | 点云数据分割方法和终端 | |
CN114758362B (zh) | 基于语义感知注意力和视觉屏蔽的换衣行人重识别方法 | |
CN110569856B (zh) | 样本标注方法及装置、损伤类别的识别方法及装置 | |
US20140205186A1 (en) | Techniques for Ground-Level Photo Geolocation Using Digital Elevation | |
CN103649999B (zh) | 用于确定光流的内容自适应系统、方法和设备 | |
CN109389086A (zh) | 检测无人机影像目标的方法和系统 | |
CN110490902A (zh) | 应用于智慧城市的目标跟踪方法、装置、计算机设备 | |
CN112541372B (zh) | 一种困难样本筛选方法及装置 | |
CN110298281A (zh) | 视频结构化方法、装置、电子设备及存储介质 | |
CN112712051B (zh) | 对象跟踪方法、装置、计算机设备及存储介质 | |
CN113255719A (zh) | 目标检测方法、装置、电子设备及计算机可读存储介质 | |
CN115953744A (zh) | 一种基于深度学习的车辆识别追踪方法 | |
CN112183321A (zh) | 机器学习模型优化的方法、装置、计算机设备和存储介质 | |
CN115035367A (zh) | 图片识别方法、装置及电子设备 | |
CN113704276A (zh) | 地图更新方法、装置、电子设备及计算机可读存储介质 | |
CN115861572A (zh) | 一种三维建模方法、装置、设备及存储介质 | |
US10956754B2 (en) | Information processing apparatus and information processing method | |
CN114005017A (zh) | 目标检测方法、装置、电子设备及存储介质 | |
CN115131691A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |