CN110473293A - 虚拟对象处理方法及装置、存储介质和电子设备 - Google Patents
虚拟对象处理方法及装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN110473293A CN110473293A CN201910695983.8A CN201910695983A CN110473293A CN 110473293 A CN110473293 A CN 110473293A CN 201910695983 A CN201910695983 A CN 201910695983A CN 110473293 A CN110473293 A CN 110473293A
- Authority
- CN
- China
- Prior art keywords
- virtual objects
- frame
- equipment
- real object
- scene
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title claims abstract description 40
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000001514 detection method Methods 0.000 claims description 16
- 238000010801 machine learning Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000003190 augmentative effect Effects 0.000 abstract description 4
- 238000000034 method Methods 0.000 description 44
- 230000008569 process Effects 0.000 description 24
- 230000003993 interaction Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 241001122767 Theaceae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种虚拟对象处理方法、虚拟对象处理装置、存储介质和电子设备,涉及增强现实技术领域。该虚拟对象处理方法包括:检测第一设备所处场景中的空间平面;对场景中真实对象进行检测,以确定多个真实对象位置框;基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在目标位置框中的位置信息;将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备,以便在第二设备上显示虚拟对象。本公开可以提高多人AR技术的适用范围。
Description
技术领域
本公开涉及增强现实技术领域,具体而言,涉及一种虚拟对象处理方法、虚拟对象处理装置、存储介质和电子设备。
背景技术
增强现实(Augmented Reality,AR)是一种把虚拟世界和现实世界融合的技术,其已应用到教育、游戏、医疗、物联网、智能制造等多个领域。随着移动设备性能的不断提高以及AR技术的快速发展,在移动设备上实现AR应用具有广阔的市场前景,尤其利用多人AR技术,可以实现多用户之间的AR交互。
然而,一方面,目前多人AR技术需要多个用户处于相同的环境,或者以相同的视觉信息作为交互的基础,限制了AR技术的适用范围;另一方面,需要配置人工标注装置或辅助设备,成本较高且影响了AR交互的便利性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种虚拟对象处理方法、虚拟对象处理装置、存储介质和电子设备,进而至少在一定程度上克服由于需要相同环境而限制多人AR适用范围的问题。
根据本公开的第一方面,提供一种虚拟对象处理方法,包括:检测第一设备所处场景中的空间平面;对场景中真实对象进行检测,以确定多个真实对象位置框;基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在目标位置框中的位置信息;将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备,以便在第二设备上显示虚拟对象。
根据本公开的第二方面,还提供一种虚拟对象处理方法,包括:检测第二设备所处场景中的空间平面;对场景中真实对象进行检测,以确定多个真实对象位置框;基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;获取由第一设备发送的虚拟对象的信息以及虚拟对象在第一设备的目标位置框中的位置信息;响应一虚拟对象配置操作,从候选位置框集合中确定虚拟对象放置框;基于虚拟对象在第一设备的目标位置框中的位置信息,确定虚拟对象在虚拟对象放置框中的位置信息,以便在第二设备上显示虚拟对象。
根据本公开示例性实施方式的第三方面,提供了一种虚拟对象处理装置,包括:第一平面检测模块,用于检测第一设备所处场景中的空间平面;第一位置框确定模块,用于对场景中真实对象进行检测,以确定多个真实对象位置框;第一位置框集合确定模块,用于基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;对象位置确定模块,用于响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在目标位置框中的位置信息;信息发送模块,用于将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备,以便在第二设备上显示虚拟对象。
根据本公开示例性实施方式的第四方面,提供了一种虚拟对象处理装置,包括:第二平面检测模块,用于检测第二设备所处场景中的空间平面;第二位置框确定模块,用于对场景中真实对象进行检测,以确定多个真实对象位置框;第二位置框集合确定模块,用于基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;信息获取模块,用于获取由第一设备发送的虚拟对象的信息以及虚拟对象在第一设备的目标位置框中的位置信息;放置框确定模块,用于响应一虚拟对象配置操作,从候选位置框集合中确定虚拟对象放置框;位置转换模块,用于基于虚拟对象在第一设备的目标位置框中的位置信息,确定虚拟对象在虚拟对象放置框中的位置信息,以便在第二设备上显示虚拟对象。
根据本公开示例性实施方式的第五方面,提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一方面的虚拟对象处理方法。
根据本公开示例性实施方式的第六方面,提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行上述任一方面的虚拟对象处理方法。
在本公开的一些实施例所提供的技术方案中,针对发送虚拟对象信息的第一设备,利用第一设备所处场景中的空间平面以及真实对象位置框确定出可以放置虚拟对象的候选位置框集合,响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定出虚拟对象在目标位置框中的位置信息,将虚拟对象以及其在目标位置框中的位置信息发送给第二设备;针对获取虚拟对象信息的第二设备,响应一操作从与第二设备对应的候选位置框集合中确定虚拟对象放置框,基于虚拟对象在第一设备的目标位置框中的位置信息,确定虚拟对象在虚拟对象放置框中的位置信息,并显示虚拟对象。一方面,通过本公开示例性的方法,使得处于不同环境的设备之间可以实现AR交互,消除了场景带来的限制,提高了多人AR技术的适用范围;另一方面,由于不要求场景相同,因此,可以实现远程或异地多人AR交互;又一方面,本公开的方法可以直接由移动设备实现,无需为了实现AR过程而专门配置的标注装置、辅助设备等,降低了成本;再一方面,第一设备与第二设备在确定候选位置框集合方面,处理过程类似,可以提前进行算法配置,并适配于各种移动设备,以便实现两个或更多个设备之间的AR交互过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的示例性实施方式的虚拟对象处理方法的流程图;
图2示意性示出了根据本公开的另一示例性实施方式的虚拟对象处理方法的流程图;
图3示出了第二设备确定虚拟对象在虚拟对象放置框中的位置的示意图;
图4示意性示出了第一设备与第二设备进行AR数据处理的流程图;
图5示意性示出了根据本公开的示例性实施方式的虚拟对象处理装置的方框图;
图6示意性示出了根据本公开的另一示例性实施方式的虚拟对象处理装置的方框图;
图7示意性示出了根据本公开的再一示例性实施方式的虚拟对象处理装置的方框图;
图8示意性示出了根据本公开的示例性实施方式的电子设备的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,术语“第一”、“第二”仅是为了区分的目的,不应作为本公开内容的限制。
本公开示例性实施方式的虚拟对象处理方法可以应用于异地多人AR的交互场景中。位于不同地点的多个用户,可以利用电子设备采集到的数据,基于SLAM(SimultaneousLocalization And Mapping,即时定位与地图构建)技术,重建场景环境,检测平面区域。接下来,一个用户可以在属于平面的区域放置虚拟物体,并将虚拟物体的位置信息发送给其他用户所使用的电子设备。其他用户所使用的电子设备接收到虚拟物体以及虚拟物体的对应位置后,可以在各自场景中选择放置虚拟物体的区域,并根据接收到的虚拟物体的对应位置,各自确定虚拟物体在放置区域的位置,显示虚拟物体,并可以进行后续虚拟物体的交互操作。
本公开所述的虚拟对象处理方法的过程不要求各用户必须处于相同的场景下,并不需要用于AR交互的人工标识装置。
本公开所述的第一设备、第二设备、电子设备等执行虚拟对象处理方法的终端设备,可以包括但不限于手机、平板电脑、智能可穿戴设备等。
另外,可以将下面描述的虚拟对象处理过程集成在一APP应用中,当用户启动该APP应用,即可实现虚拟对象的显示和交互过程。
下面将对本公开的示例性实施方式的虚拟对象处理方法进行详细地说明。
图1示意性示出了本公开的示例性实施方式的虚拟对象处理方法的流程图。图1所示的方法可以由第一设备实现,其中,第一设备是初始配置虚拟对象的设备,也就是说,在第一设备配置虚拟对象后,将虚拟对象和其位置发送给其他设备,对应的,第二设备可以是接收虚拟对象信息的设备。在一些场景下,第一设备可以是多人AR交互的发起端。容易理解的是,在另一些实例中,第二设备也可以是多人AR交互的发起端。也就是说,对于一个电子设备,其可以是初始配置虚拟对象的设备或接收虚拟对象信息的设备,还可以既是初始配置一虚拟对象的设备又是接收另一虚拟对象信息的设备。
参考图1,所述虚拟对象处理方法可以包括以下步骤:
S102.检测第一设备所处场景中的空间平面。
在本公开的示例性实施方式中,首先,第一设备可以针对场景采集多个视频帧图像,以及与图像对应的惯性信息。其中,视频帧图像可以是第一设备的摄像头采集到的视觉信息,而惯性信息可以借助于第一设备的IMU(Inertial Measurement Unit,惯性测量单元)器件获取,IMU器件可以包括陀螺仪和加速度计,可以分别测量终端设备的角速度和加速度。由于IMU器件的工作频率通常比相机采集图像的频率高,可以采用IMU预积分的方式评估对应帧的惯性信息。其中,IMU预积分是基于时间的积分,可以得到对应两个图像的位置、速度与旋转角度等惯性信息。
在这种情况下,可以根据第一设备采集的多个视频帧图像以及对应的惯性信息,并结合VI-SLAM(Visual-Inertial SLAM,视觉惯性SLAM)得到各视频帧图像的位姿以及场景中稀疏或者半稠密特征点的3D(3 Dimensions,三维)位置。
接下来,可以得到由特征点构成的特征点云。考虑到本公开构建特征点云的目的主要是为了平面检测,另外,基于例如手机的电子设备的处理能力,为了方便计算及快速处理,本公开所述特征点云通常是稀疏特征点云。然而,容易理解的是,半稠密特征点云和稠密特征点云也可以作为本公开所构建的特征点云。
随后,可以利用构建的特征点云检测场景中的空间平面。例如,可以对特征点云进行三角面划分,确定出各三角面的法向量,并对各法向量进行聚类,并根据聚类的结果确定出场景中的空间平面。又例如,可以利用3D霍夫平面检测算法对特征点云进行检测,以确定出第一设备所处场景中的空间平面。本示例性实施方式中对检测空间平面的具体过程不做特殊限定。
需要注意的是,检测出的空间平面的数量可以为一个或多个,这与具体场景相关。另外,空间平面可以采用法向量或平面内一个坐标点来表示。
S104.对场景中真实对象进行检测,以确定多个真实对象位置框。
根据本公开的一些实施例,首先,在确定出第一设备所处场景的特征点云的情况下,可以获取第一设备拍摄的当前帧图像,作为目标帧图像。接下来,可以将该目标帧图像输入训练后的机器学习模型中,利用训练后的机器学习模型确定多个真实对象位置框。
一方面,本公开采用的机器学习模型为用于目标检测的深度学习模型,例如,该模型可以是MobileNet模型,本公开对模型的网络结构和训练过程均不做特殊限制。另外,本领域技术人员可以确定出还可以采用其他模型来实现目标检测,例如,一些输出多分类结果的卷积神经网络等均可以作为本公开所述的机器学习模型。然而,将这种处理手段应用于本公开虚拟对象处理方法的方案均属于本公开内容的构思。
另一方面,本公开所述的位置框通常是矩形框,在这种情况下,可以将确定出的位置框认为是2D矩形包围盒(2D box)。然而,位置框还可以包括其他形状,例如,三角形、圆形、其他多边形等,本示例性实施方式中对此不做特殊限定。
另外,本公开所述的真实对象位置框指的是,包含真实对象的位置框。其中,真实对象可以是场景下包括平面且真实存在的物体,如桌子、茶几、电视机、椅子等。
S106.基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合。
在步骤S104确定出多个真实对象位置框后,在步骤S106中,可以确定多个真实对象位置框与场景中的空间平面之间的匹配关系。
具体的,针对确定出的每一个真实对象位置框,首先,可以确定真实对象位置框的多个特征位置点。以位置框为矩形为例,特征位置点可以是矩形框的四个角对应的位置点(或称为坐标点)。容易理解的是,对于三角形框,其三个角对应的位置点可以是此处所述的特征位置点。
接下来,可以将多个特征位置点转换到上述特征点云的坐标系下。由于真实对象位置框是二维框,因此,需要将多个特征位置点的二维坐标映射到上述特征点云的三维坐标系下,以确定在特征点云的坐标系下的坐标点。
随后,在特征点云的三维坐标系下,确定真实对象位置框的多个特征位置点的法线方向。具体的,确定真实对象位置框在特征点云三维坐标系下的平面,并将与该平面垂直的方向确定为真实对象位置框的法线方向,在这种情况下,可以将该法线方向作为真实对象位置框的多个特征位置点的法线方向。
然后,在特征点云的三维坐标系下,针对一个真实对象位置框的每一个特征位置点,确定沿法线方向的投影是否均在同一空间平面上。如果均在同一个空间平面上,则将该真实对象位置框确定为候选位置框,并将该真实对象位置框添加至候选位置框集合。此时,可以确定出该真实对象位置框与该空间平面匹配。
此外,如果对应的投影不能满足在同一空间平面上的条件,则可以确定出该真实对象位置框与该空间平面不匹配。
需要注意的是,通常确定出的候选位置框集合中包含多个候选位置框。然而,在本公开另一些实施例中,候选位置框集合中也存在仅包括一个候选位置框的情况。
S108.响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在目标位置框中的位置信息。
本公开所述的虚拟对象可以是用于进行AR交互的对象,该虚拟对象与具体AR场景相关,例如,可以是皮球、棋类游戏的棋子、演示界面、卡通人物等,本公开对虚拟对象的类型不作具体限制。
在本公开的示例性实施方式中,候选位置框集合中的候选位置框可以显示在设备的屏幕上,供用户选择。然而,候选位置框集合中的候选位置框也可以不显示出来,用户可以根据自己的视觉判断出可能的放置虚拟对象的位置,在这种情况下,如果用户判断的位置与确定出的候选位置框集合中候选位置框的位置相同,则第一设备才可以作出响应。
用户可以针对候选位置框集合中一目标位置框进行虚拟对象配置操作。例如,用户可以点击一个候选位置框。另外,在存在多个备选虚拟对象的情况下,用户可以选择一个虚拟对象进行配置。
容易理解的是,当候选位置框集合中仅存在一个候选位置框时,该候选位置框为目标位置框。
可以将用户点击目标位置框时触摸点的位置确定为虚拟对象在目标位置框中的位置。本领域技术人员可以理解的是,本公开所述的用户点击操作可以包括短按、长按等操作。
此外,可以例如以虚拟对象的中心坐标点来表征虚拟对象在目标位置框中的位置信息。在确定出虚拟对象在目标位置框中的位置信息后,可以基于该位置信息,确定虚拟对象在场景(特征点云)中的三维位置信息,并根据该三维位置信息在第一设备上显示虚拟对象。
S110.将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备,以便在第二设备上显示虚拟对象。
在本公开的示例性实施方式中,第一设备可以将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备。其中,虚拟对象的信息可以是唯一标识虚拟对象的信息,或者可以是描述虚拟对象的信息。也就是说,第二设备可以根据虚拟对象的信息唯一且无差别地确定出虚拟对象,以便显示出虚拟对象。
第二设备中,虚拟对象的显示位置与虚拟对象在第一设备的目标位置框中的位置信息相关,也就是说,可以根据虚拟对象在第一设备的目标位置框中的位置信息并结合第二设备端用户的操作,确定出虚拟对象在第二设备中的位置。
此外,应当注意的是,第一设备还可以将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给除第二设备之外的其他设备,以实现两个以上设备之间的AR交互。
下面将对第二设备的虚拟对象处理方法进行说明。
图2示意性示出了本公开的另一示例性实施方式的虚拟对象处理方法的流程图。其中,图2所示的方法可以由第二设备实现。
参考图2,第二设备对应的虚拟对象处理方法可以包括以下步骤:
S202.检测第二设备所处场景中的空间平面。
首先,根据第二设备采集的多个视频帧图像以及对应的惯性信息提取第二设备所处场景的特征点;接下来,基于提取到的特征点构建特征点云;随后,利用特征点云检测第二设备所处场景中的空间平面。
具体过程与步骤S102过程类似,在此不再赘述。
S204.对场景中真实对象进行检测,以确定多个真实对象位置框。
可以获取第二设备拍摄的当前帧图像作为目标帧图像,将目标帧图像输入训练后的机器学习模型中,利用训练后的机器学习模型确定多个真实对象位置框。
具体过程与步骤S104过程类似,在此不再赘述。
S206.基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合。
首先,针对多个真实对象位置框中的任意一个真实对象位置框,确定该真实对象位置框的多个特征位置点;接下来,确定多个特征位置点在第二设备场景的特征点云的坐标系下的坐标点以及法线方向。多个特征位置点在第二设备场景的特征点云的坐标系下的坐标点,如果沿法线方向的投影均在同一空间平面上,则确定真实对象位置框为候选位置框,并将真实对象位置框添加至候选位置框集合。
具体过程与步骤S106过程类似,在此不再赘述。
S208.获取由第一设备发送的虚拟对象的信息以及虚拟对象在第一设备的目标位置框中的位置信息。
在第二设备与第一设备进行AR交互的过程中,第二设备可以获取由第一设备发送的虚拟对象的信息以及虚拟对象在第一设备的目标位置框中的位置信息。
S210.响应一虚拟对象配置操作,从候选位置框集合中确定虚拟对象放置框。
第二设备的用户可以从候选位置框集合中确定一个位置框作为虚拟对象放置框。类似地,候选位置框集合中的候选位置框可以显示在第二设备上以便用户进行选择。
另外,本公开的方法还可以先执行步骤S210,后执行步骤S208。
S212.基于虚拟对象在第一设备的目标位置框中的位置信息,确定虚拟对象在虚拟对象放置框中的位置信息,以便在第二设备上显示虚拟对象。
在本公开的示例性实施方式中,首先,可以确定目标位置框与虚拟对象位置框的尺寸比例。例如,第一设备发送的目标位置框的尺寸为10*10,第二设备中虚拟对象位置框的尺寸为5*5,则尺寸比例为2:1。
接下来,第二设备可以按该尺寸比例对虚拟对象在所述第一设备的目标位置框中的位置信息进行缩放处理,并将缩放处理的结果确定为虚拟对象在虚拟对象放置框中的位置信息。也就是说,如果虚拟对象在目标位置框的正中心,则虚拟对象也在虚拟对象位置框的正中心。针对其余情况,可以按照二维坐标系的等比例缩放过程,来确定虚拟对象在虚拟对象位置框中的位置。以矩形框为例,可以将四个角中任意一个作为坐标原点,构建直角坐标系,以便利用该直角坐标系确定虚拟对象在虚拟对象位置框中的具***置。应当注意的是,缩放处理仅针对的是位置信息,虚拟对象的尺寸通常不发生变化。
参考图3,第一设备31可以确定出多个候选位置框,如图所示,各候选位置框为矩形框。第一设备31的用户确定出目标位置框311,虚拟对象在第一设备31中的位置为位置310。第一设备31将位置310在目标位置框311中的位置信息发送给第二设备32。
第二设备32的用户从多个候选位置框中选择出虚拟对象放置框321,对应于位置310在目标位置框311中的位置信息,可以将虚拟对象放置在虚拟对象放置框321的位置320处。其中,位置310在目标位置框311中的位置与位置320在虚拟对象放置框321中的位置一致。
确定出虚拟对象在虚拟对象放置框中的位置信息后,第二设备可以基于该位置信息,确定虚拟对象在第二设备所处场景中的三维位置信息,并根据虚拟对象在该场景中的三维位置信息在第二设备上显示所述虚拟对象。
此外,第二设备显示虚拟对象后,可以响应第二设备的用户针对该虚拟对象的交互操作,将交互操作的数据发送给第一设备。在这种情况下,第一设备可以显示于该交互操作对应的图像。例如,第二设备的用户可以采用AR交互手段(如借助于手势),使虚拟对象旋转,在第一设备上,该虚拟对象会出现旋转的效果。
下面将参考图4对本公开示例性的虚拟对象处理方法的处理过程进行说明。
针对第一设备,在步骤S402中,可以利用采集的视觉信息和惯性信息构建稀疏特征点云;在步骤S404中,可以基于构建的稀疏特征点云对场景中的空间平面进行检测;在步骤S406中,对场景进行目标检测,确定多个真实对象位置框;在步骤S408中,基于多个真实对象位置框与场景中的空间平面的匹配关系,确定候选位置框集合;在步骤S410中,响应第一设备用户的操作,确定虚拟对象的位置,并将虚拟对象信息以及虚拟对象在位置框中的位置信息发送给第二设备。
针对第二设备,步骤S412至步骤S418的过程与步骤S402至步骤S408类似,在此不再赘述。在步骤S420中,基于第一设备的虚拟对象在位置框中的位置信息以及第二设备的用户操作,确定虚拟对象在第二设备中的显示位置,并显示虚拟对象;在步骤S422中,第二设备的用户可以对虚拟对象进行操作,并将操作数据发送给第一设备。
在步骤S424中,第一设备可以显示第二设备用户针对虚拟对象的操作过程,并可以进一步响应第一设备用户的操作,实现第一设备与第二设备之间的AR交互。
通过上述示例性描述的虚拟对象处理方法,一方面,通过本公开示例性的方法,使得处于不同环境的设备之间可以实现AR交互,消除了场景带来的限制,提高了多人AR技术的适用范围;另一方面,由于不要求场景相同,因此,可以实现远程或异地多人AR交互;又一方面,本公开的方法可以直接由移动设备实现,无需为了实现AR过程而专门配置的标注装置、辅助设备等,降低了成本;再一方面,第一设备与第二设备在确定候选位置框集合方面,处理过程类似,可以提前进行算法配置,并适配于各种移动设备,以便实现两个或更多个设备之间的AR交互过程。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中还提供了一种虚拟对象处理装置。
图5示意性示出了本公开的示例性实施方式的虚拟对象处理装置的方框图。参考图5,根据本公开的示例性实施方式的虚拟对象处理装置5可以包括第一平面检测模块501、第一位置框确定模块503、第一位置框集合确定模块505、对象位置确定模块507和信息发送模块509。
具体的,第一平面检测模块501可以用于检测第一设备所处场景中的空间平面;第一位置框确定模块503可以用于对场景中真实对象进行检测,以确定多个真实对象位置框;第一位置框集合确定模块505可以用于基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;对象位置确定模块507可以用于响应针对候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在目标位置框中的位置信息;信息发送模块509可以用于将虚拟对象的信息以及虚拟对象在目标位置框中的位置信息发送给第二设备,以便在第二设备上显示虚拟对象。
根据本公开的示例性实施例,第一平面检测模块501可以被配置为执行:根据第一设备采集的多个视频帧图像以及对应的惯性信息提取场景的特征点;基于提取到的特征点构建特征点云;利用特征点云检测第一设备所处场景中的空间平面。
根据本公开的示例性实施例,第一位置框确定模块503可以被配置为执行:确定一目标帧图像,将目标帧图像输入训练后的机器学习模型中,利用训练后的机器学习模型确定多个真实对象位置框。
根据本公开的示例性实施例,第一位置框集合确定模块505可以被配置为执行:针对多个真实对象位置框中的任意一个真实对象位置框,确定该真实对象位置框的多个特征位置点;确定所述多个特征位置点在特征点云的坐标系下的坐标点以及法线方向;针对所述多个特征位置点在特征点云的坐标系下的坐标点,如果沿法线方向的投影均在同一空间平面上,则确定该真实对象位置框为候选位置框,并将该真实对象位置框添加至候选位置框集合。
根据本公开的示例性实施例,对象位置确定模块507还可以被配置为执行:在确定虚拟对象在目标位置框中的位置信息后,基于虚拟对象在目标位置框中的位置信息,确定虚拟对象在场景中的三维位置信息;根据虚拟对象在场景中的三维位置信息在第一设备上显示虚拟对象。
图6示意性示出了根据本公开的另一示例性实施方式的虚拟对象处理装置的方框图。参考图6,根据本公开的另一示例性实施方式的虚拟对象处理装置6可以包括第二平面检测模块601、第二位置框确定模块603、第二位置框集合确定模块605、信息获取模块607、放置框确定模块609和位置转换模块611。
具体的,第二平面检测模块601可以用于检测第二设备所处场景中的空间平面;第二位置框确定模块603可以用于对场景中真实对象进行检测,以确定多个真实对象位置框;第二位置框集合确定模块605可以用于基于多个真实对象位置框与场景中的空间平面之间的匹配关系,从多个真实对象位置框中确定出候选位置框集合;信息获取模块607可以用于获取由第一设备发送的虚拟对象的信息以及虚拟对象在第一设备的目标位置框中的位置信息;放置框确定模块609可以用于响应一虚拟对象配置操作,从候选位置框集合中确定虚拟对象放置框;位置转换模块611可以用于基于虚拟对象在第一设备的目标位置框中的位置信息,确定虚拟对象在虚拟对象放置框中的位置信息,以便在第二设备上显示虚拟对象。
根据本公开的示例性实施例,第二平面检测模块601可以被配置为执行:根据第二设备采集的多个视频帧图像以及对应的惯性信息提取场景的特征点;基于提取到的特征点构建特征点云;利用特征点云检测第二设备所处场景中的空间平面。
根据本公开的示例性实施例,第二位置框确定模块603可以被配置为执行:确定一目标帧图像,将目标帧图像输入训练后的机器学习模型中,利用训练后的机器学习模型确定多个真实对象位置框。
根据本公开的示例性实施例,第二位置框集合确定模块605可以被配置为执行:针对多个真实对象位置框中的任意一个真实对象位置框,确定该真实对象位置框的多个特征位置点;确定所述多个特征位置点在特征点云的坐标系下的坐标点以及法线方向;针对所述多个特征位置点在特征点云的坐标系下的坐标点,如果沿法线方向的投影均在同一空间平面上,则确定该真实对象位置框为候选位置框,并将该真实对象位置框添加至候选位置框集合。
根据本公开的示例性实施例,位置转换模块611可以被配置为执行:确定目标位置框与虚拟对象位置框的尺寸比例:按所述尺寸比例对虚拟对象在第一设备的目标位置框中的位置信息进行缩放处理,并将缩放处理的结果确定为虚拟对象在虚拟对象放置框中的位置信息。
根据本公开的示例性实施例,位置转换模块611还可以被配置为执行:基于虚拟对象在虚拟对象放置框中的位置信息,确定虚拟对象在场景中的三维位置信息;根据虚拟对象在场景中的三维位置信息在第二设备上显示虚拟对象。
根据本公开的示例性实施例,参考图7,相比于虚拟对象处理装置6,虚拟对象处理装置7还可以包括交互处理模块701。
具体的,交互处理模块701可以用于在第二设备上显示虚拟对象后,响应针对虚拟对象的交互操作,将交互操作的数据发送给第一设备,以便在第一设备上显示与交互操作对应的图像。
由于本发明实施方式的程序运行性能分析装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光盘、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同***组件(包括存储单元820和处理单元810)的总线830、显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S102至步骤S110,以及/或者可以执行如图2中所示的步骤S202至步骤S212。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (16)
1.一种虚拟对象处理方法,其特征在于,包括:
检测第一设备所处场景中的空间平面;
对所述场景中真实对象进行检测,以确定多个真实对象位置框;
基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合;
响应针对所述候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在所述目标位置框中的位置信息;
将所述虚拟对象的信息以及所述虚拟对象在所述目标位置框中的位置信息发送给第二设备,以便在所述第二设备上显示所述虚拟对象。
2.根据权利要求1所述的虚拟对象处理方法,其特征在于,检测第一设备所处场景中的空间平面包括:
根据所述第一设备采集的多个视频帧图像以及对应的惯性信息提取所述场景的特征点;
基于提取到的特征点构建特征点云;
利用所述特征点云检测所述第一设备所处场景中的空间平面。
3.根据权利要求2所述的虚拟对象处理方法,其特征在于,对所述场景中真实对象进行检测,以确定多个真实对象位置框包括:
确定一目标帧图像,将所述目标帧图像输入训练后的机器学习模型中,利用所述训练后的机器学习模型确定多个真实对象位置框。
4.根据权利要求2所述的虚拟对象处理方法,其特征在于,基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合包括:
针对所述多个真实对象位置框中的任意一个真实对象位置框,确定所述真实对象位置框的多个特征位置点;
确定所述多个特征位置点在所述特征点云的坐标系下的坐标点以及法线方向;
针对所述多个特征位置点在所述特征点云的坐标系下的坐标点,如果沿所述法线方向的投影均在同一空间平面上,则确定所述真实对象位置框为候选位置框,并将所述真实对象位置框添加至所述候选位置框集合。
5.根据权利要求1至4中任一项所述的虚拟对象处理方法,其特征在于,在确定虚拟对象在所述目标位置框中的位置信息后,所述虚拟对象处理方法还包括:
基于所述虚拟对象在所述目标位置框中的位置信息,确定所述虚拟对象在所述场景中的三维位置信息;
根据所述虚拟对象在所述场景中的三维位置信息在所述第一设备上显示所述虚拟对象。
6.一种虚拟对象处理方法,其特征在于,包括:
检测第二设备所处场景中的空间平面;
对所述场景中真实对象进行检测,以确定多个真实对象位置框;
基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合;
获取由第一设备发送的虚拟对象的信息以及所述虚拟对象在所述第一设备的目标位置框中的位置信息;
响应一虚拟对象配置操作,从所述候选位置框集合中确定虚拟对象放置框;
基于所述虚拟对象在所述第一设备的目标位置框中的位置信息,确定所述虚拟对象在所述虚拟对象放置框中的位置信息,以便在所述第二设备上显示所述虚拟对象。
7.根据权利要求6所述的虚拟对象处理方法,其特征在于,检测第二设备所处场景中的空间平面包括:
根据所述第二设备采集的多个视频帧图像以及对应的惯性信息提取所述场景的特征点;
基于提取到的特征点构建特征点云;
利用所述特征点云检测所述第二设备所处场景中的空间平面。
8.根据权利要求7所述的虚拟对象处理方法,其特征在于,对所述场景中真实对象进行检测,以确定多个真实对象位置框包括:
确定一目标帧图像,将所述目标帧图像输入训练后的机器学习模型中,利用所述训练后的机器学习模型确定多个真实对象位置框。
9.根据权利要求7所述的虚拟对象处理方法,其特征在于,基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合包括:
针对所述多个真实对象位置框中的任意一个真实对象位置框,确定所述真实对象位置框的多个特征位置点;
确定所述多个特征位置点在所述特征点云的坐标系下的坐标点以及法线方向;
针对所述多个特征位置点在所述特征点云的坐标系下的坐标点,如果沿所述法线方向的投影均在同一空间平面上,则确定所述真实对象位置框为候选位置框,并将所述真实对象位置框添加至所述候选位置框集合。
10.根据权利要求6至9中任一项所述的虚拟对象处理方法,其特征在于,基于所述虚拟对象在所述第一设备的目标位置框中的位置信息,确定所述虚拟对象在所述虚拟对象放置框中的位置信息包括:
确定所述目标位置框与所述虚拟对象位置框的尺寸比例:
按所述尺寸比例对所述虚拟对象在所述第一设备的目标位置框中的位置信息进行缩放处理,并将缩放处理的结果确定为所述虚拟对象在所述虚拟对象放置框中的位置信息。
11.根据权利要求10所述的虚拟对象处理方法,其特征在于,在所述第二设备上显示所述虚拟对象包括:
基于所述虚拟对象在所述虚拟对象放置框中的位置信息,确定所述虚拟对象在所述场景中的三维位置信息;
根据所述虚拟对象在所述场景中的三维位置信息在所述第二设备上显示所述虚拟对象。
12.根据权利要求11所述的虚拟对象处理方法,其特征在于,在所述第二设备上显示所述虚拟对象后,所述虚拟对象处理方法还包括:
响应针对所述虚拟对象的交互操作,将交互操作的数据发送给所述第一设备,以便在所述第一设备上显示与所述交互操作对应的图像。
13.一种虚拟对象处理装置,其特征在于,包括:
第一平面检测模块,用于检测第一设备所处场景中的空间平面;
第一位置框确定模块,用于对所述场景中真实对象进行检测,以确定多个真实对象位置框;
第一位置框集合确定模块,用于基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合;
对象位置确定模块,用于响应针对所述候选位置框集合中一目标位置框的虚拟对象配置操作,确定虚拟对象在所述目标位置框中的位置信息;
信息发送模块,用于将所述虚拟对象的信息以及所述虚拟对象在所述目标位置框中的位置信息发送给第二设备,以便在所述第二设备上显示所述虚拟对象。
14.一种虚拟对象处理装置,其特征在于,包括:
第二平面检测模块,用于检测第二设备所处场景中的空间平面;
第二位置框确定模块,用于对所述场景中真实对象进行检测,以确定多个真实对象位置框;
第二位置框集合确定模块,用于基于所述多个真实对象位置框与所述场景中的空间平面之间的匹配关系,从所述多个真实对象位置框中确定出候选位置框集合;
信息获取模块,用于获取由第一设备发送的虚拟对象的信息以及所述虚拟对象在所述第一设备的目标位置框中的位置信息;
放置框确定模块,用于响应一虚拟对象配置操作,从所述候选位置框集合中确定虚拟对象放置框;
位置转换模块,用于基于所述虚拟对象在所述第一设备的目标位置框中的位置信息,确定所述虚拟对象在所述虚拟对象放置框中的位置信息,以便在所述第二设备上显示所述虚拟对象。
15.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的虚拟对象处理方法。
16.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任一项所述的虚拟对象处理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695983.8A CN110473293B (zh) | 2019-07-30 | 2019-07-30 | 虚拟对象处理方法及装置、存储介质和电子设备 |
EP20845989.1A EP4006847A4 (en) | 2019-07-30 | 2020-07-29 | VIRTUAL OBJECT PROCESSING METHOD AND APPARATUS, AND STORAGE MEDIA AND ELECTRONIC DEVICE |
PCT/CN2020/105578 WO2021018214A1 (zh) | 2019-07-30 | 2020-07-29 | 虚拟对象处理方法及装置、存储介质和电子设备 |
US17/586,617 US11893702B2 (en) | 2019-07-30 | 2022-01-27 | Virtual object processing method and apparatus, and storage medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910695983.8A CN110473293B (zh) | 2019-07-30 | 2019-07-30 | 虚拟对象处理方法及装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110473293A true CN110473293A (zh) | 2019-11-19 |
CN110473293B CN110473293B (zh) | 2023-03-24 |
Family
ID=68509179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910695983.8A Active CN110473293B (zh) | 2019-07-30 | 2019-07-30 | 虚拟对象处理方法及装置、存储介质和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11893702B2 (zh) |
EP (1) | EP4006847A4 (zh) |
CN (1) | CN110473293B (zh) |
WO (1) | WO2021018214A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306243A (zh) * | 2020-11-19 | 2021-02-02 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
WO2021018214A1 (zh) * | 2019-07-30 | 2021-02-04 | Oppo广东移动通信有限公司 | 虚拟对象处理方法及装置、存储介质和电子设备 |
WO2022166681A1 (zh) * | 2021-02-07 | 2022-08-11 | 腾讯科技(深圳)有限公司 | 一种虚拟场景生成方法、装置、设备和存储介质 |
US11741676B2 (en) | 2021-01-21 | 2023-08-29 | Samsung Electronics Co., Ltd. | System and method for target plane detection and space estimation |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11657569B1 (en) * | 2021-07-13 | 2023-05-23 | All Tingz Co. | Method for creating a tangible objection and digitizing the tangible object using an artificial intelligence process |
CN113838217B (zh) * | 2021-09-23 | 2023-09-12 | 北京百度网讯科技有限公司 | 信息展示方法、装置、电子设备及可读存储介质 |
CN117055996A (zh) * | 2023-08-07 | 2023-11-14 | 香港科技大学(广州) | 虚拟场景界面显示方法、装置、设备及存储介质 |
CN117635888B (zh) * | 2023-12-07 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150097865A1 (en) * | 2013-10-08 | 2015-04-09 | Samsung Electronics Co., Ltd. | Method and computing device for providing augmented reality |
CN106200944A (zh) * | 2016-06-30 | 2016-12-07 | 联想(北京)有限公司 | 一种对象的控制方法、控制装置和控制*** |
CN106997281A (zh) * | 2017-04-10 | 2017-08-01 | 北京小米移动软件有限公司 | 共享虚拟对象的方法及智能设备 |
CN107393017A (zh) * | 2017-08-11 | 2017-11-24 | 北京铂石空间科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
WO2019020022A1 (zh) * | 2017-07-28 | 2019-01-31 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、终端设备和计算机可读存储介质 |
CN109754471A (zh) * | 2019-01-10 | 2019-05-14 | 网易(杭州)网络有限公司 | 增强现实中的图像处理方法及装置、存储介质、电子设备 |
WO2019105190A1 (zh) * | 2017-11-28 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
CN109903129A (zh) * | 2019-02-18 | 2019-06-18 | 北京三快在线科技有限公司 | 增强现实显示方法与装置、电子设备、存储介质 |
CN109992108A (zh) * | 2019-03-08 | 2019-07-09 | 北京邮电大学 | 多用户交互的增强现实方法及*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3281403A4 (en) | 2015-04-06 | 2018-03-07 | Scope Technologies US Inc. | Methods and apparatus for augmented reality applications |
US10169917B2 (en) * | 2015-08-20 | 2019-01-01 | Microsoft Technology Licensing, Llc | Augmented reality |
CN110036359B (zh) * | 2017-06-23 | 2022-08-26 | 杰创科虚拟现实有限公司 | 第一人称角色扮演互动式增强现实 |
CN108830894B (zh) | 2018-06-19 | 2020-01-17 | 亮风台(上海)信息科技有限公司 | 基于增强现实的远程指导方法、装置、终端和存储介质 |
WO2020056692A1 (zh) | 2018-09-20 | 2020-03-26 | 太平洋未来科技(深圳)有限公司 | 一种信息交互方法、装置及电子设备 |
CN109847361B (zh) | 2019-02-27 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 运动状态的同步方法和装置、存储介质、电子装置 |
CN110473293B (zh) * | 2019-07-30 | 2023-03-24 | Oppo广东移动通信有限公司 | 虚拟对象处理方法及装置、存储介质和电子设备 |
US11120639B1 (en) * | 2020-04-24 | 2021-09-14 | Microsoft Technology Licensing, Llc | Projecting telemetry data to visualization models |
-
2019
- 2019-07-30 CN CN201910695983.8A patent/CN110473293B/zh active Active
-
2020
- 2020-07-29 EP EP20845989.1A patent/EP4006847A4/en active Pending
- 2020-07-29 WO PCT/CN2020/105578 patent/WO2021018214A1/zh unknown
-
2022
- 2022-01-27 US US17/586,617 patent/US11893702B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150097865A1 (en) * | 2013-10-08 | 2015-04-09 | Samsung Electronics Co., Ltd. | Method and computing device for providing augmented reality |
CN106200944A (zh) * | 2016-06-30 | 2016-12-07 | 联想(北京)有限公司 | 一种对象的控制方法、控制装置和控制*** |
CN106997281A (zh) * | 2017-04-10 | 2017-08-01 | 北京小米移动软件有限公司 | 共享虚拟对象的方法及智能设备 |
WO2019020022A1 (zh) * | 2017-07-28 | 2019-01-31 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、终端设备和计算机可读存储介质 |
CN107393017A (zh) * | 2017-08-11 | 2017-11-24 | 北京铂石空间科技有限公司 | 图像处理方法、装置、电子设备及存储介质 |
WO2019105190A1 (zh) * | 2017-11-28 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
CN109754471A (zh) * | 2019-01-10 | 2019-05-14 | 网易(杭州)网络有限公司 | 增强现实中的图像处理方法及装置、存储介质、电子设备 |
CN109903129A (zh) * | 2019-02-18 | 2019-06-18 | 北京三快在线科技有限公司 | 增强现实显示方法与装置、电子设备、存储介质 |
CN109992108A (zh) * | 2019-03-08 | 2019-07-09 | 北京邮电大学 | 多用户交互的增强现实方法及*** |
Non-Patent Citations (1)
Title |
---|
邓宝松等: "基于场景平面结构的增强现实方法", 《工程图学学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021018214A1 (zh) * | 2019-07-30 | 2021-02-04 | Oppo广东移动通信有限公司 | 虚拟对象处理方法及装置、存储介质和电子设备 |
US11893702B2 (en) | 2019-07-30 | 2024-02-06 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Virtual object processing method and apparatus, and storage medium and electronic device |
CN112306243A (zh) * | 2020-11-19 | 2021-02-02 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
US11741676B2 (en) | 2021-01-21 | 2023-08-29 | Samsung Electronics Co., Ltd. | System and method for target plane detection and space estimation |
WO2022166681A1 (zh) * | 2021-02-07 | 2022-08-11 | 腾讯科技(深圳)有限公司 | 一种虚拟场景生成方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021018214A1 (zh) | 2021-02-04 |
US11893702B2 (en) | 2024-02-06 |
EP4006847A4 (en) | 2022-10-26 |
US20220148279A1 (en) | 2022-05-12 |
EP4006847A1 (en) | 2022-06-01 |
CN110473293B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473293A (zh) | 虚拟对象处理方法及装置、存储介质和电子设备 | |
Arth et al. | The history of mobile augmented reality | |
AU2020202551B2 (en) | Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor | |
CN105981076B (zh) | 合成增强现实环境的构造 | |
CN110457414A (zh) | 离线地图处理、虚拟对象显示方法、装置、介质和设备 | |
JP5799521B2 (ja) | 情報処理装置、オーサリング方法及びプログラム | |
US9898844B2 (en) | Augmented reality content adapted to changes in real world space geometry | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
CN110163942B (zh) | 一种图像数据处理方法和装置 | |
CN111738220A (zh) | 三维人体姿态估计方法、装置、设备及介质 | |
EP3907704A1 (en) | Augmented reality (ar) capture&play | |
CN110908504B (zh) | 一种增强现实博物馆协作交互方法与*** | |
CN107646109B (zh) | 管理电子设备上的环境映射的特征数据 | |
CN105339867A (zh) | 使用视觉逼真的对象显示 | |
TW202219704A (zh) | 擴展現實系統的使用者介面佈局和輸入的動態配置 | |
EP3008540A1 (en) | Locating and orienting device in space | |
CN104982090A (zh) | 个人信息通信器 | |
US11561651B2 (en) | Virtual paintbrush implementing method and apparatus, and computer readable storage medium | |
CN115244495A (zh) | 针对虚拟环境运动的实时式样 | |
CN116057577A (zh) | 用于增强现实的地图 | |
WO2020061792A1 (en) | Real-time multi-view detection of objects in multi-camera environments | |
Abbas et al. | Augmented reality-based real-time accurate artifact management system for museums | |
CN115500083A (zh) | 使用神经网络的深度估计 | |
Rana et al. | Augmented reality engine applications: a survey | |
CN115775300B (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 |