CN110064200A - 基于虚拟环境的物体构建方法、装置及可读存储介质 - Google Patents
基于虚拟环境的物体构建方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN110064200A CN110064200A CN201910340401.4A CN201910340401A CN110064200A CN 110064200 A CN110064200 A CN 110064200A CN 201910340401 A CN201910340401 A CN 201910340401A CN 110064200 A CN110064200 A CN 110064200A
- Authority
- CN
- China
- Prior art keywords
- voxel
- collected
- point cloud
- frame image
- characteristic point
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000007613 environmental effect Effects 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims 1
- 244000035744 Hura crepitans Species 0.000 description 24
- 230000008569 process Effects 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 239000011449 brick Substances 0.000 description 5
- 239000003086 colorant Substances 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004737 colorimetric analysis Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 4
- 239000003245 coal Substances 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- A63F13/655—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/564—Depth or shape recovery from multiple images from contours
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/69—Involving elements of the real world in the game world, e.g. measurement in live races, real video
- A63F2300/695—Imported photos, e.g. of the player
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- 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/10016—Video; Image sequence
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- 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/2008—Assembling, disassembling
-
- 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/2012—Colour editing, changing, or manipulating; Use of colour codes
-
- 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/2024—Style variation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种基于虚拟环境的物体构建方法、装置及可读存储介质,涉及虚拟环境领域。该方法应用于设置有摄像头的终端中,该方法包括:显示环境界面;接收拍摄操作,对待采集物体的三维信息进行采集,得到待采集物体的特征点云;接收位置输入操作,对目标物体的显示位置进行确定;根据拍摄操作和位置输入操作在虚拟环境中的显示位置处显示目标物体。通过终端的摄像头对待采集物体进行拍摄,并对待采集物体的三维信息进行采集后,根据该三维信息填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,提高了物体的构建效率以及准确率。
Description
技术领域
本申请实施例涉及虚拟环境领域,特别涉及一种基于虚拟环境的物体构建方法、装置及可读存储介质。
背景技术
沙盒游戏是一种由玩家利用游戏中提供的体素块制造原创物体,并与制造的原创物体进行互动的游戏模式,可选地,沙盒游戏中提供的体素块可以是通过材料分类的体素块,也可以是通过颜色分类的体素块,如:沙盒游戏中提供煤炭体素块、钻石体素块、砖头体素块等,或提供红色体素块、绿色体素块、紫色体素块等。
通常,玩家采用通过颜色分类的体素块在沙盒游戏环境中搭建装饰物、广告牌等色彩较为丰富的场景。以搭建装饰物为例,玩家首先确定需要搭建的装饰物的整体样式,并根据该整体样式将不同颜色的体素块在该样式的对应位置进行堆积,堆积后得到该装饰物。
然而,通过上述方式在沙盒游戏中制造原创物体时,针对结构较为复杂的物体,通常对物体的轮廓无法进行准确把握,且针对轮廓的颜色填充也无法准确对应,原创物体的搭建失败率较高。
发明内容
本申请实施例提供了一种基于虚拟环境的物体构建方法、装置及可读存储介质,可以解决对物体的轮廓无法进行准确把握,原创物体的搭建失败率较高的问题。所述技术方案如下:
一方面,提供了一种基于虚拟环境的物体构建方法,应用于设置有摄像头的终端中,所述方法包括:
显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收拍摄操作,所述拍摄操作用于通过所述摄像头对待采集物体的三维信息进行采集,得到所述待采集物体的特征点云,所述特征点云用于对待构建的目标物体的样式进行确定;
接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
根据所述拍摄操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述特征点云对应的区域内进行填充得到的。
另一方面,提供了一种基于虚拟环境的物体构建装置,应用于设置有摄像头的终端中,所述装置包括:
显示模块,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收模块,用于接收拍摄操作,所述拍摄操作用于通过所述摄像头对待采集物体的三维信息进行采集,得到所述待采集物体的特征点云,所述特征点云用于对待构建的目标物体的样式进行确定;
所述接收模块,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块,还用于根据所述拍摄操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述特征点云对应的区域内进行填充得到的。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过终端的摄像头对待采集物体进行拍摄,并对待采集物体的三维信息进行采集后,根据该三维信息生成该待采集物体的特征点云,在虚拟环境中通过在特征点云对应的区域内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的沙盒游戏的虚拟环境以及体素块的示意图;
图2是本本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的整体流程示意图;
图3是本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图4是基于图3示出的实施例提供的待采集物体的拍摄方法的界面示意图;
图5是基于图3示出的实施例提供的体素区域的填充方法的界面示意图;
图6是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图7是本申请一个示例性实施例提供的体素块在特征点云对应的区域内进行填充的方法的流程图;
图8是基于图7示出的实施例提供的体素区域的确定方法的示意图;
图9是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图10是本申请一个示例性实施例提供的终端的结构框图;
图11是本申请一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图;
图12是本申请另一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图;
图13是本申请另一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
沙盒游戏:是一种由玩家利用游戏中提供的体素块制造原创物体,并与制造的原创物体进行互动的游戏模式。可选地,该沙盒游戏是一种在虚拟环境中通过体素块对虚拟物体进行搭建的游戏应用程序。通常,沙盒游戏中交互性较强、自由度较高,玩家可以根据创意在游戏的虚拟环境中通过体素块任意进行搭建、堆砌。可选地,沙盒游戏中通常不会设置主线剧情,玩家在游戏的虚拟环境中进行自由走动,而不需要根据剧情的发展完成对应的任务。
体素块:是一种在沙盒游戏中提供的用于在虚拟环境中对虚拟物体进行构建的材料块,可选地,该体素块的分类方式包括通过材料类型分类,通过颜色分类,以及通过材料类型分类和颜色分类中的任意一种,示意性的,对三种情况分别进行举例说明,1、沙盒游戏中提供煤炭体素块、钻石体素块、砖头体素块等;2、沙盒游戏中提供红色体素块、绿色体素块、紫色体素块等;3、沙盒游戏中提供红色砖块、绿色砖块、紫色砖块等。可选地,通过材料类型分类的体素块可以加工为建筑物、家具等用品的制作材料,如:通过熔炼沙子体素块得到玻璃,作为建筑物的窗户。可选地,装饰物、广告牌等色彩较丰富的物体可以采用通过颜色分类的体素块进行构建。可选地,体素块的大小可以是固定的,针对通过材料类型分类的体素块,可以根据材料类型的不同,确定体素块的大小;针对通过颜色分类的体素块,可以任意颜色的体素块的大小相同,且每种颜色对应有多种大小的体素块,如:小型白色体素块,中型白色体素块以及大型白色体素块。可选地,体素块的形状可以是统一的,如:长方体、正方体等,也可以是多种样式的,如图1所示,在环境界面100中包括虚拟环境对应的画面,该虚拟环境中包括虚拟人物110以及玩家搭建的物体120,该物体120是通过体素库中的体素块进行搭建的,其中,体素库中的部分体素块的形状如体素块显示区域130所示,该体素块显示区域130中包括绿色方形体素块131、棕色方形体素块132、棕色三角体素块133、黑色方形体素块134以及灰色阶梯体素块135,其中,上述体素块显示为乐高块的形状。
可选地,该体素块可以是玩家在虚拟环境中获取的,也可以是应用程序中本身提供的,示意性的,煤炭体素块、钻石体素块等需要玩家通过在虚拟环境中通过开采获得,而由颜色分类的普通体素块是游戏本身提供的。
特征点云:是指根据待采集物体的三维信息生成的以点云形式表达的该待采集物体的轮廓,可选地,该特征点云是根据该待采集物体通过深度相机拍摄后得到的深度信息生成的。
其次,本申请实施例提供的基于虚拟环境的物体构建方法的应用场景进行说明,本申请提供的基于虚拟环境的物体构建方法的应用场景至少包括如下应用场景:
在沙盒游戏中对目标物体进行构建时,玩家在沙盒游戏中通过终端的摄像头对待采集物体进行拍摄,根据拍摄得到的该待采集物体的三维信息生成该待采集物体对应的特征点云,并自动根据特征点云在该特征点云对应的区域内填充对应的体素块,生成与该待采集物体对应的目标物体并显示在显示位置处。
可选地,上述举例中以沙盒游戏为例进行说明,该方法还可以应用于任意提供虚拟环境以及体素块的应用程序中,本申请实施例对此不加以限定。
示意性的,请参考图2,在沙盒游戏的环境界面210中包括拍摄功能控件211,用户在该拍摄功能控件211上进行选择后,显示拍摄界面220,该拍摄界面220中包括通过终端的摄像头进行图像采集时显示的画面,如图2所示,该拍摄界面220中包括待采集物体221,用户在该拍摄界面220的拍摄控件222上进行长按,并持终端围绕该待采集物体221进行连续拍摄后,生成该待采集物体221对应的特征点云230,并根据该特征点云230进行体素块填充,生成目标物体240,根据该目标物体240在虚拟环境中的显示位置对该目标物体240进行显示。
结合上述名词简介以及应用场景,对本申请实施例提供的基于虚拟环境的物体构建方法进行说明,图3是本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图,以该方法应用于设置有摄像头的终端中为例进行说明,如图3所示,该方法包括:
步骤301,显示环境界面。
可选地,该环境界面中包括虚拟环境对应的画面。
可选地,该方法可以应用于沙盒游戏中,该沙盒游戏中提供有虚拟环境,该虚拟环境中包括虚拟对象,玩家可以控制虚拟对象在虚拟环境中进行移动、体素块搭建等操作。可选地,该环境界面中还显示有当前可以使用的体素块。
步骤302,接收拍摄操作,该拍摄操作用于通过摄像头对待采集物体的三维信息进行采集,得到待采集物体的特征点云。
可选地,该特征点云用于对待构建的目标物体的样式进行确定。可选地,该目标物体的样式包括指该目标物体的轮廓、结构、颜色构成中的至少一项,其中,该目标物体的轮廓用于表示该目标物体的外观表现的形式,该目标物体的结构用于表示该目标物体的搭建结构,如:中空结构、实心结构等,该目标物体的颜色构成用于表示搭建该目标物体的体素块的颜色。
可选地,接收该拍摄操作时,可以通过接收在该待采集物体周侧对n帧图像的拍摄操作实现,n为正整数,其中,该n帧图像中包括环绕该待采集物体拍摄得到的图像,如,该n帧图像中包括在该待采集物体前方、左侧、右侧、后方以及上方拍摄的图像。可选地,该n帧图像可以实现为一段视频流中的n帧图像,也可以实现为围绕该待采集物体进行定点拍摄得到的n帧图像,即该n帧图像的采集方式包括:
第一,接收围绕该待采集物体的视频拍摄操作,该视频拍摄操作拍摄得到的视频流中包括该n帧图像;
可选地,根据该视频拍摄操作通过摄像头对图像进行连续采集,可选地,该摄像头围绕该待采集物体进行拍摄,如:用户将摄像头从待采集物体的前方顺时针围绕该待采集物体进行旋转一周后,向该待采集物体的上方进行围绕,可选地,当该摄像头未向该待采集物体的下方进行围绕时,如:该待采集物体置于桌面,无法围绕该待采集物体的下方进行拍摄时,则目标物体对应的该未被拍摄处实现为平面,即,该目标物体的底部实现为平面。
第二,接收在待采集物体周侧的定点拍摄操作,该定点拍摄操作用于围绕待采集物体在指定位置对n帧图像进行拍摄;
可选地,该指定位置可以是根据终端在拍摄过程中的提示确定的位置,如图4所示,开启拍摄界面410后,在该拍摄界面410中显示提示消息栏411“请在物体正面进行拍摄”,并在接收到拍摄操作并获取第一帧图像412时,在拍摄界面410中显示提示消息栏421“请在物体左侧进行拍摄”,在接收到拍摄操作并获取第二帧图像422时,在拍摄界面410中显示提示消息栏431“请在物体右侧进行拍摄”,在接收到拍摄操作并获取第三帧图像432时,在拍摄界面410中显示提示消息栏441“请在物体后方进行拍摄”,在接收到拍摄操作后获取第四帧图像442,其中,正面、左侧、右侧以及后方的拍摄操作即为在该物体周侧的定点拍摄操作。值得注意的是,图4中以4帧图像为例进行说明,实际操作中,该定点拍摄操作得到的图像的数量可以更多或者更少。
可选地,根据终端的摄像头的拍摄能力,根据该n帧图像生成特征点云的方式包括如下方式中的任意一种:
第一,根据n帧图像中每帧图像对应的深度信息生成特征点云,该深度信息用于结合图像以表示该待采集物体的三维信息;
可选地,当终端的摄像头为深度摄像头,即该摄像头用于对深度图像进行拍摄时,该摄像头拍摄的图像对应有深度信息。可选地,当终端相机的软件开发工具包(SoftwareDevelopment Kit,SDK)支持特征点云计算功能时,根据该n帧图像可以直接得到该特征点云。
第二,通过n帧图像对待采集物体进行三维重建,得到特征点云。
可选地,三维重建是指对三维物体建立符合计算机表达和处理的数学模型的过程。可选地,该三维重建过程是根据单视图或者多视图的图像重建三维信息的过程,根据摄像头的图像坐标系与世界坐标系的关系,并利用多个二维图像的信息重建出三维信息后,生成特征点云。
步骤303,接收位置输入操作,该位置输入操作用于对目标物体在虚拟环境中的显示位置进行确定。
可选地,当未接收到该位置输入操作时,该目标物体在虚拟环境中包括一个初始位置,通过对该初始位置进行调整,得到该目标物体在虚拟环境中的实际显示位置,示意性的,该目标物体的初始显示位置为(a,b,c),该调整操作的调整相对距离为(x,y,z),则该目标物体的显示位置为(a+x,b+y,c+z)。
可选地,对该目标物体在虚拟环境中的显示位置进行确定后,确定该目标物体在该虚拟环境中的显示尺寸,该显示尺寸的确定方式包括如下方式中的至少一种:
第一,根据该特征点云的尺寸直接确定该目标物体的显示尺寸;
第二,在虚拟环境中的显示位置处预览该待采集物体,并通过尺寸调整操作对该待采集物体在该虚拟环境中的显示尺寸进行调整,从而调整生成的目标物体在该虚拟环境中的显示尺寸;
第三,输入该目标物体在目标维度的长度,根据待采集物体的三个维度的比例以及目标维度的长度确定该目标物体的尺寸;其中,该目标物体的目标维度的长度通过该目标物体在目标维度上体素块的数量进行设置。
值得注意的是,上述步骤302和步骤303中,可以先执行步骤302再执行步骤303,也可以先执行步骤303再执行步骤302,还可以同时执行步骤302和步骤303,本实施例对步骤302和步骤303的执行顺序不做限定。
步骤304,根据拍摄操作和位置输入操作在虚拟环境中的显示位置处显示目标物体,该目标物体是由体素块在特征点云对应的区域内进行填充得到的。
可选地,将体素块在特征点云对应的区域内进行填充时,包括如下方式中的至少一种:
第一,确定位于该特征点云对应区域的轮廓上的体素块,并根据位于特征点云对应区域的轮廓上的体素块对轮廓内的体素块进行填充;
第二,沿该特征点云对应的区域直接对该体素块进行逐层堆砌,当堆砌的体素块与该特征点云内的像素点无交集时,舍弃该与特征点云的像素点无交集的体素块;
示意性的,请参考图5,在对特征点云510对应的目标物体进行逐层堆砌时,首先对最底层的体素块进行堆砌,体素块521与特征点云510的像素点无交集,舍弃该体素块521,体素块522与特征点云510的像素点存在交集,故保留该体素块522。
可选地,该步骤304可以由终端实现,也可以由终端将n帧图像以及图像的深度信息发送至服务器,由服务器构建目标物体后将目标物体的构建结果发送至终端在显示位置进行显示。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过终端的摄像头对待采集物体进行拍摄,并对待采集物体的三维信息进行采集后,根据该三维信息生成该待采集物体的特征点云,在虚拟环境中通过在特征点云对应的区域内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
在一个可选的实施例中,该特征点云的生成过程中需要根据深度信息以及摄像头位置进行确定,图6是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图,以该方法应用于设置有摄像头的终端中为例进行说明,如图6所示,该方法包括:
步骤601,显示环境界面。
可选地,该环境界面中包括虚拟环境对应的画面。
可选地,该方法可以应用于沙盒游戏中,该沙盒游戏中提供有虚拟环境,该虚拟环境中包括虚拟对象,玩家可以控制虚拟对象在虚拟环境中进行移动、体素块搭建等操作。可选地,该环境界面中还显示有当前可以使用的体素块。
步骤602,接收在待采集物体周侧对n帧图像的拍摄操作。
可选地,该n帧图像的拍摄操作的具体操作过程在上述步骤302中已进行了详细说明,此处不再赘述。
步骤603,确定拍摄n帧图像中每帧图像时摄像头所处的相对位置。
可选地,拍摄每帧图像时,该摄像头所处的相对位置是根据所述与摄像头拍摄关键帧图像时的位置关系确定的,可选地,该关键帧图像为该摄像头所拍摄的第一帧图像。可选地,当摄像头拍摄第一帧图像时,设定此时摄像头的位置,根据终端中的惯性测量单元(Inertial Measurement Unit,IMU)感应终端在拍摄过程中的位置变化,通过IMU位置数据的叠加变换以及当前帧图像与该第一帧图像之间的特征点即可得到摄像头拍摄每帧图像时的相对位置。
可选地,在确定摄像头的相对位置时,还可以结合终端中的多种传感器数据进行确定,如:陀螺仪、重力传感器等。
可选地,IMU是用于测量终端的三轴姿态角(或角速率)以及加速度的装置。可选地,一个IMU包含了三个单轴的加速度计和三个单轴的陀螺,加速度计用于检测物体在三维坐标系中每个坐标轴上的加速度信号,进而计算得到位移向量;而陀螺用于检测物体在三维坐标系中的旋转矩阵。可选地,IMU包括陀螺仪、加速度计和地磁传感器。
可选地,根据IMU确定拍摄每帧图像时摄像头的相对位置的过程包括:首先将该摄像头采集的第一帧图像作为关键帧图像,在摄像头后续采集图像时,终端对当前图像与关键帧图像之间共同具有的特征点进行追踪,根据当前图像与关键帧图像之间的特征点位置变化计算摄像头在现实世界中的位姿变化,并结合IMU的测量数据,从而确定该摄像头在拍摄当前图像时的相对位置。示意性的,终端摄像头围绕物体A进行拍摄,得到第一图像和第二图像,其中,第一图像和第二图像中都包括该物体A,终端将该第一图像确定为关键帧图像,并记录摄像头拍摄该第一图像时的初始位姿参数,该初始位姿参数可以由IMU进行采集,然后在拍摄第二图像后,将第二图像相对于第一图像进行特征点追踪,根据初始位姿参数和特征点追踪结果计算该摄像头拍摄第二图像时的位姿参数,从而确定摄像头拍摄该第二图像时的目标位姿参数,也即摄像头拍摄第二图像时的相对位置。
可选地,将第二图像相对于第一图像进行特征点追踪后,得到第二图像中与该第一图像中的初始特征点匹配的目标特征点,并根据初始特征点和目标特征点,计算摄像头从初始姿态改变至目标姿态的位姿变化量,其中,初始姿态即为摄像头拍摄第一图像时的姿态,目标姿态为摄像头拍摄第二图像时的姿态。示意性的,终端对第一图像进行特征点提取,得到N个初始特征点,并对第二图像进行特征点提取,得到M个候选特征点,将M个候选特征点与N个初始特征点进行匹配,确定至少一组匹配特征点对,每组匹配特征点对中包括一个初始特征点和一个目标特征点,其中,初始特征点为第一图像中的特征点,目标特征点为第二图像中与初始特征点匹配度最高的候选特征点。终端根据初始特征点和目标特征点计算两帧图像之间的单应性矩阵homography;对单应性矩阵homography进行分解,得到摄像头从初始位姿参数改变至目标位姿参数时的位姿变化量Rrelocalize和Trelocalize。
其中,单应性矩阵描述了两个平面之间的映射关系,若自然场景(现实环境)中的特征点都落在同一物理平面上,则可以通过单应性矩阵进行运动估计。当存在至少四对相匹配的初始特征点和目标特征点时,设备通过随机抽样一致性(Random SampleConsensus,RANSAC)算法对该单应性矩阵进行分解,得到旋转矩阵Rrelocalize和平移向量Trelocalize。
其中,Rrelocalize是摄像头从初始位姿参数改变至目标位姿参数时的旋转矩阵,Trelocalize是摄像头从初始位姿参数改变至目标位姿参数时的位移向量。
可选地,上述特征点追踪过程可以采用视觉里程计的追踪算法或KLT(Kanade-Lucas)光流追踪算法,该特征点追踪过程还可以通过基于SIFT(Scale-Invariant FeatureTransform,尺度不变特征转换)算法提取的SIFT特征点描述子或基于ORB(Oriented FASTand Rotated BRIEF,快速特征点提取和描述)算法提取的ORB特征点描述子进行特征点跟踪。本申请对特征点追踪的具体算法不加以限定,特征点追踪过程可以采用特征点法或直接法。
步骤604,根据n帧图像中每帧图像中的像素点的位置、像素点对应的深度信息以及摄像头的相对位置,对像素点在三维空间中的位置进行确定。
可选地,每帧图像对应的深度信息中包括该帧图像中的像素点对应的深度信息,根据该像素点的深度信息,以及像素点在图像中的位置,结合该摄像头的相对位置,即可得到该像素点在三维空间中的位置。
示意性的,像素点i的深度信息为d,该像素点i在图像k中的位置坐标为(a,b),则该像素点i在相机坐标系中的相对位置坐标为(a*d,b*d,d),摄像头拍摄该图像k时的旋转矩阵为R,平移矩阵为t,则该像素点i在三维空间中的坐标的计算方式如下公式一所示:
公式一:
其中,Lw用于表示对该像素点坐标的旋转和平移,其中,X用于表示像素点i在相机坐标系中的坐标a*d,Y用于表示像素点i在相机坐标系中的坐标b*d,Z用于表示像素点i在相机坐标系中的坐标d,Xc、Yc以及Zc用于表示像素点i在三维空间中的三维坐标。
可选地,每个像素点还对应有颜色信息。可选地,深度摄像头进行一次拍摄操作得到两个图像,该两个图像包括色彩图像和深度图像,其中,色彩图像中包括每个像素点的颜色信息,深度图像中包括每个像素点的深度信息。可选地,深度图像的尺寸小于色彩图像的尺寸,则以深度图像为准,将深度图像中的像素点与色彩图像中的像素点进行匹配,得到每个像素点的颜色以及深度信息。
步骤605,根据每个像素点在三维空间中的位置得到特征点云。
可选地,根据采集的n帧图像中每个像素点在三维空间中的位置得到该特征点云,其中,针对该n帧图像中存在重合情况的像素点可以仅进行一次计算,并当该像素点在其他图像中再次出现时,忽略该像素点的再计算。
步骤606,接收位置输入操作,该位置输入操作用于对目标物体在虚拟环境中的显示位置进行确定。
可选地,该位置输入操作可以通过对特征点云在所述虚拟环境中进行拖动进行确定,也可以在上述步骤605后生成该目标物体进行预览,并通过对该目标物体在虚拟环境中进行拖动从而确定该目标物体在虚拟环境中的显示位置。
可选地,在对目标物体在虚拟环境中进行拖动的过程中,对该目标物体的位置进行预览的方式可以通过将虚拟环境中该目标物体所处的位置进行高亮显示,如:将该目标物体所处的位置进行标黑显示。
步骤607,根据拍摄操作和位置输入操作在虚拟环境中的显示位置处显示目标物体,该目标物体是由体素块在特征点云对应的区域内进行填充得到的。
可选地,对该特征点云对应的区域进行填充的体素块可以是统一颜色的体素块,也可以根据预设颜色规律进行体素块填充,还可以根据待采集物体本身的颜色确定填充该特征点云对应的区域的体素块的颜色。
可选地,当根据待采集物体本身的颜色确定体素块的颜色时,该摄像头拍摄的图像还对应有每个像素点的颜色。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过终端的摄像头对待采集物体进行拍摄,并对待采集物体的三维信息进行采集后,根据该三维信息生成该待采集物体的特征点云,在虚拟环境中通过在特征点云对应的区域内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
本实施例提供的方法,通过深度摄像头对图像进行采集,并根据像素点在图像中的位置,像素点的深度信息以及摄像头的相对位置确定像素点在三维空间中的位置,从而生成特征点云,提高了生成特征点云以及生成目标物体的效率。
在一个可选地实施例中,当生成该特征点云之后,对体素块在该特征点云对应的区域内进行填充的方法进行说明,图7是本申请另一个示例性实施例提供的体素块在该特征点云对应的区域内进行填充的方法的流程图,该方法应用于如图3所示的步骤302之后,或该方法应用于如图6所示的步骤605之后,如图7所示,该方法包括:
步骤701,接收三维切片操作,得到每个维度对应的切片方式,该三维切片操作用于根据切片方式对特征点云对应的包围盒进行三维切片。
可选地,该包围盒为包围该特征点云的最小长方体盒;或,该包围盒为根据特征点云的三维尺寸生成的与该特征点云对应的长方体盒。
可选地,该切片方式包括每个维度对应的切片数量、每个维度对应的切片大小中的任意一种。其中,当切片方式为每个维度对应的切片数量时,根据该切片数量对每个维度进行平均切片。
可选地,该三维切片是指通过每个维度对应的切片方式对包围盒的三个维度进行切片。
可选地,该三维切片操作的执行方式包括如下方式中的任意一种:
第一,接收切片数量输入操作,该切片数量输入操作包括对特征点云的三个维度的切片数量的输入操作,根据切片数量输入操作对包围盒通过该切片数量进行三维切片;
示意性的,请参考图8,在虚拟环境界面800中显示有特征点云810对应的包围盒820,默认该虚拟环境中三维方向中x轴方向、y轴方向以及z轴方向如坐标轴830所示,接收在切片数量输入框840中的切片数量设置操作,该切片数量设置结果为,x轴方向切分为10个部分,y轴方向切分为15个部分,z轴方向切分为20个部分,根据该切片数量设置结果对包围盒820进行三维切片,其中,对包围盒820在x轴方向上平均分为10份,在y轴方向上平均分为15份,在z轴方向上平均分为20份。
第二,接收滑动切片操作,根据滑动切片操作对包围盒进行三维切片。
可选地,每个维度对应的切片数量用于对目标三维模型生成目标物体的细化程度进行确定,如:切片数量较多时,该目标物体的细化程度越高,目标物体与待采集物体的相似度也越高;切片数量较少时,该目标物体的细化程度越低,目标物体与待采集物体的相似度越低。
步骤702,根据三维切片操作确定体素区域,该体素区域是通过对包围盒进行三维切片后得到的区域。
可选地,对该包围盒进行三维切片,即在该包围盒的三个维度都进行了切片操作,根据该在三个维度上的切片操作得到体素区域,该体素区域是三维切片后得到的区域。可选地,该体素区域用于通过体素块进行填充。
步骤703,根据体素区域与特征点云中的像素点的包含关系,向体素区域中填充体素块。
可选地,当体素区域中包含的像素点的数量大于预设数量时,向该体素区域中填充体素块。
可选地,填充该体素区域的体素块为目标颜色的体素块,该目标颜色可以通过如下方式中的任意一种方式进行确定:
第一,确定体素区域中包含的像素点的加权平均颜色,得到目标颜色;
可选地,该像素点的加权平均颜色是根据像素点的RGB值进行计算的。
第二,根据体素区域中包含的像素点的颜色分布,确定分布占比最高的颜色作为目标颜色。
可选地,根据该目标颜色,将颜色与该目标颜色最接近的体素块作为填充在体素区域中的体素块。
可选地,对体素区域包含的像素点进行遍历,并确定该体素区域对应的第一颜色(即上述目标颜色),将第一颜色与预设颜色表中的颜色进行色差计算,得到预设颜色表中色差计算结果最小的第二颜色,该第二颜色即为该体素区域中填充的体素块的颜色。可选地,该预设颜色表为应用程序中提供的体素块的所有颜色的颜色表,通过计算第一颜色与预设颜色表中的颜色的色差,确定该预设颜色表中与该第一颜色色差最小的颜色,并将该颜色的体素块作为填充该体素区域的体素块。
可选地,计算第一颜色与预设颜色表中的颜色的色差时,可以通过欧氏距离计算法计算两个颜色之间的颜色距离,颜色距离越大,两个颜色之间的色差越大,反之,两个颜色越接近颜色距离越小。在计算颜色距离时,在RGB控件内,可以通过如下欧氏距离计算法提供的公式二计算得到两个颜色C1、C2之间的距离,其中,C1为上述第一颜色,C2为预设颜色表中的颜色:
公式二:
其中,C1,R表示第一颜色C1的红色数值,C2,R表示颜色C2的红色数值,C1,G表示第一颜色C1的绿色数值,C2,G表示颜色C2的绿色数值,C1,B表示第一颜色C1的蓝色数值,C2,B表示颜色C2的蓝色数值。
将第一颜色C1和预设颜色表中的颜色C2的RGB值代入上述公式二后,得到第一颜色C1和预设颜色表中的颜色C2的色差。
可选地,计算色差的方式除上述欧氏距离计算法外,还可以通过RGB平方法、CIELab色差计算公式(如:CIELab 76、CIELab 94)、CIEDE 2000进行计算,本申请实施例对色差计算方式不做限定。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过终端的摄像头对待采集物体进行拍摄,并对待采集物体的三维信息进行采集后,根据该三维信息生成该待采集物体的特征点云,在虚拟环境中通过在特征点云对应的区域内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
本实施例提供的方法,通过将特征点云对应的包围盒进行切片处理,得到体素区域,并对该体素区域通过体素块进行填充,以切片方式确定该目标物体的切分细度,提高了物体的构建效率,以及物体构建的准确率。
图9是本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的整体流程图,以该方法应用于终端中为例进行说明,如图9所示,该方法包括:
步骤901,通过终端摄像头进行拍摄,得到深度信息和图像信息。
可选地,该终端摄像头为深度摄像头,通过该摄像头对待采集物体进行拍摄,得到该待采集物体的深度信息和图像信息,其中,深度信息用于表示该待采集图像的三维信息,该图像信息用于表示该待采集图像的颜色信息。
步骤902,根据深度信息和图像信息生成特征点云。
可选地,根据深度信息和图像信息确定图像中每个像素点在三维空间中的位置,并根据每个像素点的位置生成该特征点云,具体生成方式在上述步骤604中已进行了详细说明,此处不再赘述。
步骤903,对特征点云对应的包围盒进行切片处理。
可选地,该切片处理用于对特征点云对应的包围盒进行三维切片得到体素区域,可选地,该三维切片的切片方式用于确定待构建的目标物体的细化程度,也即该目标物体与待采集物体之间的相似度。
步骤904,对体素区域进行体素包含检查。
可选地,该体素包含检查用于根据体素区域中包含的像素点的数量确定该体素区域中是否需要填充体素块。
可选地,该体素包含检查还用于确定该体素区域中包含的体素块的颜色。
步骤905,对目标物体进行位置设置。
可选地,该位置设置可以通过对特征点云在所述虚拟环境中进行拖动进行确定,也可以在上述步骤后生成该目标物体进行预览,并通过对该目标物体在虚拟环境中进行拖动从而确定该目标物体在虚拟环境中的显示位置。
步骤906,根据位置设置确定目标物体的位置。
步骤907,显示该目标物体。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
图10是本申请一个示例性实施例提供的终端的结构框图,如图10所示,该终端包括:处理器1010、显示屏1020、存储器1030以及摄像头1040;
其中,处理器1010包括CPU和GPU,CPU主要负责实现终端的计算任务,GPU主要负责实现终端的显示任务,即GPU负责根据CPU传递的数据对显示内容进行渲染,并通过显示屏1020对显示内容进行显示。
可选地,该终端中安装有基于Unity引擎1031开发的沙盒游戏应用程序1032,该沙盒游戏应用程序1032中提供有虚拟环境,虚拟对象在该沙盒游戏应用程序1032的虚拟环境中可以通过体素块对虚拟物体进行搭建,并通过CPU以及GPU对搭建的虚拟物体在虚拟环境中进行显示。用户也可以通过本申请实施例中提供的基于虚拟环境的物体构建方法,通过摄像头1040采集待采集图像的深度信息以及图像信息,并根据深度信息和图像信息生成特征点云以填充体素块,在该沙盒游戏应用程序1032的虚拟环境中显示该待采集物体对应的目标物体。
图11是本申请一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图,以该装置应用于设置有摄像头的终端中为例进行说明,如图11所示,该装置包括:显示模块1110和接收模块1120;
显示模块1110,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收模块1120,用于接收拍摄操作,所述拍摄操作用于通过所述摄像头对待采集物体的三维信息进行采集,得到所述待采集物体的特征点云,所述特征点云用于对待构建的目标物体的样式进行确定;
所述接收模块1120,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块1110,还用于根据所述拍摄操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述特征点云对应的区域内进行填充得到的。
在一个可选的实施例中,所述接收模块1120,还用于接收在所述待采集物体周侧对n帧图像的拍摄操作,所述n帧图像中包括环绕所述待采集物体拍摄得到的图像,n为正整数;
如图12所示,所述装置,还包括:
生成模块1130,用于根据所述n帧图像中每帧图像对应的深度信息生成所述特征点云,所述深度信息用于结合所述图像以表示所述待采集物体的所述三维信息;或,通过所述n帧图像对所述待采集物体进行三维重建,得到所述特征点云。
在一个可选的实施例中,所述生成模块1130,还用于确定拍摄所述n帧图像中的每帧图像时所述摄像头所处的相对位置,其中,所述相对位置是根据所述摄像头拍摄关键帧图像时的位置关系确定的;
所述生成模块1130,还用于根据所述n帧图像中每帧图像中的像素点的位置、所述像素点对应的所述深度信息以及所述摄像头的所述相对位置,对所述像素点在三维空间中的位置进行确定;
所述生成模块1130,还用于根据每个所述像素点在所述三维空间中的位置得到所述特征点云。
在一个可选的实施例中,所述接收模块1120,还用于接收围绕所述待采集物体的视频拍摄操作,所述视频拍摄操作拍摄得到的视频流中包括所述n帧图像;
或,
所述接收模块1120,还用于接收在所述待采集物体周侧的定点拍摄操作,所述定点拍摄操作用于围绕所述待采集物体在指定位置对所述n帧图像进行拍摄。
在一个可选的实施例中,所述接收模块1120,还用于接收三维切片操作,得到每个维度对应的切片方式,所述三维切片操作用于根据所述切片方式对所述特征点云对应的包围盒进行三维切片;
所述装置,还包括:
确定模块1140,用于根据所述三维切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域用于通过所述体素块进行填充;
填充模块1150,用于根据所述体素区域与所述特征点云中的像素点的包含关系,向所述体素区域中填充所述体素块。
在一个可选的实施例中,所述接收模块1120,还用于接收切片数量输入操作,所述切片数量输入操作包括对所述特征点云的三个维度的所述切片数量的输入操作;根据所述切片数量输入操作对所述包围盒通过所述切片数量进行所述三维切片;
或,
所述接收模块1120,还用于接收滑动切片操作,根据所述滑动切片操作对所述包围盒进行所述三维切片;
其中,每个维度对应的所述切片数量用于对所述特征点云生成所述目标物体的细化程度进行确定。
在一个可选的实施例中,所述填充模块1150,还用于当所述体素区域中包含的所述像素点的数量大于预设数量时,向所述体素区域中填充所述体素块。
在一个可选的实施例中,所述填充模块1150,还用于确定所述体素区域中包含的所述像素点的加权平均颜色,得到目标颜色,将颜色与所述目标颜色最接近的所述体素块作为填充在所述体素区域中的所述体素块;
或,
所述填充模块1150,还用于根据所述体素区域中包含的像素点的颜色分布,确定分布占比最高的颜色作为所述目标颜色,将颜色与所述目标颜色最接近的所述体素块作为填充在所述体素区域中的所述体素块。
综上所述,本实施例提供的基于虚拟环境的物体构建装置,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
需要说明的是:上述实施例提供的基于虚拟环境的物体构建装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于虚拟环境的物体构建装置与基于虚拟环境的物体构建方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13示出了本发明一个示例性实施例提供的终端1300的结构框图。该终端1300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的基于虚拟环境的物体构建方法。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图7任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图7任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图7任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如图3、图6以及图7任一所述的基于虚拟环境的物体构建方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种基于虚拟环境的物体构建方法,其特征在于,应用于设置有摄像头的终端中,所述方法包括:
显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收拍摄操作,所述拍摄操作用于通过所述摄像头对待采集物体的三维信息进行采集,得到所述待采集物体的特征点云,所述特征点云用于对待构建的目标物体的样式进行确定;
接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
根据所述拍摄操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述特征点云对应的区域内进行填充得到的。
2.根据权利要求1所述的方法,其特征在于,所述接收拍摄操作,包括:
接收在所述待采集物体周侧对n帧图像的拍摄操作,所述n帧图像中包括环绕所述待采集物体拍摄得到的图像,n为正整数;
根据所述n帧图像中每帧图像对应的深度信息生成所述特征点云,所述深度信息用于结合所述图像以表示所述待采集物体的所述三维信息;或,通过所述n帧图像对所述待采集物体进行三维重建,得到所述特征点云。
3.根据权利要求2所述的方法,其特征在于,所述根据所述n帧图像中每帧图像对应的深度信息生成所述特征点云,包括:
确定拍摄所述n帧图像中的每帧图像时所述摄像头所处的相对位置,其中,所述相对位置是根据与所述摄像头拍摄关键帧图像时的位置关系确定的;
根据所述n帧图像中每帧图像中的像素点的位置、所述像素点对应的所述深度信息以及所述摄像头的所述相对位置,对所述像素点在三维空间中的位置进行确定;
根据每个所述像素点在所述三维空间中的位置得到所述特征点云。
4.根据权利要求2所述的方法,其特征在于,所述接收在所述待采集物体周侧对n帧图像的拍摄操作,包括:
接收围绕所述待采集物体的视频拍摄操作,所述视频拍摄操作拍摄得到的视频流中包括所述n帧图像;
或,
接收在所述待采集物体周侧的定点拍摄操作,所述定点拍摄操作用于围绕所述待采集物体在指定位置对所述n帧图像进行拍摄。
5.根据权利要求1至4任一所述的方法,其特征在于,所述体素块在所述特征点云对应的区域内进行填充的方法包括:
接收三维切片操作,得到每个维度对应的切片方式,所述三维切片操作用于根据所述切片方式对所述特征点云对应的包围盒进行三维切片;
根据所述三维切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域用于通过所述体素块进行填充;
根据所述体素区域与所述特征点云中的像素点的包含关系,向所述体素区域中填充所述体素块。
6.根据权利要求5所述的方法,其特征在于,所述接收三维切片操作,包括:
接收切片数量输入操作,所述切片数量输入操作包括对所述特征点云的三个维度的所述切片数量的输入操作;根据所述切片数量输入操作对所述包围盒通过所述切片数量进行所述三维切片;
或,
接收滑动切片操作,根据所述滑动切片操作对所述包围盒进行所述三维切片;
其中,每个维度对应的所述切片数量用于对所述特征点云生成所述目标物体的细化程度进行确定。
7.根据权利要求5所述的方法,其特征在于,所述根据所述体素区域与所述特征点云中的像素点的包含关系,向所述体素区域中填充所述体素块,包括:
当所述体素区域中包含的所述像素点的数量大于预设数量时,向所述体素区域中填充所述体素块。
8.根据权利要求7所述的方法,其特征在于,所述向所述体素区域中填充所述体素块,包括:
确定所述体素区域中包含的所述像素点的加权平均颜色,得到目标颜色,将颜色与所述目标颜色最接近的所述体素块作为填充在所述体素区域中的所述体素块;
或,
根据所述体素区域中包含的像素点的颜色分布,确定分布占比最高的颜色作为所述目标颜色,将颜色与所述目标颜色最接近的所述体素块作为填充在所述体素区域中的所述体素块。
9.一种基于虚拟环境的物体构建装置,其特征在于,应用于设置有摄像头的终端中,所述装置包括:
显示模块,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收模块,用于接收拍摄操作,所述拍摄操作用于通过所述摄像头对待采集物体的三维信息进行采集,得到所述待采集物体的特征点云,所述特征点云用于对待构建的目标物体的样式进行确定;
所述接收模块,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块,还用于根据所述拍摄操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述特征点云对应的区域内进行填充得到的。
10.根据权利要求9所述的装置,其特征在于,所述接收模块,还用于接收在所述待采集物体周侧对n帧图像的拍摄操作,所述n帧图像中包括环绕所述待采集物体拍摄得到的图像,n为正整数;
所述装置,还包括:
生成模块,用于根据所述n帧图像中每帧图像对应的深度信息生成所述特征点云,所述深度信息用于结合所述图像以表示所述待采集物体的所述三维信息;或,通过所述n帧图像对所述待采集物体进行三维重建,得到所述特征点云。
11.根据权利要求10所述的装置,其特征在于,所述生成模块,还用于确定单元,用于确定拍摄所述n帧图像中的每帧图像时所述摄像头所处的相对位置,其中,所述相对位置是根据所述摄像头拍摄关键帧图像时的位置关系确定的;
所述生成模块,还用于根据所述n帧图像中每帧图像中的像素点的位置、所述像素点对应的所述深度信息以及所述摄像头的所述相对位置,对所述像素点在三维空间中的位置进行确定;
所述生成模块,还用于根据每个所述像素点在所述三维空间中的位置得到所述特征点云。
12.根据权利要求10所述的装置,其特征在于,所述接收模块,还用于接收围绕所述待采集物体的视频拍摄操作,所述视频拍摄操作拍摄得到的视频流中包括所述n帧图像;
或,
所述接收模块,还用于接收在所述待采集物体周侧的定点拍摄操作,所述定点拍摄操作用于围绕所述待采集物体在指定位置对所述n帧图像进行拍摄。
13.根据权利要求9至12任一所述的装置,其特征在于,所述接收模块,还用于接收三维切片操作,得到每个维度对应的切片方式,所述三维切片操作用于根据所述切片方式对所述特征点云对应的包围盒进行三维切片;
所述装置,还包括:
确定模块,用于根据所述三维切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域用于通过所述体素块进行填充;
填充模块,用于根据所述体素区域与所述特征点云中的像素点的包含关系,向所述体素区域中填充所述体素块。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的基于虚拟环境的物体构建方法。
15.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的基于虚拟环境的物体构建方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910340401.4A CN110064200B (zh) | 2019-04-25 | 2019-04-25 | 基于虚拟环境的物体构建方法、装置及可读存储介质 |
PCT/CN2020/074910 WO2020215858A1 (zh) | 2019-04-25 | 2020-02-12 | 基于虚拟环境的物体构建方法、装置、计算机设备及可读存储介质 |
EP20794587.4A EP3960261A4 (en) | 2019-04-25 | 2020-02-12 | OBJECT CONSTRUCTION METHOD AND DEVICE BASED ON VIRTUAL ENVIRONMENT, COMPUTER DEVICE AND READABLE STORAGE MEDIUM |
US17/345,366 US12059615B2 (en) | 2019-04-25 | 2021-06-11 | Virtual-environment-based object construction method and apparatus, computer device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910340401.4A CN110064200B (zh) | 2019-04-25 | 2019-04-25 | 基于虚拟环境的物体构建方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110064200A true CN110064200A (zh) | 2019-07-30 |
CN110064200B CN110064200B (zh) | 2022-02-22 |
Family
ID=67369031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910340401.4A Active CN110064200B (zh) | 2019-04-25 | 2019-04-25 | 基于虚拟环境的物体构建方法、装置及可读存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12059615B2 (zh) |
EP (1) | EP3960261A4 (zh) |
CN (1) | CN110064200B (zh) |
WO (1) | WO2020215858A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111599223A (zh) * | 2020-06-12 | 2020-08-28 | 浙江商汤科技开发有限公司 | 沙盘展示系统及沙盘展示方法 |
WO2020215858A1 (zh) * | 2019-04-25 | 2020-10-29 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的物体构建方法、装置、计算机设备及可读存储介质 |
CN112085823A (zh) * | 2020-09-01 | 2020-12-15 | 上海擎朗智能科技有限公司 | 一种激光地图的拼接方法、装置、电子设备及存储介质 |
CN112308103A (zh) * | 2019-08-02 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 生成训练样本的方法和装置 |
CN112947238A (zh) * | 2021-03-15 | 2021-06-11 | 哈尔滨工业大学 | 一种基于vr技术的工业机器人实时控制系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429553B (zh) * | 2020-04-22 | 2024-03-29 | 同济大学建筑设计研究院(集团)有限公司 | 动画预览方法、装置、计算机设备和存储介质 |
CN115526925A (zh) * | 2021-06-26 | 2022-12-27 | 华为技术有限公司 | 建模方法及相关电子设备及存储介质 |
US20230274494A1 (en) * | 2022-02-25 | 2023-08-31 | Adobe Inc. | Cropping for efficient three-dimensional digital rendering |
CN114863037B (zh) * | 2022-07-06 | 2022-10-11 | 杭州像衍科技有限公司 | 基于单手机的人体三维建模数据采集与重建方法及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971404A (zh) * | 2014-04-14 | 2014-08-06 | 浙江工业大学 | 一种高性价比的3d实景复制装置 |
US9779479B1 (en) * | 2016-03-31 | 2017-10-03 | Umbra Software Oy | Virtual reality streaming |
CN108122275A (zh) * | 2017-12-22 | 2018-06-05 | 清华大学 | 基于骨架跟踪的动态实时三维人体重建方法及系统 |
CN108136257A (zh) * | 2015-08-17 | 2018-06-08 | 乐高公司 | 创建虚拟游戏环境的方法和采用该方法的互动游戏系统 |
WO2018148924A1 (zh) * | 2017-02-17 | 2018-08-23 | 深圳市大疆创新科技有限公司 | 用于三维点云重建的方法和装置 |
CN108537876A (zh) * | 2018-03-05 | 2018-09-14 | 清华-伯克利深圳学院筹备办公室 | 基于深度相机的三维重建方法、装置、设备及存储介质 |
CN108550181A (zh) * | 2018-03-12 | 2018-09-18 | 中国科学院自动化研究所 | 移动设备上在线跟踪与稠密重建方法、系统及设备 |
CN108596948A (zh) * | 2018-03-16 | 2018-09-28 | 中国科学院自动化研究所 | 基于深度相机识别人体头部姿态的方法及装置 |
CN108694741A (zh) * | 2017-04-07 | 2018-10-23 | 杭州海康威视数字技术股份有限公司 | 一种三维重建方法及装置 |
CN109003325A (zh) * | 2018-06-01 | 2018-12-14 | 网易(杭州)网络有限公司 | 一种三维重建的方法、介质、装置和计算设备 |
CN109410316A (zh) * | 2018-09-21 | 2019-03-01 | 深圳前海达闼云端智能科技有限公司 | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 |
CN109584362A (zh) * | 2018-12-14 | 2019-04-05 | 北京市商汤科技开发有限公司 | 三维模型构建方法及装置、电子设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10702216B2 (en) * | 2010-06-08 | 2020-07-07 | Styku, LLC | Method and system for body scanning and display of biometric data |
CN104080401B (zh) * | 2011-11-17 | 2016-08-24 | 泰克梅德3D公司 | 生成人体对象虚拟模型的方法及系统 |
US9852543B2 (en) * | 2015-03-27 | 2017-12-26 | Snap Inc. | Automated three dimensional model generation |
EP3481519A1 (en) * | 2016-07-05 | 2019-05-15 | Lego A/S | Method for creating a virtual object |
GB2562101B (en) * | 2017-05-05 | 2020-07-01 | Sony Interactive Entertainment Inc | System and method of 3D print modelling |
JP6433559B1 (ja) * | 2017-09-19 | 2018-12-05 | キヤノン株式会社 | 提供装置および提供方法、プログラム |
CN110064200B (zh) * | 2019-04-25 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的物体构建方法、装置及可读存储介质 |
-
2019
- 2019-04-25 CN CN201910340401.4A patent/CN110064200B/zh active Active
-
2020
- 2020-02-12 EP EP20794587.4A patent/EP3960261A4/en active Pending
- 2020-02-12 WO PCT/CN2020/074910 patent/WO2020215858A1/zh unknown
-
2021
- 2021-06-11 US US17/345,366 patent/US12059615B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103971404A (zh) * | 2014-04-14 | 2014-08-06 | 浙江工业大学 | 一种高性价比的3d实景复制装置 |
CN108136257A (zh) * | 2015-08-17 | 2018-06-08 | 乐高公司 | 创建虚拟游戏环境的方法和采用该方法的互动游戏系统 |
US9779479B1 (en) * | 2016-03-31 | 2017-10-03 | Umbra Software Oy | Virtual reality streaming |
WO2018148924A1 (zh) * | 2017-02-17 | 2018-08-23 | 深圳市大疆创新科技有限公司 | 用于三维点云重建的方法和装置 |
CN108694741A (zh) * | 2017-04-07 | 2018-10-23 | 杭州海康威视数字技术股份有限公司 | 一种三维重建方法及装置 |
CN108122275A (zh) * | 2017-12-22 | 2018-06-05 | 清华大学 | 基于骨架跟踪的动态实时三维人体重建方法及系统 |
CN108537876A (zh) * | 2018-03-05 | 2018-09-14 | 清华-伯克利深圳学院筹备办公室 | 基于深度相机的三维重建方法、装置、设备及存储介质 |
CN108550181A (zh) * | 2018-03-12 | 2018-09-18 | 中国科学院自动化研究所 | 移动设备上在线跟踪与稠密重建方法、系统及设备 |
CN108596948A (zh) * | 2018-03-16 | 2018-09-28 | 中国科学院自动化研究所 | 基于深度相机识别人体头部姿态的方法及装置 |
CN109003325A (zh) * | 2018-06-01 | 2018-12-14 | 网易(杭州)网络有限公司 | 一种三维重建的方法、介质、装置和计算设备 |
CN109410316A (zh) * | 2018-09-21 | 2019-03-01 | 深圳前海达闼云端智能科技有限公司 | 物体的三维重建的方法、跟踪方法、相关装置及存储介质 |
CN109584362A (zh) * | 2018-12-14 | 2019-04-05 | 北京市商汤科技开发有限公司 | 三维模型构建方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
MINECRAFT[我的世界]: "【我的世界0.15周边】像素画生成器-墨栀", 《HTTPS://WWW.IQIYI.COM/W_19RUC9DGWH.HTML》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020215858A1 (zh) * | 2019-04-25 | 2020-10-29 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的物体构建方法、装置、计算机设备及可读存储介质 |
US12059615B2 (en) | 2019-04-25 | 2024-08-13 | Tencent Technology (Shenzhen) Company Limited | Virtual-environment-based object construction method and apparatus, computer device, and computer-readable storage medium |
CN112308103A (zh) * | 2019-08-02 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 生成训练样本的方法和装置 |
CN112308103B (zh) * | 2019-08-02 | 2023-10-20 | 杭州海康威视数字技术股份有限公司 | 生成训练样本的方法和装置 |
CN111599223A (zh) * | 2020-06-12 | 2020-08-28 | 浙江商汤科技开发有限公司 | 沙盘展示系统及沙盘展示方法 |
CN112085823A (zh) * | 2020-09-01 | 2020-12-15 | 上海擎朗智能科技有限公司 | 一种激光地图的拼接方法、装置、电子设备及存储介质 |
CN112085823B (zh) * | 2020-09-01 | 2024-05-24 | 上海擎朗智能科技有限公司 | 一种激光地图的拼接方法、装置、电子设备及存储介质 |
CN112947238A (zh) * | 2021-03-15 | 2021-06-11 | 哈尔滨工业大学 | 一种基于vr技术的工业机器人实时控制系统 |
CN112947238B (zh) * | 2021-03-15 | 2021-11-09 | 哈尔滨工业大学 | 一种基于vr技术的工业机器人实时控制系统 |
US11986968B2 (en) | 2021-03-15 | 2024-05-21 | Harbin Institute Of Technology | Real-time control system for industrial robot based on virtual reality (VR) |
Also Published As
Publication number | Publication date |
---|---|
EP3960261A4 (en) | 2022-07-13 |
EP3960261A1 (en) | 2022-03-02 |
WO2020215858A1 (zh) | 2020-10-29 |
CN110064200B (zh) | 2022-02-22 |
US12059615B2 (en) | 2024-08-13 |
US20210299560A1 (en) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110064200A (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
EP3786892B1 (en) | Method, device and apparatus for repositioning in camera orientation tracking process, and storage medium | |
EP3779883B1 (en) | Method and device for repositioning in camera orientation tracking process, and storage medium | |
CN109685876B (zh) | 毛发渲染方法、装置、电子设备及存储介质 | |
CN109308727B (zh) | 虚拟形象模型生成方法、装置及存储介质 | |
CN108734736A (zh) | 相机姿态追踪方法、装置、设备及存储介质 | |
CN110276840A (zh) | 多虚拟角色的控制方法、装置、设备及存储介质 | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
CN108537845A (zh) | 位姿确定方法、装置及存储介质 | |
CN103582893B (zh) | 用于增强现实表示的二维图像获取 | |
CN109947886A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110097576A (zh) | 图像特征点的运动信息确定方法、任务执行方法和设备 | |
CN109767487A (zh) | 人脸三维重建方法、装置、电子设备及存储介质 | |
CN108376424A (zh) | 用于对三维虚拟环境进行视角切换的方法、装置、设备及存储介质 | |
CN108499105A (zh) | 在虚拟环境中进行视角调整的方法、装置及存储介质 | |
CN109829456A (zh) | 图像识别方法、装置及终端 | |
CN109978936A (zh) | 视差图获取方法、装置、存储介质及设备 | |
CN110047152A (zh) | 基于虚拟环境的物体构建方法、装置及可读存储介质 | |
CN109712224A (zh) | 虚拟场景的渲染方法、装置及智能设备 | |
WO2022052620A1 (zh) | 图像生成方法及电子设备 | |
CN110135336A (zh) | 行人生成模型的训练方法、装置及存储介质 | |
CN109815150A (zh) | 应用测试方法、装置、电子设备及存储介质 | |
CN110400304A (zh) | 基于深度学习的物体检测方法、装置、设备及存储介质 | |
CN110335224A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN109886208A (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 |