CN109961523B - 虚拟目标的更新方法、装置、系统、设备及存储介质 - Google Patents
虚拟目标的更新方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN109961523B CN109961523B CN201910314262.8A CN201910314262A CN109961523B CN 109961523 B CN109961523 B CN 109961523B CN 201910314262 A CN201910314262 A CN 201910314262A CN 109961523 B CN109961523 B CN 109961523B
- Authority
- CN
- China
- Prior art keywords
- virtual
- target
- updating
- dimensional point
- current
- 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.)
- Active
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/006—Mixed reality
Abstract
本发明公开了一种虚拟目标的更新方法、装置、系统、设备及存储介质,该方法包括:获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。通过上述技术方案,在更新虚拟场景中的虚拟目标时,不再计算虚拟场景中全部的三维点的空间坐标,而仅计算当前视野中与虚拟目标关联的三维点的当前空间坐标,提高了运算速度,从而提高虚拟目标的准确性,既实现虚拟目标空间位置的更新,又降低了累积误差,提高虚拟场景的真实性。
Description
技术领域
本发明实施例涉及增强现实技术领域,尤其涉及一种虚拟目标的更新方法、装置、设备、系统及存储介质。
背景技术
增强现实(Augmented Reality,AR)技术通过摄像机、传感器等设备,可对现实场景中的事物进行感知和计算,建立包括虚拟图像、视频和3D模型等的虚拟场景,在屏幕上显示虚拟场景,虚拟场景中与现实场景中对应的事物为虚拟场景中的虚拟目标;通过采集用户的操作,根据用户的操作,在虚拟场景中与用户进行互动,其应用的底层技术包括即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)等。
现有的AR技术中,确定虚拟目标的位置需要根据传感器测量数据理解场景内容,建立真实场景对应的虚拟场景,同时对设备进行定位,这个过程需要大量的运算,花费计算时间;另一方面,传感器测量的数据存在误差,而且由于传感器位置及角度不断变换等因素,这种误差会加剧,系统采用的算法模型也存在误差,多种误差的作用会使得系统得到的虚拟场景中的虚拟目标的位置与实际位置不符,降低系统的真实性。
发明内容
本发明提供了一种虚拟目标的更新方法、装置、系统、设备及存储介质,以实现虚拟目标空间位置的准确更新,降低累积误差,提高虚拟场景的真实性。
第一方面,本发明实施例提供了一种虚拟目标的更新方法,包括:
获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;
根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
第二方面,本发明实施例提供了一种虚拟目标的更新装置,包括:
坐标获取模块,用于获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;
更新模块,用于根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
第三方面,本发明实施例提供了一种虚拟目标的更新系统,包括:虚拟场景生成器、显示器、摄像机和传感器,所述虚拟场景生成器分别与所述显示器、所述摄像机和所述传感器连接,所述虚拟场景生成器中设置如第二方面所述的虚拟目标的更新装置。
第四方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的虚拟目标的更新方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的虚拟目标的更新方法。
本发明实施例提供了一种虚拟目标的更新方法、装置、系统、设备及存储介质,该方法包括:获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。通过采用上述技术方案,在更新虚拟场景中的虚拟目标时,不再计算虚拟场景中全部的三维点的空间坐标,而仅计算当前视野中与虚拟目标关联的三维点的当前空间坐标,提高了运算速度,从而提高虚拟目标的准确性,既实现虚拟目标空间位置的更新,又降低了累积误差,提高虚拟场景的真实性。
附图说明
图1为本发明实施例一提供的一种虚拟目标的更新方法的流程图;
图2为本发明实施例一提供的一种虚拟目标的更新方法应用场景的示意图;
图3为本发明实施例二提供的一种虚拟目标的更新方法的流程图;
图4为本发明实施例二提供的一种虚拟目标的更新方法的实现流程图;
图5为本发明实施例二中的第一目标三维点和第二目标三维点的示意图;
图6为本发明实施例三提供的一种虚拟目标的更新方法的流程图;
图7为本发明实施例三提供的一种虚拟目标的更新方法的实现流程图;
图8为本发明实施例四提供的一种虚拟目标的更新方法的流程图;
图9为本发明实施例四提供的一种虚拟目标的更新方法的实现流程图;
图10为本发明实施例五提供的一种虚拟目标的更新系统的结构示意图;
图11为本发明实施例六提供的一种虚拟目标的更新装置的结构示意图;
图12为本发明实施例七提供的一种设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种虚拟目标的更新方法的流程图,本实施例可适用于更新虚拟场景中虚拟目标的空间位置的情况,其中,虚拟目标为虚拟场景中的平面、曲面、刚体等具有特定形状的目标物体。具体的,该虚拟目标的更新方法可以由虚拟目标的更新装置执行,该虚拟目标的更新装置可以通过软件和/或硬件的方式实现,并集成在设备中。进一步的,设备包括但不限定于:移动终端、台式计算机、笔记本电脑、工控机以及可穿戴式装置等电子设备。
图2为本发明实施例一提供的一种虚拟目标的更新方法应用场景的示意图,本实施例以虚拟场景显示设备的视野中的桌面作为虚拟目标进行说明。根据摄像机及传感器采集到的图像和数据,可检测出现实场景中的桌面,并在虚拟场景中拟合出该桌面。虚拟场景是三维的,具有三维的世界坐标系。如图2所示,实心圆点为虚拟场景中的三维点,各三维点的空间位置由x、y、z三个轴的坐标来表示。在如图2所示的视野中,24个三维点可用于拟合确定桌面的位置。需要说明的是,为便于说明,图2中仅示出某一视野中可见的部分三维点(z=0的平面上的三维点),在实际应用中,除图2示出的三维点,周围还会有其他可用于拟合桌面位置的三维点。
如图2所示,左侧为虚拟场景的上一视野,左下角的三维点为世界坐标系的原点(0,0,0),其右边的三维点依次为(1,0,0),(2,0,0),(3,0,0),(4,0,0),(5,0,0),上方的三维点依次为(0,1,0),(0,2,0),依此类推,右上角的三维点为(5,3,0)。右侧为发生变化后的当前视野,由于摄像机在拍摄现实场景时的位置及角度会不断变化,并且传感器采集的数据也存在一定的误差,导致虚拟场景的世界坐标系以及各三维点的位置会时刻变化或抖动。例如,上一视野中(0,0,0)位置的三维点发生抖动,沿x轴方向右移动了0.5个单位的距离,则需要获取该三维点在虚拟场景当前视野的世界坐标系下最新的空间坐标,即(0.5,0,0),然后利用最新的空间坐标更新桌面的位置,从而避免世界坐标系发生变化、但桌面的空间位置未及时更新的情况,否则会造成桌面与世界坐标系中的其他各三维点、各物体的相对位置关系与现实场景不符,从而影响虚拟场景的真实性。
参考图1,该方法具体包括如下步骤:
S110、获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标。
具体的,建立虚拟场景时,根据摄像机从多个角度拍摄到的画面之间对应的位置关系,可将拍摄到的多个二维画面拟合成三维的虚拟场景。在拟合虚拟场景的过程中,能够以虚拟场景的世界坐标系为参考坐标系生成三维点,三维点的数量和分布可根据设备精度等实际情况设定。当世界坐标系发生变化后,需要更新虚拟目标时,要以变化后的世界坐标系为参考坐标系,重新识别和计算当前视野中的三维点的当前空间坐标。与虚拟目标关联的三维点,是指可用于拟合或更新虚拟目标空间位置的三维点,例如,位于虚拟目标表面的三维点,在本实施例中即为位于桌面所在平面的三维点,或者与虚拟目标的距离在预设范围内的三维点。示例性的,当虚拟场景中的三维点数量较多、分布较密时,利用与虚拟目标距离较近的三维点的当前空间坐标更新虚拟目标即可,而距离虚拟目标较远的三维点不考虑,从而减少计算量,提高计算效率。
S120、根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
具体的,根据三维点的当前空间坐标,可重新确定虚拟目标的空间位置。例如,上一视野中位于桌面所在平面的三维点,在当前视野中的y轴坐标均为1.5(或均匀分布在1.5上下,平均值为1.5),则可将桌面的位置更新至y=1.5;上一视野中桌面右侧边缘的三维点在当前视野中的x轴坐标的平均值为4.5,则将桌面右侧边缘更新至x=4.5的位置;当视野的变化幅度较大时,视野内后出现新的三维点,例如,上一视野的右上角的三维点的空间坐标为(5,3,0),而当前视野中最右上角的三维点的当前空间坐标为(10,8,5),(10,8,5)的位置对应于现实场景中墙上悬挂的灯,则可根据该三维点的当前空间坐标(10,8,5),以及现实场景中灯与桌面的相对位置关系,更新桌面在虚拟场景中的空间位置。
进一步的,在根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标之后,还包括:根据三维点的当前空间坐标拟合所述虚拟目标的边缘。
具体的,由于视野的移动和角度变化、传感器的误差等,会造成当前视野中虚拟目标的边缘轮廓发生改变,例如,从正上方俯视桌面时,桌面的边缘为长方形,当视野改变后,桌面的边缘可能变为梯形、平行四边形等。因此,需要通过三维重建的方式进一步确定虚拟目标的边缘,具体为,根据虚拟场景中三维点的当前空间坐标,拟合出虚拟目标所在曲面、平面等的边界,该边界可以为直线也可以为曲线,从而确定虚拟目标的边缘。
进一步的,对于虚拟目标为平面的情况,将视野中的三维点投影到虚拟目标,则在虚拟目标的平面上,对于这些投影点,可找出一个最小点集连成一个凸多边形,使得这些投影点都在此多边形内或此多边形上,则这个凸多边形就是二维凸包,将二维图包作为虚拟目标的边缘。例如,当视野中只有3个三维点,投影到虚拟目标之后有3个投影点(不在一条直线),则根据3个投影点形成的二维凸包为一个三角形,确定虚拟目标的边缘为三角形边缘。在本实施例中,桌面边缘对应的二维凸包应为四边形。
进一步的,在虚拟目标的空间位置更新之后,将虚拟目标更新前后的变换作用于依赖于该虚拟目标的锚点,从而实现同步更新锚点的空间位置,使锚点与虚拟目标的相对位姿保持不变。
具体的,锚点是指与虚拟目标具有特定的相对关系的空间位置。例如,桌面为虚拟目标,桌面上放置水杯的位置为锚点,当桌面的空间位置更新后,水杯也要做相应的更新,避免水杯和桌面更新不同步、产生相对位移,从而保证虚拟场景的精度和真实性。
本发明实施例一提供的一种虚拟目标的更新方法,通过当前视野中与虚拟目标关联的三维点的当前空间坐标更新虚拟目标,提高了运算速度,从而提高虚拟目标的准确性,既实现虚拟目标空间位置的更新,又降低了累积误差,提高虚拟场景的真实性。
实施例二
图3为本发明实施例二提供的一种虚拟目标的更新方法的流程图。本实施例是在上述实施例的基础上进行优化,对根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标进行具体说明。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
图4为本发明实施例二提供的一种虚拟目标的更新方法的实现流程图。本实施例的虚拟目标的更新方法利用第一目标三维点在上一视野和当前视野的空间坐标确定位姿变换,进而更新虚拟目标。
具体的,所述三维点的当前空间坐标包括第一目标三维点的当前空间坐标和第二目标三维点的当前空间坐标,所述第一目标三维点在所述虚拟场景的当前视野和上一视野中均出现,所述第二目标三维点在所述虚拟场景的当前视野出现且未在上一视野中出现。
图5为本发明实施例二中的第一目标三维点和第二目标三维点的示意图。如图5所示,左侧虚线框表示上一视野10,上一视野10中有24个三维点(由实心圆点表示),右侧虚线框表示当前视野20,即视野相对于虚拟场景的世界坐标系向右上方发生了移动,导致上一视野10中靠左和靠下的三维点(由圆圈表示)移除了视野,当前不可见。当前视野20中,实心圆点所示的为第一目标三维点21,其在上一视野和当前视野中均出现;星号所示的为第二目标三维点22,其是在视野发生改变后当前视野中新出现的点。第一目标三维点21和第二目标三维点22都可用于更新虚拟目标(桌面)的空间位置。
进一步的,当前视野中的第一目标三维点的数目超过一定阈值时,例如当前视野的三维点中,第一目标三维点所占比例超过50%,则根据当前视野中的第一目标三维点的当前空间坐标更新虚拟目标即可;若当前视野的三维点中,第一目标三维点所占比例未超过50%,则忽略第一目标三维点对更新虚拟目标的影响,减少计算量,仅根据第二目标三维点的当前空间坐标更新虚拟目标;也可综合考虑第一目标三维点和第二目标三维点的当前空间坐标更新虚拟目标。
需要说明的是,在虚拟目标的更新过程中,并非整个虚拟场景、虚拟场景中所有的三维点都可被观测到。实际上在任意的当前时刻,仅有部分三维点出现在当前视野内,且不同时刻,同一个三维点的位置会发生变化。本实施例是利用当前视野中可见的三维点的当前空间坐标更新虚拟目标。
进一步的,在建立虚拟场景时,或在获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标的步骤之前,为虚拟场景中的每一个三维点分配唯一的标识符(ID),根据标识符可区分各个三维点,则在当前视野中,可根据标识符判断三维点是否在上一视野中出现,从而确定第一目标三维点和第二目标三维点。
本实施例中,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
如图3所示,该方法包括:
S210、获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标。
具体的,本实施例中与虚拟目标关联的三维点为第一目标三维点,获取当前视野中第一目标三维点的当前空间坐标,作为更新虚拟目标的依据。需要说明的是,第一目标三维点在上一视野中已用于拟合虚拟目标,上一空间坐标已知。
S220、根据第一目标三维点的当前空间坐标和上一空间坐标确定所述第一目标三维点的位姿变换,所述上一空间坐标是所述第一目标三维点在虚拟场景的上一视野中的空间坐标。
具体的,确定第一目标三维点在上一视野和当前视野中的位姿变化向量。例如,如图4所示,第一目标三维点在上一视野中的空间坐标为(0,2,1),由于视野的变化和传感器获取数据的误差等,该第一目标三维点在在当前视野中的当前空间坐标为(0,2.5,1),则可确定该第一目标三维点的位姿变换为(0,0.5,0),即沿x轴方向向右移动0.5的距离。
进一步的,第一目标三维点有多个时,各第一目标三维点的位姿变化向量可能不同,但变化的整体方向或趋势一致,获取第一目标三维点的位姿变化向量可转换为求解刚体位姿变化向量的问题。本实施例示例性地根据多个第一目标三维点的上一空间坐标和当前空间坐标,通过最小二乘的方式计算出一个刚体变换,作为所述第一目标三维点的位姿变化向量。
S230、根据所述位姿变换更新所述虚拟场景中的虚拟目标。
具体的,将第一目标三维点的位姿变化向量作用于虚拟目标,即,将虚拟目标在上一视野中的空间位置,加上所述第一目标三维点的位姿变化向量,即可得到虚拟目标在当前视野中的空间位置,从而实现虚拟目标空间位置的更新。
S240、根据三维点的当前空间坐标拟合所述虚拟目标的边缘。
S250、根据虚拟目标更新前后的变换更新对应的锚点。
需要说明的是,本实施例不限定步骤S240与步骤S250的先后顺序。
本发明实施例二提供的一种虚拟目标的更新方法,通过获取当前视野中第一目标三维点的当前空间坐标更新虚拟目标,减少运算量,提高更新效率,进而利用第一目标三维点的当前空间和上一空间坐标,确定位姿变化向量,将该位姿变化向量作用于虚拟目标,实现了虚拟目标的实时更新,以及跟随视野和第一目标三维点的同步更新,降低了累积误差,提高虚拟场景的真实性。
实施例三
图6为本发明实施例三提供的一种虚拟目标的更新方法的流程图。本实施例是在上述实施例的基础上进行优化,对根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标进行具体说明。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
图7为本发明实施例三提供的一种虚拟目标的更新方法的实现流程图。本实施例的虚拟目标的更新方法,利用与虚拟目标的距离小于距离阈值的第二目标三维点,根据显示场景中的空间位置关系更新虚拟目标。
本实施例中,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:根据第二目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
如图6所示,该方法包括:
S310、获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标。
具体的,本实施例中与虚拟目标关联的三维点为第二目标三维点,获取当前视野中第二目标三维点的当前空间坐标,作为更新虚拟目标的依据,第二目标三维点在上一视野中未出现,在当前视野中新出现的三维点。
S320、获取虚拟场景在当前视野中第二目标三维点与所述虚拟目标的距离。
具体的,通过计算当前视野中各第二目标三维点与虚拟目标的距离,根据预设的距离阈值,筛选出与虚拟目标距离较近的第二目标三维点,用以更新虚拟目标的空间位置。需要说明的是,虚拟目标的空间位置是更新前的,即以上一视野的世界坐标系为参考坐标系确定的位置,而第二目标三维点的当前空间坐标是以当前视野的世界坐标系为参考坐标系。
S330、是否小于距离阈值,若是,则执行步骤S340;若否,执行步骤S370。
具体的,判断当前视野中各第二目标三维点与虚拟目标的距离是否小于距离阈值,利用与虚拟目标的距离较近的第二目标三维点更新虚拟目标,以确保虚拟目标周围一定范围内的空间位置更准确,而距离虚拟目标较远的第二目标三维点忽略不计,减少计算量,提高计算效率。
S340、根据距离小于距离阈值的第二目标三维点与虚拟目标在对应的现实场景中的空间位置关系,更新所述虚拟场景中的虚拟目标。
具体的,利用虚拟场景的建模、渲染等方法,可实现根据显示场景中的空间位置关系,更新虚拟目标的空间位置。例如,在当前视野中最右上角的第二目标三维点对应于现实场景中墙上悬挂的灯,则可根据现实场景中灯与桌面的相对位置关系,更新虚拟场景中桌面的空间位置,此过程实质上是以当前视野的世界坐标系为参考坐标系,重新拟合出虚拟目标。本实施例对根据现实场景中的空间位置关系更新或拟合出虚拟目标在虚拟场景的空间位置的方法不作具体限定。
S350、根据三维点的当前空间坐标拟合所述虚拟目标的边缘。
S360、根据虚拟目标更新前后的变换更新对应的锚点。
S370、忽略与虚拟目标的距离小于距离阈值的第二目标三维点不计。
本发明实施例三提供的一种虚拟目标的更新方法,通过获取当前视野中第二目标三维点的当前空间坐标更新虚拟目标,减少运算量,提高更新效率,进而利用第二目标三维点的当前空间坐标,根据现实场景中的空间位置关系更新虚拟目标,实现了虚拟目标的实时更新,以及跟随视野和第二目标三维点的同步更新,降低了累积误差,提高虚拟场景的真实性。
实施例四
图8为本发明实施例四提供的一种虚拟目标的更新方法的流程图,本实施例是在上述实施例的基础上进行优化,对根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标进行具体说明。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
图9为本发明实施例四提供的一种虚拟目标的更新方法的实现流程图。本实施例中,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,并且,根据第二目标三维点的当前空间坐标修正更新后的所述虚拟场景中的虚拟目标。
如图8所示,该方法包括:
S410、获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标。
S420、根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
具体的,根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:根据第一目标三维点的当前空间坐标和上一空间坐标确定所述第一目标三维点的位姿变换,所述上一空间坐标是所述第一目标三维点在虚拟场景的上一视野中的空间坐标;根据所述位姿变换更新所述虚拟场景中的虚拟目标。
S430、根据第二目标三维点的当前空间坐标修正更新后的所述虚拟场景中的虚拟目标。
具体的,根据第一目标三维点的当前空间坐标已经更新了虚拟目标的空间位置,在此基础上,进一步根据第二目标三维点的当前空间坐标对更新后的虚拟目标进行修正或微调。例如,根据第一目标三维点的位姿变换,已经将桌面在当前视野中的空间位置更新到了y=3的平面上,此时,计算当前视野中的第二目标三维点与桌面的距离,并筛选出小于距离阈值的第二目标三维点,假设有3个,这3个第二目标三维点在现实场景中与桌面的空间位置关系为:3个点均位于桌面上方,与桌面的距离相等。而在虚拟场景的当前视野中,这3个第二目标三维点的纵坐标分别为y1=5.1,y2=5.2,y3=5.3,则考虑这3个第二目标三维点与虚拟目标距离的平均值,即按照这3个第二目标三维点与虚拟目标的距离都为2,则可将桌面修正到y=3.2的平面上,从而保证虚拟场景中桌面与这3个第二目标三维点的距离相等。需要说明的是,本实施例中,示例性的将第二目标三维点用于修正虚拟目标的位置(根据第二目标三维点对虚拟目标进行平移实现微调),而不影响虚拟目标的方向(不会对虚拟目标进行旋转),简化计算,提高更新的效率,实际应用中第二目标三维点也可用于修正虚拟目标的方向。此外,上述实例为便于说明,3个三维点均位于桌面上方,与桌面的距离相等,直接采用平均值即可实现虚拟目标的修正,而在实际应用中,三维点与虚拟目标的之间的空间位置关系复杂多样,在三维点与虚拟目标的距离不相等、三维点位于虚拟目标的不同方向等情况下,综合考虑各第二目标三维点与虚拟目标在现实场景中的空间位置关系,取折中的位置对虚拟目标进行修正即可。
进一步的,根据第一目标三维点得到的更新结果,及根据第二目标三维点得到的修正结果,对虚拟目标进行微调。例如,根据第一目标三维点,将桌面在当前视野中的空间位置更新到了y=3的平面上,根据第二目标三维点,将桌面在当前视野中的空间位置修正到了y=3.2的平面上,根据两者的平均结果,最终可确定虚拟目标的空间位置为y=3.1。
S440、根据三维点的当前空间坐标拟合所述虚拟目标的边缘。
S450、根据虚拟目标更新前后的变换更新对应的锚点。
本发明实施例四提供的一种虚拟目标的更新方法,通过获取第一目标三维点和第二目标三维点的当前空间坐标,并利用第一目标三维点的位姿变化向量,以及第二目标三维点与虚拟目标在现实场景中的空间位置关系,实现了虚拟目标的实时更新和修正,降低了累积误差,提高虚拟场景的精度和真实性。
实施例五
图10为本发明实施例五提供的一种虚拟目标的更新系统的结构示意图。未在本实施例中详尽描述的技术细节可参见上述任意实施例。
如图10所示,虚拟目标的更新系统包括:虚拟场景生成器510、显示器520、摄像机530和传感器540虚拟场景生成器510分别与显示器520、摄像机530、传感器540和交互设备550连接,虚拟场景生成器510中设置如上述实施例所述的虚拟目标的更新装置。
具体的,虚拟场景生成器510负责虚拟场景的建模、管理、绘制、更新和其它连接外设的管理;显示器520为头盔显示器,用于显示虚拟场景,在一些应用场景中,也可用于显示虚拟场景与现实场景融合后的信号;摄像机530用于采集现实场景的视频或者图像;传感器540用于测量和跟踪摄像机位姿以及用户的视野或视线的变化。
进一步的,所述系统还包括用户追踪器,用户追踪器与虚拟场景生成器510相连,用于获取用户输入的控制信息,实现感官信号及用户控制操作信号的输入输出,进而实现用户与虚拟场景的交互操作。例如,用户追踪器可以为手柄、手环等,佩戴在用户的手上,通过识别用户手部的移动、点击、触摸等操作,允许用户在虚拟场景的对应位置上添加其他虚拟物体(如用户通过点击桌面在对应的位置上添加一本书)。
进一步的,摄像机530将采集到的现实场景的视频或者图像传输至虚拟场景生成器510,虚拟场景生成器510对其进行分析、重构和渲染等,并结合传感器540测得的数据分析虚拟场景中各三维点或各虚拟物体的位置、方向等,通过分析虚拟场景和现实场景的相对位置关系,进行虚拟场景的融合计算,实现虚拟场景的世界坐标系与现实场景的对齐。虚拟场景生成器510中设置如上述实施例所述的虚拟目标的更新装置,通过获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
本发明实施例五提供的虚拟目标的更新系统可以用于执行上述任意实施例提供的虚拟目标的更新方法,具备相应的功能和有益效果。
实施例六
图11为本发明实施例六提供的一种虚拟目标的更新装置的结构示意图。本实施例提供的虚拟目标的更新装置包括:
坐标获取模块610,用于获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;
更新模块620,用于根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
本发明实施例六提供的一种虚拟目标的更新装置,通过获取三维点的当前空间坐标,确保三维点在最新时刻的空间坐标的准确性,进而利用这些三维点的当前空间坐标更新虚拟目标,实现了虚拟目标空间位置的更新,降低了累积误差,提高虚拟场景的真实性。
进一步的,所述三维点的当前空间坐标包括第一目标三维点的当前空间坐标和第二目标三维点的当前空间坐标,所述第一目标三维点在所述虚拟场景的当前视野和上一视野中均出现,所述第二目标三维点在所述虚拟场景的当前视野出现且未在上一视野中出现。
进一步的,所述更新模块620,包括:
第一更新单元,用于根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
进一步,所述第一更新单元,包括:
第一计算子单元,用于根据第一目标三维点的当前空间坐标和上一空间坐标确定所述第一目标三维点的位姿变换,所述上一空间坐标是所述第一目标三维点在虚拟场景的上一视野中的空间坐标;
第二计算子单元,用于根据所述位姿变换更新所述虚拟场景中的虚拟目标。
进一步的,所述更新模块620,包括第二更新单元,用于根据第二目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
进一步,所述第二更新单元,包括:
第三计算子单元,用于获取虚拟场景在当前视野中第二目标三维点与所述虚拟目标的距离;
第四计算子单元,用于根据距离小于距离阈值的第二目标三维点与虚拟目标在对应的现实场景中的空间位置关系,更新所述虚拟场景中的虚拟目标。
进一步的,所述更新模块620,包括:
第三更新单元,用于根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,并且,根据第二目标三维点的当前空间坐标修正更新后的所述虚拟场景中的虚拟目标。
本发明实施例三提供的虚拟目标的更新装置可以用于执行上述任意实施例提供的虚拟目标的更新方法,具备相应的功能和有益效果。
实施例七
图12为本发明实施例七提供的一种设备的硬件结构示意图。如图12所示,本实施例提供的一种设备,包括:处理器710和存储装置720。该设备中的处理器可以是一个或多个,图12中以一个处理器710为例,所述设备中的处理器710和存储装置720可以通过总线或其他方式连接,图12中以通过总线连接为例。
所述一个或多个程序被所述一个或多个处理器710执行,使得所述一个或多个处理器实现上述实施例中任意所述的虚拟目标的更新方法。
该设备中的存储装置720作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中虚拟目标的更新方法对应的程序指令/模块(例如,附图11所示的虚拟目标的更新装置中的模块,包括:坐标获取模块610和更新模块620)。处理器710通过运行存储在存储装置720中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法实施例中的虚拟目标的更新方法。
存储装置720主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中的当前空间坐标、位姿变换等)。此外,存储装置720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述设备中所包括一个或者多个程序被所述一个或者多个处理器710执行时,程序进行如下操作:获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
本实施例提出的设备与上述实施例提出的虚拟目标的更新方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行虚拟目标的更新方法相同的有益效果。
在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被虚拟目标的更新装置执行时实现本发明上述任意实施例中的虚拟目标的更新方法,该方法包括:获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的虚拟目标的更新方法操作,还可以执行本发明任意实施例所提供的虚拟目标的更新方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的虚拟目标的更新方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种虚拟目标的更新方法,其特征在于,包括:
获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;
根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标;
根据三维点的当前空间坐标拟合所述虚拟目标的边缘;
根据所述虚拟目标更新前后的变换更新对应的锚点。
2.根据权利要求1所述的方法,其特征在于,所述三维点的当前空间坐标包括第一目标三维点的当前空间坐标和第二目标三维点的当前空间坐标,所述第一目标三维点在所述虚拟场景的当前视野和上一视野中均出现,所述第二目标三维点在所述虚拟场景的当前视野出现且未在上一视野中出现。
3.根据权利要求2所述的方法,其特征在于,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:
根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
4.根据权利要求3所述的方法,其特征在于,所述根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:
根据第一目标三维点的当前空间坐标和上一空间坐标确定所述第一目标三维点的位姿变换,所述上一空间坐标是所述第一目标三维点在虚拟场景的上一视野中的空间坐标;
根据所述位姿变换更新所述虚拟场景中的虚拟目标。
5.根据权利要求2所述的方法,其特征在于,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:
根据第二目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标。
6.根据权利要求5所述的方法,其特征在于,所述根据第二目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:
获取虚拟场景在当前视野中第二目标三维点与所述虚拟目标的距离;
根据距离小于距离阈值的第二目标三维点与虚拟目标在对应的现实场景中的空间位置关系,更新所述虚拟场景中的虚拟目标。
7.根据权利要求2所述的方法,其特征在于,所述根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,包括:
根据第一目标三维点的当前空间坐标更新所述虚拟场景中的虚拟目标,并且,根据第二目标三维点的当前空间坐标修正更新后的所述虚拟场景中的虚拟目标。
8.一种虚拟目标的更新装置,其特征在于,包括:
坐标获取模块,用于获取虚拟场景在当前视野中与虚拟目标关联的三维点的当前空间坐标;
更新模块,用于根据三维点的当前空间坐标更新所述虚拟场景中的虚拟目标;
根据三维点的当前空间坐标拟合所述虚拟目标的边缘;
根据所述虚拟目标更新前后的变换更新对应的锚点。
9.一种虚拟目标的更新系统,其特征在于,包括:虚拟场景生成器、显示器、摄像机和传感器,所述虚拟场景生成器分别与所述显示器、所述摄像机和所述传感器连接,所述虚拟场景生成器中设置如权利要求8所述的虚拟目标的更新装置。
10.根据权利要求9所述的系统,其特征在于,还包括用户追踪器,所述用户追踪器与所述虚拟场景生成器相连,所述用户追踪器用于获取用户的输入信息。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的虚拟目标的更新方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的虚拟目标的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314262.8A CN109961523B (zh) | 2019-04-18 | 2019-04-18 | 虚拟目标的更新方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314262.8A CN109961523B (zh) | 2019-04-18 | 2019-04-18 | 虚拟目标的更新方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109961523A CN109961523A (zh) | 2019-07-02 |
CN109961523B true CN109961523B (zh) | 2023-07-04 |
Family
ID=67026340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910314262.8A Active CN109961523B (zh) | 2019-04-18 | 2019-04-18 | 虚拟目标的更新方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109961523B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311632B (zh) * | 2018-12-11 | 2023-12-01 | 深圳市优必选科技有限公司 | 一种物体位姿跟踪方法、装置及设备 |
CN111752434A (zh) * | 2020-06-23 | 2020-10-09 | 万鹤龄 | 一种游戏视野变换方法 |
CN113643443B (zh) * | 2021-10-13 | 2022-01-21 | 潍坊幻视软件科技有限公司 | 一种用于ar/mr技术的定位系统 |
CN114442888A (zh) * | 2022-02-08 | 2022-05-06 | 联想(北京)有限公司 | 对象确定方法、装置及电子设备 |
CN114155299B (zh) * | 2022-02-10 | 2022-04-26 | 盈嘉互联(北京)科技有限公司 | 一种建筑数字孪生构建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068679A (zh) * | 2015-07-22 | 2015-11-18 | 深圳多新哆技术有限责任公司 | 调整虚拟物件在虚拟空间中位置的方法及装置 |
CN108022301A (zh) * | 2017-11-23 | 2018-05-11 | 腾讯科技(上海)有限公司 | 一种图像处理方法、装置以及存储介质 |
CN108537889A (zh) * | 2018-03-26 | 2018-09-14 | 广东欧珀移动通信有限公司 | 增强现实模型的调整方法、装置、存储介质和电子设备 |
-
2019
- 2019-04-18 CN CN201910314262.8A patent/CN109961523B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068679A (zh) * | 2015-07-22 | 2015-11-18 | 深圳多新哆技术有限责任公司 | 调整虚拟物件在虚拟空间中位置的方法及装置 |
CN108022301A (zh) * | 2017-11-23 | 2018-05-11 | 腾讯科技(上海)有限公司 | 一种图像处理方法、装置以及存储介质 |
CN108537889A (zh) * | 2018-03-26 | 2018-09-14 | 广东欧珀移动通信有限公司 | 增强现实模型的调整方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109961523A (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109961523B (zh) | 虚拟目标的更新方法、装置、系统、设备及存储介质 | |
CN104380338B (zh) | 信息处理器以及信息处理方法 | |
KR101606628B1 (ko) | 포인팅 방향 검출 장치 및 그 방법과, 프로그램 및 컴퓨터 판독가능한 매체 | |
KR101865655B1 (ko) | 증강현실 상호 작용 서비스 제공 장치 및 방법 | |
WO2018119889A1 (zh) | 三维场景定位方法和装置 | |
CN104680582B (zh) | 一种面向对象定制的三维人体模型创建方法 | |
JP6789624B2 (ja) | 情報処理装置、情報処理方法 | |
CN110782492B (zh) | 位姿跟踪方法及装置 | |
US10803616B1 (en) | Hand calibration using single depth camera | |
JP2017191576A (ja) | 情報処理装置、情報処理装置の制御方法およびプログラム | |
CN111275801A (zh) | 一种三维画面渲染方法及装置 | |
CN108961423B (zh) | 虚拟信息处理方法、装置、设备及存储介质 | |
JP2005256232A (ja) | 3dデータ表示方法、装置、およびプログラム | |
JP2015114905A (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN111437604A (zh) | 游戏的显示控制方法、装置、电子设备及存储介质 | |
US10573073B2 (en) | Information processing apparatus, information processing method, and storage medium | |
US20230325009A1 (en) | Methods, devices, apparatuses, and storage media for mapping mouse models for computer mouses | |
JP2023502192A (ja) | 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 | |
CN114722913A (zh) | 姿态检测方法、装置、电子设备及计算机可读存储介质 | |
CN105809664B (zh) | 生成三维图像的方法和装置 | |
JP2016071645A (ja) | オブジェクト3次元モデル復元方法、装置およびプログラム | |
CN108734772A (zh) | 基于Kinect fusion的高精度深度图像获取方法 | |
CN112015269A (zh) | 头显设备的显示校正方法、设备及存储介质 | |
JP2014106642A (ja) | 光学式シースルー型hmdを用いたarシステム | |
Guo et al. | Optimization design of non-coplanar target for pose measurement with monocular vision system |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231008 Address after: 31a, 15th floor, building 30, maple commercial city, bangrang Road, Brazil Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd. Address before: 511400 floor 5-13, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd. |