CN111742352A - 3d对象建模方法以及相关设备和计算机程序产品 - Google Patents
3d对象建模方法以及相关设备和计算机程序产品 Download PDFInfo
- Publication number
- CN111742352A CN111742352A CN201880089793.5A CN201880089793A CN111742352A CN 111742352 A CN111742352 A CN 111742352A CN 201880089793 A CN201880089793 A CN 201880089793A CN 111742352 A CN111742352 A CN 111742352A
- Authority
- CN
- China
- Prior art keywords
- sensor
- distance
- updated
- representation
- grid representation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- 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
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
提供了对三维(3D)对象进行建模的方法。对3D对象进行建模的方法包括以下步骤:基于来自多个二维(2D)图像的数据,生成3D对象的至少一部分的3D模型。此外,该方法包括以下步骤:通过对距3D对象的距离进行估计来缩放3D模型。还提供了相关设备和计算机程序产品。
Description
技术领域
本公开涉及图像处理。
背景技术
可用性不断提高的三维(3D)对象扫描和打印技术已经使得大量个人和组织能够按需扫描、设计甚或打印他们自己的模型和零部件。例如,可以将来自一个或更多个摄像头的图像馈送用于以数字方式重建物理的3D对象。作为示例,可以将图像馈送用于创建一个或更多个密集点云,并且基于所述点云创建多边形网格。可以例如使用基于具有不同的相应时间戳的图像帧的立体视差估计来创建所述点云。然而,所得到的多边形网格的一个或更多个尺寸可能因难以确定物理的3D对象的大小而发生畸变。结果,当以数字方式重建多个3D对象时,不同的数字重建的相对大小可能是不正确的。
发明内容
应当清楚,提供本发明内容以按简化形式介绍很多概念,下面,在详细描述中对所述概念加以进一步描述。本发明内容不旨在标识本公开的关键特征或基本特征,也不旨在限制本发明构思的范围。
本发明构思的各个实施方式包括对3D对象进行建模的方法。所述方法可以包括:针对无线电子设备的第一传感器的第一位置,对3D对象的网格表示的第一部分进行渲染。所述方法可以包括以下步骤:对从网格表示的第一部分到无线电子设备的第二传感器的第一距离进行模拟。所述方法可以包括:基于第一距离确定网格表示的第一部分的第一比例参数。所述方法可以包括:针对第一传感器的第二位置,对3D对象的网格表示的第二部分进行渲染。所述方法可以包括:对从网格表示的第二部分到第二传感器的第二距离进行模拟。所述方法可以包括:基于第二距离确定网格表示的第二部分的第二比例参数。此外,所述方法可以包括:基于第一比例参数和第二比例参数并且基于第一传感器与第二传感器之间的预定的物理距离,对第一传感器与第二传感器之间的模拟距离进行估计。有利地,这些操作可以向原本可能具有不正确的比例的3D模型提供缩放。此外,通过考虑第一传感器与第二传感器之间的距离,这些操作可以增加缩放的精度。
根据各个实施方式,所述方法可以包括:通过基于第一比例参数和第二比例参数对3D对象的网格表示的缩放进行调节,将3D对象的网格表示转换成该3D对象的3D模型。
在各个实施方式中,对第一距离进行模拟可以包括:对分别从网格表示的第一部分中的第一多个点到第二传感器的第一多个距离进行模拟。所述方法可以包括:确定第一多个距离的平均值。类似地,对第二距离进行模拟的步骤可以包括:对分别从网格表示的第二部分中的第二多个点到第二传感器的第二多个距离进行模拟,并且所述方法可以包括:确定第二多个距离的平均值。
根据各个实施方式,确定第一多个距离的平均值可以包括:确定关于第一传感器的第一位置的加权平均值。确定加权平均值可以包括:分别将第一多个距离与多个权重参数相乘,以提供多个乘法结果。所述多个权重参数可以分别基于网格表示的第一部分的多个颜色值并且基于第一多个距离来确定。确定加权平均值可以包括:对所述多个乘法结果进行求和,并且对所述多个权重参数进行求和。此外,确定加权平均值可以包括:将所述多个乘法结果的总和与所述多个权重参数的总和相除。
在各个实施方式中,所述方法可以包括:确定多个比例参数的平均值,所述多个比例参数包括第一比例参数和第二比例参数。对第一传感器与第二传感器之间的模拟距离进行估计可以基于所述多个比例参数的平均值来执行。在一些实施方式中,基于所述多个比例参数的平均值对模拟距离进行估计可以包括:对第一模拟距离进行估计。此外,所述方法可以包括:对第二模拟距离进行估计。
对第二模拟距离进行估计可以包括:基于第一模拟距离,选择网格表示的更新的第一部分,该网格表示的更新的第一部分从网格表示的第一部分偏移。对第二模拟距离进行估计可以包括:对从网格表示的更新的第一部分到第二传感器的更新的第一距离进行模拟。对第二模拟距离进行估计可以包括:基于更新的第一距离,确定网格表示的更新的第一部分的更新的第一比例参数。对第二模拟距离进行估计可以包括:基于第一模拟距离,选择网格表示的更新的第二部分,网格表示的更新的第二部分从网格表示的第二部分偏移。对第二模拟距离进行估计可以包括:对从网格表示的更新的第二部分到第二传感器的更新的第二距离进行模拟。对第二模拟距离进行估计可以包括:基于更新的第二距离,确定网格表示的更新的第二部分的更新的第二比例参数。对第二模拟距离进行估计可以包括:确定更新的多个比例参数的平均值,所述更新的多个比例参数包括更新的第一比例参数和更新的第二比例参数。此外,对第二模拟距离进行估计可以包括:将第一传感器与第二传感器之间的预定的物理距离与所述更新的多个比例参数的平均值相除。
根据各个实施方式,在对第一模拟距离进行估计之前,可以基于为零的初始模拟距离,选择网格表示的第一部分。另外或另选地,对网格表示的第一部分进行渲染可以包括:对网格表示的第一部分的深度图进行渲染。此外,所述方法可以包括:将深度图存储在存储介质中。在一些实施方式中,对深度图进行渲染可以使用来自第一传感器和第二传感器的数据来执行。
在各个实施方式中,第一传感器和第二传感器分别可以是不同类型的传感器。例如,第一传感器和第二传感器分别可以是图像传感器和单射束飞行时间传感器。另外或另选地,所述方法可以包括:在存储介质中从图像拍摄装置接收3D对象的图像数据,并且对网格表示的第一部分进行渲染以及对网格表示的第二部分进行渲染可以使用该图像数据来执行。
根据各个实施方式,所述方法可以包括:基于网格表示的第一部分的第一像素的第一颜色,对第一距离的值进行调节。确定第一比例参数可以基于第一距离的调节的值来执行。类似地,所述方法可以包括:基于网格表示的第二部分中的第二像素的第二颜色,对第二距离的值进行调节,并且确定第二比例参数可以基于第二距离的调节的值来执行。
根据各个实施方式,对3D对象进行建模的方法可以包括:在图像拍摄装置中,从相对于3D对象的不同视角,拍摄该3D对象的多个2D图像。所述方法可以包括:根据拍摄的多个2D图像,生成3D对象的至少一部分的3D模型。此外,所述方法可以包括:通过使用在所述拍摄期间由图像拍摄装置生成并且从3D对象反射回来的信号,对该3D对象与图像拍摄装置之间的距离进行估计,来缩放该3D模型的尺寸。
在各个实施方式中,所述图像拍摄装置可以包括飞行时间传感器;并且所述对距离进行估计可以包括:使用飞行时间传感器对信号进行检测。此外,所述对距离进行估计可以包括:通过对在所述拍摄期间由所述图像拍摄装置生成并且从3D对象反射回来的信号如何从多个不同的视角照亮3D模型进行模拟,生成使用飞行时间传感器检测到的信号的仿真。例如,所述生成仿真的步骤可以包括:将仿真映射至使用飞行时间传感器检测到的信号。
根据各个实施方式,所述图像拍摄装置可以包括镜头和相对于该镜头偏移的飞行时间传感器,所述多个2D图像是通过该镜头拍摄的。此外,所述对距离进行估计的步骤可以包括:使用飞行时间传感器对信号进行检测。在一些实施方式中,所述信号可以由飞行时间传感器生成并检测到。
根据各个实施方式,所述生成步骤和缩放步骤可以包括:针对不同视角中的第一视角,对3D对象的3D模型的第一部分进行渲染。所述生成步骤和缩放步骤可以包括:对从3D模型的第一部分到所述图像拍摄装置的飞行时间传感器的第一距离进行模拟。所述生成步骤和缩放步骤可以包括:基于第一距离,确定3D模型的第一部分的第一比例参数。所述生成步骤和缩放步骤可以包括:针对不同的视角中的第二视角,对3D对象的3D模型的第二部分进行渲染。所述生成步骤和缩放步骤可以包括:对从3D模型的第二部分到飞行时间传感器的第二距离进行模拟。此外,所述生成步骤和缩放步骤可以包括:基于第二距离,确定3D模型的第二部分的第二比例参数。在一些实施方式中,所述缩放步骤可以包括:基于第一比例参数和第二比例参数,对3D模型的缩放进行调节。
在各个实施方式中,一种电子设备可以包括处理器。此外,所述电子设备可以包括存储介质,该存储介质联接至处理器并且包括计算机可读程序代码,该计算机可读程序代码在由处理器执行时,使该处理器执行所述方法操作中的任一操作。另外或另选地,一种计算机程序产品可以包括非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质包括计算机可读程序代码,该计算机可读程序代码在由处理器执行时,使该处理器执行所述方法操作中的任一操作。
根据各个实施方式,一种电子设备可以包括:处理器以及存储介质,该存储介质联接至处理器并且包括计算机可读程序代码,该计算机可读程序代码在由处理器执行时,使该处理器执行包括以下项的操作:针对无线电子设备的第一传感器的第一位置,对3D对象的网格表示的第一部分进行渲染。所述操作可以包括:对从网格表示的第一部分到无线电子设备的第二传感器的第一距离进行模拟。所述操作可以包括:基于第一距离,确定网格表示的第一部分的第一比例参数。所述操作可以包括:针对第一传感器的第二位置,对3D对象的网格表示的第二部分进行渲染。所述操作可以包括:对从网格表示的第二部分到第二传感器的第二距离进行模拟。所述操作可以包括:基于第二距离,确定网格表示的第二部分的第二比例参数。此外,所述操作可以包括:基于第一比例参数和第二比例参数并且基于第一传感器与第二传感器之间的预定的物理距离,对第一传感器与第二传感器之间的模拟距离进行估计。
附图说明
形成本说明书的一部分的附图例示了本发明构思的各个实施方式。附图和描述一起用于全面解释本发明构思的实施方式。
图1A是根据本发明构思的各个实施方式的例示用户利用电子设备拍摄对象的多个图像的图。
图1B至图1D是根据各个实施方式的例示对象的3D模型的图。
图1E是根据各个实施方式的例示两个传感器的相应视场的图。
图2A至图2J是根据各个实施方式的对3D对象进行建模的操作的流程图。
图3A是根据各个实施方式的电子设备的框图。
图3B是根据各个实施方式的例示可以使用的示例处理器和存储器的细节的框图。
具体实施方式
许多无线电子设备仅使用一个摄像头来生成图像馈送。例如,无线电子设备可以包括一个后置摄像头和/或一个前置摄像头。使用来自单个摄像头的图像馈送,可以基于图像数据执行3D对象重建。然而,这种单目对象重建的一个缺点是缺乏比例。例如,仅使用单个摄像头,可能很难确定被扫描对象的大小是2米还是2毫米,这是因为小且近的对象与大且远的对象在图像传感器上的投影大小可能是相同的。
然而,本发明构思的各个实施方式可以通过利用无线电子设备中包括的一个或更多个传感器来提供3D模型的缩放。例如,除了摄像头/图像传感器外,一些装置还可以包括额外的传感器,诸如单射束飞行时间传感器,该单射束飞行时间传感器将光(例如,红外光和/或可见光)投射到摄像头的前方,并且测量光子被反射回该传感器所花费的时间。这些附加的传感器通常用于自动对焦。特别地,通过测量光子从设备行进至3D对象,接着从3D对象返回至设备所花费的时间,这些附加的传感器可以计算对象距离(例如,采用公制)。本发明构思的一些实施方式可以使用这些附加的传感器来执行3D对象的比例估计。
例如,一些实施方式可以使用单射束飞行时间传感器测量,来计算3D重建期间3D对象的真实世界(例如,公制)比例。这样的3D重建可以包括在建立3D对象的3D网格之后发生的处理。作为示例,本文所描述的缩放操作(例如,计算比例因子)可以在3D网格的着色的计算期间发生。
利用各个光脉冲,单射束飞行时间传感器生成单个测量(因此称为“单射束”)。然而,由于飞行时间传感器是测量来自多个方向的反射光的,因此单个测量具有相对宽的视场。这样,由飞行时间传感器测量出的距离不是距3D对象的单个点(例如,中心)的距离,而是距3D对象的表面上的多个点的距离的平均值(例如,加权平均值)。然而,3D重建可以包括尝试计算相对于3D对象的中心的摄像头位置。一个挑战是该距离采用了未知的比例(具有未知的单位)。但是计算(a)由飞行时间传感器测量出的实际对象距离与(b)在3D重建期间估计/模拟的对象距离的比率将提供全局比例因子,该全局比例因子可以被用于将3D模型缩放成公制。
例如,本发明构思的各个实施方式可以通过使用3D重建比例对飞行时间传感器的行为进行仿真,对未知比例的对象距离进行补偿。这种仿真例如可以包括:如果3D重建比例是公制比例,则计算飞行时间传感器将返回什么值。然后,可以根据多次测量计算出比例比率。此外,可以计算平均值和标准偏差以减少测量噪声并估计测量精度。
可以通过从摄像头的视角将3D网格渲染成深度缓冲区来实现对3D重建期间的飞行时间传感器的仿真。深度缓冲区是其中各个像素皆表示该点距摄像头的距离的缓冲区。可以由无线电子设备的图形处理单元(GPU)例如使用来执行该渲染。深度缓冲区可以区分更靠近摄像头的像素与较远离摄像头的像素。例如,像素的照度可以表示这些像素距摄像头的距离。
因此,本文的一些实施方式可以对飞行时间传感器进行仿真,以确定被扫描的3D对象的比例。由于可以提供不同的3D对象相对于彼此的正确大小,因此这在扫描多个3D对象时可能是有益的。否则,一个3D对象的3D模型相对于另一3D对象的3D模型可能太大或太小。此外,本文的一些实施方式可以对飞行时间传感器与拍摄3D对象的图像的图像传感器之间的距离进行补偿,和/或可以对3D对象的着色进行补偿。
图1A是根据本发明构思的各个实施方式的例示用户110利用电子设备100拍摄物理的3D对象135的多个2D图像130的图。尽管图1A例示了其中在电子设备100处由图像拍摄装置340(图3A)的一个或更多个传感器101/102拍摄图像130的示例,但是可以另选地由另一设备拍摄图像130,随后由电子设备100接收该图像。
在图1A中,用户110在位置120a处,发起对象135(诸如人的面部、或者汽车)的摄影会话。用户110可以绕对象135物理地移动至各个位置,诸如从位置120a到不同的位置120b。在各个位置拍摄对象135的图像130。例如,当电子设备100处于位置120a时拍摄图像130a,而当电子设备100移动至不同的位置120b时,拍摄图像130b。拍摄的图像130皆可以是二维(2D)图像。
随着用户110绕对象135走动,电子设备100可以以不同的角度提供图像130。例如,用户110可以绕对象135的360度(或者另选为至少180度)来拍摄图像130。在拍摄至少两个图像130(诸如图像130a和130b)之后,可以由电子设备100中的处理器350(图3A)或者由电子设备100外部的处理器来对图像130进行处理,以构建对象135的数字3D模型150/150'(图1B),或者以其它方式生成3D图像。在本文中可以互换地使用术语“构建(“construct”或“constructing”)”、“生成(“generate”或“generating”)”以及“建立(“build”或“building”)”。
图1B是根据各个实施方式的例示对象135的数字3D模型150/150'的图。在一些实施方式中,对象135的数字3D模型150/150'可以将对象135的两个不同形状的区域进行建模。例如,数字3D模型150/150'可以对通常为球形(或半球形)形状的上部区域135-S(图1A)以及通常为圆柱形状的下部区域135-C(图1A)进行建模。作为示例,人类头部的顶部区域通常可以是半球形状,而颈部和肩部区域可以按照圆柱体进行更精确模拟。
图像130的处理可以包括标识如在图像130中拍摄的对象135的点140-144(图1A)。点140-144可以包括对象135的表面上的各个边、角或其它点。点140-144可以是在物理对象135上的可识别位置,这些可识别位置在物理对象135的各个图像130中被跟踪。在一些实施方式中,构建对象135的数字3D模型150/150'可以涉及拍摄对象135的几个(例如,三个、四个、五个或更多个)图像130,并且标识数十、数百或数千个点140-144。可以使用各种建模/统计技术来估计点140-144的位置(例如,坐标)。
对象135的数字3D模型150/150'包括外表面151,该外表面可以包括多个多边形155,其中每个多边形皆可以包括一个或更多个像素/点。所述多个多边形155提供对象135的外表面的表示。例如,所述多个多边形155可以将对象135的外表面上的特征(诸如点140-144处的特征)建模。在一些实施方式中,所述多个多边形155可以包括多个三角形。另外或另选地,可以将纹理(例如,当对象135是人时,纹理是头发或皮肤)映射至所述多个多边形155。
数字3D模型150/150'的外表面151可以包括两个部分,这两个部分分别将对象135的两个不同形状的部分建模。作为示例,初步数字3D模型150的外表面151可以包括上部151-S,该上部151-S将对象135的通常为球形(或半球形)形状的上部135-S建模,并且还可以包括下部151-C,该下部151-C将对象135的通常像圆柱形形状的下部135-C建模。
在一些实施方式中,初步数字3D模型150可以是对象135的数字网格表示。数字3D模型150'可以是通过对初步数字3D模型150(第一模型)进行修改/精细化而构建的第二模型。初步数字3D模型150以及数字3D模型150'均为数字模型,并且可以被称为物理对象135的“计算机”、“虚拟”、“网格”或“电子”模型。在一些实施方式中,数字3D模型150'的比例可以与初步数字3D模型150的比例不同。例如,数字3D模型150'的比例可以更接近对象135的比例。另外或者另选地,与在初步数字3D模型150中相比,在数字3D模型150'中,外表面151的拓扑细节水平可以更高。在一些实施方式中,可以将外表面151的颜色和/或纹理添加至初步数字3D模型150,或者可以在构建数字3D模型150'时,以增加的细节水平来提供外表面151的颜色和/或纹理。
图1C是根据各个实施方式的例示初步数字3D模型150的图。在一些实施方式中,初步数字3D模型150可以指示其不同的深度。例如,初步数字3D模型150可以将一个或更多个区域150-C指示为更靠近传感器101,该传感器101拍摄了从中导出初步数字3D模型150的图像数据。此外,初步数字3D模型150可以将一个或更多个区域150-F指示为远离传感器101(与区域150-C相比),该传感器101拍摄了从中导出初步数字3D模型150的图像数据。作为示例,当传感器101正面对作为人类面部的对象135时,区域150-C可以包括诸如鼻子和额头的特征,而区域150-F可以包括诸如耳朵的特征。在一些实施方式中,可以以不同的颜色或者颜色深浅不同的特定颜色的形式在初步数字3D模型150上指示深度的变化。例如,区域150-C可能显得较暗,而150-F区域可能显得较亮。
图1D是根据各个实施方式的例示初步数字3D模型150的图。特别地,图1D例示了可以选择初步数字3D模型150的一部分150-S。例如,所选择的部分150-S可以从图1C的初步数字3D模型150中选择,或者可以从3D对象135的任何其它数字表示中选择。在一些实施方式中,所选择的部分150-S可以是初步数字3D模型150上的测量窗口/区域,并且可以对应于传感器102的视场。所选择的部分150-S可以包括多个像素/点150-P,包括第一像素/点150-P1和第二像素/点150-P2。尽管例示了两个像素/点150-P1、150-P2,但是应当理解,所选择的部分150-S中的所述多个像素/点150-P可以包括数十、数百、数千或更多的像素/点150-P。
图1E是根据各个实施方式的例示两个传感器101、102的相应视场的图。传感器101、102例如可以是电子设备100的图像拍摄装置340(图3A)的传感器。在图1E的示例中,传感器101、102正面对作为人类头部/面部的3D对象135。例如,镜头L-101可以在传感器101上,并且可以面对3D对象135。传感器101拍摄视场FOV-101。在电子设备100上/电子设备100中与传感器101间隔开物理距离DP的传感器102拍摄视场FOV-102(以虚线例示)。由于这个物理距离DP,传感器102与3D对象135上的点之间的距离可以不同于传感器101与3D对象135上的所述点之间的距离。因此,可能期望在对传感器102与基于由传感器101拍摄的图像数据的数字3D模型150上的点之间的距离进行模拟/估计时,考虑该物理距离DP。
图2A至图2J是根据各个实施方式的对3D对象135进行建模的操作的流程图。尽管可以将电子设备100配置成执行图2A至图2J的流程图中的任何操作,但是在一些实施方式中,可以在电子设备100之外执行所述操作中的一个或更多个操作。
参照图2A和图2B,对3D对象135进行建模的操作包括:对3D对象135的一个或更多个部分的网格表示或其它数字3D表示中的一个或更多个部分进行渲染(框250)。在一些实施方式中,网格表示可以提供3D对象135的初步/未缩放的数字3D模型150。此外,所述操作包括:对网格表示进行缩放(框260)。例如,所述操作可以包括:确定3D对象135的比例并将该比例应用于3D模型150。所得到的缩放的网格表示可以是缩放的3D模型150'。因此,在一些实施方式中,可以在本文中将框250和框260的操作称为构建经缩放的3D模型150'的操作。
可以由电子设备100来执行框250和框260的操作,该电子设备可以是智能手机、平板计算机、膝上型计算机、便携式摄像头或者各种其它的便携式/无线电子设备之一。另选地,可以由服务器、台式计算机、固定摄像头(例如,安全摄像头)或者与电子设备100分离并且不如电子设备100便携的另一电子设备来执行框250和框260的操作。在一些实施方式中,可以将电子设备100称为“移动装置”或“用户设备”。
仍参照图2A,对3D对象135进行建模的操作可以包括各种可选操作。例如,在对网格表示进行缩放(框260)之后,在一些实施方式中,所述操作可以包括:对缩放的网格表示进行存储/显示(框265)。作为示例,可以将缩放的网格表示存储在电子设备100的存储介质370(图3A)中。例如,可以将缩放的3D模型150'存储在存储介质370中。另外或另选地,可以将在框260中确定的一个或更多个比例参数与未缩放/初步3D模型150一起存储在存储介质370中。作为示例,可以将比例参数(其在本文中也可以被称为比例比率或比例因子)存储在诸如可扩展标记语言(XML)文件的文件中,可以将该文件存储在网格表示中/与网格表示一起存储。可以将缩放参数与未缩放/初步3D模型150组合,以生成缩放的3D模型150'。另外或另选地,可以将缩放的3D模型150'显示在电子设备100的图形用户接口(GUI)390(图3A)的显示器上。在一些实施方式中,用户110可以旋转或者以其它方式操纵在电子设备100上显示的缩放的3D模型150'。
在对3D对象135的网格表示进行渲染(框250)之后,可以将网格表示进行存储/显示(框255)。例如,可以将网格表示存储在电子设备100的存储介质370(图3A)中和/或显示在电子设备100的GUI 390(图3A)的显示器上。作为示例,电子设备100的用户110可能希望在对网格表示进行缩放(框260)之前查看该网格表示。
在一些实施方式中,可以在对3D对象135的网格表示进行渲染(框250)之前执行各种操作。所述操作可以包括:在存储介质(370)中,从图像拍摄装置340(图3A)接收(框205)3D对象135的图像数据。在一些实施方式中,拍摄图像数据的同一电子设备100可以基于图像数据对3D对象135的网格表示进行渲染(框235)。另选地,一个设备可以拍摄图像数据,而不同的设备可以基于该图像数据对网格表示进行渲染。此外,接收(框205)图像数据的操作可以是指将图像数据存储在拍摄该图像数据的同一电子设备100中,或者是指经由网络接口360(图3A)从另一设备接收图像数据。在一些实施方式中,图像数据可以是指照片或视频流中的帧。
除了框205的操作以外或者作为框205的操作的另选,在一些实施方式中,操作可以包括:对图像数据进行存储/显示(框215)。例如,可以将图像数据存储在电子设备100的存储介质370(图3A)中和/或显示在电子设备100的GUI 390(图3A)的显示器上。作为示例,图像数据可以包括多个2D图像130,并且电子设备100的用户110可能希望在对基于2D图像130的网格表示进行渲染(框250)之前查看2D图像130。由于2D图像130可能全部来自同一单目(即,单一)摄像头,因此可能难以确定3D对象135的比例(并因此难于确定网格表示的比例)。
在一些实施方式中,操作可以包括:在图像数据中标识(框225)表示3D对象135的表面的多个点140-144(图1A)。可以使用所标识的所述多个点140-144来渲染(框250)网格表示。在一些实施方式中,对网格表示进行渲染(框250)在本文中可以被称为“建立”或“构建”网格表示的一个或更多个部分。例如,对网格表示进行渲染(框250)在本文中可以被称为“建立”或“构建”与3D对象135的一个或更多个部分有关的未缩放/初步数字3D模型150。
现在,参照图2C,接收(框205)图像数据的操作可以包括:在图像拍摄装置340中(框3A)中,从相对于3D对象135的不同的视角拍摄(框205')3D对象135的多个2D图像130。图像拍摄装置340可以是单目摄像头。不同的视角例如可以包括从位置120a(图1A)起的第一视角和从位置120b(图1A)起的不同的第二视角。对网格表示进行渲染(框250)的操作可以包括:根据所述多个拍摄的2D图像130来生成(框250')3D对象135的至少一部分的未缩放/初步数字3D模型150。此外,对网格表示进行缩放(框260)的操作可以包括:通过使用在拍摄(框205')期间不但(i)由图像拍摄装置340生成而且(ii)从3D对象135反射回来的信号,对3D对象135与图像拍摄装置340之间的距离进行估计,来缩放(框260')3D模型150的一个或更多个尺寸。因此,信号(可以是红外线或可见光)是在拍摄(框205')期间返回至图像拍摄装置340以被检测的信号。
例如,图像拍摄装置340可以包括飞行时间传感器102,并且对3D对象135与图像拍摄装置340之间的距离进行估计的操作可以包括:使用飞行时间传感器102来检测信号。作为示例,飞行时间传感器102可以在拍摄(框205')期间检测信号。此外,对距离进行估计的操作可以包括:通过对在拍摄(框205')期间由飞行时间传感器102生成并且从3D对象135反射回来的信号如何从多个不同的视角照亮3D模型150进行模拟,来生成使用飞行时间传感器102检测到的信号的仿真。因此,本文所使用的术语“估计”是指对3D对象135与图像拍摄装置340之间的距离进行估计的一个示例。所述多个不同的视角例如可以是来自不同的位置120a、120b(图1A)的相应的视角。在一些实施方式中,生成仿真可以包括:将仿真映射至使用飞行时间传感器102检测到的信号。
另外或另选地,图像拍摄装置340可以包括镜头L-101(图1E和图3A),所述多个2D图像130是通过该镜头L-101拍摄的,并且还可以包括相对于镜头L-101偏移的飞行时间传感器102。对3D对象135与图像拍摄装置340之间的距离进行估计的操作可以包括:使用飞行时间传感器102来检测在拍摄(框205')期间不但(i)由图像拍摄装置340生成而且(ii)从3D对象135反射回来的信号。在一些实施方式中,信号均是由飞行时间传感器102生成并检测的。
此外,作为使用飞行时间传感器102来检测不但(i)由图像拍摄装置340生成而且(ii)从3D对象135反射回来的信号的另选,框260'的操作可以代替地包括:通过使用在拍摄(框205')期间不但(a)从3D对象135反射回来而且(b)被图像拍摄装置340检测到的信号,对3D对象135与图像拍摄装置340之间的距离进行估计,来缩放3D模型150的尺寸。例如,由于现代摄像头具有大量自动对焦点,因此摄像头可以聚集在2D焦点阵列中的各个焦点,并且确定映射至图像传感器101上的像素的各个焦点的距离,而无需使用专用的飞行时间传感器102。然而,专用的飞行时间传感器102可以提供比自动聚焦传感器更好的精度来进行距离测量。此外,专用的飞行时间传感器102可以帮助进行自动聚焦操作。
现在,参照图2D,可以交替和重复地执行对网格表示进行渲染(框250)的操作和对网格表示进行缩放(框260)的操作。例如,可以针对网格表示的与3D对象135的相应的不同部分相对应的不同部分来迭代地执行框250和框260的操作。
作为示例,框250和框260的操作可以包括:针对无线电子设备100的第一传感器101(例如,图像传感器)的第一位置(例如,第一视角),对3D对象135的网格表示的第一部分进行渲染(框250-1)。所述操作可以包括:对从网格表示的第一部分到无线电子设备100的第二传感器102(例如,飞行时间传感器)的第一距离进行估计/模拟(框260-1)。所述操作可以包括:基于第一距离,确定(框261-1)网格表示的第一部分的第一比例参数。此外,所述操作可以包括:针对第一传感器101的第二位置(例如,第二视角),对3D对象135的网格表示的第二部分进行渲染(框250-2)。例如,第一部分可以是/包括图1D中例示的所选择的部分150-S,并且第二部分可以相对于所选择的部分150-S偏移,使得第二部分不与所选择的部分150-S交叠或者仅与所选择的部分150-S部分交叠。所述操作可以包括:对从网格表示的第二部分到第二传感器102的第二距离进行估计/模拟(框260-2)。所述操作还可以包括:基于第二距离,确定(框261-2)网格表示的第二部分的第二比例参数。此外,尽管图2D提供了关于第一传感器101的第一位置和第二位置的示例,但是可以针对第一传感器101的三个、四个或更多个位置重复图2D的操作。
然后,可以将第一比例参数和第二比例参数用于将3D对象135的网格表示转换(框263)为缩放的3D模型150'。例如,可以基于第一比例参数和第二比例参数来调节网格表示的比例。因此,框263的操作可以包括:向网格表示应用第一比例参数和第二比例参数(例如,应用基于第一比例参数和第二比例参数的平均比例参数值)。另外或另选地,可以将第一比例参数和第二比例参数存储(图2A的框265)在存储介质370中,以随后应用于网格表示。此外,进一步地除了框263的操作以外或者作为框263的操作的另选,缩放(框260)的操作还可以包括:基于第一比例参数和第二比例参数并且基于第一传感器101与第二传感器102之间的预定的物理距离DP(图1E),对第一传感器101与第二传感器102之间的模拟(例如,模拟的而非物理的)距离进行估计(框262)。这样,缩放(框260)操作可以补偿第一传感器101与第二传感器102之间的偏移对网格表示的影响。
在一些实施方式中,缩放(框260)操作可以包括:再现来自第二传感器102的测量结果,以仿真/模拟有助于对网格表示的比例进行计算的环境。因此,可以基于再现的来自第二传感器102的测量结果来确定本文所描述的估计/模拟的距离。例如,对距离进行估计/模拟的操作可以包括:通过对在拍摄(图2C的框205')期间由第二传感器102生成并且从3D对象135反射回来的信号如何从多个不同的视角照亮3D模型150进行模拟,生成使用第二传感器102检测到的信号的仿真。在一些实施方式中,这种仿真的生成可以包括:将仿真映射至使用第二传感器102检测到的信号。
在一些实施方式中,响应于对网格表示的一部分进行渲染(框250-1、框250-2)的各个实例,可以执行对网格表示进行存储/显示(图2A的框255)的操作。因此,可以在对第一距离进行估计/模拟(框260-1)之前存储在框250-1中渲染的网格表示的第一部分,并且可以在对第二距离进行估计/模拟(框260-2)之前存储在框250-2中渲染的网格表示的第二部分。
现在,参照图2E,对第一距离进行估计/模拟(图2D的框260-1)的操作可以包括:分别对从网格表示的第一部分中的第一多个点到第二传感器102的第一多个距离进行估计/模拟(框260-1P)。然后,可以确定第一多个距离的平均值(框260-1A)。再次参照图1D,该平均值可以是第二传感器102与处于网格表示的或从网格表示导出的深度图的选择的部分150-S(例如,圆圈或其它测量窗口)中的点之间的平均距离。类似地,对第二距离进行估计/模拟(图2D的框260-2)的操作可以包括:分别对从网格表示的第二部分中的第二多个点到第二传感器102的第二多个距离进行估计/模拟(框260-2P)。然后,可以确定第二多个距离的平均值(框260-2A)。
现在,参照图2F,确定(图2E的框260-1A)第一多个距离的平均值的操作可以包括:确定关于第一传感器101的第一位置的加权平均值。通过分别将第一多个距离与多个权重参数相乘(框260-1A1)以提供多个乘法结果,可以确定该加权平均值。所述多个权重参数可以分别基于网格表示的第一部分的多个颜色值并且基于第一多个距离来确定。确定加权平均值还可以包括对所述多个乘法结果进行求和(框260-1A2),对所述多个权重参数进行求和(框260-1A3),并且将所述多个乘法结果的总和与所述多个权重参数的总和相除(框260-1A4)。
执行图2F的操作以模拟如何根据由3D对象135反射的光子的数量(即,光照度)来对飞行时间传感器102中的求平均进行加权。如果3D对象135的一部分反射较少,则最终测量值中的权重会降低。所反射的光子的数量取决于从飞行时间传感器102到3D对象135的距离。例如,3D对象135越远,反射回飞行时间传感器102的光子就越少。所反射的光子的数量还取决于3D对象135的颜色。例如,白颜色比黑颜色反射更多的光子。此外,在一些实施方式中,飞行时间传感器102可以检测红外光,而图像传感器101可以确定颜色。
因此,为了飞行时间传感器102中的求平均是如何加权的,图2F的操作通过引入权重分量来对距离的求平均进行调节。特别地,所述运算可以使用下式1来调节距离的求平均:
加权平均距离d=∑(d_i*w_i)/∑(w_i) (式1)
变量d_i可以是从图1D的选择窗口150-S内的特定像素150-P到飞行时间传感器102的距离,而距离d是一个摄像头位置的加权平均值(多个像素150-P的加权平均值)。
变量w_i是权重,并且取决于距离和颜色,如下式2所示:
w_i=f(c)/d_i^2 (式2)
权重与距离的平方成反比(这是由于光线的属性)。由于经由图像传感器101观察可见颜色可能仅仅接近由飞行时间传感器102检测到的红外光的反射率,因此颜色的影响可以是相对于飞行时间传感器102的近似值。
函数f(c)表示该近似值。该函数可以有多个近似值,其中一个示例是下式3中指示的伽马曲线函数:
f(c)=c^2.2 (式3)
变量c是颜色。对于较亮的像素150-P与对于较暗的像素150-P,变量c是不同的。例如,较暗的像素150-P可以具有较低的c值。因此,可以将式1至式3用于考虑距离和颜色,从而在对3D对象135进行建模时增加精度。
现在,参照图2G,缩放(框260)操作可以补偿以下影响:3D对象135的一种或更多种颜色可能对由图像拍摄装置340(图3A)生成而且被3D对象135反射回图像拍摄装置340的信号产生影响。由于不同的颜色不同地反射光,因此对3D对象135的颜色进行补偿可能是有益的。该补偿可以除了以下补偿以外或者作为以下补偿的另选来加以执行:对本文参照框262(图2D/图2H)所描述的第一传感器101与第二传感器102之间的偏移进行补偿。
例如,缩放(框260)操作可以包括:基于网格表示的第一部分中的第一像素150-P1(图1D)的第一颜色,对第一距离的值进行调节(框260-1')。确定(图2D的框261-1)第一比例参数的操作可以包括:基于第一距离的调节的值来确定(框261-1')第一比例参数。此外,缩放(框260)操作还可以包括:基于网格表示的第二部分中的第二像素150-P2(图1D)的第二颜色,对第二距离的值进行调节(框260-2')。确定(图2D的框261-2)第二比例参数的操作可以包括:基于第二距离的调节的值来确定(框261-2')第二比例参数。
现在,参照图2H,在一些实施方式中,可以在对第一传感器101与第二传感器102之间的模拟距离进行估计(框262)之后,执行将网格表示转换(图2D的框263)成缩放的3D模型150'的操作。特别地,框263的转换操作可以使用由框262的估计操作提供的模拟距离。因此,缩放的3D模型150'可以受益于对由框262的操作提供的第一传感器101与第二传感器102之间的偏移进行的补偿。
现在,参照图2I,框262的估计操作可以包括迭代处理。例如,可以确定多个比例参数(包括第一比例参数和第二比例参数)的平均值,并且可以基于多个比例参数的平均值,来执行对第一传感器101与第二传感器102之间的模拟距离进行估计(框262)的操作。迭代处理可以估计两个、三个、四个或更多个模拟距离。作为示例,在一些实施方式中,基于多个比例参数的平均值对模拟距离进行估计可以包括:对第一模拟距离进行估计(框262-B)。此外,可以对第二模拟距离进行估计。
对第二模拟距离进行估计可以包括各种操作。例如,对第二模拟距离进行估计可以包括:选择(框262-C)网格表示的更新的第一部分,更新的第一部分基于第一模拟距离从网格表示的第一部分偏移。对第二模拟距离进行估计可以包括:对从网格表示的更新的第一部分到第二传感器102的更新的第一距离进行模拟(框262-D)。对第二模拟距离进行估计可以包括:基于更新的第一距离,确定(框262-E)网格表示的更新的第一部分的更新的第一比例参数。对第二模拟距离进行估计可以包括:选择(框262-F)网格表示的更新的第二部分,更新的第二部分基于第一模拟距离从网格表示的第二部分偏移。对第二模拟距离进行估计可以包括:对从网格表示的更新的第二部分到第二传感器102的更新的第二距离进行模拟(框262-G)。对第二模拟距离进行估计可以包括:基于更新的第二距离,确定(框262-H)网格表示的更新的第二部分的更新的第二比例参数。对第二模拟距离进行估计可以包括:确定更新的多个比例参数(包括更新的第一比例参数和更新的第二比例参数)的平均值。此外,对第二模拟距离进行估计可以包括:将第一传感器101与第二传感器102之间的预定的物理距离DP与更新的多个比例参数的平均值相除(框262-J)。
仍参照图2I,在对第一模拟距离进行估计(框262-B)的操作之前,基于具有值零的初始模拟距离,选择网格表示的第一部分(框262-A)。因此,以被设置为零的初始模拟距离开始,可以迭代地更新/估计模拟距离,以提供网格表示的与物理距离DP相对应的缩放/模拟的距离。在距离为零时,第一传感器101和第二传感器102将处于同一位置。
在一些实施方式中,可以使用下式4来执行图2I中的确定(框262-I)比例因子的平均值的操作:
平均比例因子k=∑(ki*wi)/∑wi (式4)
变量ki和wi分别是特定摄像头位置的缩放比例和该特定摄像头位置的权重。而且,在本文中,可以将图2I中的对更新的距离进行模拟(框262-D和框262-G)的操作可以称为估计新的基线,并且可以使用下式5来执行:
bl_s=bl_p/k (式5)
变量bl_s和bl_p分别是估计的基线和物理基线。物理基线是预定的物理距离DP。此外,在本文中,可以将图2I中确定(框262-E和框262-H)更新的比例参数的操作称为计算比例比率,并且可以使用下式6来执行:
ki=d_t/d_s (式6)
变量d_t和d_s分别是由第二传感器102在特定的摄像头位置处测量出的距离以及从网格表示到第二传感器102的估计/模拟的距离。
现在,参照图2J,对3D对象135的网格表示的第一部分进行渲染(图2D的框250-1)的操作可以包括:对网格表示的第一部分的深度图进行渲染(框250-1D)。例如,可以使用来自第一传感器101和/或第二传感器102的数据执行对深度图进行渲染(框250-1D)的操作。此外,在一些实施方式中,存储/显示(图2A的框255)网格表示的操作可以包括:将深度图存储(框255-D)在存储介质370(图3A)中。
尽管图2C至图2J单独地例示了可以添加至图2A和图2B中的框250或框260的操作的各种细节,但是可以将关于框250添加的任何细节与关于框260添加的任何细节相结合,反之,也可以将关于框260添加的任何细节与关于框250添加的任何细节相结合。例如,可以结合图2A至图2J中的任一图的操作来执行对第一传感器101与第二传感器102之间的模拟距离进行估计的新增细节(图2D/图2H的框262)。而且,关于框260的细节中的不同的细节并不旨在相互排斥。相反,可以组合这些不同的细节。例如,可以将图2C至图2I中的关于框260的新增细节彼此组合。类似地,可以将图2C、图2D以及图2J中的关于框250的新增细节彼此组合。
现在,参照图3A,根据各个实施方式,提供了电子设备100的框图。电子设备100可以包括处理器350和存储介质370。此外,在一些实施方式中,电子设备100可以包括:图像拍摄装置340、网络接口360和/或图形用户接口(GUI)390。GUI 390可以包括显示器和/或小键盘或从用户110接收输入的其它接口。在一些实施方式中,GUI 390可以包括触摸屏。
图像拍摄装置340可以是对3D对象135的图像数据进行拍摄的任何摄像头或其它装置,该图像数据可以用于构建3D对象135的初步数字3D模型150。在一些实施方式中,图像拍摄装置340可以是单目摄像头,该单目摄像头可以是电子设备100的唯一摄像头,或者可以是电子设备100的唯一后置摄像头或唯一前置摄像头。图像拍摄装置340可以包括一个或更多个传感器101以及传感器101上的一个或更多个L-101镜头。此外,在一些实施方式中,图像拍摄装置340可以包括一个或更多个传感器102。传感器101可以是与传感器102类型不同的传感器。例如,传感器101可以包括一个或更多个图像传感器,而传感器102可以包括如单射束飞行时间传感器的一个或更多个飞行时间传感器。可以将图像传感器101配置成拍摄如照片的3D对象135的2D图像。另一方面,可以将飞行时间传感器102配置成基于由飞行时间传感器102生成并且被3D对象135反射回飞行时间传感器102的光来执行距离测量。因此,还可以将飞行时间传感器102用于自动聚焦操作。
可以将处理器350联接至网络接口360。可以将处理器350配置成经由网络接口360,与提供图像数据的设备(如另一电子设备100)进行通信和/或与3D打印机进行通信。例如,网络接口360可以包括一个或更多个无线接口(例如,3G/LTE/4G接口、其它蜂窝接口、WiFi接口、其它短距离接口等)和/或一个或更多个物理有线接口(例如,以太网接口、串行接口、USB接口等)。
仍参照图3A,可以将存储介质370联接至处理器350。存储介质370还可以存储由处理器350使用的指令/算法。例如,电子设备100的存储介质370可以包括一个或更多个算法,所述算法对3D对象135的网格表示(例如,初步数字3D模型150)的缩放操作进行控制。
在一些实施方式中,电子设备100可以包括GUI 390。例如,用户110可以使用电子设备100处的GUI 390来提供用户输入以:(i)拍摄或以其它方式获得关于3D对象135的图像数据;(ii)构建3D对象135的初步数字3D模型150;和/或(iii)执行初步数字3D模型150的缩放操作。
现在,参照图3B,提供了例示可以根据各个实施方式使用的电子设备100的示例处理器350和存储介质370的细节的框图。处理器350经由地址/数据总线380与存储介质370进行通信。处理器350例如可以是市售的或定制的微处理器。此外,处理器350可以包括多个处理器。在本文中,存储介质370可以称为“存储器”,并且可以表示包含被用于实现如本文所描述的电子设备100的各个功能的软件和数据的存储器装置的总体层次结构。存储介质370可以包括但不限于以下类型的装置:高速缓冲存储器、ROM、PROM、EPROM、EEPROM、闪速存储器、静态RAM(SRAM)以及动态RAM(DRAM)。
如图3B所示,存储介质370可以保持不同类别的软件和数据,诸如计算机可读程序代码377和/或操作系统373。
操作系统373控制电子设备100的操作。特别地,操作系统373可以管理电子设备100的资源,并且可以协调处理器350对各个程序的执行。在由处理器350执行时,计算机可读程序代码377可以使处理器350执行图2A至图2J的流程图中例示的任何操作。
本文中的各个实施方式提供了对3D对象135进行建模的改进方法。例如,本文中的各个实施方式可以通过考虑3D对象135的比例来提高对3D对象135进行建模的精度。尽管在对人类头部进行建模的背景下描述了本文中的操作,但是可以将这些操作应用于对其它对象进行建模,包括动物、汽车以及各种其它对象的模型。
根据本文中的各个实施方式,以下是对3D对象135进行建模的非限制性示例。通过在绕3D对象135走动的同时拍摄多个2D图像130,可以创建3D对象135的3D模型/网格150。每当拍摄2D图像130(是从特定视角观看3D对象135的视图)时,也可以捕获实际的(而不是模拟的)飞行时间测量数据。使用从3D对象135的物理表面反射的光来生成该实际测量数据。各个拍摄的2D图像130(例如,照片)具有与之相关联的相应的光波形。因此,从与不同的2D图像130和光波形相对应的不同视角对3D模型/网格150进行重复缩放(例如,使用后处理)可以提供对3D对象135进行建模的增加的精度。
在一些实施方式中,飞行时间测量窗口150-S(例如,圆圈)可以在3D模型/网格150上选择,并且可以对应于由飞行光发射器/传感器102所暴露于的视场FOV-102(图1E)。在网格数据的窗口150-S中,可以根据先前计算出的深度图来计算距离的加权平均值,该深度图可以从3D模型/网格150导出。此外,由于飞行时间发射器/传感器102可能相对于图像传感器101偏移非零基线距离DP,因此对该非零基线距离DP进行校正可以进一步增强对3D对象135进行建模的精度。
参照附图描述了本发明构思的特定示例实施方式。然而,可以按多种不同的形式来具体实施本发明构思,并且不应被解释为对本文所阐述的实施方式进行限制。相反地,提供这些实施方式,以使本公开透彻和完整,并且向本领域技术人员全面表达本发明构思的范围。在图中,相似的标号是指相似的要素。应当理解,当要素被称为“连接至”、“联接至”或“响应于”另一要素时,要素可以直接连接至、联接至或响应于另一要素,或者也可以存在插入要素。如本文所使用的“连接”、“联接”或“响应”可以包括无线地连接、联接或响应。
本文所使用的术语仅出于描述特定实施方式的目的,而并非旨在对本发明构思进行限制。如本文所用,除非另外明确规定,否则单数形式的描述也旨在包括复数形式。还应明白,术语“包括(“comprise”、“comprising”、“include”和/或“including”)当在本文中使用时,指定存在规定特征、步骤、操作、要素和/或组件,而非排除存在或增加一个或更多个其它的特征、步骤、操作、要素、组件和/或这些的组合。如本文所用,术语“和/或”包括任何一个或更多个相关列举条目及其所有组合。符号“/”还被用作“和/或”的简化符号。
除非另外限定,否则本文所使用的所有术语(包括技术和科学术语)具有和这些发明构思所属于的技术领域的普通技术人员所共同理解的含义相同的含义。还应理解,除非本文明确地限定,否则诸如在公用词典中定义的那些术语的术语应被解释为具有和它们在相关领域和本公开的背景下的含义一致的含义,而不应按理想化或过度形式化的意义来解释。
还应清楚,尽管在本文中可以将术语“第一”和“第二”用于描述各种要素,但是这些要素不应受限于这些术语。这些术语仅被用于区别一个要素与另一要素。在不脱离本发明构思的教导的情况下,可以将第一要素称为第二要素,并且类似地,可以将第二要素称为第一要素。
可以将本发明构思的示例实施方式具体实施为节点、设备、装置及方法。因此,可以按硬件和/或按软件(包括固件、驻留软件、微代码等)来具体实施本发明构思的示例实施方式。而且,本发明构思的示例实施方式可以采取包括非暂时性计算机可用或计算机可读存储介质的计算机程序产品的形式,在该介质中具体实施有可供指令执行系统使用或者结合指令执行系统使用的计算机可用或计算机可读程序代码。在本文的上下文中,计算机可用或计算机可读介质可以是可以包含、存储、传送或传输可供指令执行系统、设备或装置使用或者结合指令执行系统、设备或装置使用的程序的任何介质。
该计算机可用或计算机可读介质例如可以是但不限于电子、磁性、光学、电磁、红外或半导体的系统、装置或设备。计算机可读介质的更具体的示例(非详尽列表)包括以下项:具有一条或更多条导线的电气连接部、便携式计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤以及便携式光盘只读存储器(CD-ROM)。应注意,该计算机可用或计算机可读介质甚至可以是其上打印程序的纸张或其它合适介质,如该程序可以例如经由对该纸张或其它介质的光学扫描而被电子拍摄,然后进行编译、解释或者在需要时另外按合适方式加以处理,并接着存储在计算机存储器中。
在本文中参照流程图和/或框图例示描述了本发明构思的示例实施方式。应当理解,可以通过计算机程序指令和/或硬件操作来实现该流程图和/或框图例示中的每一个框以及该流程图和/或框图例示中的框的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机或者用于生成机器的其它可编程数据处理设备的处理器,使得经由该计算机或其它可编程数据处理设备的处理器执行的这些指令创建/使用实现在该流程图或一个或多个框图框中指定的功能的电路。
还可以将这些计算机程序指令存储在计算机可用或计算机可读存储器中,该计算机可用或计算机可读存储器可以指导计算机或其它可编程数据处理设备按特定的方式起作用,使得存储在该计算机可用或计算机可读存储器中的指令生成包括实现在该流程图和/或一个或多个框图框中指定的功能的指令的制品。
还可以将该计算机程序指令加载到计算机或者其它可编程数据处理设备上,以使在该计算机或者其它可编程设备上执行一系列可操作步骤,从而生成计算机实现处理,使得在该计算机或其它可编程设备上执行的这些指令提供实现在该流程图和/或一个或多个框图框中指定的功能的步骤。
在本说明书中,已经公开了本发明构思的各个实施方式,尽管采用了特定的术语,但是这些术语仅仅是以一般性和描述性的意义来使用的,而并非出于限制的目的。本领域技术人员容易意识到,在实质上不脱离本发明构思的教导和优点的情况下,可以对所公开的实施方式进行许多修改。本发明构思是由所附权利要求来限定的,并且权利要求的等同物要被包括在本文中。
Claims (26)
1.一种对三维3D对象(135)进行建模的方法,所述方法包括以下步骤:
针对无线电子设备(100)的第一传感器(101)的第一位置,对所述3D对象(135)的网格表示的第一部分进行渲染(250-1);
对从所述网格表示的所述第一部分到所述无线电子设备(100)的第二传感器(102)的第一距离进行模拟(260-1);
基于所述第一距离,确定(261-1)所述网格表示的所述第一部分的第一比例参数;
针对所述第一传感器(101)的第二位置,对所述3D对象(135)的所述网格表示的第二部分进行渲染(250-2);
对从所述网格表示的所述第二部分到所述第二传感器(102)的第二距离进行模拟(260-2);
基于所述第二距离,确定(261-2)所述网格表示的所述第二部分的第二比例参数;以及
基于所述第一比例参数和所述第二比例参数并且基于所述第一传感器(101)与所述第二传感器(102)之间的预定的物理距离,对所述第一传感器(101)与所述第二传感器(102)之间的模拟距离进行估计(262)。
2.根据权利要求1所述的方法,所述方法还包括以下步骤:通过基于所述第一比例参数和所述第二比例参数对所述3D对象(135)的所述网格表示的缩放进行调节,将所述3D对象(135)的所述网格表示转换(263)成所述3D对象(135)的3D模型(150')。
3.根据权利要求1和2中任一项所述的方法,
其中,对所述第一距离进行模拟(260-1)的步骤包括:分别对从所述网格表示的所述第一部分中的第一多个点到所述第二传感器(102)的第一多个距离进行模拟(260-1P),
其中,所述方法还包括以下步骤:确定(260-1A)所述第一多个距离的平均值,
其中,对所述第二距离进行模拟(260-2)的步骤包括:分别对从所述网格表示的所述第二部分中的第二多个点到所述第二传感器(102)的第二多个距离进行模拟(260-2P),并且
其中,所述方法还包括确定(260-2A)所述第二多个距离的平均值。
4.根据权利要求3所述的方法,其中,确定(260-1A)所述第一多个距离的平均值的步骤包括:通过以下步骤确定关于第一传感器(101)的第一位置的加权平均值:
分别将所述第一多个距离与多个权重参数相乘(260-1A1),以提供多个乘法结果,其中,所述多个权重参数是分别基于所述网格表示的所述第一部分的多个颜色值并且基于所述第一多个距离来确定的;
对所述多个乘法结果进行求和(260-1A2);
对所述多个权重参数进行求和(260-1A3);以及
将所述多个乘法结果的总和与所述多个权重参数的总和相除(260-1A4)。
5.根据权利要求1至4中任一项所述的方法,所述方法还包括以下步骤:确定多个比例参数的平均值,所述多个比例参数包括所述第一比例参数和所述第二比例参数,其中,对所述第一传感器(101)与所述第二传感器(102)之间的所述模拟距离进行估计(262)的步骤是基于所述多个比例参数的平均值执行的。
6.根据权利要求5所述的方法,其中,基于所述多个比例参数的平均值对所述模拟距离进行估计的步骤包括:对第一模拟距离进行估计(262-B),所述方法还包括以下步骤:
通过以下步骤对第二模拟距离进行估计:
基于所述第一模拟距离,选择(262-C)所述网格表示的更新的第一部分,所述网格表示的所述更新的第一部分从所述网格表示的所述第一部分偏移;
对从所述网格表示的所述更新的第一部分到所述第二传感器(102)的更新的第一距离进行模拟(262-D);
基于所述更新的第一距离,确定(262-E)所述网格表示的所述更新的第一部分的更新的第一比例参数;
基于所述第一模拟距离,选择(262-F)所述网格表示的更新的第二部分,所述网格表示的所述更新的第二部分从所述网格表示的所述第二部分偏移;
对从所述网格表示的所述更新的第二部分到所述第二传感器(102)的更新的第二距离进行模拟(262-G);
基于所述更新的第二距离,确定(262-H)所述网格表示的所述更新的第二部分的更新的第二比例参数;
确定(262-I)更新的多个比例参数的平均值,所述更新的多个比例参数包括所述更新的第一比例参数和所述更新的第二比例参数;以及
将所述第一传感器(101)与所述第二传感器(102)之间的所述预定的物理距离与所述更新的多个比例参数的平均值相除(262-J)。
7.根据权利要求6所述的方法,其中,在对所述第一模拟距离进行估计(262-B)之前:
基于初始模拟距离零,选择(262-A)所述网格表示的所述第一部分。
8.根据权利要求1至7中任一项所述的方法,其中,对所述网格表示的所述第一部分进行渲染(250-1)的步骤包括对所述网格表示的所述第一部分的深度图进行渲染(250-1D)。
9.根据权利要求8所述的方法,所述方法还包括将所述深度图存储(255-D)在存储介质(370)中。
10.根据权利要求8所述的方法,其中,对所述深度图进行渲染(250-1D)的步骤是使用来自所述第一传感器(101)和所述第二传感器(102)的数据执行的。
11.根据权利要求1至10中任一项所述的方法,其中,所述第一传感器(101)和所述第二传感器(102)分别包括不同类型的传感器。
12.根据权利要求11所述的方法,其中,所述第一传感器(101)和所述第二传感器(102)分别包括图像传感器和单射束飞行时间传感器。
13.根据权利要求1至12中任一项所述的方法,所述方法还包括以下步骤:
基于所述网格表示的所述第一部分中的第一像素的第一颜色,调节(260-1')所述第一距离的值,其中,确定(261-1)所述第一比例参数的步骤是基于所述第一距离的调节的值来执行(261-1')的;以及
基于所述网格表示的所述第二部分中的第二像素的第二颜色,调节(260-2')所述第二距离的值,其中,确定(261-2)所述第二比例参数的步骤是基于所述第二距离的调节的值来执行(261-2')的。
14.根据权利要求1所述的方法,所述方法还包括以下步骤:在存储介质(370)中从图像拍摄装置(340)接收(205)所述3D对象(135)的图像数据,其中,对所述网格表示的所述第一部分进行渲染(250-1)的步骤以及对所述网格表示的所述第二部分进行渲染(250-2)的步骤是使用所述图像数据来执行的。
15.一种电子设备(100),所述电子设备包括:
处理器(350);以及
存储介质(370),所述存储介质联接至所述处理器(350)并且包括计算机可读程序代码(377),所述计算机可读程序代码在由所述处理器(350)执行时,使所述处理器(350)执行根据权利要求1至14中任一项所述的方法。
16.一种计算机程序产品,所述计算机程序产品包括:
非暂时性计算机可读存储介质(370),所述非暂时性计算机可读存储介质包括计算机可读程序代码(377),所述计算机可读程序代码在由处理器(350)执行时,使所述处理器(350)执行根据权利要求1至14中任一项所述的方法。
17.一种对三维3D对象(135)进行建模的方法,所述方法包括以下步骤:
在图像拍摄装置(340)中,从相对于所述3D对象(135)的不同视角,拍摄(205')所述3D对象(135)的多个二维2D图像(130);
根据所拍摄的多个2D图像(130),生成(250')所述3D对象的至少一部分的3D模型(150);以及
通过使用在所述拍摄(205')期间由所述图像拍摄装置(340)生成并且从所述3D对象(135)反射回来的信号,对所述3D对象(135)与所述图像拍摄装置(340)之间的距离进行估计,缩放(260')所述3D模型(150)的尺寸。
18.根据权利要求17所述的方法,其中,所述图像拍摄装置(340)包括飞行时间传感器(102);并且其中,对距离进行估计的所述步骤包括:使用所述飞行时间传感器(102)来检测所述信号。
19.根据权利要求18所述的方法,其中,对距离进行估计的所述步骤包括:通过对在所述拍摄(205')期间由所述图像拍摄装置(340)生成并且从所述3D对象(135)反射回来的信号如何从多个不同视角照亮所述3D模型(150)进行模拟,生成使用所述飞行时间传感器(102)检测到的所述信号的仿真。
20.根据权利要求19所述的方法,其中,生成仿真的所述步骤包括:将所述仿真映射至使用所述飞行时间传感器(102)检测到的所述信号。
21.根据权利要求17至20中任一项所述的方法,其中,所述图像拍摄装置(340)包括:镜头(L-101),所述多个2D图像(130)是通过所述镜头拍摄的;以及相对于所述镜头(L-101)偏移的飞行时间传感器(102);并且其中,对距离进行估计的所述步骤包括:使用所述飞行时间传感器(102)来检测所述信号。
22.根据权利要求21所述的方法,其中,所述信号是由所述飞行时间传感器(102)生成并检测到的。
23.根据权利要求17所述的方法,其中,生成(250')的所述步骤和缩放(260')的所述步骤包括:
针对所述不同视角中的第一视角,对所述3D对象(135)的所述3D模型(150)的第一部分进行渲染(250-1);
对从所述3D模型(150)的所述第一部分到所述图像拍摄装置(340)的飞行时间传感器(102)的第一距离进行模拟(260-1);
基于所述第一距离,确定(261-1)所述3D模型(150)的所述第一部分的第一比例参数;
针对所述不同视角中的第二视角,对所述3D对象(135)的所述3D模型(150)的第二部分进行渲染(250-2);
对从所述3D模型(150)的所述第二部分到所述飞行时间传感器(102)的第二距离进行模拟(260-2);
基于所述第二距离,确定(261-2)所述3D模型(150)的所述第二部分的第二比例参数。
24.根据权利要求23所述的方法,其中,缩放(260')的所述步骤还包括:基于所述第一比例参数和所述第二比例参数,对所述3D模型(150)的缩放进行调节。
25.一种电子设备(100),所述电子设备包括:
处理器(350);以及
存储介质(370),所述存储介质联接至所述处理器(350)并且包括计算机可读程序代码(377),所述计算机可读程序代码在由所述处理器(350)执行时,使所述处理器(350)执行根据权利要求17至24中任一项所述的方法。
26.一种电子设备(100),所述电子设备包括:
处理器(350);以及
存储介质(370),所述存储介质联接至所述处理器(350)并且包括计算机可读程序代码(377),所述计算机可读程序代码在由所述处理器(350)执行时,使所述处理器(350)执行包括以下项的操作:
针对无线电子设备(100)的第一传感器(101)的第一位置,对三维3D对象(135)的网格表示的第一部分进行渲染(250-1);
对从所述网格表示的所述第一部分到所述无线电子设备(100)的第二传感器(102)的第一距离进行模拟(260-1);
基于所述第一距离,确定(261-1)所述网格表示的所述第一部分的第一比例参数;
针对所述第一传感器(101)的第二位置,对所述3D对象(135)的所述网格表示的第二部分进行渲染(250-2);
对从所述网格表示的所述第二部分到所述第二传感器(102)的第二距离进行模拟(260-2);
基于所述第二距离,确定(261-2)所述网格表示的所述第二部分的第二比例参数;以及
基于所述第一比例参数和所述第二比例参数并且基于所述第一传感器(101)与所述第二传感器(102)之间的预定的物理距离,对所述第一传感器(101)与所述第二传感器(102)之间的模拟距离进行估计(262)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/019367 WO2019164500A1 (en) | 2018-02-23 | 2018-02-23 | Methods of modeling a 3d object, and related devices and computer program products |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111742352A true CN111742352A (zh) | 2020-10-02 |
CN111742352B CN111742352B (zh) | 2023-11-10 |
Family
ID=61622696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880089793.5A Active CN111742352B (zh) | 2018-02-23 | 2018-02-23 | 对三维对象进行建模的方法和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11182951B2 (zh) |
EP (1) | EP3756164B1 (zh) |
CN (1) | CN111742352B (zh) |
WO (1) | WO2019164500A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7015802B2 (ja) * | 2019-03-18 | 2022-02-03 | 株式会社東芝 | 電子装置および方法 |
CN114342402B (zh) * | 2019-09-11 | 2025-01-21 | 索尼集团公司 | 信息处理装置、信息处理方法、再现处理装置和再现处理方法 |
US20230308746A1 (en) * | 2022-03-26 | 2023-09-28 | Analog Devices, Inc. | Methods and systems for performing object dimensioning |
CN114898037B (zh) * | 2022-04-24 | 2023-03-10 | 哈尔滨方聚科技发展有限公司 | 激光三维动态场景建模系统及建模方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110025690A1 (en) * | 2009-07-28 | 2011-02-03 | Technion Research & Development Foundation Ltd. | Photogrammetric texture mapping using casual images |
US20110090215A1 (en) * | 2009-10-20 | 2011-04-21 | Nintendo Co., Ltd. | Storage medium storing display control program, storage medium storing library program, information processing system, and display control method |
US20130113784A1 (en) * | 2011-11-07 | 2013-05-09 | Thomas White | Maintenance of Three Dimensional Stereoscopic Effect Through Compensation for Parallax Setting |
CN103201772A (zh) * | 2010-09-03 | 2013-07-10 | 马克·卡德尔 | 三维物理模型生成设备 |
US20160012646A1 (en) * | 2014-07-10 | 2016-01-14 | Perfetch, Llc | Systems and methods for constructing a three dimensional (3d) color representation of an object |
US20160073096A1 (en) * | 2014-09-10 | 2016-03-10 | Faro Technologies, Inc. | Device and method for optically scanning and measuring an environment and a method of control |
CN106981098A (zh) * | 2016-01-12 | 2017-07-25 | 西门子医疗有限公司 | 虚拟场景组分的视角表示 |
CN107407554A (zh) * | 2015-02-16 | 2017-11-28 | 英特尔公司 | 对多相机成像系统进行仿真 |
US20170365092A1 (en) * | 2016-06-21 | 2017-12-21 | Apple Inc. | Method and System for Vision Based 3D Reconstruction and Object Tracking |
US20180025496A1 (en) * | 2016-07-19 | 2018-01-25 | Qualcomm Incorporated | Systems and methods for improved surface normal estimation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8619122B2 (en) * | 2010-02-02 | 2013-12-31 | Microsoft Corporation | Depth camera compatibility |
US10484561B2 (en) * | 2014-05-12 | 2019-11-19 | Ml Netherlands C.V. | Method and apparatus for scanning and printing a 3D object |
WO2017115149A1 (en) | 2015-12-31 | 2017-07-06 | Dacuda Ag | A method and system for real-time 3d capture and live feedback with monocular cameras |
US10116915B2 (en) * | 2017-01-17 | 2018-10-30 | Seiko Epson Corporation | Cleaning of depth data by elimination of artifacts caused by shadows and parallax |
-
2018
- 2018-02-23 WO PCT/US2018/019367 patent/WO2019164500A1/en unknown
- 2018-02-23 US US16/962,745 patent/US11182951B2/en active Active
- 2018-02-23 CN CN201880089793.5A patent/CN111742352B/zh active Active
- 2018-02-23 EP EP18710606.7A patent/EP3756164B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110025690A1 (en) * | 2009-07-28 | 2011-02-03 | Technion Research & Development Foundation Ltd. | Photogrammetric texture mapping using casual images |
US20110090215A1 (en) * | 2009-10-20 | 2011-04-21 | Nintendo Co., Ltd. | Storage medium storing display control program, storage medium storing library program, information processing system, and display control method |
CN103201772A (zh) * | 2010-09-03 | 2013-07-10 | 马克·卡德尔 | 三维物理模型生成设备 |
US20130113784A1 (en) * | 2011-11-07 | 2013-05-09 | Thomas White | Maintenance of Three Dimensional Stereoscopic Effect Through Compensation for Parallax Setting |
US20160012646A1 (en) * | 2014-07-10 | 2016-01-14 | Perfetch, Llc | Systems and methods for constructing a three dimensional (3d) color representation of an object |
US20160073096A1 (en) * | 2014-09-10 | 2016-03-10 | Faro Technologies, Inc. | Device and method for optically scanning and measuring an environment and a method of control |
CN107407554A (zh) * | 2015-02-16 | 2017-11-28 | 英特尔公司 | 对多相机成像系统进行仿真 |
CN106981098A (zh) * | 2016-01-12 | 2017-07-25 | 西门子医疗有限公司 | 虚拟场景组分的视角表示 |
US20170365092A1 (en) * | 2016-06-21 | 2017-12-21 | Apple Inc. | Method and System for Vision Based 3D Reconstruction and Object Tracking |
US20180025496A1 (en) * | 2016-07-19 | 2018-01-25 | Qualcomm Incorporated | Systems and methods for improved surface normal estimation |
Also Published As
Publication number | Publication date |
---|---|
CN111742352B (zh) | 2023-11-10 |
EP3756164B1 (en) | 2022-05-11 |
WO2019164500A1 (en) | 2019-08-29 |
EP3756164A1 (en) | 2020-12-30 |
US20200357166A1 (en) | 2020-11-12 |
US11182951B2 (en) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3841554B1 (en) | Method and system for reconstructing colour and depth information of a scene | |
JP6425780B1 (ja) | 画像処理システム、画像処理装置、画像処理方法及びプログラム | |
EP3714437B1 (en) | Three-dimensional (3d) reconstructions of dynamic scenes using reconfigurable hybrid imaging system | |
EP3373251B1 (en) | Scan colorization with an uncalibrated camera | |
US10412373B2 (en) | Image capture for virtual reality displays | |
CN110383343B (zh) | 不一致检测系统、混合现实系统、程序和不一致检测方法 | |
KR102120046B1 (ko) | 오브젝트를 표시하는 방법 | |
JP6239594B2 (ja) | 3d情報処理装置及び方法 | |
US9230330B2 (en) | Three dimensional sensing method and three dimensional sensing apparatus | |
CN109118569A (zh) | 基于三维模型的渲染方法和装置 | |
CN108053469A (zh) | 多视角相机下的复杂动态场景人体三维重建方法及装置 | |
WO2019035155A1 (ja) | 画像処理システム、画像処理方法、及びプログラム | |
US20120069018A1 (en) | Ar process apparatus, ar process method and storage medium | |
CN111742352B (zh) | 对三维对象进行建模的方法和电子设备 | |
US10354399B2 (en) | Multi-view back-projection to a light-field | |
CN107507269A (zh) | 个性化三维模型生成方法、装置和终端设备 | |
EP3189493B1 (en) | Depth map based perspective correction in digital photos | |
US11816854B2 (en) | Image processing apparatus and image processing method | |
US12165272B2 (en) | Image processing apparatus, image processing method, and storage medium for generating composite image using 2D image and 3DCG | |
EP4258221A2 (en) | Image processing apparatus, image processing method, and program | |
JP2009244229A (ja) | 三次元画像処理方法、三次元画像処理装置および三次元画像処理プログラム | |
US11195290B2 (en) | Apparatus and method for encoding in structured depth camera system | |
US20230260076A1 (en) | System, information processing apparatus, and method | |
WO2025028170A1 (ja) | 情報処理装置および情報処理方法 | |
JP2016115332A (ja) | 画像処理装置およびその制御方法ならびにプログラム |
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 |