CN106663334B - 通过计算装置执行的方法、移动通信装置和存储介质 - Google Patents

通过计算装置执行的方法、移动通信装置和存储介质 Download PDF

Info

Publication number
CN106663334B
CN106663334B CN201480079941.7A CN201480079941A CN106663334B CN 106663334 B CN106663334 B CN 106663334B CN 201480079941 A CN201480079941 A CN 201480079941A CN 106663334 B CN106663334 B CN 106663334B
Authority
CN
China
Prior art keywords
sculpture
vertex
force
determining
force vector
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
Application number
CN201480079941.7A
Other languages
English (en)
Other versions
CN106663334A (zh
Inventor
P·萨斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN106663334A publication Critical patent/CN106663334A/zh
Application granted granted Critical
Publication of CN106663334B publication Critical patent/CN106663334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/28Force feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

通过计算装置执行的方法、移动通信装置和存储介质。一种通过移动通信装置执行的方法可以包括:从深度相机捕获一个或更多个图像,其中,所述一个或更多个图像包括深度信息。所述方法还可以包括:生成针对所捕获的一个或更多个图像中的实体的初始雕塑;使用所述深度信息对所生成的初始雕塑执行光线投射处理;以及基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑。

Description

通过计算装置执行的方法、移动通信装置和存储介质
技术领域
本发明涉及使用网格雕塑利用深度相机进行3D扫描的技术。
背景技术
诸如移动通信装置的电子装置可以包括不同类型的相机,以使得用户能够捕获图像或视频。可以包括在移动通信装置上的一种类型的相机是深度相机。深度相机可以捕获包括深度信息的图像。深度信息可以被用于例如改变图像的焦点。
发明内容
根据一个方面,一种由计算装置执行的方法可以包括以下步骤:通过所述计算装置从深度相机捕获一个或更多个图像,其中,所述一个或更多个图像包括深度信息;通过所述计算机装置生成针对所捕获的一个或更多个图像中的实体的初始雕塑;通过所述计算机装置使用所述深度信息对所生成的初始雕塑执行光线投射处理;以及通过所述计算机装置基于所述光线投射处理来使所述初始雕塑变形,以生成针对所述实体的雕塑。
另外,执行所述光线投射处理的步骤和使所述初始雕塑变形的步骤可以使用所述一个或更多个图像中的特定图像来执行。
另外,所述初始雕塑可以包括具有顶点和三角面的网格多边形,并且使用所述深度信息对所生成的初始雕塑执行所述光线投射处理可以包括以下步骤:将光线从原点投射到包括在所述深度信息中的特定数据点;确定投射的所述光线与所述网格多边形的特定三角面的交叉点;计算使所述交叉点移动到所述特定数据点的力矢量;以及基于所计算的力矢量来确定针对所述特定三角面的顶点的顶点力矢量。
另外,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑可以包括以下步骤:将针对所述网格多边形的特定顶点的顶点力矢量相加;以及基于相加的力矢量通过使所述特定顶点移动来使所述初始雕塑变形。
另外,所捕获的一个或更多个图像可以包括颜色信息,并且所述方法还可以包括:基于所述颜色信息来确定针对所述特定三角面的颜色信息。
另外,基于所述颜色信息确定针对所述特定三角面的所述颜色信息可以包括以下步骤:基于所述颜色信息生成三维UV图;以及将所生成的三维UV图映射到针对所述实体的所述雕塑上。
另外,所述方法还可以包括以下步骤:确定所计算的力矢量是否具有小于力量值阈值的量值;以及当所计算的力矢量具有小于力量值阈值的量值时,在确定所述顶点力矢量时忽略所计算的力矢量。
另外,所述方法还可以包括以下步骤:确定所计算的力矢量与所述特定三角面之间的角度;确定所述角度是否小于角度阈值;以及当所述角度小于所述角度阈值时,在确定所述顶点力矢量时忽略所计算的力矢量。
另外,所述方法还可以包括以下步骤:将稳定性值分配给所述顶点,其中,所述稳定性值基于所述顶点已经变形的程度的度量;以及基于所分配的稳定性值按比例缩放所述顶点力矢量。
另外,所述方法还可以包括以下步骤:确定与所述顶点相关联的边比边长度阈值更短;以及响应于确定与所述顶点相关联的所述边比所述边长度阈值更短,将与所述边平行的边缘力相加到所述顶点力矢量。
另外,所述方法还可以包括以下步骤:消除所述顶点力矢量的与投射的所述光线不平行的分量。
另外,所述方法还可以包括以下步骤:确定所述顶点与形成比角度阈值更小的角度的至少两个边相关联;以及通过关于所述顶点朝向所述至少两个边的远端之间的中点施加力来使所述顶点平滑。
另外,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑的步骤可以包括:计算针对所述顶点的张力值,其中,所述张力值基于在所述顶点处施加的力的总和的量值与在所述顶点处施加的力的量值的总和的比率;确定所述张力值是否高于张力阈值;以及当所述张力值高于所述张力阈值时,将所述特定三角面细化成两个更小的三角面。
另外,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑可以包括:确定所述特定三角面与比边长度阈值更长的边相关联;以及当所述边比所述边长度阈值更长时,将所述特定三角面细化成两个更小的三角面。
另外,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑可以包括:确定与所述特定三角面相关联的边比边长度阈值更短;以及响应于确定所述边比所述边长度阈值更短,从所述网格多边形去除所述边。
另外,使用所述深度信息对所生成的初始雕塑执行所述光线投射处理可以包括:使用图形处理单元来执行所述光线投射处理。
根据另一方面,一种移动通信装置可以包括逻辑部,该逻辑部被配置为:从深度相机捕获一个或更多个图像,其中,所述一个或更多个图像包括深度信息;生成针对所捕获的一个或更多个图像中的实体的初始雕塑;使用所述深度信息对所生成的初始雕塑执行光线投射处理;以及基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑。
另外,所述初始雕塑可以包括具有顶点和三角面的网格多边形,并且当使用所述深度信息对所生成的初始雕塑执行所述光线投射处理时,所述逻辑部还可以被配置为:将光线从原点投射到包括在所述深度信息中的特定数据点;确定所投射的光线与所述网格多边形的特定三角面的交叉点;计算使所述交叉点移动到所述特定数据点的力矢量;以及基于所计算的力矢量来确定针对所述特定三角面的顶点的顶点力矢量。
另外,当基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑时,所述逻辑部还可以被配置为:将针对所述网格多边形的特定顶点的顶点力矢量相加;以及基于相加的力矢量通过使所述特定顶点移动使所述初始雕塑变形。
根据又一方面,一种非暂时性计算机可读存储装置,其存储能够通过处理器执行的指令,所述指令可以包括:从深度相机捕获一个或更多个图像的一个或更多个指令,其中,所述一个或更多个图像包括深度信息;生成针对所捕获的一个或更多个图像中的实体的初始雕塑的一个或更多个指令,其中,所述初始雕塑包括具有顶点和三角面的网格多边形;将光线从原点投射到包括在所述深度信息中的特定数据点的一个或更多个指令;确定所投射的光线与所述网格多边形的特定三角面的交叉点的一个或更多个指令;计算使所述交叉点移动到所述特定数据点的力矢量的一个或更多个指令;基于所计算的力矢量来确定针对所述特定三角面的顶点的顶点力矢量的一个或更多个指令;以及基于相加的力矢量通过使所述顶点移动来使所述初始雕塑变形的一个或更多个指令。
附图说明
[图1A]图1A是示出根据本文中所描述的实现的光线投射处理和变形的概述的视图;
[图1B]图1B是示出根据本文中所描述的实现的光线投射处理和变形的概述的视图;
[图2A]图2A是示出根据本文中所描述的实现的示例性移动通信装置的视图;
[图2B]图2B是示出根据本文中所描述的实现的示例性移动通信装置的视图;
[图3]图3是示出图2中的移动通信装置的示例性组件的视图;
[图4]图4是示出图2中的移动通信装置的示例性功能组件的视图;
[图5]图5是根据本文中所描述的实现的用于指导用户进行生成雕塑的处理的示例性处理的流程图。
[图6]图6是根据本文中所描述的实现的用于基于所捕获的图像生成雕塑的示例性处理的流程图。
[图7]图7是根据本文中所描述的实现的用于使雕塑变形的示例性处理的流程图;
[图8A]图8A是示出根据本文中所描述的实现的使雕塑变形的示例性技术的视图;
[图8B]图8B是示出根据本文中所描述的实现的使雕塑变形的示例性技术的视图;
[图9A]图9A是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图9B]图9B是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图10A]图10A是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图10B]图10B是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图10C]图10C是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图11A]图11A是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图11B]图11B是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图11C]图11C是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图12A]图12A是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图12B]图12B是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图12C]图12C是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图13A]图13A是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图13B]图13B是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图13C]图13C是示出根据本文中所描述的实现的使雕塑变形的另一示例性技术的视图;
[图14A]图14A是根据本文中所描述的实现的示例性物体和相应3D雕塑的视图;以及
[图14B]图14B是根据本文中所描述的实现的示例性物体和相应3D雕塑的视图。
具体实施方式
以下详细描述涉及附图。不同附图中的相同附图标记识别相同或类似元件。
深度相机可以捕获具有深度信息的图像。例如,所捕获的图像的像素可以包括颜色信息(例如,RGB信息)和深度信息(例如,离相机传感器的距离)。深度信息可以被用来生成所捕获的图像中的实体(例如物体、人的头、结构和/或其它类型的实体)的三维(3D)模型。可以从多个角度捕获实体的多个图像,以便获得必要信息来生成3D模型。
用于生成3D模型的一种方法是使用点云。点云是具有额外属性(诸如颜色信息)的3D点的集合。点云可以通过遍历图像来生成。对于每个像素,从像素的二维XY坐标和针对像素的深度信息估计针对点的3D坐标。然后可以使用诸如迭代最近点(ICP)方法的方法来对准从每个图像、从针对实体获得的图像的集合生成的点云。ICP方法可以用于估计对准来自第一图像的点云与第二图像的点云所需的旋转和平移。然而,使用ICP方法来生成3D模型可能不是令人满意的。例如,深度信息可以与高等级噪声相关联并且点云的对准可以导致很多误差。
本文中描述的实现涉及使用网格雕塑利用深度相机的3D扫描。具有深度相机的计算机装置(诸如移动通信装置)可以用来捕获要针对其生成3D模型的实体(诸如物体或人的头)的一个或更多个图像。例如,用户可以选择显示在装置上的图像中的实体,并且可以请求该装置生成实体的3D模型。该装置然后可以生成针对实体的初始雕塑。初始雕塑可以是由三角形构建的网格多边形。例如,初始雕塑可以是二十面体或者类似球体的另一种类型的多边形。初始雕塑可以对应于针对所选择实体的所估计尺寸和位置。可以对初始雕塑执行光线投射处理,并且可以使初始雕塑变形成为与所选实体的3D模型相对应的雕塑。
图1A和图1B是示出根据本文中所描述的实现的光线投射处理和变形处理的概述的视图。如图1中所示,光线投射场景101可以包括数据点110和初始雕塑120。数据点110可以对应于包括深度信息的所捕获的图像的数据点。例如,数据点110的XY坐标可以基于所捕获的图像中的像素的XY坐标,并且Z坐标可以基于针对像素的深度距离。雕塑120可以对应于具有由顶点125限定的三角面的网格多边形。每个三角面可以由三个顶点125限定并且每个顶点125可以由XYZ坐标集限定。雕塑120可以最初被生成为类似于球体的网格多边形,诸如具有20个三角面的二十面体。最初,雕塑120可以基于所捕获的图像中的要针对其生成3D模型的实体的所估计尺寸和位置被定位和调整大小。
可以如下执行光线投射处理。对于特定数据点110,可以将光线130从原点投射到数据点110,并且可以计算光线与雕塑120的交叉点(即,光线与雕塑12的一个表面相遇的点)。原点可以例如被限定为捕获图像的相机传感器的位置。可以基于从交叉点135到数据点110的距离来计算力矢量140。可以针对图像中的每个数据点110来执行光线投射处理。
继续图1B,变形场景102可以包括针对雕塑120的每个顶点来计算顶点力145。针对特定顶点125的顶点力145可以基于针对与特定顶点125相关联的三角面确定的力矢量140。例如,图1A中的力140可以确定组成包括交叉点135的面的顶点125的顶点力145。如图1B中所示,顶点力145可以用来通过使顶点125移动到变形顶点155使雕塑120变形。
为了说明的目的,在图1A中示出仅一个投射光线130和一个力矢量140,并且在图1B中示出从力矢量140得到的仅一个顶点力145。实际上,顶点125可以经受多个顶点力。顶点125可以与多个面相关联。例如,在二十面体中,每个顶点与五个面相关联。由于通过将光线130投射到每个数据点110来处理针对图像的数据点110,每个面可以包括多个交叉点135。针对雕塑120的特定面的力矢量140可以相加并且可以被用于确定针对特定面的顶点125的顶点力145。针对特定顶点125的面的力可以相加以确定针对特定顶点125的顶点力1445。
尽管图1A中的力140被示出为推力并且顶点力145被示出为正在沿朝向数据点110的方向推动顶点125,如果数据点出现在面前面,则所得到的力可以是拉力。因此,可以基于每个顶点125经受的力的总和来推动或拉动顶点125。在通过投射光线,确定交叉点,确定力矢量,确定顶点力并且基于所确定的顶点力使顶点变形之后,可以针对下一个图像重复该处理。为了生成针对实体的3D模型,可能需要从多个角度捕获图像。每个图像可以包括导致雕塑120的特定截面(section)的变形的数据点。因此,从不同角度得到的一系列图像可以按顺序被使用,以使雕塑120的截面变形来生成所选择实体的3D模型。
可以使用附加技术来改善雕塑的变形。附加技术可以包括以下中的一个或多个:忽略具有比力量值阈值更小的量值的力;忽略与雕塑的面形成小于角度阈值的角度的力;将稳定性值分配给顶点以基于所分配的稳定性值来测量顶点已经变形的程度并且按比例缩放顶点力;当与顶点相关联的边比边长度阈值更短时,将边缘力相加到顶点的顶点力矢量;消除顶点力矢量的与所投射的光线不平行的分量;当边形成小于角度阈值的角度时,通过朝向与顶点相关联的边的远端之间的中点施加力来使顶点平滑;当针对顶点的张力值高于张力阈值时,将雕塑的三角形细化成两个更小的三角形;当三角形的边比边长度阈值更长时,将雕塑的三角形细化成两个更小的三角形;当边比边长度阈值更短时,从网格多边形去除边;和/或另一种技术。此外,来自图像的颜色信息可以被应用至雕塑。例如,颜色信息可以用来生成UV图并且UV图可以被映射到变形的雕塑上。
本文中描述的实现可以在移动装置中实现。图2A和图2B是示出根据实现的示例性移动通信装置200的视图。图2A示出移动装置200的正视图,并且图2B示出移动装置200的后视图。尽管图2A和图2B将移动装置200示出为智能电话,但是在其它实现中,移动装置200可以包括不同类型的便携式通信装置(例如,移动电话、平板手机装置、可佩带计算机装置(例如,眼镜智能电话装置、腕表智能电话装置等)、全球定位系统(GPS)装置、和/或另一种类型的无线装置);膝上型计算机、平板计算机或者另一种类型的便携式计算机;媒体播放装置;便携式游戏系统;和/或具有深度相机的任何其它类型的计算机装置。此外,本文中描述的实现可以在不包括移动装置的计算机装置(例如台式计算机)、服务器装置和/或另一种类型的计算机装置中实现。如图2A和图2B中所示,移动装置200可以包括外壳210、触摸屏220、麦克风230、扬声器240和深度相机250。
外壳210可以包围移动装置200并且可以使移动装置200的组件免受外部元素(例如,湿气、灰尘等)的影响。触摸屏220可以包括显示装置和被配置为检测用户的触摸的输入装置。尽管图2A示出移动装置200具有触摸屏,但是在其它实现中,移动装置200可以不必须包括触摸屏。例如,移动装置200可以包括显示器和键盘和/或键区。触摸屏220可以包括液晶显示器(LCD)、电子墨水显示器(例如,电泳显示器)、电致发光显示器和/或另一种类型的显示器。此外,触摸屏220可以包括触摸传感器,诸如电容传感器(例如,表面电容传感器、投影式电容触摸传感器等)、电阻传感器(例如,模拟电阻传感器、数字电阻传感器等)、光学传感器(例如,光学成像传感器、背面散射光照明传感器、红外线格栅传感器、散射式表面照明传感器等)、声波传感器(例如,表面声波传感器、弯曲波传感器等)和/或另一种类型的触摸传感器。此外,触摸屏220可以包括感测被施加到触摸屏220的力的量的传感器,诸如压阻传感器。
麦克风230可以接收音频信号并且将所接收的音频信号转换成电信号以用于移动装置200。扬声器240可以从移动装置200内接收电信号并且基于所接收的电信号来生成音频信号。
移动装置200可以包括附加传感器(在图2A和图2B中未示出)。例如,移动装置200可以包括:一个或更多个倾斜传感器(诸如加速度计和/或陀螺仪),其被配置为感测移动装置200在空间中的倾斜、位置和/或取向;一个或更多个全球定位系统(GPS)接收器;一个或更多个磁场传感器(例如,以感测磁北);运动检测传感器,以感测移动装置200附近的运动;和/或其它类型的传感器。
深度相机250可以包括可见光相机、红外光相机、紫外光相机和/或另一种类型的相机的阵列。例如,深度相机250可以包括16个相机的4x4阵列。相机阵列可以用来通过例如视差检测和/或超限分辨技术来获得针对图像的深度信息。
虽然图2A和图2B示出了移动装置200的示例性部件,但是在其它实现中,移动装置200可以包括更少部件、不同部件、不同布置的部件或者除了图2A和图2B中描述的那些部件以外的其它部件。另外地或另选地,移动装置200的一个或更多个部件可以执行被描述为通过移动装置200的一个或更多个其它部件执行的功能。
图3是示出根据本文中描述的实现的移动装置200的示例性部件。如图3中所示,移动装置200可以包括处理单元310、存储器320、用户接口330、通信接口340、天线组件350和图形处理单元(GPU)360。
处理单元310可以包括一个或更多个处理器、微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或其它处理逻辑。处理单元310可以控制移动装置200及其部件的操作。
存储器320可以包括随机存取存储器(RAM)或另一种类型的动态存储装置、只读存储器(ROM)或另一种类型的静态存储装置、可移除存储卡和/或另一种类型的存储器,以存储可以由处理单元310使用的数据和指令。
用户接口330可以允许用户将信息输入到移动装置200和/或从移动装置200输出信息。用户接口330的示例可以包括:扬声器,用于接收电信号并输出音频信号;相机,用于接收图像和/或视频信号并输出电信号;麦克风,用于接收声音并输出电信号;按钮(例如,操纵杆、控制按钮、键盘、或键区的按键);和/或触摸屏,用于接收控制命令;显示器,诸如LCD,用于输出视觉信息;致动器,用于使得装置300振动;传感器;和/或任何其它类型的输入或输出装置。
通信接口340可以包括收发器,该收发器使得移动装置200能够经由无线通信(例如,射频、红外线和/或视觉光学等)、有线通信(例如,导线、双绞线电缆、同轴电缆、传输线、光纤电缆和/或波导等)或者无线通信和有线通信的组合与其它装置和/或系统进行通信。通信接口340可以包括将基带信号转换成射频(RF)信号的发送器和/或将RF信号转换成基带信号的接收器。通信接口340可以耦接到天线组件350以用于发送并接收RF信号。
通信接口340可以包括逻辑部件,该逻辑部件包括输入端口和/或输出端口、输入系统和/或输出系统,和/或便于向其它装置传输数据的其它输入和输出部件。例如,通信接口340可以包括用于有线通信的网络接口卡(例如,以太网卡)和/或用于无线通信的无线网络接口(例如,WiFi)卡。通信接口340还可以包括用于通过电缆通信的通用串行总线(USB)端口、蓝牙(TM)无线接口、射频识别(RFID)接口、近场通信(NFC)无线接口、和/或将数据从一种形式转换成其它形式的任何其它类型的接口。
天线组件350可以包括一个或更多个天线以发送和/或接收RF信号。天线组件350可以例如从通信接口340接收RF信号,并且经由天线发送信号并从天线接收RF信号并将它们提供到通信接口340。
GPU 360可以包括一个或更多个装置,该一个或更多个装置包括用于执行涉及图形处理的操作(例如,块图像传送操作、同时逐像素操作等)和/或用于并行地执行大量操作的专用电路。根据本文中描述的一个或更多个实现,GPU 360可以由处理单元310使用以加快光线投射处理和/或雕塑变形处理。
如本文中所描述的,移动装置200可以响应于处理单元310执行包含在计算机可读介质(例如存储器320)中的软件指令来执行特定操作。计算机可读介质可以被限定为非暂时性存储装置。非暂时性存储装置可以包括单个物理存储装置内的或者遍及多个物理存储装置的存储空间。软件指令可以经由通信接口340从另一个计算机可读介质或从另一个装置被读入到存储器320中。包含在存储器320中的软件指令可以使得处理单元310执行稍后将要描述的处理。另选地,硬接线电路可以被使用以代替软件指令或者与软件指令相结合来实现本文中描述的处理。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
虽然图3示出了移动装置200的示例性部件,但是在其它实现中,移动装置200可以包括更少部件、不同部件、不同布置的部件或者除了图3中描述的那些部件以外的附加部件。另外地或另选地,移动装置200的一个或更多个部件可以执行被描述为通过移动装置200的一个或更多个其它部件执行的任务。
图4是示出根据本文中描述的实现的移动装置200的示例性功能部件的视图。可以例如经由处理单元310执行来自存储器320的指令来实现移动装置200的功能部件。另选地,移动装置200的部分或全部功能部件可以经由硬接线电路来实现。
如图4中所示,移动装置200可以包括雕塑生成器410、用户接口420、深度相机接口430、GPU接口440和雕塑存储器450。雕塑生成器410可以对应于安装在移动装置200上的应用程序并且被配置为基于从深度相机250获得的图像来生成3D雕塑。雕塑生成器410可以包括深度图清理部件412、光线投射部件414、变形部件416和颜色部件418。
深度图清理部件412可以通过使用一个或更多个滤波器处理深度图来清理针对通过深度相机250捕获的图像的深度图。例如,深度图清理部件412可以应用高斯平滑滤波器、双边滤波器、去块滤波器和/或另一种类型的滤波器来清理深度图。
光线投射部件414可以使用所生成的雕塑对具有深度信息的图像中的数据点执行光线投射处理。例如,光线投射部件414可以生成初始雕塑,可以向深度信息对于其可用的图像中的每个数据点投射光线,并且可以确定所投射的光线与初始雕塑的面之间的交叉点。光线投射部件414然后可以确定使交叉点移动到数据点的力。光线投射部件414可以在光线投射处理期间执行附加操作,诸如基于附加处理标准来确定是应当忽略、按比例缩放还是另外修改特定力矢量。光线投射部件414可以针对在与实体相关联的所捕获的图像的集合中的每个帧(例如,图像)来重复光线投射处理。
变形部件416可以基于在光线投射处理期间确定的力矢量来确定针对雕塑的顶点的顶点力。变形部件416可以将针对每个顶点的力相加在一起并且基于所计算的顶点力的总和来使顶点移动。变形部件416可以基于与变形处理相关联的一个或更多个标准来执行附加操作,诸如如果三角形的顶点经受比张力阈值更高的张力和/或如果三角形的边比边长度阈值更长,则细化(tessellate)三角形。变形部件414可以针对在与实体相关联的所捕获的图像的集合中的每个帧重复变形处理。
颜色部件418可以基于包括在由深度相机250捕获的图像中的颜色信息来确定针对所生成的雕塑的颜色信息。例如,颜色部件418可以使用颜色信息生成UV图并且可以将UV图映射到所生成的雕塑上。
用户接口420可以提供使得用户能够与雕塑生成器410交互的用户接口。例如,用户接口420可以被配置为借助通过提供有关关于要针对其生成3D模型的实体以不同角度定位深度相机250的指令引导用户进行捕获一系列图像的处理。作为另一个示例,用户接口420可以被配置为使得用户能够从要针对其生成3D雕塑的图像中选择实体。例如,经由用户接口420,用户可以提供图像中的物体附近的踪迹(trace)。作为另一个示例,可以执行物体检测处理来识别所捕获的图像中的物体并且可以提示用户选择所捕获的图像中的一个所识别的物体。作为还有的另一个示例,可以提示用户选择针对所生成的雕塑的目标使用。例如,可以提示用户选择针对雕塑的特定文件格式,选择针对雕塑的特定使用(例如,3D打印机文件、人物头像等),选择应当发送所生成的雕塑的目的地(例如,特定网站、用户账户等),和/或可以提示用户选择针对所生成雕塑的另一种类型的目标使用。
深度相机接口430可以与深度相机250进行通信以获得与雕塑生成处理相关联的一个或更多个图像。GPU接口440可以命令GPU 360代表雕塑生成器410执行计算和/或其它类型的处理。例如,雕塑生成器410可以经由GPU接口440命令GPU 360执行与光线投射处理相关联的计算。
雕塑存储器450可以存储与3D雕塑的生成相关联的数据。例如,雕塑存储器450可以存储所捕获的图像,可以存储与光线投射处理和/或变形处理相关联的数据结构,可以存储针对实体的所生成的3D雕塑,和/或可以存储与雕塑生成器410相关联的其它信息。
虽然图4示出了移动装置200的示例性功能部件,但是在其它实现中,移动装置200可以包括更少功能部件、不同功能部件、不同布置的功能部件或者除了图4中描述的那些功能部件以外的其它功能部件。另外地或另选地,移动装置200的一个或更多个功能部件可以执行被描述为通过移动装置200的一个或更多个其它功能部件执行的功能。
图5是根据本文中所描述的实现的用于指导用户进行生成雕塑的处理的示例性处理的流程图。在一些实现中,可以通过移动装置200执行图5中的处理。在其它实现中,可以通过与移动装置200分开的或者包括移动装置200的其它装置或一组装置来执行图5中的一些或全部处理。
图5中的处理可以包括:使用深度相机来捕获一个或更多个图像(框510),以及接收生成3D雕塑的请求(框520)。例如,用户可以使用深度相机250拍摄物体、人的头或用户想要生成3D雕塑的另一种类型的实体的一系列图片。在拍摄图片之后,用户可以激活雕塑生成器410并且可以请求基于图片来生成3D雕塑。另选地,用户可以激活雕塑生成器410,可以请求生成经由深度相机250显示在触摸屏220上的实体的3D雕塑,并且可以由用户接口420引导,使得以捕获关于实体的深度信息的多种角度拍摄一系列图片。
可以接收所捕获的一个或更多个图像中的实体的选择(框530)。例如,用户可以通过经由触摸屏220限定图像的区域(例如,通过跟踪图像中的物体周围的手指,等)经由用户接口420来选择图像中的实体。作为另一个示例,雕塑生成器410可以对图像(例如,使用边检测算法)执行对象识别处理并且可以识别图像中的一个或更多个对象。用户然后可以经由触摸屏220选择对象中的一个。
可以针对所选择实体生成雕塑(框540)。例如,如下面参照图6描述的,雕塑生成器410可以生成针对所选择实体的初始雕塑,执行光线投射处理,并且使初始雕塑变形以生成针对所选实体的3D雕塑。
可以接收针对所生成的雕塑的目标使用的选择(框550)并且可以基于所选择的目标使用来处理所生成的雕塑(框560)。例如,可以通过用户接口420给用户提供针对所生成的3D雕塑的目标使用的一个或更多个选项,并且用户可以选择选项中的一个。作为响应,雕塑生成器410可以将所生成的雕塑转换成与所选择的目标使用相关联的格式。例如,用户可以选择将所生成的雕塑转换成计算机辅助设计(CAD)文件格式,转换成3D打印机文件格式,转换成用于计算机游戏的人物头像文件,和/或转换成另一种类型的3D模型文件格式。
图6是根据本文中所描述的实现的用于基于所捕获的图像来生成雕塑的示例性处理的流程图。在一些实现中,可以通过移动装置200执行图6中的处理。在其它实现中,可以通过与移动装置200分开的或者包括移动装置200的另一个装置或一组装置来执行图6中的一些或全部处理。
图6中的处理可以包括生成初始雕塑(框610)。例如,雕塑生成器410可以从所捕获的图像的第一帧生成点云。雕塑生成器410然后可以基于要针对其生成雕塑的所选实体的尺寸和位置来选择尺寸和位置。在一些实现中,雕塑生成器410可以生成球形的初始雕塑,诸如具有二十个三角面的二十面体。在其它实现中,雕塑生成器410可以基于所选实体的估计形状来选择针对初始雕塑的特定形状(例如,球形、卵形、扁平、矩形等)。形状可以由用户例如通过跟踪触摸屏220上的形状来估计,可以使用物体识别处理来估计,和/或可以使用其它技术来估计。
可以从所捕获的图像读取下一帧(框620)并且可以清理深度图(框630)。例如,雕塑生成器410可以访问经由深度相机接口430接收的并且被存储在雕塑存储器450中的所捕获的图像,并且可以将图像提供到深度图清理部件412。深度图清理部件412可以将高斯平滑滤波器、双边滤波器、去块滤波器和/或另一种类型的滤波器应用至该图像来清理深度图。可以投射光线(框640)并且可以使雕塑变形(框650)。下面将参照图7更详细地描述光线投射和雕塑变形的处理。
可以确定颜色信息(框660)。可以基于包括在所获得的图像中的颜色信息来确定针对雕塑的颜色信息。例如,包括深度信息的每个像素还可以包括颜色信息,诸如针对像素的RGB值(或者针对另一种类型的颜色方案的值)。雕塑中的每个三角形可以与将纹理坐标被分配给每个顶点的UV图相关联。当针对三角形计算交叉点时,可以计算与该交叉点匹配的纹理坐标。用来计算交叉点的权重(如下面参照图7的框715解释的)可以被用来确定与数据点110相关联的与光线和颜色信息匹配的纹理坐标,可以针对所确定的纹理坐标被存储。
通过针对雕塑生成这种UV图需要克服的一个问题在于,初始雕塑类似于不具有边界的球体。由于通过深度相机250捕获的图像具有边界,在不添加接缝(seam)的情况下可能无法将雕塑映射到图像上。然而,添加接缝可能产生与特定顶点相关联的至少两个不同UV坐标,这使得计算复杂,并且如果选择了错误的接缝,则可能导致不正确映射。
为了确保正确映射,一种方法可以是始终选择针对特定UV点的最接近顶点。然而,这种方法可能不提供令人满意的结果。更好的解决方案可以是使用3D UV坐标。因此,代替使针对每个顶点的2D UV坐标u和v关联,颜色部件418可以使单位球体的表面上的3D x’、y’和z’坐标关联。从初始雕塑的默认3D坐标计算x’、y’和z’坐标的默认值。通过使用以下等式计算3D UV坐标并执行球形un映射来确定交叉点的2D UV坐标:
Math.1
Figure GDA0002255589330000142
为了存储颜色信息,执行3D UV坐标的插值,而不使用2D坐标,这避免了缠绕(wrapping)情况,这是因为3D UV坐标在球体的表面上。在对3D UV坐标进行插值之后,使用上面所示的球形un映射公式来执行2D映射。
可以进行关于是否存在附加帧的确定(框670)。例如,雕塑生成器410可以访问雕塑存储器450,以确定是否已经经由深度相机接口430从深度相机250获得附加图像。如果确定存在要处理的附加帧(框670-是),则处理可以返回到框620以从所捕获的图像读取下一帧。在一些实现中,可以使用与移动装置200相关联的附加传感器帮助图像帧与雕塑的对准。例如,可以使用移动装置200的陀螺仪传感器、加速度计传感器和/或数字罗盘传感器来生成旋转矢量,该旋转矢量可以用来在捕获特定图像期间确定深度相机250的位置和/或旋转。
如果确定不存在要处理的附加图像(框670-否),则可以输出最终雕塑(框680)。例如,雕塑生成器410可以将最终雕塑保存在雕塑存储器450中,并且可以使得用户能够在触摸屏220上对雕塑进行操作和/或将雕塑转换成针对特定应用程序的特定格式。
图7是根据本文中所描述的实现的用于使雕塑变形的示例性处理的流程图。在一些实现中,可以通过移动装置200执行图5的处理。在其它实现中,可以通过与移动装置200分开的或者包括移动装置200的另一个装置或一组装置来执行图7的一些或全部处理。
图7的处理可以包括重置力(框710)。在先前光线投射处理期间,基于所捕获的图像,雕塑120的每个顶点可能已经积累了被用于使雕塑变形的顶点力。在执行下一次光线投射处理之前重置力。
计算交叉处的力(框715)。如上面参照图1A解释的,光线130从原点(诸如深度相机250的位置)关于包括在所捕获的图像中的深度信息朝向数据点110被投射。计算交叉点135,以确定所投射的光线与雕塑120相交的点。基于形成使光线130与雕塑120相交以到达数据点110的三角形的顶点125的坐标来计算交叉点135。如果数据点110在雕塑120后面,则交叉点135处的力140将是推力。如果数据点110在雕塑120前面,则交叉点135处的力140将是拉力。
可以在交叉处对所计算的力执行附加处理。可以选择并应用附加处理步骤,以改进生成3D雕塑的精确度和/或改进处理效率。例如,在一些情况下,可以给用户提供用户接口,用户接口使得用户能够通过选择是否施加特定类型的附加处理来微调雕塑处理。此外,用户能够选择针对附加处理步骤的特定参数。
附加处理可以包括将力与噪声级进行比较(框720)。可以将所计算的交叉力与力量值阈值进行比较,并且可以做出关于所计算的交叉处的力是否具有比力量值阈值更小的量值的确定。当所计算的力矢量具有比力量值阈值更小的量值时,所计算的力可以被忽略(即,不被施加以确定顶点力)。
图8A示出表明较小的力对雕塑生成的影响的场景801。如图8A中所示,实体810可以通过雕塑120近似。通过深度相机250获取的深度数据可以包括噪声数据。例如,深度相机250能够确定具有±4噪声级的不同深度值。深度数据可能导致较小力140,如果较小力140被施加至雕塑120,则该较小力140可能导致顶点之间的高张力,这将导致雕塑被不必要地细化(如下文进一步解释的)和/或失真。为了避免这种问题,可以忽略具有小量值的力。图8B示出较小力被忽略的场景802。力140-A、140-B、140-C、140-D、140-E和140-G具有小于力量值阈值的量值,因此可以被忽略。可以仅施加力140-F以使雕塑120变形。
返回图7,力可以被按比例缩放(框725)。可以应用全局系数,以按比例缩小所计算的力。可以选择全局系数来避免力在一次震荡(例如,在第一图像帧正在被处理时)中使顶点移动经过目标并且然后在下一次振荡(例如,在第二图像帧正在被处理时)中使顶点往回移动的振荡。
可以调整角度(框730)。例如,雕塑生成器410可以确定所计算的力矢量与特定三角面之间的角度,可以确定角度是否小于角度阈值,并且当角度小于所述角度阈值时,可以在确定顶点力矢量时忽略所计算的力矢量。图9A示出表明小角度对雕塑生成的影响的场景901。如图9A中所示,实体910可以通过雕塑120被近似。在雕塑120的变形期间,可能出现不能准确反映实体910的形状的伪影尖峰(artifact spike)920。如图9B中的场景902中所示,如果数据点110靠近该尖峰存在,并且如果来自通过交叉点135的光线的力朝向数据点110被施加而不是被平滑,则能够使尖峰920更高。基于力140,将顶点力145-A和145-B施加到发现交叉点135的面的顶点。然而,顶点力145-A和145-B将导致更高的尖峰925,而不是使尖峰920平滑。这是关于雕塑120处于小角度的力140的结果。因此,为了避免伪影尖峰的加重,当确定顶点力时,可以忽略关于雕塑处于小角度的力。
返回图7,可以计算顶点处的力(框735)。三角面的顶点处的力基于在指向数据点的光线与三角面相交的交叉点处确定的力。由于顶点处的力方向将与交叉点处的力的方向相同,仅需要确定在顶点处施加的标量权重。给定顶点PA,并且给定力
Figure GDA0002255589330000171
可以基于
Figure GDA0002255589330000172
来计算顶点PA处的力,其中,wA对应于标量权重。确定wA的公式可以对应于:
Math.2
其中,SABC对应于具有顶点ABC的三角形的表面面积,其中,PA、PB和PC是三角形的顶点,并且其中,PS是生成力
Figure GDA0002255589330000174
的光线与三角形ABC的交叉点。针对其它顶点PB和PC的权重wB和wC可以类似地分别被计算。表面面积SABC可以使用如下公式来计算:
Math.3
Figure GDA0002255589330000175
其中,AB和AC分别是与顶点PA与PB、以及PA与PC之间的边对应的矢量。在针对每个力140计算各个顶点力之后,使用矢量加法将针对每个顶点的顶点力相加。
可以调整稳定性(框740)。在顶点力的计算期间,可以计算针对每个顶点的稳定性值。稳定性值可以对应于顶点在处理图像的先前帧期间已经发生变形的程度的度量,并且可以使用下面的公式来计算:
Math.4
Figure GDA0002255589330000176
其中,t对应于张力值,其在一定程度上在0和1之间。如果顶点上的全部力都指向相同方向,则该值将是0并且对应于低张力,并且如果全部力通过指向不同方向彼此抵消,则该值将是1并且对应于高张力。
可以使用稳定性值以跟踪哪些顶点已经发生了变形(以及实体的位置)。在雕塑变形期间,将关于特定图像编辑雕塑的特定边。由于实体被旋转(或者由于深度相机250围绕实体旋转)以从不同角度来捕获实体的图像,实体的其它部分将被隐藏。雕塑的与隐藏部分对应的部分已经使用先前图像被成形。因此,与这些区域对应的顶点可能已经变形并且可能或可能不需要关于与另一个图像相关的数据点变形。稳定性值可以用于该确定。稳定性值是当加载下一个图像帧时可能不被重置的累积值(与顶点力不同)。针对顶点的更高稳定性值可以指示该顶点应当更少地移动。因此,当向顶点施加顶点力时,可以基于稳定性值使顶点力按比例缩小。由于图像的每个帧都被处理,针对顶点的稳定性值可以被计算并且被相加到先前稳定性值,以生成累积值。
可以强制实现针对边的最小长度(框745)。例如,雕塑生成器410可以确定与顶点相关联的边比边长度阈值更短,并且可以响应于确定与顶点相关联的边比边长度阈值更短,将与边平行的边缘力相加到顶点力矢量。如果雕塑包括太多三角形,则力的计算可能特别慢。因此,可以基于最小边长度来设置针对三角形的最小尺寸。可以通过将额外力相加在短边的顶点上来强制实现最小边长度,其中,额外力与边方向平行。在图10A的场景1001中示出了这种情况。如图10A中所示,场景1001包括具有由顶点125-A和125-B限定的短边的三角形1010。顶点力145-A和145-B朝向彼此进行被引导,并且可以使得顶点125-A和125-B向彼此更近地移动,从而使边缩短为小于边长度阈值。因此,额外力1012-A和1012-B可以被相加到顶点125-A和125-B以防止边变得太短。
返回图7,可以强制实现光线方向(框750)。例如,雕塑生成器410可以消除顶点力矢量145的与所投射的光线130不平行的分量。由于雕塑120的顶点125变形,并且将多个顶点力145相加到顶点125,顶点可以结束在多个方向上的移动。例如,顶点力可以沿着一个轴彼此抵消,这导致顶点沿着另一轴移动。因此,尽管一般来说推力和拉力可以朝向或远离深度相机250,但是力还可以停止与图像帧平行地移动顶点,该移动由于使3D模型失真而可能是不期望的。因此,可以消除顶点力145的与投射光线不平行的分量。在图10B的场景1002中示出了这种情况。如图10B中所示,场景1002包括与顶点力145相关联的顶点125。顶点力145可以被分解成分力1022和1024,分力1022与产生顶点力145的投射光线130平行。分量1024可以被消除,并且仅将分力1022被施加到顶点125。
返回图7,可以使角度平滑(框755)。例如,雕塑生成器410可以确定顶点与形成比角度阈值更小的角度的至少两个边相关联并且可以通过朝向关于顶点的至少两个边的远端之间的中点施加力来使顶点平滑。可以使雕塑120的角度平滑,以便去除不期望的峰值。在图10C的场景1003中从二维示出了这种情况。如图10C中所示,场景1003可以包括具有峰值1030的雕塑120,该雕塑120具有顶点PA。为了减小峰值1030,可以使用如下公式来计算角度α=P0PAP1
Math.5
Figure GDA0002255589330000191
然后,可以确定P0P1的中点PM,并且可以基于矢量PAPM来计算力1032,并且该力1032可以利用角度α和全局系数按比例缩放。可以基于期望平滑的程度来选择全局系数,并且全局系数可以例如由用户来选择。可以使用计算出的角度α按比例缩放所施加的力(例如,更平的峰值可能要求更小的力),并且可以将计算出的角度α与角度阈值进行比较。在没有阈值角度的情况下,不被直接施加顶点力的顶点可以开始朝向雕塑的中心移动,从而使雕塑的隐藏部分收缩。
在3D中,峰值可以更复杂,这是因为顶点可以具有很多邻居。如图11A中所示,场景1101包括具有峰值1110的雕塑120,其中,顶点PA具有四个邻居。平滑力1120可以被引导通过的针对邻居的中心点可以被计算为图11B的场景1102中所示的归一化边矢量1130-A、1130-B、1130-C和1130-D的总和。然后可以如下使用归一化矢量的总和来计算角度α:
Math.6
Figure GDA0002255589330000192
可以采用两个不同阈值:针对关于当前帧被操作的顶点的第一阈值和针对关于当前帧不被操作的不活动顶点的第二阈值。在一些实现中,不活动顶点可以不被平滑。在其它实现中,先前已经变形的不活动顶点被微平滑(mote smoothed)。
返回图7,可以施加顶点力(框760)。例如,雕塑生成器410可以将针对特定顶点的全部顶点力相加,并且可以相加已经针对特定顶点生成的任何附加力,以便确定要施加到特定顶点的顶点力。可以将全部顶点力的总和除以力的数量,以确定针对特定顶点的平均顶点力,并且可以将结果除以针对特定顶点的所确定的稳定性系数。然后可以基于施加的总顶点力在空间上使特定顶点平移,以便使雕塑变形。该处理可以针对每个顶点被执行,可以针对关于来自所捕获图像的特定帧来确定针对每个顶点的顶点力。
然后可以对雕塑执行附加处理。可以细化雕塑的三角形(框765)。例如,雕塑生成器410可以确定针对顶点的张力值是否高于张力阈值,并且当张力值高于张力阈值时,可以将与顶点相关联的特定三角面细化成两个更小的三角面。初始雕塑可以以相对小数量的三角面(例如,作为具有20个三角形的二十面体)开始。针对其生成雕塑的实体的一些区域可能要求更高的细节,其可以由更大数量的三角形表示。检测是否需要更高细节的一种方式是通过使用针对顶点计算的张力值。如果张力值高于张力阈值,则与顶点相关联的三角形可能需要被细化成更小的三角形,以便获取更高级别的细节。
图11C中的场景1103示出细化过程。假设雕塑120包括具有顶点P0、P1和P2的三角形。可以识别出最长边,该最长边可以对应于边P0P1,并且可以识别出最长边的中点PM。三角形P0P1P2可以被替换成两个更小的三角形P0PMP2和PMP1P2。与三角形P0P1P2共享边P1P0的三角形可以被识别为三角形P0PXP1并且可以被替换成两个更小的三角形P0PXPM和P1PXPM
此外,如果三角形的最长边比特定边长度阈值更长,则三角形可以被细化。例如,雕塑生成器410可以确定特定三角面与比特定边长度阈值更长的边相关联,并且可以将特定三角面细化成两个更小的三角面。
返回图7,可以简化网格(框770)。例如,雕塑生成器410可以确定与特定三角面相关联的边比特定边长度阈值更短,并且可以响应于确定该边比特定边长度阈值更短,从网格多边形去除该边。雕塑120的网格多边形的三角形的细化可能产生被任意摆布的很多小三角形,这可以导致诸如失真三角形的伪影、网格多边形的折叠截面、或者甚至网格多边形被翻转的部分。为了避免这些问题,可以应用多种技术来简化雕塑120的网格。可以通过去除短边来消除小三角形。在图12A的场景1201中示出从雕塑120去除边1210的这种情况。可以通过将组成边1210的端点的顶点合并成一个顶点去除边1210。
在一些情况下,边去除可能产生复杂化。例如,如图12B的场景1202中所示,边1220的去除可以导致三角形1230和1240的不期望去除。因此,在将去除边并使两个顶点合并之前,需要执行检查以确保两个顶点具有正好两个共同邻居顶点而不是更多。在一些情况下,需要重新配置三角形,而不是去除边。例如,如图12C的场景1203中所示,比特定边长度阈值更长的长边1250可以用较短边1260来代替。
简化网格的另一种技术是去除边之间的小角度。在图13A的场景1301中示出雕塑120包括三角形1310的这种情况。三角形1310可以具有不比边长度阈值更短的边,因此基于短边标准不能被去除。然而,三角形1310可以具有小角度。因此,对于每个三角形,可以做出关于三角形的最小角度是否小于三角形角度阈值的确定。如果三角形的最小角度低于三角形角度阈值,则可以从网格多边形去除与最小角度相对的边。另选地,三角形可以如图12C中所示那样重新成形。
此外,小3D角度可能出现在不必须形成三角形的角度的网格中。在图13B和图13C中示出了这种情况,其示出包括小3D角度1320的雕塑120的视图1302和1303。如果两条边之间的角度小于3D角度阈值,则检测到小3D角度。形成小3D角度的顶点可以与其邻居顶点中的一个合并,以去除小3D角度。
在一些实现中,雕塑生成器410可以采用GPU 360来执行光线投射处理和/或变形处理。由于光线不依赖于彼此,光线能够平行地被投射,因此雕塑生成器410可以利用经由GPU 360可获得的并行处理。GPU 360可以执行以下中的一个或更多个:确定针对颜色图的UV坐标、光线的投射、和/或执行顶点后处理(例如,稳定性值计算、角度平滑等)。由于细化一个三角形可能影响另一个三角形,因此可能需要按顺序执行细化处理,并且可以或可以不通过GPU 360执行。
如下可以采用GPU 360。可以通过向每个三角形分配唯一颜色并且使阴影、图形保真、照明和雾无效来将雕塑120的三角形渲染成第一帧缓冲区,以确保每个三角形都被渲染成具有特定唯一颜色。三角形的顶点可以利用红色、绿色和蓝色被着色成第二帧缓冲区。对于来自相机图像的每个点PXY,可以从两个帧缓冲区在相同坐标处读取颜色值DXY和TXY。值DXY可以识别通过光线相交的三角形,这是由于每个三角形被指定有唯一颜色。例如,如果GPU360支持每像素16位颜色深度,则GPU 360可以被用来处理多达65535个三角形。使用RGB颜色通道中的值作为针对三角形的顶点坐标的权重,值TXY可以被用来计算光线与三角形相交的位置。此外,值TXY还可以被用来作为用于计算三角形的顶点处的力的权重。使用利用GPU360的这种技术可以降低寻找针对从O(N)到O(1)的光线的相交三角形的复杂性,其中,N对应于三角形的数量。
在一些实现中,雕塑生成器410可以被配置为在雕塑生成处理期间与用户交互。例如,可以在雕塑生成处理期间将雕塑显示在触摸屏220上,并且用户可以看到如何从初始雕塑生成该雕塑。使用针对每个顶点计算的稳定性值,不稳定的顶点可以用不同颜色着色,这向用户表明雕塑的哪些部分需要更多关注。用户可以被引导或者在不被引导的情况下从与尚未实现足够稳定性的顶点相关联的角度捕获实体的附加图像。
在一些实现中,用户能够动态地调整雕塑的分辨率。例如,用户可以以低分辨率开始,并且如果用户期望更高细节,则可以选择增加针对雕塑的特定区域的分辨率。例如,用户可以利用深度相机250更近地聚焦,并且可以捕获包括针对实体的特定区域的更多详细深度信息的图像。作为一个示例,如果用户正在扫描人的头,则该用户可以针对头的后部选择较低分辨率并且针对脸可以选择较高分辨率。此外,在一些实现中,雕塑生成器410可以被配置为使得用户能够选择花费多少时间处理特定帧。因此,用户可以选择执行针对特定帧的光线投射处理的多次迭代。
在一些实现中,雕塑生成器410可以被配置为生成针对具有孔的实体(例如,咖啡杯等)的3D雕塑。为了生成针对具有孔的实体的3D雕塑,可以使用两个不同张力阈值:tt和tc。然后针对三角形的顶点的平均张力t,可以应用以下规则:
1)如果t<tt,则施加所计算的力,但是不细化三角形;
2)如果tt小于或等于t且t<tc,则细化三角形;并且
3)如果tc小于或等于t,则切掉三角形以将三角形转换成孔。
另外地或另选地,在光线投射处理期间可以检测并且不同地处理与实体中的孔相关联的背景像素。另外地或另选地,可以分析雕塑以检测雕塑与其自身相交的区域,并且可以在相交区域处创建孔。
图14A和图14B是根据本文中所描述的实现的示例性物体和相应3D雕塑的视图。如图14A中所示,实体1401可以使用深度相机250被拍摄以从各种角度捕获一系列图像。根据本文中公开的实现,可以使用所捕获的图像来生成实体的3D雕塑1402。所生成的3D雕塑可以对应于基于使用深度相机250获得的关于实体1401的深度信息使用光线投射处理已经变形的网格多边形。
在前述说明书中,已经参照附图描述了各种优选实施方式。然而,明显的是,可以对其进行各种修改和改变,并且可以实现附加实施方式,而不脱离所附权利要求中阐述的本发明的更宽的范围。因此说明书和附图被认为是例示性的而非限制性的。
例如,尽管已经关于图5至图7描述了一系列框图,但是在其它实现中可以修改这些框图的顺序。而且,独立框可以并行地被执行。
作为另一个示例,尽管已经关于使用深度相机获取的图像描述了在本文中描述的实现,但是可以使用其它类型的相机来捕获具有深度信息的图像,以用于生成3D网格雕塑。例如,在其它实现中,可以使用立体相机、范围相机(例如,Kinect相机)和/或获得深度信息的另一种类型的相机。
明显的是,如上所述的系统和/或方法在附图中示出的实现中可以以很多不同形式的软件、固件和硬件来实现。用来实现这些系统和方法的实际软件代码或专门控制硬件不限制实施方式。因此,系统和方法的操作和行为在不参照特定软件代码的情况下被描述,要理解的是,软件和控制硬件可以被设计成实现基于本文中的描述的系统和方法。
此外,上面描述的特定部分可以被实现为执行一个或更多个功能的部件。如本文中使用的部件可以包括诸如处理器、ASIC或FPGA的硬件、或者硬件和软件的组合(例如,执行软件的处理器)。
应强调的是,术语“包括”在本说明书中被使用时用于指定所述特征、整数、步骤或组件的存在,但是不排除一个或更多个其它特征、整数、步骤、组件或其组的存在或添加。
如本文中使用的术语“逻辑”可以指被配置为执行存储在一个或更多个存储装置中的指令的一个或更多个处理器的组合,可以指硬接线电路,和/或可以指其组合。此外,逻辑可以被包括在单件装置中或者可以遍及多个(可能是远程的)装置分布。
为了描述和限定本发明的目的,要额外注意的是,术语“大致地”在本文中被用来表示可以归因于任何定量比较、值、测量或其它表示的固有不确定性程度。术语“大致地”在本文中还被用来表示在不导致所论述的主题的基本功能的改变的情况下,量化表达从所述参考改变的程度。
本申请中使用的元件、动作或指令不应被解释为对于实施方式是关键的或必要的,除非另外明确地描述。而且,如在此使用的,冠词“一个”旨在包括一项或更多项。而且,措词“基于”旨在指“至少部分地基于”,除非另外明确阐述。

Claims (18)

1.一种通过计算装置执行的方法,所述方法包括以下步骤:
通过所述计算装置从深度相机捕获一个或更多个图像,其中,所述一个或更多个图像包括深度信息;
通过所述计算装置生成针对所捕获的一个或更多个图像中的实体的初始雕塑;
通过所述计算装置使用所述深度信息对所生成的初始雕塑执行光线投射处理;以及
通过所述计算装置基于所述光线投射处理使所述初始雕塑变形,以生成针对所述实体的雕塑;以及
其中,所述初始雕塑包括具有顶点和三角面的网格多边形,并且其中,使用所述深度信息对所生成的初始雕塑执行所述光线投射处理的步骤包括:
将光线从原点投射到包括在所述深度信息中的特定数据点;
确定投射的所述光线与所述网格多边形的特定三角面的交叉点;
计算使所述交叉点移动到所述特定数据点的力矢量;以及
基于所计算的力矢量确定针对所述特定三角面的顶点的顶点力矢量。
2.根据权利要求1所述的方法,其中,执行所述光线投射处理的步骤和使所述初始雕塑变形的步骤使用所述一个或更多个图像中的特定图像来执行。
3.根据权利要求1所述的方法,其中,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑的步骤包括:
将针对所述网格多边形的特定顶点的顶点力矢量相加;以及
通过基于相加的所述力矢量使所述特定顶点移动,使所述初始雕塑变形。
4.根据权利要求1所述的方法,其中,所捕获的一个或更多个图像包括颜色信息,所述方法还包括以下步骤:
基于所述颜色信息来确定针对所述特定三角面的颜色信息。
5.根据权利要求4所述的方法,其中,基于所述颜色信息来确定针对所述特定三角面的所述颜色信息的步骤包括:
基于所述颜色信息生成三维UV图;以及
将所生成的三维UV图映射到针对所述实体的雕塑上。
6.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定所计算的力矢量是否具有比力量值阈值更小的量值;以及
当所计算的力矢量具有比力量值阈值更小的量值时,在确定所述顶点力矢量时忽略所计算的力矢量。
7.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定所计算的力矢量与所述特定三角面之间的角度;
确定所述角度是否小于角度阈值;以及
当所述角度小于所述角度阈值时,在确定所述顶点力矢量时忽略所计算的力矢量。
8.根据权利要求1所述的方法,所述方法还包括以下步骤:
将稳定性值分配给所述顶点,其中,所述稳定性值基于所述顶点已经变形的程度的度量;以及
基于所分配的稳定性值按比例缩放所述顶点力矢量。
9.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定与所述顶点相关联的边比边长度阈值更短;以及
响应于确定与所述顶点相关联的所述边比所述边长度阈值更短,将与所述边平行的边缘力相加到所述顶点力矢量。
10.根据权利要求1所述的方法,所述方法还包括以下步骤:
消除所述顶点力矢量的与投射的所述光线不平行的分量。
11.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定所述顶点与形成比角度阈值更小的角度的至少两个边相关联;以及
通过朝向关于所述顶点的所述至少两个边的远端之间的中点施加力来使所述顶点平滑。
12.根据权利要求1所述的方法,其中,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑的步骤包括:
计算针对所述顶点的张力值,其中,所述张力值基于在所述顶点处施加的力的总和的量值与在所述顶点处施加的所述力的量值的总和的比率;
确定所述张力值是否高于张力阈值;以及
当所述张力值高于所述张力阈值时,将所述特定三角面细化成两个更小的三角面。
13.根据权利要求1所述的方法,其中,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑的步骤包括:
确定所述特定三角面与比边长度阈值更长的边相关联;以及
当所述边比所述边长度阈值更长时,将所述特定三角面细化成两个更小的三角面。
14.根据权利要求1所述的方法,其中,基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑的步骤包括:
确定与所述特定三角面相关联的边比边长度阈值更短;以及
响应于确定所述边比所述边长度阈值更短,从所述网格多边形去除所述边。
15.根据权利要求1所述的方法,其中,使用所述深度信息对所生成的初始雕塑执行所述光线投射处理的步骤包括:
使用图形处理单元来执行所述光线投射处理。
16.一种移动通信装置,所述移动通信装置包括:
逻辑部,所述逻辑部被配置为:
从深度相机捕获一个或更多个图像,其中,所述一个或更多个图像包括深度信息;
生成针对所捕获的一个或更多个图像中的实体的初始雕塑;
使用所述深度信息对所生成的初始雕塑执行光线投射处理;以及
基于所述光线投射处理使所述初始雕塑变形,以生成针对所述实体的雕塑;以及其中,所述初始雕塑包括具有顶点和三角面的网格多边形,并且其中,当使用所述深度信息对所生成的初始雕塑执行所述光线投射处理时,所述逻辑部还被配置为:
将光线从原点投射到包括在所述深度信息中的特定数据点;
确定投射的所述光线与所述网格多边形的特定三角面的交叉点;
计算使所述交叉点移动到所述特定数据点的力矢量;以及
基于所计算的力矢量来确定针对所述特定三角面的顶点的顶点力矢量。
17.根据权利要求16所述的移动通信装置,其中,当基于所述光线投射处理使所述初始雕塑变形以生成针对所述实体的雕塑时,所述逻辑部还被配置为:
将针对所述网格多边形的特定顶点的顶点力矢量相加;以及
通过基于相加的力矢量使所述特定顶点移动来使所述初始雕塑变形。
18.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储能够通过处理器执行的指令,所述非暂时性计算机可读存储介质包括:
从深度相机捕获一个或更多个图像的一个或更多个指令,其中,所述一个或更多个图像包括深度信息;
生成针对所捕获的一个或更多个图像中的实体的初始雕塑的一个或更多个指令,其中,所述初始雕塑包括具有顶点和三角面的网格多边形;
将光线从原点投射到包括在所述深度信息中的特定数据点的一个或更多个指令;
确定投射的所述光线与所述网格多边形的特定三角面的交叉点的一个或更多个指令;
计算使所述交叉点移动到所述特定数据点的力矢量的一个或更多个指令;
基于所计算的力矢量来确定针对所述特定三角面的顶点的顶点力矢量的一个或更多个指令;以及
通过基于相加的力矢量使所述顶点移动来使所述初始雕塑变形的一个或更多个指令。
CN201480079941.7A 2014-06-16 2014-12-15 通过计算装置执行的方法、移动通信装置和存储介质 Active CN106663334B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/305,563 2014-06-16
US14/305,563 US9311565B2 (en) 2014-06-16 2014-06-16 3D scanning with depth cameras using mesh sculpting
PCT/IB2014/066896 WO2015193708A1 (en) 2014-06-16 2014-12-15 3d scanning with depth cameras using mesh sculpting

Publications (2)

Publication Number Publication Date
CN106663334A CN106663334A (zh) 2017-05-10
CN106663334B true CN106663334B (zh) 2020-01-07

Family

ID=52432865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480079941.7A Active CN106663334B (zh) 2014-06-16 2014-12-15 通过计算装置执行的方法、移动通信装置和存储介质

Country Status (4)

Country Link
US (1) US9311565B2 (zh)
EP (1) EP3155596B1 (zh)
CN (1) CN106663334B (zh)
WO (1) WO2015193708A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101555426B1 (ko) * 2014-02-07 2015-09-25 고려대학교 산학협력단 지형 렌더링 방법 및 장치
CN104461009B (zh) * 2014-12-22 2018-01-09 百度在线网络技术(北京)有限公司 物体的测量方法和智能设备
US20170171525A1 (en) * 2015-12-14 2017-06-15 Sony Corporation Electronic system including image processing unit for reconstructing 3d surfaces and iterative triangulation method
CN106447783B (zh) * 2016-09-08 2019-08-02 飞依诺科技(苏州)有限公司 一种基于光线投射算法的三维网格生成方法及装置
US20180081484A1 (en) * 2016-09-20 2018-03-22 Sony Interactive Entertainment Inc. Input method for modeling physical objects in vr/digital
CN106600689A (zh) * 2016-12-16 2017-04-26 北京小米移动软件有限公司 3d打印数据生成方法及装置
KR20180095997A (ko) * 2017-02-20 2018-08-29 온스캔스주식회사 3d 스캐너 및 레이저 조각기를 이용한 조각 시스템 및 방법
WO2018179253A1 (ja) * 2017-03-30 2018-10-04 株式会社ソニー・インタラクティブエンタテインメント ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム
WO2018179254A1 (ja) * 2017-03-30 2018-10-04 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成方法及びプログラム
US10748327B2 (en) * 2017-05-31 2020-08-18 Ethan Bryce Paulson Method and system for the 3D design and calibration of 2D substrates
CN107330976B (zh) * 2017-06-01 2023-05-02 北京大学第三医院 一种人体头部三维建模装置及使用方法
US10949700B2 (en) * 2018-01-10 2021-03-16 Qualcomm Incorporated Depth based image searching
CN108646470A (zh) * 2018-05-04 2018-10-12 京东方科技集团股份有限公司 隔垫物制作方法及系统、显示面板和显示装置
WO2020068388A1 (en) 2018-09-26 2020-04-02 Snap Inc. Depth sculpturing of three-dimensional depth image utilizing two-dimensional input selection
CN109862209B (zh) * 2019-01-04 2021-02-26 中国矿业大学 一种基于光线逆追踪技术还原井下图像的方法
JP6784785B2 (ja) * 2019-01-29 2020-11-11 日本ユニシス株式会社 メッシュ簡略化装置およびメッシュ簡略化用プログラム
US10699323B1 (en) * 2019-08-21 2020-06-30 Capital One Services, Llc Vehicle identification driven by augmented reality (AR)
JP2022553771A (ja) * 2019-10-28 2022-12-26 マジック リープ, インコーポレイテッド 仮想オブジェクト提示のための縁検出および平滑化
US11682234B2 (en) * 2020-01-02 2023-06-20 Sony Group Corporation Texture map generation using multi-viewpoint color images
US11718040B2 (en) * 2020-02-18 2023-08-08 Drew Alexander Williams 3D printed sculptures and process
CN113191207B (zh) * 2021-04-08 2022-12-02 华中科技大学 一种基于多视角特征的工件识别方法和装置
WO2023211307A1 (ru) * 2022-04-27 2023-11-02 Общество с ограниченной ответственностью "Ювл Роботикс" Система автономной инвентаризации склада

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385237A (zh) * 2010-09-08 2012-03-21 微软公司 基于结构化光和立体视觉的深度相机
CN102577349A (zh) * 2009-07-07 2012-07-11 天宝导航有限公司 基于图像的表面追踪
CN102572505A (zh) * 2010-11-03 2012-07-11 微软公司 家中深度相机校准
CN102622776A (zh) * 2011-01-31 2012-08-01 微软公司 三维环境重构
CN103597516A (zh) * 2011-06-06 2014-02-19 微软公司 控制虚拟环境中的对象

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009188A (en) * 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
GB2405775B (en) * 2003-09-05 2008-04-02 Canon Europa Nv 3D computer surface model generation
US7643025B2 (en) * 2003-09-30 2010-01-05 Eric Belk Lange Method and apparatus for applying stereoscopic imagery to three-dimensionally defined substrates
US8711206B2 (en) * 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
WO2013174671A1 (en) * 2012-05-22 2013-11-28 Telefonica, S.A. A method and a system for generating a realistic 3d reconstruction model for an object or being

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577349A (zh) * 2009-07-07 2012-07-11 天宝导航有限公司 基于图像的表面追踪
CN102385237A (zh) * 2010-09-08 2012-03-21 微软公司 基于结构化光和立体视觉的深度相机
CN102572505A (zh) * 2010-11-03 2012-07-11 微软公司 家中深度相机校准
CN102622776A (zh) * 2011-01-31 2012-08-01 微软公司 三维环境重构
CN103597516A (zh) * 2011-06-06 2014-02-19 微软公司 控制虚拟环境中的对象

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于离散点的绘制方法研究;冯月萍;《中国优秀博硕士学位论文全文数据库 (博士) 信息科技辑》;20061115;第I138-71页 *

Also Published As

Publication number Publication date
WO2015193708A1 (en) 2015-12-23
US9311565B2 (en) 2016-04-12
US20150363665A1 (en) 2015-12-17
CN106663334A (zh) 2017-05-10
EP3155596B1 (en) 2020-03-11
EP3155596A1 (en) 2017-04-19

Similar Documents

Publication Publication Date Title
CN106663334B (zh) 通过计算装置执行的方法、移动通信装置和存储介质
CN109660783B (zh) 虚拟现实视差校正
JP6423435B2 (ja) 物理的光景を表すための方法および装置
CN104380338B (zh) 信息处理器以及信息处理方法
US9443353B2 (en) Methods and systems for capturing and moving 3D models and true-scale metadata of real world objects
JP2018537755A (ja) 中心窩ジオメトリテッセレーション
CN110214340B (zh) 使用rgb色彩数据的结构光深度图的细化
US10347052B2 (en) Color-based geometric feature enhancement for 3D models
WO2019196745A1 (zh) 人脸建模方法及相关产品
CN106997613B (zh) 根据2d图像的3d模型生成
WO2017107537A1 (zh) 虚拟现实设备及避障方法
EP2852935A1 (en) Systems and methods for generating a 3-d model of a user for a virtual try-on product
KR20170086077A (ko) 증강 현실 장면에서의 드로잉을 위한 깊이 정보의 사용
JP2019536162A (ja) シーンのポイントクラウドを表現するシステム及び方法
KR20120062170A (ko) 가상 모니터 제어장치 및 그 제어방법
CN112912936A (zh) 混合现实系统、程序、移动终端装置和方法
US9959672B2 (en) Color-based dynamic sub-division to generate 3D mesh
US11682234B2 (en) Texture map generation using multi-viewpoint color images
EP3059663B1 (en) A method and a system for interacting with virtual objects in a three-dimensional space
US10621788B1 (en) Reconstructing three-dimensional (3D) human body model based on depth points-to-3D human body model surface distance
Kumara et al. Real-time 3D human objects rendering based on multiple camera details
CN107967709B (zh) 通过使用透视图或者传送的改进的对象涂绘
KR20190048507A (ko) 3차원 메쉬 데이터 간소화 방법 및 장치
CN115803782A (zh) 具有实时深度图的感受几何结构的增强现实效果
US20230260076A1 (en) System, information processing apparatus, and method

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