CN114092668A - 虚实融合方法、装置、设备及存储介质 - Google Patents
虚实融合方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114092668A CN114092668A CN202111272361.8A CN202111272361A CN114092668A CN 114092668 A CN114092668 A CN 114092668A CN 202111272361 A CN202111272361 A CN 202111272361A CN 114092668 A CN114092668 A CN 114092668A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- projection
- target
- display
- projection position
- 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
- 238000007500 overflow downdraw method Methods 0.000 title abstract description 25
- 238000012937 correction Methods 0.000 claims abstract description 108
- 230000004044 response Effects 0.000 claims abstract description 59
- 230000004927 fusion Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 109
- 230000008859 change Effects 0.000 claims description 98
- 230000008569 process Effects 0.000 claims description 63
- 230000009466 transformation Effects 0.000 claims description 31
- 238000009877 rendering Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 15
- 230000009191 jumping Effects 0.000 abstract description 15
- 230000002411 adverse Effects 0.000 abstract description 7
- 230000000007 visual effect Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 231100001261 hazardous Toxicity 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- 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 Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚实融合方法、装置、设备及存储介质。该虚实融合方法包括:基于目标设备经校正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,其中,第一投影位置确定为虚拟物在当前拍摄画面中的显示位置;响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置。上述方案,能够减少因为目标设备的定位结果校正后,虚拟物体跳变带来的不利影响。
Description
技术领域
本申请涉及增强现实技术领域,特别是涉及一种虚实融合方法、装置、设备及存储介质。
背景技术
随着科学技术的发展,增强现实技术的应用越来越广泛。增强现实技术是一种将真实世界和虚拟世界信息结合的技术。通过设备将虚拟视觉信息在真实世界图像中显示出来。
在虚实融合过程中,由于设备的定位过程中会出现累积误差,因此,需要每隔一段时间对设备的位置进行更新,以便校正累积误差。因为累积误差的存在,在设备的位置更新后,原有的虚拟视觉信息会在设备的屏幕上发生跳变,定期的这种虚拟视觉信息跳变会带有不良的视觉体验。
发明内容
本申请至少提供一种虚实融合方法、装置、设备及存储介质。
本申请提供了一种虚实融合方法,包括:基于目标设备经校正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,其中,第一投影位置确定为虚拟物在当前拍摄画面中的显示位置;响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置。
因此,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
其中,在确定显示位置之后,方法还包括:显示当前拍摄画面,并在当前拍摄画面中的显示位置显示虚拟物。
因此,通过在目标设备经矫正后,虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的显示位置,能够减少因为显示位置发生跳变带来的视觉影响。
其中,第一预设条件包括以下至少一者:虚拟物符合第二预设条件、虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,第二预设条件包括虚拟物属于第一类型和/或虚拟物的第一变更空间位置属于合理位置;其中,第一变更空间位置为基于目标设备的第二定位结果确定的空间位置,且第一变更空间位置能够投影至第一投影位置的空间位置。
因此,通过虚拟物的类型、虚拟物的第一变更空间位置处于合理位置以及虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,相比于虚拟物的显示位置发生跳变而言,显示位置存在一定的偏差所带来的视觉影响更小。
其中,预设位置要求包括位置偏差小于预设阈值。
因此,通过虚拟物的第一变更空间位置与原始空间位置之间的位置偏差小于预设阈值,则两个位置在当前拍摄画面上的显示位置之间的偏差也不会大,因此保持虚拟物的显示位置不发生跳变,相比于虚拟物的显示位置发生跳变而言,前者带来的视觉影响更小。
其中,预设位置要求还包括虚拟物的显示变更过程可见,其中,显示变更过程为虚拟物的显示从第一投影位置变为目标投影位置的过程。
因此,通过在虚拟物的显示变更过程可见,且位置偏差小于预设阈值的情况下,保持虚拟物的显示位置不发生跳变,相比于虚拟物的显示位置发生跳变而言,前者带来的视觉影响更小。
其中,第一预设条件包括虚拟物符合第二预设条件,且第二预设条件包括虚拟物的第一变更空间位置属于合理位置;其中,合理位置包括非危险区域和属于预设高度范围内中的至少一者;和/或,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,方法还包括:基于预设地图的语义信息,确定第一变更空间位置是否属于合理位置。
因此,通过结合预设地图的语义信息,确定第一变更空间位置是否属于合理位置,使得合理位置的确定更准确。
其中,方法还包括:响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
因此,通过在虚拟物不满足第一预设条件的情况下,对虚拟物的显示位置进行变更,能够减少因为虚拟物的投影位置偏差带来的不好的视觉体验。
其中,响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置,包括:响应于虚拟物属于第二类型,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于虚拟物属于第三类型,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于第一变更空间位置不属于合理位置,选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
因此,通过对不同类型的虚拟物执行不同的纠正策略,提高了纠正策略方式的灵活度。
其中,预设位置要求包括虚拟物的显示变更过程可见、以及位置偏差小于预设阈值,其中,显示变更过程为虚拟物的显示从第一投影位置变为目标投影位置的过程;响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置,包括:响应于虚拟物符合第二预设条件、虚拟物的显示变更过程可见、且位置偏差不小于预设阈值,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于虚拟物符合第二预设条件、且虚拟物的显示变更过程不可见,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
因此,通过对满足第二预设条件但不满足预设位置要求的虚拟物,在当前拍摄界面上的显示位置进行纠正,使得能够减少因为虚拟物在当前拍摄界面上的投影偏差带来的不利影响。
其中,在采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置之前,方法还包括:基于第二定位结果和原始空间位置,确定虚拟物在当前拍摄画面的第二投影位置,以作为目标投影位置;或者,在第一变更空间位置不属于合理位置的情况下,将第一变更空间位置调整为属于合理位置的第二变更空间位置,基于第二定位结果和第二变更空间位置,确定虚拟物在当前拍摄画面的第三投影位置,以作为目标投影位置。
因此,通过基于第二定位结果和原始空间位置确定目标投影位置,或根据第一变更空间位置调整为属于合理位置的第二变更空间位置并基于第二变更空间位置确定目标投影位置,使得对虚拟物的显示位置进行纠正后,很好地减少了因为投影误差带来的不利影响。
其中,第一纠正策略为在下一次显示渲染直接将虚拟物渲染至目标投影位置,第二纠正策略为按照预设速度将虚拟物从第一投影位置移动至目标投影位置。
因此,通过设置不同的纠正策略,使得纠正过程更为灵活。
其中,在响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,方法还包括:利用第一投影位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第一变换参数,得到世界坐标系上的第一变更空间位置,其中,第一变换参数基于目标设备的第二定位结果获取得到。
因此,通过目标设备的第二定位结果以及虚拟物的第一投影位置确定虚拟物的第一变更空间位置,能够保持虚拟物在第一变更空间位置处对应当前拍摄画面中的投影位置不变。
其中,基于目标设备经校正前的第一定位结果,确定虚拟物在所述目标设备的当前拍摄画面的第一投影位置,包括:利用虚拟物的原始空间位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第二变换参数,得到第一投影位置,其中,第二变换参数基于目标设备的第一定位结果获取得到;响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,方法还包括:将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果。
因此,通过将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果,使得第二定位结果相对于校正前的第一定位结果而言更为准确。
本申请提供了一种虚实融合装置,包括:确定模块,用于基于目标设备经校正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,其中,第一投影位置确定为虚拟物在当前拍摄画面中的显示位置;融合模块,用于响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置。
本申请提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述虚实融合方法。
本申请提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述虚实融合方法。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请虚实融合方法一实施例的流程示意图;
图2为本申请虚实融合方法一实施例示出步骤S12的部分子流程示意图;
图3是本申请虚实融合方法一实施例的另一流程示意图;
图4是本申请虚实融合装置一实施例的结构示意图;
图5是本申请电子设备一实施例的结构示意图;
图6是本申请计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
请参阅图1,图1是本申请虚实融合方法一实施例的流程示意图。
具体而言,虚实融合方法可以包括如下步骤:
步骤S11:基于目标设备经矫正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,其中第一投影位置确定为虚拟物在当前拍摄画面中的显示位置。
其中,基于目标设备经校正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面中的第一投影位置的方式可以是根据目标设备的第一定位结果和虚拟物的原始空位位置确定。
其中,目标设备可以本公开实施例所提供方法的执行设备,具体可以是具备增强现实功能的设备,如AR眼镜、手机等。另一些公开实施例中,目标设备也可不是本公开实施例所提供方法的执行设备。具体地,目标设备可以仅执行拍摄环境画面以及显示虚实融合画面。具体地,目标设备在对环境画面进行拍摄后,将环境画面传输给执行设备,执行设备对目标设备进行定位得到目标设备经校正前的第一定位结果,然后基于该第一定位结果以及虚拟物的原始空间位置,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,然后将虚拟物与当前拍摄画面进行融合,得到融合画面,并将融合画面传输至目标设备,以便目标设备能够显示融合画面。本公开实施例以目标设备为本公开实施例所提供方法的执行设备为例。
虚拟物包括可见的展示信息或效果,也可包括用于遮挡碰撞的不可见虚拟物,例如可见的文字、图形、模型、动漫形象等。例如,虚拟物可以是指示类、导航类、兴趣点类、虚拟形象类等。
目标设备经校正前的第一定位结果可以是目标设备在世界坐标系下的位置或位姿。位姿包括位置和姿态。其中,世界坐标系与虚拟物所在的虚拟空间对齐。
步骤S12:响应于获取到目标设备经校正后的第二定位结果,且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置。
其中,在虚实融合中一般采用视觉惯性定位或其他6自由度跟踪算法等处理量不大的定位方式以获取目标设备在世界坐标系下的定位结果。但是这些定位方式可能会存在定位误差,所以在持续定位过程中难免会存在一定的累积误差,因此,需要定期对目标设备的定位结果进行校正,以减小定位过程中的累积误差。具体对目标设备的定位结果进行校正的时间可以由用户自行设置,或采用目标设备出厂时的设置。例如,每隔30s对目标设备的第一定位结果进行一次校正。
其中,第一预设条件可以是对虚拟物设置的精确度要求小于预设精确度要求。例如,对于一些指示类、导航类的虚拟物精确度要求相对于标签类的虚拟物的精确度要求而言,前者相对宽松。指示类、导航类的虚拟物具体可以是虚拟箭头等,标签类的虚拟物具体可以是商店各商品对应的简介(例如,价格、产品介绍等)。这种指示类、导航类的虚拟物的精确度要求可以设置为小于预设精确度要求。标签类虚拟物的精确度要求可以设置为大于或等于预设精确度要求。当然,另一些实施例中,可以根据虚拟物设置的允许误差要求调整第一预设条件。
在获取到目标设备经校正后的第二定位结果,且虚拟物满足第一预设条件的情况下,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置,意味着在目标设备校正前后,虚拟物在当前拍摄画面中的显示位置并未发生跳变。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
一些公开实施例中,在确定显示位置之后,虚实融合方法还包括以下步骤:显示当前拍摄画面,并在当前拍摄画面的第一投影位置上显示虚拟物。
具体地,将拍摄画面与虚拟物进行融合,得到融合画面。具体的融合方式为,将虚拟物投影到当前拍摄画面的第一投影位置上。然后,在目标设备的显示界面上,显示融合画面,即可实现显示当前拍摄画面,并在当前拍摄画面的第一投影位置上显示虚拟物。也就是,在根据母设备的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,并将该第一投影位置确定为虚拟物在当前拍摄画面中的显示位置之后,将虚拟物显示在当前拍摄画面的显示位置,并且显示当前拍摄画面,而在执行步骤S12之后,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之后,继续显示当前拍摄画面,并且继续在当前拍摄画面中的显示位置显示虚拟物。
其中,在首次确定虚拟物在当前拍摄画面中的显示位置之后,可以持续性的在当前确定的显示位置显示该虚拟物,而且该虚拟物的显示位置在显示过程中能够进行更新。例如,在目标设备的定位结果经校正前,虚拟物在当前拍摄画面中的显示位置为第一投影位置,而在目标设备的定位结果经校正后,且虚拟物在满足第一预设条件的情况下,虚拟物在当前拍摄画面中的显示位置不变,若虚拟物不满足第一预设条件,则虚拟物在当前拍摄画面中的显示位置则可能会发生变更,则在变更后的显示位置继续显示虚拟物。
一些公开实施例中,上述步骤S11包括:利用虚拟物的原始空间位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第二变换参数,得到第一投影位置。
其中,虚拟物的原始空间位置是预先设定的,指的是虚拟物在虚拟空间中的位置。世界坐标系与目标设备的相机坐标系之间的第二变换参数具体为目标设备的视域矩阵(View Matrix)。具体地,该第二变换参数是从世界坐标系变换到目标设备的相机坐标系的第一第二变换参数。其中,目标设备的第一定位结果可以是目标设备在世界坐标系下的位姿。其中,目标设备的位姿包括目标设备的位置和姿态(又名,朝向)。本公开实施例中,将目标设备的拍摄组件在世界坐标系下的位姿等同为目标设备在世界坐标系下的位姿。当然,在另一些公开实施例中,可将目标设备上预设部件的位姿作为目标设备的位姿。然后,根据目标设备上拍摄组件与目标设备上预设位置之间的相对位姿关系、以及预设部件的位姿,确定拍摄组件的位姿。其中,可以认为拍摄组件的位置为相机坐标系的原点。具体根据目标设备的拍摄组件的位姿,确定世界坐标系与目标设备的相机坐标系之间的变换关系的方式可参见一般公知技术,此处不做过多叙述。
投影参数的形式为投影矩阵,投影参数为摄像组件的内部参数,主要根据投影原理构建,用于实现三维空间坐标到二维图像坐标的变换。
具体地,第二变换参数用于基于虚拟物的原始空间位置,确定该虚拟物在目标设备的相机坐标系下的三维空间坐标,投影参数用于基于虚拟物在相机坐标系下的三维空间坐标确定该虚拟物在当前拍摄画面中的第一投影位置。通过将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果,使得第二定位结果相对于校正前的第一定位结果而言更为准确。
其中,在上述步骤S12之前,还包括以下步骤:
将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果。预设地图可以是高精度三维地图,例如稠密的三维地图。将目标设备与预设地图进行定位匹配,又可称之为获取目标设备在预设地图中更准确的位姿。具体地,将目标设备与预设地图进行定位匹配的方式可以是根据目标设备中精确的定位组件获取目标设备在预设地图中的第二定位结果。该精确的定位组件可以是GPS。当然,获取目标设备在预设地图中更精确的定位结果的方式还可以是使用视觉惯性定位的方式进行获取。提取当前拍摄画面的特征点与预设地图中的特征点进行匹配,基于匹配结果得到第二定位结果。另一些公开实施例中,可以将当前拍摄画面发送给云端,以便云端对当前拍摄画面的特征点进行提取,并将提取到的特征点与预设地图中的特征点进行匹配,得到目标设备的第二定位结果,然后再接收由云端发送的第二定位结果。
另一些公开实施例中,上述步骤S12之前,还可包括以下步骤:
检测目标设备经矫正后的第二定位结果与第一定位结果是否存在预设变化。响应于第二定位结果与第一定位结果之间存在预设变化,则执行步骤S12。
其中,预设变化可以是第一定位结果和第二定位结果之间的误差大于或等于预设误差。预设误差可根据用户对虚实融合精确度的要求进行确定。若对精确度的要求较高,则预设误差可以设置得较小,趋近于0,否则可将预设误差设置得较大。
一些公开实施例中,第一预设条件包括以下至少一者:虚拟物符合第二预设条件、虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。一些应用场景中,第一预设条件包括虚拟物符合第二预设条件。还有一些应用场景中,第一预设条件包括虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。还有一些应用场景中,第一预设条件包括虚拟物符合第二预设条件,且虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。
其中,第二预设条件包括虚拟物属于第一类型和/或虚拟物的第一变更空间位置属于合理位置。第一变更空间位置为基于目标设备的第二定位结果确定的,且第一变更空间位置能够投影至第一投影位置的空间位置。也就是,在目标设备位于第二定位结果处的情况下,处于第一变更空间的虚拟物能够投影到当前拍摄画面的第一投影位置。具体地,执行步骤S12之前,获取虚拟物第一变更空间位置的方式可以是:
利用第一投影位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第一变换参数,得到世界坐标系上的第一变更空间位置。其中,第一变换参数基于目标设备的第二定位结果获取得到。具体地,获取第一变换参数的方式可参见上述获取第二变换参数的方式,此处不做过多叙述。
通过投影参数能够将虚拟物从当前拍摄画面中的第一投影位置反投影到相机坐标系中,得到虚拟物在相机坐标系中的三维坐标,然后基于第一变换参数能够将虚拟从相机坐标系转换到世界坐标系中,得到虚拟物在世界坐标系上的第一变更空间位置。通过目标设备的第二定位结果以及虚拟物的第一投影位置确定虚拟物的第一变更空间位置,能够保持虚拟物在第一变更空间位置处对应当前拍摄画面中的投影位置不变。
一些公开实施例中,第二预设条件包括虚拟物属于第一类型。可选地,接收用户对虚拟物进行类别划分的指令,将虚拟物划分为若干个类型,例如划分为三个类型。各类型的虚拟物对应的融合精确度不同。虚拟物的划分原则可以是根据虚拟物跳变带来的视觉影响与虚拟物投影误差带来的影响之间的平衡关系确定。例如,若某虚拟物的投影误差较大,若不跳变其投影误差带来的影响也可忽略,则可以将其划分为第一类型。而某虚拟物若跳变带来的视觉影响小于投影误差带来的影响,则可以将其划分为第二类型。而将虚拟物若跳变带来的视觉影响大于投影误差带来的影响,则可以将其划分为第三类型。
一些公开实施例中,第二预设条件包括虚拟物的第一变更空间位置属于合理位置。虚拟物的第一变更空间位置是否属于合理位置,具体可以根据预设地图中第一变更空间位置处的语义信息进行确定。可选地,合理位置包括非危险区域和属于预设高度范围内的至少一者。具体地,危险区域可预先标记在预设地图上。除危险区域以外的区域可以认为是非危险区域。例如,在城市导航的场景中,虚拟物为导航箭头,危险区域可以是位于道路一旁的湖泊。预设高度范围可根据对投影精度的需求进行设置。为更好理解预设高度范围,现示出以下具体应用实例。若预设地图为某房间的地图,虚拟物为花瓶,且虚拟物的原始空间位置为该房间的桌子表面上。若虚拟物的第一变更空间位置为该房间的地面以下,这显然不符合逻辑,至少花瓶的底座应该位于该房间的地面以上才合适,也就是花瓶的底座的高度应高于地面的高度。预设高度范围为预设地图中在第一变更空间位置所在的竖直方向上允许的最大高度和/或最低高度。通过结合预设地图的语义信息,确定第一变更空间位置是否属于合理位置,使得合理位置的确定更准确。
一些公开实施例中,第二预设条件包括虚拟物属于第一类型,且虚拟物的第一变更空间位置属于合理位置。也就是,响应于虚拟物属于第一类型,且虚拟物的第一变更空间位置属于合理位置时,将虚拟物保持显示在当前拍摄画面的第一投影位置上。
一些公开实施例中,第一预设条件包括虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。第一变更空间位置与原始空间位置之间的位置偏差可以包括高度方向上的偏差,也可不包括高度方向上的偏差。例如,一些应用场景中,位置偏差可以仅包括两个位置之间在垂直于高度方向的平面上的偏差。具体可以是在该平面上的距离偏差。其中,预设位置要求可以包括位置偏差小于预设阈值。也就是原始空间位置和第一变更空间位置之间的偏差较小。该位置偏差带来的影响小于虚拟物体在当前拍摄画面中跳变带来的影响。预设阈值可由用户自定义,或默认目标设备的原始设置。通过虚拟物的第一变更空间位置与原始空间位置之间的位置偏差小于预设阈值,则两个位置在当前拍摄画面上的显示位置之间的偏差也不会大,因此保持虚拟物的显示位置不发生跳变,相比于虚拟物的显示位置发生跳变而言,前者带来的视觉影响更小。
可选地,根据虚拟物的显示变更过程可见或不可见,预设位置要求还可以包括虚拟物的显示变更过程可见。即,虚拟物的显示变更过程可见且位置偏差小于预设阈值。其中,虚拟物的显示变更过程虚拟物从第一位置变为目标投影位置进行显示的过程。具体地,获取虚拟物在原始空间位置和第一变更空间位置形成的联合包围盒。也就是该联合包围盒为三维包围盒,可以认为其是一个长方体,其包裹了位于原始空间位置和第一变更位置的虚拟物。虚拟物体在当前拍摄画面中跳变的过程具体可以认为是虚拟物体从第一变更位置往原始空间位置的移动过程中在当前显示界面上的投影。在当前拍摄画面过程中主要体现为虚拟物在第一投影位置往目标投影位置移动过程中的插值过程。目标投影位置指的是基于虚拟物体原始空间位置、上述第一变换参数以及投影参数得到的虚拟物体在当前拍摄画面中的投影位置。其中,显示变更过程不可见指的是在当前拍摄画面中该插值过程不可见,显示变更过程可见指的是当前拍摄画面中该插值过程可见。插值过程是否可见可以根据是否有目标投影位置决定。可选地,若有当前拍摄画面中没有虚拟物对应的目标投影位置,则认为插值过程不可见。具体地,若目标投影位置不位于当前拍摄画面中,也就是目标设备基于校正后的位置根本观测不到虚拟物,虚拟物无法根据其原始空间位置以及目标设备对应的第二变换参数以及投影参数,获取虚拟物在当前拍摄画面中的投影位置。此时,在当前拍摄画面中无法体现虚拟物在联合包围盒中移动过程中的投影。又或者,插值过程是否可见可根据插值过程是否完整确定。可选地,若插值过程完整,则认为插值过程可见,若插值过程不完整,则认为插值过程不可见。例如,虚拟物在联合包围盒中移动的过程中,中间部分位置目标设备无法观测到,也就无法在当前拍摄画面中进行显示,所以认为该位置的插值不可见。
一些应用场景中,若虚拟物的显示变更过程不可见,则可以认为括虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。另一些应用场景中,正以为呢虚拟物的显示变更过程不可见,因此,即便虚拟物体发生跳变,对视觉观感的影响也较小,完全可以对虚拟物体的投影位置进行纠偏,减少位置偏差带来的影响。
一些公开实施例中,第一预设条件包括虚拟物符合第二预设条件,且虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求。请同时参见图2,图2为本申请虚实融合方法一实施例示出步骤S12的部分子流程示意图。如图2所示,上述步骤S12包括以下步骤:
步骤S121:判断虚拟物是否属于第一类型。
具体地,根据预先设置的参数信息,确定虚拟物的类型。其中,预先设置的参数信息包括至少一种虚拟物对应的类型信息。该预设设置的参数信息可以由用户自定义。具体如上述,此处不再赘述。
在虚拟物不属于第一类型的情况下,执行步骤S122,在虚拟物属于第一类型的情况下,执行步骤S123。
步骤S122:认定虚拟物不满足第一预设条件。
步骤S123:判断虚拟物的第一变更空间位置与原始空间位置之间的位置偏差是否符合预设位置要求。
预设位置要求具体可参见上述,此处不再赘述。在虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求的情况下,执行步骤S124,否则执行步骤S122。
步骤S124:判断虚拟物的第一变更空间位置是否属于合理位置。
其中,合理位置的定义请参见上述。在第一变更空间位置处于合理位置的范围内的情况下,认定虚拟物的第一变更空间位置属于合理位置。在虚拟物的第一变更空间不属于合理位置时,认定虚拟物的第一变更空间属于合理位置。在虚拟物的第一空间不属于合理位置时,执行步骤S122。在虚拟物的第一空间属于合理位置时,执行步骤S125。
步骤S125:认定虚拟物满足第一预设条件。
其中,上述步骤S123和步骤S124的执行顺序可以交换,并非严格按照上述步骤流程执行。
通过虚拟物的类型、虚拟物的第一变更空间位置处于合理位置以及虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,相比于虚拟物的显示位置发生跳变而言,显示位置存在一定的偏差所带来的视觉影响更小。
一些公开实施例中,虚实融合方法还可包括以下步骤:
响应于获取到目标设备经校正后的第二定位结果,且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。其中,目标投影位置可以是由虚拟物的原始空间位置以及上述第一变换参数以及投影参数获得,还可以是基于目标设备的设定参数确定。其中,基于目标设备的设定参数确定可以基于虚拟物的第一变更空间位置的合理性确定。通过在虚拟物不满足第一预设条件的情况下,对虚拟物的显示位置进行变更,能够减少因为虚拟物的投影位置偏差带来的不好的视觉体验。
具体地,在采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置之前,先获取目标投影位置。其中,获取目标投影位置的方式可以有多种:
第一种是,基于第二定位结果和原始空间位置,确定虚拟物在当前拍摄画面的第二投影位置,以作为目标投影位置。其中,基于第二定位结果和原始空间位置,确定虚拟物在当前拍摄画面的第二投影位置的具体过程如下:基于目标设备的第二定位结果,获取目标设备的相机坐标系与世界坐标系之间的第一变换参数。具体获取第一变换参数的方式请参见上述,此处不再赘述。然后使用第一变换参数将虚拟物的原始空间位置转换到目标设备的相机坐标系,再使用投影参数将相机坐标系下的虚拟物投影到当前拍摄画面,得到虚拟物在当前拍摄画面中的第二投影位置。并将虚拟物在当前拍摄画面中的第二投影位置作为目标投影位置。其中,与该第二投影位置间隔预设距离的投影位置,也可作为目标投影位置。例如,与第二投影位置间隔2个像素的投影位置,也可作为目标投影位置。
第二种是,在第一变更空间位置不属于合理位置的情况下,将第一变更空间位置调整为属于合理位置的第二变更空间位置。基于第二定位结果和第二变更空间位置,确定虚拟物在当前拍摄画面的第三投影位置,以作为目标投影位置。将第一变更空间位置调整为属于合理位置的第二变更空间位置的方式可以是,获取第一变更空间与合理位置之间的相对位置,基于该相对位置对第一变更空间位置进行调整。继上例,虚拟物花瓶的底端理应放置在地面以上,而花瓶在位于第一变更空间位置时,花瓶的底端位于地面以下0.5m,也就是花瓶与合理位置之间的相对位置为0.5m,所以将花瓶从第一变更位置往上移动至少0.5m,使得花瓶的底部与地面接触或高于地面。由此,得到虚拟物体属于合理位置的第二变更空间位置。然后,基于目标设备的第二定位结果,获取目标设备的相机坐标系与世界坐标系之间的第一变换参数。具体获取第一变换参数的方式请参见上述,此处不再赘述。然后使用第一变换参数将虚拟物的第二变更空间位置转换到目标设备的相机坐标系,再使用投影参数将相机坐标系下的虚拟物投影到当前拍摄画面,得到虚拟物在当前拍摄画面中的第二投影位置。并将虚拟物在当前拍摄画面中的第二投影位置作为目标投影位置。通过此种方式可以调整虚拟物体与拍摄画面之间的对齐效果。通过基于第二定位结果和原始空间位置确定目标投影位置,或根据第一变更空间位置调整为属于合理位置的第二变更空间位置并基于第二变更空间位置确定目标投影位置,使得对虚拟物的显示位置进行纠正后,很好地减少了因为投影误差带来的不利影响。
一些公开实施例中,第一纠正策略为在下一次显示渲染直接将虚拟物渲染至目标投影位置。即,直接根据虚拟物在原始空间位置的位置确定虚拟物在目标设备上的目标投影位置,然后将虚拟物显示在目标设备的目标投影位置上。第二纠正策略为按照预设速度将虚拟物从第一投影位置移动至目标投影位置。具体地,第一纠正策略可以认为是立即将虚拟物体的显示位置从第一投影位置变更为目标投影位置,不显示虚拟物体从第一投影为变更为目标投影位置之间的插值过程,而第二纠正策略可以认为是将虚拟物体的显示位置从第一投影位置逐渐移动至目标投影位置。具体地,第二纠正策略为将虚拟物从第一变更空间位置按照匀速速度移动至原始空间位置或对应的第二变更空间位置,并依次根据虚拟物当前的位置确定对应的投影位置,并在对应的投影位置进行显示,以实现按照预设速度将虚拟物从第一投影位置移动至目标投影位置进行显示。同理,第一纠正策略为直接将虚拟物的第一变更空间位置切换为原始空间位置或第二变更空间位置,以实现在下一次显示渲染直接将虚拟物渲染至目标投影位置。通过设置不同的纠正策略,使得纠正过程更为灵活。
具体地,响应于虚拟物属于第二类型,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。或响应于虚拟物属于第三类型,采用第二纠正策略将虚拟物的显示位置从第二投影位置变更在目标投影位置。响应于第一变更空间位置不属于合理位置,选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。具体地,即便虚拟物对于投影精确度的要求不高,属于第一类型,但是若虚拟物的第一变更空间位置不属于合理位置,则也可以选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。如上述,虚拟物类型的划分可以根据虚拟物对应投影精确度的要求确定。此时,第二类型对投影位置精确度的要求高于第三类型对投影位置精确度的要求,第三类型对投影位置精确度的要求高于第一类型对投影位置精确度的要求。即,对于第二类型而言,如果不执行纠正策略,则会导致更差的用户体验,所以需要立即执行纠正策略。对于第一类型而言,虚拟物在当前拍摄画面中的投影偏差对虚实融合影响不大,一定情况下执行纠偏策略反而会导致跳变影响体验,可不纠正偏差,一定情况指的是虚拟物满足第一预设条件的情况。而,对于第三类型而言,虚拟物在当前拍摄画面中的投影偏差带来的影响以及执行纠偏策略带来了跳变影响差别不大,所以可以对其执行纠偏策略。通过对不同类型的虚拟物执行不同的纠正策略,提高了纠正策略方式的灵活度。
一些公开实施例中,在预设位置要求包括虚拟物的显示变更过程可见、以及位置偏差小于预设阈值的情况下,响应于获取到的目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置的方式可以是:
响应于虚拟物符合第二预设条件、虚拟物的显示变更过程可见、且位置偏差不小于预设阈值,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。其中,这里的位置偏差为上述虚拟物在原始空间位置和第一变更空间位置之间的位置偏差。即,虚拟物属于第一类型和/或虚拟物的第一变更空间位置属于合理位置,虚拟物的显示变更过程可见且虚拟物的原始空间位置和第一变更空间位置之间的位置偏差不小于预设阈值,则采用第一纠正策略变更虚拟物的显示位置。
响应于虚拟物符合第二预设条件,且虚拟物的显示变更过程不可见,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。其中,这里的位置偏差为上述虚拟物在原始空间位置和第一变更空间位置之间的位置偏差。即,虚拟物属于第一类型和/或虚拟物的第一变更空间位置属于合理位置,虚拟物的显示变更过程不可见,则采用第二纠正策略变更虚拟物的显示位置。另一些公开实施例中,响应于虚拟物符合第二预设条件,且虚拟物的显示变更过程不可见,也可选择第一纠正策略变更虚拟物的显示位置。通过对满足第二预设条件但不满足预设位置要求的虚拟物,在当前拍摄界面上的显示位置进行纠正,使得能够减少因为虚拟物在当前拍摄界面上的投影偏差带来的不利影响。
一些公开实施例中,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上的方式可以是保持目标设备显示的画面不变,还有一种方式可以是根据上述方式获取虚拟物的第一变更空间位置,然后基于虚拟物的第一变更空间位置以及目标设备的相机坐标系与世界坐标系之间的第一变换参数、投影参数,获取虚拟物在当前拍摄画面上的投影位置,并作为目标投影位置,以此实现将虚拟物保持显示在当前拍摄画面的第一投影位置上。
为更好地理解上述方案,请参见下例。请同时参见图3,图3是本申请虚实融合方法一实施例的另一流程示意图。本公开实施例提供的虚实融合方法包括以下步骤:
步骤S21:基于目标设备经矫正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置。
具体确定方式如上述此处不再赘述。
步骤S22:显示当前拍摄画面,并在当前拍摄画面的第一投影位置上显示虚拟物。
步骤S23:获取目标设备经校正后的第二定位结果。
其中,获取目标设备经校正后的第二定位结果的方式如上述此处不再赘述。其中,第二定位结果可以用于确定虚拟物的目标投影位置。
步骤S24:判断虚拟物是否满足第一预设条件。
其中,第一预设条件如上述。在虚拟物满足第一预设条件的情况下,执行步骤S25,否则执行对应的步骤S26、步骤S27或步骤S28。
步骤S25:响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的所述第一投影位置上。
其中,将虚拟物保持显示在当前拍摄画面的所述第一投影位置上的方式如上述,此处不再赘述。
步骤S26:响应于虚拟物属于第二类型,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
其中,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置的方式如上述,此处不再赘述。
步骤S27:响应于虚拟物属于第三类型,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
其中,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置的方式如上述,此处不再赘述。
步骤S28:响应于第一变更空间位置不属于合理位置,选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
具体地,响应于虚拟物属于第一类型,且虚拟物不满足第一预设条件,则选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
虚实融合方法的执行主体可以是虚实融合装置,例如,虚实融合方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为增强现实设备(AR设备),例如增强现实或虚拟现实的眼镜、头盔等产品用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备以及自动驾驶汽车,机器人等。在一些可能的实现方式中,该虚实融合方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参阅图4,图4是本申请虚实融合装置一实施例的结构示意图。虚实融合装置40包括确定模块41以及融合模块42。确定模块41,用于基于目标设备经校正前的第一定位结果,确定虚拟物在目标设备的当前拍摄画面的第一投影位置,其中,第一投影位置确定为虚拟物在当前拍摄画面中的显示位置;融合模块42,用于响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
一些公开实施例中,在确定显示位置之后,融合模块42还用于:显示当前拍摄画面,并在当前拍摄画面中的显示位置显示虚拟物。
上述方案,通过在目标设备经矫正后,虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的显示位置,能够减少因为显示位置发生跳变带来的视觉影响。
一些公开实施例中,第一预设条件包括以下至少一者:虚拟物符合第二预设条件、虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,第二预设条件包括虚拟物属于第一类型和/或虚拟物的第一变更空间位置属于合理位置;其中,第一变更空间位置为基于目标设备的第二定位结果确定的空间位置,且第一变更空间位置能够投影至第一投影位置的空间位置。
上述方案,通过虚拟物的类型、虚拟物的第一变更空间位置处于合理位置以及虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,相比于虚拟物的显示位置发生跳变而言,显示位置存在一定的偏差所带来的视觉影响更小。
一些公开实施例中,预设位置要求包括位置偏差小于预设阈值。
上述方案,通过虚拟物的第一变更空间位置与原始空间位置之间的位置偏差小于预设阈值,则两个位置在当前拍摄画面上的显示位置之间的偏差也不会大,因此保持虚拟物的显示位置不发生跳变,相比于虚拟物的显示位置发生跳变而言,前者带来的视觉影响更小。
一些公开实施例中,第一预设条件包括虚拟物符合第二预设条件,且第二预设条件包括虚拟物的第一变更空间位置属于合理位置;其中,合理位置包括非危险区域和属于预设高度范围内中的至少一者;和/或,在响应于虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,融合模块42还用于:基于预设地图的语义信息,确定第一变更空间位置是否属于合理位置。
上述方案,通过结合预设地图的语义信息,确定第一变更空间位置是否属于合理位置,使得合理位置的确定更准确。
一些公开实施例中,融合模块42还用于:响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
上述方案,通过在虚拟物不满足第一预设条件的情况下,对虚拟物的显示位置进行变更,能够减少因为虚拟物的投影位置偏差带来的不好的视觉体验。
一些公开实施例中,融合模块42响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置,包括:响应于虚拟物属于第二类型,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于虚拟物属于第三类型,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于第一变更空间位置不属于合理位置,选择第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
上述方案,通过对不同类型的虚拟物执行不同的纠正策略,提高了纠正策略方式的灵活度。
一些公开实施例中,预设位置要求包括虚拟物的显示变更过程可见、以及位置偏差小于预设阈值,其中,显示变更过程为虚拟物的显示从第一投影位置变为目标投影位置的过程;融合模块42响应于获取到目标设备经校正后的第二定位结果,并且虚拟物不满足第一预设条件,采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置,包括:响应于虚拟物符合第二预设条件、虚拟物的显示变更过程可见、且位置偏差不小于预设阈值,采用第一纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置;响应于虚拟物符合第二预设条件、且虚拟物的显示变更过程不可见,采用第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置。
上述方案,通过对满足第二预设条件但不满足预设位置要求的虚拟物,在当前拍摄界面上的显示位置进行纠正,使得能够减少因为虚拟物在当前拍摄界面上的投影偏差带来的不利影响。
一些公开实施例中,在采用第一纠正策略或第二纠正策略将虚拟物的显示位置从第一投影位置变更在目标投影位置之前,融合模块42还包括:基于第二定位结果和原始空间位置,确定虚拟物在当前拍摄画面的第二投影位置,以作为目标投影位置;或者,在第一变更空间位置不属于合理位置的情况下,将第一变更空间位置调整为属于合理位置的第二变更空间位置,基于第二定位结果和第二变更空间位置,确定虚拟物在当前拍摄画面的第三投影位置,以作为目标投影位置。
上述方案,通过基于第二定位结果和原始空间位置确定目标投影位置,或根据第一变更空间位置调整为属于合理位置的第二变更空间位置并基于第二变更空间位置确定目标投影位置,使得对虚拟物的显示位置进行纠正后,很好地减少了因为投影误差带来的不利影响。
一些公开实施例中,第一纠正策略为在下一次显示渲染直接将虚拟物渲染至目标投影位置,第二纠正策略为按照预设速度将虚拟物从第一投影位置移动至目标投影位置。
上述方案,通过设置不同的纠正策略,使得纠正过程更为灵活。
一些公开实施例中在响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,确定模块41还用于:利用第一投影位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第一变换参数,得到世界坐标系上的第一变更空间位置,其中,第一变换参数基于目标设备的第二定位结果获取得到。
上述方案,通过目标设备的第二定位结果以及虚拟物的第一投影位置确定虚拟物的第一变更空间位置,能够保持虚拟物在第一变更空间位置处对应当前拍摄画面中的投影位置不变。
一些公开实施例中,确定模块41基于目标设备经校正前的第一定位结果,确定虚拟物在所述目标设备的当前拍摄画面的第一投影位置,包括:利用虚拟物的原始空间位置、目标设备的投影参数、以及世界坐标系与目标设备的相机坐标系之间的第二变换参数,得到第一投影位置,其中,第二变换参数基于目标设备的第一定位结果获取得到;在获取到目标设备经校正后的第二定位结果后,响应于获取到目标设备经校正后的第二定位结果,并且虚拟物满足第一预设条件,将第一投影位置继续确定为虚拟物在当前拍摄画面中的显示位置之前,融合模块42还用于:将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果。
上述方案,通过将目标设备与预设地图进行定位匹配,得到目标设备在预设地图中的第二定位结果,使得第二定位结果相对于校正前的第一定位结果而言更为准确。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
请参阅图5,图5是本申请电子设备一实施例的结构示意图。电子设备50包括存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述虚实融合方法实施例中的步骤。在一个具体的实施场景中,电子设备50可以包括但不限于:AR设备、微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器52用于控制其自身以及存储器51以实现上述虚实融合方法实施例中的步骤。处理器52还可以称为CPU(Central Processing Unit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
请参阅图6,图6为本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质60存储有程序指令601,程序指令601被处理器执行时,用于实现上述虚实融合方法实施例中的步骤。
上述方案,在获取到目标设备经校正后的第二定位结果后,响应于虚拟物满足第一预设条件,将虚拟物保持显示在当前拍摄画面的第一投影位置上,能够减少虚拟物因为显示位置发生跳变带来的视觉影响。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。
可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (16)
1.一种虚实融合方法,其特征在于,包括:
基于目标设备经校正前的第一定位结果,确定虚拟物在所述目标设备的当前拍摄画面的第一投影位置,其中,所述第一投影位置确定为所述虚拟物在所述当前拍摄画面中的显示位置;
响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物满足第一预设条件,将所述第一投影位置继续确定为所述虚拟物在所述当前拍摄画面中的显示位置。
2.根据权利要求1所述的方法,其特征在于,在确定所述显示位置之后,所述方法还包括:
显示所述当前拍摄画面,并在所述当前拍摄画面中的所述显示位置显示所述虚拟物。
3.根据权利要求1或2所述的方法,其特征在于,所述第一预设条件包括以下至少一者:所述虚拟物符合第二预设条件、所述虚拟物的第一变更空间位置与原始空间位置之间的位置偏差符合预设位置要求,所述第二预设条件包括所述虚拟物属于第一类型和/或所述虚拟物的第一变更空间位置属于合理位置;其中,所述第一变更空间位置为基于所述目标设备的所述第二定位结果确定的空间位置,且所述第一变更空间位置能够投影至所述第一投影位置。
4.根据权利要求3所述的方法,其特征在于,所述预设位置要求包括所述位置偏差小于预设阈值。
5.根据权利要求4所述的方法,其特征在于,所述预设位置要求还包括所述虚拟物的显示变更过程可见,其中,所述显示变更过程为所述虚拟物的显示从第一投影位置变为目标投影位置的过程。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述第一预设条件包括所述虚拟物符合第二预设条件,且所述第二预设条件包括所述虚拟物的第一变更空间位置属于合理位置;其中,
所述合理位置包括非危险区域和属于预设高度范围内中的至少一者;和/或,所述将所述第一投影位置继续确定为所述虚拟物在所述当前拍摄画面中的显示位置之前,所述方法还包括:
基于预设地图的语义信息,确定所述第一变更空间位置是否属于所述合理位置。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物不满足所述第一预设条件,采用第一纠正策略或第二纠正策略将所述虚拟物的所述显示位置从所述第一投影位置变更在目标投影位置。
8.根据权利要求7所述的方法,其特征在于,所述响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物不满足所述第一预设条件,采用第一纠正策略或第二纠正策略将所述虚拟物的所述显示位置从所述第一投影位置变更在目标投影位置,包括:
响应于所述虚拟物属于第二类型,采用第一纠正策略将所述虚拟物的显示位置从所述第一投影位置变更在目标投影位置;
响应于所述虚拟物属于第三类型,采用第二纠正策略将所述虚拟物的显示位置从所述第一投影位置变更在目标投影位置;
响应于所述第一变更空间位置不属于合理位置,选择第一纠正策略或第二纠正策略将所述虚拟物的显示位置从所述第一投影位置变更在目标投影位置。
9.根据权利要求7所述的方法,其特征在于,所述预设位置要求包括所述虚拟物的显示变更过程可见、以及所述位置偏差小于预设阈值,其中,所述显示变更过程为所述虚拟物的显示从第一投影位置变为目标投影位置的过程;
所述响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物不满足所述第一预设条件,采用第一纠正策略或第二纠正策略将所述虚拟物的所述显示位置从所述第一投影位置变更在目标投影位置,包括:
响应于所述虚拟物符合所述第二预设条件、所述虚拟物的显示变更过程可见、且所述位置偏差不小于所述预设阈值,采用第一纠正策略将所述虚拟物的显示位置从所述第一投影位置变更在目标投影位置;
响应于所述虚拟物符合所述第二预设条件、且所述虚拟物的显示变更过程不可见,采用第二纠正策略将所述虚拟物的显示位置从所述第一投影位置变更在目标投影位置。
10.根据权利要求7至9任一项所述的方法,其特征在于,在所述采用第一纠正策略或第二纠正策略将所述虚拟物的所述显示位置从所述第一投影位置变更在目标投影位置之前,所述方法还包括:
基于所述第二定位结果和所述原始空间位置,确定所述虚拟物在所述当前拍摄画面的第二投影位置,以作为所述目标投影位置;或者,
在所述第一变更空间位置不属于合理位置的情况下,将所述第一变更空间位置调整为属于所述合理位置的第二变更空间位置,基于所述第二定位结果和所述第二变更空间位置,确定所述虚拟物在所述当前拍摄画面的第三投影位置,以作为所述目标投影位置。
11.根据权利要求7至9任一项所述的方法,其特征在于,所述第一纠正策略为在下一次显示渲染直接将所述虚拟物渲染至所述目标投影位置,所述第二纠正策略为按照预设速度将所述虚拟物从所述第一投影位置移动至目标投影位置。
12.根据权利要求3至11任一项所述的方法,其特征在于,在所述响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物满足第一预设条件,将所述第一投影位置继续确定为所述虚拟物在所述当前拍摄画面中的显示位置之前,所述方法还包括:
利用所述第一投影位置、所述目标设备的投影参数、以及世界坐标系与所述目标设备的相机坐标系之间的第一变换参数,得到所述世界坐标系上的所述第一变更空间位置,其中,所述第一变换参数基于所述目标设备的第二定位结果获取得到。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述基于目标设备经校正前的第一定位结果,确定虚拟物在所述目标设备的当前拍摄画面的第一投影位置,包括:
利用所述虚拟物的原始空间位置、所述目标设备的投影参数、以及世界坐标系与所述目标设备的相机坐标系之间的第二变换参数,得到所述第一投影位置,其中,所述第二变换参数基于所述目标设备的第一定位结果获取得到;
所述响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物满足第一预设条件,将所述第一投影位置继续确定为所述虚拟物在所述当前拍摄画面中的显示位置之前,所述方法还包括:
将所述目标设备与预设地图进行定位匹配,得到所述目标设备在所述预设地图中的所述第二定位结果。
14.一种虚实融合装置,其特征在于,包括:
确定模块,用于基于目标设备经校正前的第一定位结果,确定虚拟物在所述目标设备的当前拍摄画面的第一投影位置,其中,所述第一投影位置确定为所述虚拟物在所述当前拍摄画面中的显示位置;
融合模块,用于响应于获取到所述目标设备经校正后的第二定位结果,并且所述虚拟物满足第一预设条件,将所述第一投影位置继续确定为所述虚拟物在所述当前拍摄画面中的显示位置。
15.一种电子设备,其特征在于,包括存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272361.8A CN114092668A (zh) | 2021-10-29 | 2021-10-29 | 虚实融合方法、装置、设备及存储介质 |
PCT/CN2022/111199 WO2023071381A1 (zh) | 2021-10-29 | 2022-08-09 | 虚实融合方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272361.8A CN114092668A (zh) | 2021-10-29 | 2021-10-29 | 虚实融合方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114092668A true CN114092668A (zh) | 2022-02-25 |
Family
ID=80298233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111272361.8A Pending CN114092668A (zh) | 2021-10-29 | 2021-10-29 | 虚实融合方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114092668A (zh) |
WO (1) | WO2023071381A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002345A (zh) * | 2022-05-13 | 2022-09-02 | 北京字节跳动网络技术有限公司 | 一种图像校正方法、装置、电子设备及存储介质 |
WO2023071381A1 (zh) * | 2021-10-29 | 2023-05-04 | 深圳市慧鲤科技有限公司 | 虚实融合方法、装置、设备、存储介质及程序产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109671117A (zh) * | 2018-11-13 | 2019-04-23 | 宁波视睿迪光电有限公司 | 虚拟现实交互装置的空间定位方法及装置 |
CN111476911B (zh) * | 2020-04-08 | 2023-07-25 | Oppo广东移动通信有限公司 | 虚拟影像实现方法、装置、存储介质与终端设备 |
CN111880654A (zh) * | 2020-07-27 | 2020-11-03 | 歌尔光学科技有限公司 | 一种图像显示方法、装置、穿戴设备及存储介质 |
CN112967405A (zh) * | 2021-03-23 | 2021-06-15 | 深圳市商汤科技有限公司 | 虚拟物体的位姿更新方法、装置、设备以及存储介质 |
CN114092668A (zh) * | 2021-10-29 | 2022-02-25 | 深圳市慧鲤科技有限公司 | 虚实融合方法、装置、设备及存储介质 |
-
2021
- 2021-10-29 CN CN202111272361.8A patent/CN114092668A/zh active Pending
-
2022
- 2022-08-09 WO PCT/CN2022/111199 patent/WO2023071381A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071381A1 (zh) * | 2021-10-29 | 2023-05-04 | 深圳市慧鲤科技有限公司 | 虚实融合方法、装置、设备、存储介质及程序产品 |
CN115002345A (zh) * | 2022-05-13 | 2022-09-02 | 北京字节跳动网络技术有限公司 | 一种图像校正方法、装置、电子设备及存储介质 |
CN115002345B (zh) * | 2022-05-13 | 2024-02-13 | 北京字节跳动网络技术有限公司 | 一种图像校正方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023071381A1 (zh) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110568447B (zh) | 视觉定位的方法、装置及计算机可读介质 | |
CN107836012B (zh) | 投影图像生成方法及其装置、图像像素与深度值之间的映射方法 | |
CN109993793B (zh) | 视觉定位方法及装置 | |
JP6456347B2 (ja) | 平面固有の特徴のターゲットのinsitu生成 | |
US9361731B2 (en) | Method and apparatus for displaying video on 3D map | |
WO2023071381A1 (zh) | 虚实融合方法、装置、设备、存储介质及程序产品 | |
US10838515B1 (en) | Tracking using controller cameras | |
CN111651051B (zh) | 一种虚拟沙盘展示方法及装置 | |
CN113256718B (zh) | 定位方法和装置、设备及存储介质 | |
US11380063B2 (en) | Three-dimensional distortion display method, terminal device, and storage medium | |
CN108961423B (zh) | 虚拟信息处理方法、装置、设备及存储介质 | |
CN112541973B (zh) | 虚实叠合方法与*** | |
KR20180039013A (ko) | 전자 디바이스 상에서의 환경 맵핑을 위한 피쳐 데이터 관리 | |
US11138743B2 (en) | Method and apparatus for a synchronous motion of a human body model | |
CN114022560A (zh) | 标定方法及相关装置、设备 | |
CN112912936A (zh) | 混合现实***、程序、移动终端装置和方法 | |
CN110737326A (zh) | 虚拟对象的显示方法、装置、终端设备及存储介质 | |
KR100327120B1 (ko) | 증강현실 기반의 3차원 트래커와 컴퓨터 비젼을 이용한영상 정합 방법 | |
KR20190131320A (ko) | 관심 영역의 공간 좌표를 산출하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
CN113678171A (zh) | 信息处理装置、信息处理方法和记录介质 | |
CN113870213A (zh) | 图像显示方法、装置、存储介质以及电子设备 | |
KR20100006736A (ko) | 이미지 및 문자를 인식하는 심플 프레임 마커를 구비하는 증강현실 시스템과 그 장치, 및 상기 시스템 또는 상기 장치를 이용한 증강현실 구현방법 | |
US20200364895A1 (en) | Point tracking using a trained network | |
CN114723923B (zh) | 一种传动解决方案模拟展示***和方法 | |
US20230127539A1 (en) | Information processing apparatus, information processing method, and information processing program |
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 |