CN110060346B - 确定代表真实对象皮肤的小面的集合 - Google Patents
确定代表真实对象皮肤的小面的集合 Download PDFInfo
- Publication number
- CN110060346B CN110060346B CN201811569235.7A CN201811569235A CN110060346B CN 110060346 B CN110060346 B CN 110060346B CN 201811569235 A CN201811569235 A CN 201811569235A CN 110060346 B CN110060346 B CN 110060346B
- Authority
- CN
- China
- Prior art keywords
- facets
- facet
- point cloud
- constraint
- parametric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 105
- 238000005192 partition Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 10
- 230000000717 retained effect Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 241000125258 Scandix pecten-veneris Species 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- LTNBHNLTEGZRFB-UHFFFAOYSA-N 1-(8-methoxy-4,8-dimethylnonyl)-4-propan-2-ylbenzene Chemical compound COC(C)(C)CCCC(C)CCCC1=CC=C(C(C)C)C=C1 LTNBHNLTEGZRFB-UHFFFAOYSA-N 0.000 description 1
- 101100001674 Emericella variicolor andI gene Proteins 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004064 dysfunction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000010413 gardening Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- 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/30—Polynomial surface description
-
- 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
- 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
- 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/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明特别涉及用于3D重建的计算机实现的方法。该方法包括提供表示真实对象的3D点云。该方法还包括使3D点云与参数表面拟合。该方法还包括将参数表面构成的分区定义为遵循参数表面之间的交叉的定向小面。该方法还包括在分区的定向小面中确定表示真实对象的皮肤的小面的集合。该确定包括最小化能量。能量包括数据项和约束项。随着丢弃的小面和3D点云之间的拟合水平的增加,数据项递增地惩罚丢弃小面。约束项惩罚保持小面形成非皮肤几何形状。这种方法为3D重建提供了改进的解决方案。
Description
技术领域
本发明涉及计算机程序和系统领域,更具体地涉及用于三维(3D)重建的方法、系统和程序。
背景技术
市场上提供了许多用于对象设计、工程和制造的系统和程序。CAD是计算机辅助设计的首字母缩写,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户接口在技术效率方面起着重要作用。这些技术可以嵌入在产品生命周期管理(PLM)系统中。PLM指的是一种业务战略,它帮助公司分享产品数据,应用通用流程,并利用企业知识来开发产品(从概念到其生命结束,跨扩展的企业的概念)。DassaultSystèmes(商标为CATIA,ENOVIA和DELMIA)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及实现企业集成和连接到工程中心和制造中心的企业中心。所有这些系统一起提供了开放对象模型,将产品、流程和资源链接起来,以实现动态的、基于知识的产品创建和决策支持,其推动优化的产品定义、制造准备、生产和服务。
在这种背景和其他背景下,计算机视觉和计算机图形领域提供了越来越有用的技术。实际上,计算机视觉尤其提供了用于3D重建的解决方案,其可以用于3D模型纹理化和/或3D沉浸式体验(例如虚拟现实或增强现实)。
两种3D重建方法是众所周知的。
第一种方法使用“接收器”传感器。这尤其涉及来自RGB图像分析的3D重建。这里,通过对每个图像平面中包含的RGB颜色信息进行多视图分析来获得3D重建。以下文章涉及这种方法:
·“R.Hartley and A.Zisserman:Multiple View Geometry in ComputerVision,Cambridge Univ.Press 2004”;
·“R.Szeliski:Computer Vision:Algorithms and Applications,EditionSpringer 2010”;以及
·“Faugeras:Three-Dimensional Computer Vision:A Geometric viewpoint,MIT Press 1994”。
第二种方法使用“发射器-接收器”传感器。这尤其涉及从RGB深度图像分析的3D重建。这种传感器为标准RGB数据给予额外的深度数据,它是主要用于重建过程的深度信息。以下文章涉及这种方法:
·“Yan Cui et al.:3D Shape Scanning with a Time-of-Flight Camera,CVPR2010”;
·“RS.Izadi et al.:KinectFusion:Real-Time Dense Surface Mapping andTracking,Symposium ISMAR 2011”;以及
·“R.Newcombe et al.:Live Dense Reconstruction with a Single MovingCamera,IEEE ICCV2011”。
此外,一些学术和工业参与方现在通过RGB图像分析提供3D重建的软件解决方案,例如Acute3D、Autodesk、VisualSFM,或通过RGB深度分析,例如ReconstructMe或微软的Kinect(注册商标)的SDK。
已知的3D重建技术涉及通过对真实对象的测量输出的3D点云。然后可以以3D建模的对象格式变换3D点云,然后可以将其用于任何应用。3D建模对象可以例如包括表示真实对象的皮肤的闭合表面。
一些已知的解决方案包括使3D点云与参数表面拟合,然后在闭合表面中组合。然而,一旦检测到参数表面(通常是诸如平面、圆柱、球体等的原始形状),导出这些参数表面的组合方式以形成表示重建的实体的壳体的封闭表面并不是微不足道的。注意,那些参数表面可能是无限的(例如,无界平面)。许多研究人员已经解决了这个问题。
在文章“Jenke,P.,Krückeberg,B.&Straβer,W.,2008.Surface Reconstructionfrom Fitted Shape Primitives,Vision,Modeling,and Visualization(VMV),pp.31-40”中,作者估计了检测到的参数表面集的边界。然后,它们对估计的边界执行优化,使得相邻参数表面的边界重合。那些操作既复杂又不是微不足道的。此外,输入点云通常是不完整的并且包含孔,在这种情况下,参数形状的估计的边界可能不与任何其他表面边界匹配,从而导致非封闭的最终表面,这显然不能代表真实的实体。
为了解决这个问题,在文章“Schnabel,R.,Degener,P.&Klein,R.,2009.Completion and reconstruction with primitive shapes.Computer GraphicsForum,28(2),pp.503-512”中,作者提出了不同的解决方案,其处理实体和表面完成的缺失部分。为此,点云周围的空间被划分为3D体素(voxel)网格。该网格由图形表示,每个节点表示通过有向边连接到其二十六个邻居的体素。主要思想是影响每个节点的“入(in)”或“出(out)”标签。因此,实心壳体应该将标记为“in”和“out”的体素分开。这是借助图形切割方法通过最小化在图上定义的三项能量来实现的,这类似于在文章“Boykov,Y.&Kolmogorov,V.,2004.An experimental comparison of min-cut/max-flow algorithms for energyminimization in vision.IEEE transactions on pattern analysis and machineintelligence,26(9),pp.1124-1137”中描述的内容。最小化受到施加标签的体素的集合的约束。通过估计检测到的参数表面的扩展并将围绕它们的体素的标签设置为“in”或“out”来设置那些约束,这取决于体素位于表面的哪一侧。理想地,人们期望标记为“in”和“out”的两个相邻体素由单个参数表面分开,使得最终实体边界由那些参数表面的组合组成。然而,标记为“in”和“out”的两个相邻体素可能被任何或多于一个参数表面分开。在这些情况下,需要第二个优化阶段。
文章“Verdie,Y.,Lafarge,F.&Alliez,P.,2015.LOD Generation for UrbanScenes.ACM Transactions on Graphics,34(3),pp.1-14”的作者描述了类似的方法,用于从输入网格构建重建。它们通过将检测到的参数表面视为空间边界来避免额外的优化步骤并减小图形的尺寸。源于该空间划分的3D细胞形成图形的节点。表示由给定参数表面分隔的单元的节点通过边链接。它们不依赖先前估计的约束优化的“in”和“out”节点的集合,而是对最小化能量引入权重,该最小化能量转换节点被标记为“in”或“out”的概率。为此,他们构建了3D规则网格。对于网格的每个元素(他们称为“锚”),由于原始网格,他们估计它是在建筑物内部还是外部。然后,他们根据位于对应单元上的“in”/“out”锚的配给,为每个图形节点导出“in”/“out”度量。它们的最终实体由优化后标记为“in”的单元组成。
上述现有命题并不完全令人满意,特别是因为:
-文章“Jenke et al.,2008”中的方法不是为实体重建而设计的。因此,如果参数表面的估计的边界未正确优化,则最终结果可能包含孔。此外,噪声点云或丢失的信息可能导致边界估计失败。
-文章“Schnabel et al.,2009”中的解决方案需要额外的优化步骤,这取决于标记为“in”和“out”的相邻体素之间是否不存在参数表面、存在一个或多个参数表面。它引入了可能被避免的复杂计算。而且,所获得的结果在很大程度上取决于将空间划分为网格。不同的网格尺寸导致不同的解决方案。优化的图形是不同的,其他优化步骤也可能不同。
-文章“Verdie et al.,2015”中的结果也可能取决于3D网格分辨率,因为图形节点上定义的能量取决于它。此外,点云不包含执行该方法的所有必要信息,因为它需要初始表面(输入网格)以估计锚是在实体内部还是外部。
在此背景下,仍然需要用于3D重建的改进解决方案。
发明内容
因此,提供了一种用于3D重建的计算机实现的方法。该方法包括提供表示真实对象的3D点云。该方法还包括使3D点云与参数表面拟合。该方法还包括将参数表面构成的分区定义为遵循参数表面之间的交叉的定向小面(facet)。该方法还包括在分区的定向小面中确定表示真实对象的皮肤的小面的集合。该确定包括最小化能量。能量包括数据项和约束项。随着丢弃的小面和3D点云之间的拟合水平的增加,数据项递增地惩罚丢弃小面。约束项惩罚保持的小面形成非皮肤几何形状。
该方法可以包括以下中的一个或多个:
-对于每组四个相邻小面,通过不同于0和2的数量的保持的小面,或者通过等于2的数量的、具有不一致的取向的保持的小面,来形成非皮肤几何形状;
-能量探索可分配给小面中的每个相应的小面并表示保持相应的小面的置信度水平的标签的连续体;
-该确定还包括根据分配的标签选择要保持哪些小面以及丢弃哪些小面;
-根据分配的标签决定要保持哪些小面以及丢弃哪些小面包括将每个分配的标签与预定阈值进行比较;
-最小化能量包括持续优化;
-能量具有自由变量;
-数据项相对于自由变量中的每个自由变量是单调的;
-约束项具有求和元素,所述求和元素当其他自由变量固定时相对于其自由变量中的每一个均单调;
-约束项的类型为:且 其中A是四个相邻小面的组的集合,a是一组四个相邻小面i,cost(·)是成本函数,且是分配给小面i的标签,小面1和2属于相应的相同的参数表面,且小面3和4属于相应的相同的参数表面;
-小面与3D点云之间的拟合水平对应于小面密度;
-小面密度等于与小面相关联的点数除以小面的面积;
-将3D点云与参数表面拟合包括RANSAC算法;
-提供表示真实对象的3D点云包括提供真实对象的物理实例和一个或多个感测设备,利用一个或多个感测设备在物理实例上执行一个或多个测量,并基于一个或多个测量来输出3D点云;和/或
-所述一个或多个感测设备包括激光雷达、深度传感器和/或配置用于结构-自-运动分析的相机。
还提供了一种计算机程序,包括用于执行该方法的指令。
还提供了一种计算机可读存储介质,其上记录有计算机程序。
还提供了一种系统,包括耦合到存储器的处理器,该存储器上记录有计算机程序。
附图说明
现在将通过非限制性示例并参考附图来描述本发明的实施例,其中:
-图1示出了该方法的示例的流程图;
-图2示出了系统的图形用户接口的示例;
-图3示出了该系统的示例;以及
-图4-12示出了该方法。
具体实施方式
参考图1的流程图,提出了一种用于3D重建的计算机实现的方法。该方法包括提供S10表示真实对象的3D点云。该方法还包括将3D点云拟合S20参数表面。该方法还包括将参数表面构成的分区定义S30为遵循参数表面之间的交叉的定向小面。该方法还包括在分区的定向小面中确定S40表示真实对象的皮肤的小面的集合。该确定包括最小化能量。能量包括数据项和约束项。随着丢弃的小面和3D点云之间的拟合水平的增加,数据项递增地惩罚丢弃小面。对于每组四个相邻小面,约束项惩罚保持的小面形成非皮肤几何形状。这种方法改进了3D重建领域,其中表达“3D重建”基于表示真实对象的3D点云来指定表示真实对象的3D建模对象的任何计算机化构造,并且其中3D建模对象由此包括在S40处确定的小面的集合,或由在S40处确定的小面的集合组成。
值得注意的是,该方法在S40处确定参数表面的小面的集合,其形成表示真实对象的皮肤的3D建模对象。该方法基于在S10处提供的3D点云来确定这样的3D建模对象。该方法具体提出在S20处将3D点云与参数表面拟合并且使用参数表面之间的交叉以便在S30处定义要保持的小面候选者。这种交叉很容易定义。该方法然后在S40处确定候选者中的保持的小面。这允许从形成相对较差信息的3D点云传递到2D流形(manifold)的更可利用的3D表示,换言之,到代表实体皮肤的几何对象。
此外,该方法提出在S40处经由最小化允许达到特别准确的结果的特定能量来确定所保持的小面的集合。具体而言,数据项允许降低丢弃良好拟合3D点云的小面的风险,因此是好的候选者。此外,约束项降低了保持结合在一起的小面形成拓扑错误的风险。经由两个不同的项(即数据项和约束项)分裂(dissociate)这些效应允许相对快速和稳健的最小化。此外,约束项可以在示例中仅涉及四个相邻小面的变元组,因此约束项提供控制拓扑误差的相对快速的方式。在示例中,能量可以由数据项和约束项组成(即,没有其他项)。在这样的示例中,最小化特别快。
真实对象可以由一个实体单元组成,例如由(例如工业)产品或(例如机械)部件形成,或者可选地由一个或多个这样的产品和/或一个或多个这样的部件的组装件形成,所有这些都物理地连在一起。可替代地,真实对象可以由几个这样的实体单元组成,这些实体单元物理地断开连接,一个单元与另一个单元断开连接。即使在这样的后一种情况下,该方法的流水线允许精确的3D重建,因为它在关于物理连接的最小化限制性假设之前没有做出。
该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由至少一个计算机或任何类似的系统执行。因此,该方法的步骤由计算机执行,可能是完全自动的,或半自动的。在示例中,可以通过用户-计算机交互来执行对方法的至少一些步骤的触发。所需的用户-计算机交互水平可能取决于预见的自动化水平,并与实现用户意愿的需求保持平衡。在示例中,该水平可以是用户定义的和/或预定义的。
例如,提供S10可以通过用户操作一个或多个感测设备来执行或在用户操作一个或多个感测设备之后执行。可以完全自动或半自动地执行拟合S20、定义S30和/或确定S40。
计算机实现方法的典型示例是利用适用于此目的的系统来执行该方法。该系统可以特别地包括耦合到存储器的处理器。存储器可以在其上记录有计算机程序,该计算机程序使处理器执行该方法。存储器还可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括若干物理不同部分(例如,一个用于程序,并且可能一个用于数据库)。
在示例中,系统可以包括耦合到处理器的图形用户接口(GUI)。GUI可以被配置用于由用户输入命令,和/或向用户显示在S10处提供的3D点云,在S20处拟合的参数表面和/或在S30处它们被分割之后拟合的参数表面,和/或在S40处确定的小面的集合。
可替代地或另外地,该系统可以包括一个或多个感测设备,其被配置为对真实对象的物理实例执行一个或多个测量并输出表示该真实对象的3D点云。感测设备是集成一个或多个传感器的装置,每个传感器配置成经由感测测量来获取相应的物理信号。因此,感测设备可用于对其环境执行测量,包括获取一个或多个这样的物理信号。可以特别地在物理对象上操作感测设备以在包括物理对象的外表面的至少一部分的区域上执行测量。可以重复该操作以完全覆盖物理对象的外表面。在这种情况下,可以说“扫描”物理对象。
因此,在S10处提供的3D点云可以源自包括提供真实对象的物理实例和一个或多个感测设备的过程。可以在任何位置提供真实对象,例如工厂的房间和/或实验室。该过程然后可以包括利用一个或多个感测设备在物理实例上执行一个或多个测量。例如,一个或多个传感器可以在物理实例上和/或在相对于物理实例的不同视点(例如,围绕物理实例转向)处操作,例如由用户操作。换句话说,可以扫描物理实例。如本身已知的,一个或多个感测设备可以被配置为输出表示真实对象的物理实例的外部几何形状的3D点云或者系统可处理的任何其他数据,以便输出该3D点云。
一个或多个感测设备可以例如包括一个或多个激光雷达、一个或多个深度传感器和/或被配置用于结构-自-运动分析的一个或多个(例如RGB)相机,或者由这些组成。
该方法通常操纵建模对象。建模对象是由例如存储在数据库中的数据定义的任何对象。通过扩展,表达“建模对象”指定数据本身。根据系统的类型,可以通过不同种类的数据来定义建模对象。该系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在那些不同的系统中,建模对象由对应的数据定义。因此可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是彼此排他的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。因此,系统完全可以是CAD和PLM系统,从下面提供的这种系统的定义中将明显看出。
所谓CAD系统,另外意味着至少适于基于建模对象的图形表示(例如CATIA)来设计建模对象的任何系统。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD系统可以例如使用边或线来提供CAD建模对象的表示,在某些情况下具有面或表面。线、边或表面可以以各种方式表示,例如,非均匀有理B样条(NURBS)。具体地,CAD文件包含可以从其生成几何形状的规范,几何形状又允许生成表示。建模对象的规范可以存储在单个CAD文件中或多个CAD文件中。表示CAD系统中的建模对象的文件的典型大小在每个部件一兆字节的范围内。并且建模对象通常可以是数千个部件的组装件。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如,代表产品,例如部件或部件的组装件,或者可能是产品的组装件。所谓“3D建模对象”是指由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观察部件。例如,当3D表示时,3D建模对象可以围绕其任何轴或围绕显示表示的屏幕中的任何轴处理和转动。这尤其不包括未经3D建模的2D图标。3D表示的显示有助于设计(即,增加设计者统计上完成其任务的速度)。这加速了工业中的制造过程,因为产品的设计是制造过程的一部分。
真实对象可以是在完成其虚拟设计之后在现实世界中制造的产品,虚拟设计借助例如CAD软件解决方案或CAD系统,例如(例如机械的)部件或部件的组装件(或等效地,部件的组装件,因为从方法的角度来看,部件的组装件可以看作是部件本身,或者该方法可以独立地应用于组装件的每个部件),或者更一般地,任何刚性的主体组装件(例如,移动机构)。CAD软件解决方案允许设计各种不受限制的工业领域的产品,包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、海运和/或海上石油/天然气生产或运输。由该方法获得的3D建模对象因此可以表示工业产品,其可以是任何机械部件,诸如地面车辆的一部分(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和电动机设备、卡车和公共汽车、火车),航空器的一部分(包括例如机身设备、航空航天设备、推进设备、国防产品、航空设备、空间设备),海上船只的一部分(包括例如海军装备、商业船舶、海上设备、游艇和工作船、船用设备),通用机械部件(包括例如工业制造机械、重型移动机械或设备、安装设备、工业设备产品、组合金属制品、轮胎制品),机电或电子部件(包括例如消费电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗装置和设备),消费品(包括例如家具、家庭和园艺产品、休闲产品、时尚产品、耐用品商品零售商的产品、非耐用品商品零售商的产品),包装(包括例如食品和饮料和烟草、美容和个人护理、家庭产品包装)。
所谓PLM系统,它还意味着适于管理表示物理制造产品(或待制造产品)的建模对象的任何系统。因此,在PLM系统中,建模对象由适合于制造物理对象的数据定义。这些通常可以是尺寸值和/或公差值。为了正确制造物体,拥有这样的值确实更好。
所谓CAM解决方案,它还意味着适用于管理产品的制造数据的任何解决方案、硬件的软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。CAM解决方案用于规划和优化产品的整个制造过程。例如,它可以向CAM用户提供关于可行性、制造过程的持续时间或可以在制造过程的特定步骤中使用的诸如特定机器人的资源的数量的信息;从而允许对管理或所需投资作出决定。CAM是CAD过程和潜在CAE过程之后的后续过程。这种CAM解决方案由Dassault Systèmes以商标提供。
所谓CAE解决方案,它还意味着适用于分析建模对象的物理行为的任何解决方案、硬件的软件。一种众所周知且广泛使用的CAE技术是有限元方法(FEM),其通常涉及将建模对象划分为可以通过方程计算和模拟物理行为的元素。此类CAE解决方案由Dassault Systèmes以商标提供。另一种不断增长的CAE技术涉及复杂系统的建模和分析,复杂系统由来自不同物理领域的多个组件组成而没有CAD几何形状数据。CAE解决方案允许模拟,从而优化、改进和验证要制造的产品。此类CAE解决方案由Dassault Systèmes以商标提供。
PDM代表产品数据管理。所谓PDM解决方案是指适用于管理与特定产品相关的所有类型数据的任何解决方案、硬件的软件。PDM解决方案可供涉及产品生命周期的所有参与者使用:主要是工程师,但也包括项目经理、财务人员、销售人员和买家。PDM解决方案通常基于面向产品的数据库。它允许参与者共享其产品的一致数据,从而防止参与者使用不同的数据。此类PDM解决方案由Dassault Systèmes以商标提供。
图2示出了系统的GUI的示例,其中该系统是CAD系统。可以用这样的GUI显示在S40处确定的小面的集合。
GUI 2100可以是典型的类CAD的接口,具有标准菜单栏2110、2120以及底部和侧面工具栏2140、2150。这样的菜单和工具栏包含用户可选择的图标的集合,每个图标与如本领域已知的一个或多个操作或功能相关联。这些图标中的一些与适用于在GUI 2100中显示的3D建模对象2000上进行编辑和/或工作的软件工具相关联。软件工具可以被分组到工作台中。每个工作台都包含一个软件工具的子集。特别地,工作台中的一个工作台是编辑工作台,适用于编辑建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的一部分,然后启动操作(例如,改变尺寸、颜色等)或通过选择适当的图标来编辑几何约束。例如,典型的CAD操作是在屏幕上显示的3D建模对象的打孔或折叠的建模。GUI可以例如显示与所显示的产品2000相关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3D表示2000属于包括制动钳和盘的制动器组装件。GUI可以进一步示出例如用于促进对象的3D定向、用于触发编辑产品的操作的模拟的各种类型的图形工具2130、2070、2080,或者呈现所显示产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。
图3示出了系统的一个示例,其中该系统是一个客户端计算机系统,例如,用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还配备有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备(例如硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,例如包括半导体存储器设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。上述任何内容都可以由专门设计的ASIC(专用集成电路)补充或包含在其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括诸如光标控制设备、键盘等的触觉设备1090。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。另外,光标控制设备允许用户选择各种命令和输入控制信号。光标控制设备包括许多用于向系统输入控制信号的信号发生设备。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或另外地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序可以记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或其组合来实现。程序可以实现为装置,例如有形地体现在机器可读存储设备中以供可编程处理器执行的产品。方法步骤可以由执行指令的程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。处理器因此可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令发送到数据存储系统、至少一个输入设备和至少一个输出设备。应用程序可以以高级程序或面向对象的编程语言来实现,或者如果需要的话可以以汇编或机器语言来实现。无论如何,该语言可能是经编译或解释的语言。该程序可能是完整的安装程序或更新程序。在任何情况下,程序在系统上的应用都会导致执行该方法的指令。
该方法可以包括在制造过程中,该制造过程可以包括在执行该方法之后,基于由该方法输出的3D建模对象产生真实对象的一个或多个物理实例。因为该方法改进了建模对象的设计,所以该方法还改进了产品的制造,从而提高了制造过程的生产率。
该方法可以替代地或附加地包括在3D场景设计过程中,其可以包括初始化3D场景,并且在执行该方法之后,将该方法输出的3D建模对象插入3D场景内。3D场景可以是虚拟现实场景、增强现实场景或视频游戏场景。因此,该方法允许在这样的场景中容易地插入真实对象的准确和逼真的表示。
在S10处提供的3D点云是包括表示真实对象的物理实例的外部几何形状的3D点的集合的任何数据结构。可以以任何方式输出3D点云,例如,原始(即作为非结构化点集)或作为网格的顶点。在S10处提供的3D点云可以是定向的,意味着每个点与指示相对于由真实对象形成的实体向外(等效地,向内)指向的方向的矢量相关联(例如,可选地垂直于真实对象的表面)。3D点云可以由已经定向的一个或多个传感器输出,或者可替代地经由任何已知算法随后定向。
现在讨论拟合S20。
由S20输出的参数表面可以是无限的或有限的。
可以经由本身已知的任何预定的3D点云拟合算法来执行拟合S20。预定的3D点云拟合算法可以包括执行优化程序。优化程序可以惩罚点云与所得参数表面之间的预定距离的值。优化程序还可以惩罚其他量,例如包括所得参数表面的数量和/或所得参数表面的不规则水平。
参数表面可以各自被定义为一个或多个参数(例如,两个参数)的一个或多个连续函数,例如NURBS或Bézier表面。
现在讨论定义S30。
在S30处定义的小面可以是有限的或无限的。
小面是参数表面的连接部分(例如,如果该部分不是严格部分,则可能是整个参数部分)。定向小面是与矢量相关联的小面。在该方法的情况下,矢量指示相对于由真实对象形成的实体向外(等效地,向内)指向的方向。
如前所述,已知的3D点云拟合算法不输出参数表面,其形成完美代表真实对象的皮肤的闭合表面。而是,已知的3D点云拟合算法输出无组织的参数表面的集合,包括彼此相交的参数表面对。在一般情况下,彼此相交的两个参数表面限定它们之间的一个或多个连续曲线交叉。每个相应的连续曲线交叉为两个参数表面中的每一个定义相应小面的边界的至少一部分。由此形成小面并其由一个或多个这样的连续曲线交叉界定。
由在S30处的方法定义的分区是小面的集合,其中该集合的每个给定小面是由S20输出的相应给定参数表面的一部分,并且(如果给定小面不是整个相应的给定参数表面)(例如,仅)通过均在相应的给定参数表面和相应的其他参数表面之间的一个或多个交叉或任何细分这样的集合来界定。在示例中,分区可以是遵循这种标准的最大小面的集合。在其他示例中,分区可以是遵循这种标准的所述最大小面的集合的细分或分区。
可以以任何方式执行定义S30,例如包括计算交叉。
现在讨论确定S40。
确定S40在由S30输出的小面的集合中选择被认为表示真实对象的皮肤的子集。真实对象的皮肤是其外表面,在CAD领域中也称为术语“壳体”或“外壳”。
确定S40通过执行优化算法来执行这样的选择,该优化算法包括最小化其值取决于与候选小面相关联的预定自由变量的预定能量。候选小面可以是由S30输出的所有候选小面或由任何预处理提供的预选小面。在示例中,每个候选小面产生一个相应的自由变量。每个自由变量可以在预定域中变化,指示其相应的小面被保持或丢弃。因此,能量最小化的结果提供了自由变量的最佳值。然后可以以任何方式使用最佳值来最终决定要保持哪些小面以及丢弃哪些小面。预定域可以包括两个值,一个值对应于保持的小面而另一个值对应于丢弃小面。或者,预定域可以是离散集或边界值之间的连续体,一个边界值对应于保持的小面,而另一个边界值对应于丢弃小面。
能量可以以任何方式表达,只要它包括包含以下讨论的数据项和约束项的若干项。
数据项是以相对于初始数据(即3D点云)不适合的方式惩罚丢弃小面的任何项。在示例中,数据项可以对应于(例如,被定义为)候选小面的集合上的惩罚之和,每个惩罚对应于一个且仅一个小面。每个惩罚是相同预定惩罚函数的值。惩罚函数是表示小面和3D点云之间的拟合水平的参数的递增函数。换句话说,给定小面越拟合在S10处提供的3D点云,则丢弃给定小面被能量惩罚越多。可以以任何方式确定拟合水平,稍后提供示例。在其他示例中,数据项可以涉及针对多个小面的组定义的惩罚。
约束项是对于一组小面,惩罚保持的小面形成非皮肤几何形状的任何项。换句话说,约束项约束保持的小面形成皮肤几何形状。在示例中,约束项可以对应于(例如,被定义为)候选小面的集合中四个邻居的组的集合(例如,所有)上的惩罚的总和(即,一组四个邻居是四个小面的集合,其中所有小面对是另一个的相邻的一个),每个惩罚对应于一个且仅一个组。在其他示例中,约束项可以涉及其他参数。
该方法在S30处定义关于均在两个相应参数表面之间的交叉的分区。每个交叉可以产生四个相邻小面的相应组。这些相应组的小面是邻居,因为它们由相同的曲线交叉界定(每个至少部分地)。这里应注意,在实践中不会出现少于四个或多于四个小面是邻居的例外情况,但是可以在确定S40时以任何方式处理(例如,通过从最小化中丢弃或者被分配给一个或者更多其他约束项)。
约束项惩罚由S40最终输出的小面的集合包括与实体表示不一致的这种类型的组的情况。例如,当一个体扇区被一个定界小面指示为在真实对象内部时,并且被另一个定界小面指示为在真实对象外部时,可能发生这种不一致。在示例中,每当最终保持不同于0和2(换句话说等于1、3或4)的数量的小面时,或者每当保持等于2的数量的小面但两个保持的小面具有不一致的取向时,可以认为相对于这种类型的四个相邻小面的给定组,形成非皮肤几何形状。
现在描述该方法的特别高效的例子。
该示例包括S10-S40的特定独立实施方式,其协同地允许特别准确且以特别快速的方式达到表示真实对象的小面的集合。
该示例的方法将点云作为输入并计算一组参数表面。一旦计算了表面,它就将它们分成所谓的“小面”。小面通常可以是给定参数表面的一部分,该参数表面由在托管小面的参数表面与其他参数表面之间的交叉界定。该示例的方法旨在找到构成由输入点云表示的对象的闭合壳体的小面的集合。
为了实现这一目标,建立并优化了图形。图形的每个节点表示小面,并且图形弧链接相邻小面。“保持”和“丢弃”之间的标签与每个节点相关联,并且在图形上定义了取决于节点标签的误差函数。定义该函数,使得当关联节点标记为“保持”的小面的集合对应于由输入点云表示的对象的闭合壳体时,使其最小化。
这种方法中的能量最小化被定义为使其最小值对应于闭合表面,允许重建实体对象,这与文章“Jenke et al.,2008”所采用的方法不同。此外,不需要估计任何表面延伸或边界,这可能是在文章“Jenke et al.,2008”和文章“Schnabel et al.,2009”中所采用的方法中有噪声或缺失数据的情况下的功能障碍的来源。
与文章“Schnabel et al.,2009”和文章“Verdie et al.,2015”所采用的方法相反,该示例的方法不需要任何空间的任意分区。回想一下,在“Schnabel et al.,2009”和“Verdie et al.,2015”的文章中,空间的不同分区可能导致任意不同的结果。
此外,该示例的方法采用点云作为输入,并且不需要任何输入表面,例如网格的表面。相反,文章“Verdie et al.,2015”程序中的程序需要这样的网格作为输入(并且这种网格并不总是可用的)。换句话说,即使在S20之前不存在网格,也可以执行该示例的方法,或者如果存在网格则不使用这种网格。
该示例的方法旨在重建由参数表面的组合组成的规则的闭合表面,其表示实体对象的物理壳体。
执行该示例方法的全局流水线如下:
1.以点云作为输入(S10)
2.计算参数表面的集合(S20)
3.计算形成分区的“小面”的集合(S30)
4.考虑小面图形(S40)
5.在图形上定义能量函数(S40)
6.最小化能量函数(S40)
7.恢复实体壳体(S40)
现在讨论关于流水线的每个步骤的示例细节。
1.以点云作为输入(S10)
输入点云可以是表示实体对象的一组3D点。由于采集伪像,点云可能是不规则的、有噪声的或不完整的。每个点可以与法向矢量相关联,即,估计向外指向的实体表面的切线方向的一元3D矢量。图4通过示出表示实体表面的有噪声的、不规则的和不完整的点云的二维方案来表示这一点。
这样的点云可以源自3D扫描仪、摄影测量重建等。在提供网格的情况下,可以通过考虑顶点的集合或通过对表示网格的表面上的点采样来提取点云。
2.计算参数表面的集合(S20)
可以从输入云计算参数表面的集合。存在几种从点云提取参数表面的集合的方法。执行3D点云与参数表面的这种拟合的一种方法可以包括执行随机样本一致性(RANSAC)算法,例如如文章“Schnabel,R.,Wahl,R.&Klein,R.,2007.Efficient RANSAC for point-cloud shape detection.Computer Graphics Forum,26(2),pp.214-226”所述。每个参数表面可以与从中导出它的点的子集相关联。参数表面的两侧可以标记为“in”和“out”。可以从与参数表面相关联的点的法向矢量估计侧标记。回想一下,参数表面可能潜在是无限的,例如平面表面。
3.计算形成分区的“小面”的集合(S30)
可以计算参数表面之间的交叉。小面是参数表面的一部分,该参数表面由托管小面的参数表面与其他参数表面之间的交叉界定。这通过图5考虑平面表面来说明,其中图5示出了小面的表示。
根据小面所源自的参数表面的对应侧标记,小面的两侧可以标记为“in”和“out”。
先前与对应参数表面相关联的点的子集可以与每个小面相关联。该子集可能为空。这项任务可以通过几种方式实现。在经过测试的实施方式中,点被正交投影到它们相关联的参数表面中,并且如果一个点的投影在小面中,则该点与该小面相关联。
4.考虑小面图形(S40)
可以考虑包含节点(N)的集合和弧(A)的集合的图形。图形的每个节点表示小面,并且图形弧链接相邻小面。请注意,每条边链接四个小面:共享边的给定参数表面的两个小面,还有共享相同边的生成交叉的参数表面的两个小面。这由图6说明。
图6在左侧示出了彼此相交的两个参数表面。假设这些表面与其他表面(未示出)相交。小面1、2、3和4由这些交叉界定。小面1、2、3和4共享边:图6中所示的表面之间的交叉。
图6在右侧示出,当小面1、2、3和4共享边时,在图形中表示它们的节点全部通过弧链接。节点最终链接到其他节点,表示其他相邻小面(图中的虚线弧)。
标签(ln)“保持”或“丢弃”可以与每个节点(n)以及拟合度量(fmn)相关联。拟合度量评估小面与输入点云的拟合程度。
在测试的实施方式中,拟合度量对应于小面密度(即,对应于小面的3D点云的点的密度,例如,如果相应小面是与所述给定点最接近的一个,则为对应于相应小面的给定点),通过将先前与对应小面相关联的点的数量除以小面的面积来计算。拟合度量可以在0和1之间归一化。例如,通过设置最大密度并将每个拟合度量除以该值,如果获得的结果高于1,则将其设置为1。可以实现其他拟合度量。
5.在图形上定义能量函数(S40)
可以在图形上定义能量函数。函数的变量可以是节点的标签。当具有标签ln=“保持”的节点形成尽可能类似于由输入点云表示的实体的形状的闭合表面时,可以最小化该能量函数。为了实现该任务,该方法考虑了双项能量函数:
E=E数据+E约束
其中E数据表示数据项,并且当获得的表面最佳拟合输入数据时可以最小化。E约束表示约束项,如果获得的表面未闭合,则其会严重惩罚能量。第二项的作用是强制执行这样一个事实,即最终的解应该趋于是一个闭合壳体。
下面提供了两个项的定义的可能基础。
数据项
在经过测试的实现中,考虑了以下基础数据项(但是可以考虑其他项):
其中是指标函数:
它是标记为“丢弃”的节点的拟合度量的图形节点的集合(N)中的每个节点(n)上的平方加法。当具有高拟合度量的小面被丢弃时,该项增长,因此其鼓励具有高拟合度量的小面在最小化时被标记为“保持”。
约束项
在经过测试的实现方式中,使用了以下基本约束项(但是可以考虑其他项):
它是弧约束(ca)的图形弧的集合(A)中的每个弧(a)的平方加法乘以加权因子λ。对于每个弧(a),定义弧约束(ca),使得如果与由边链接并标记为“保持”的节点相关联的小面违反形成闭合壳体的条件,则其为非零,否则为零。特别是,如果符合以下条件,则约束为非零:
a)由边链接的“保持”标记节点的数量不同于0(即,四个小面中的任何一个形成闭合表面的一部分)或2,或者
b)由边链接的“保持”标记节点的数量为2,但对应参数表面的“in”和“out”标记不一致(“保持”小面的“in”和“out”两侧应为相同)。
为了显示所有可能的情况,可以考虑通过从1到4索引的弧e链接的节点。节点1和2对应于位于相同参数表面中的小面,而节点3和4对应于位于参数表面中的与前一个相交的小面。这由图7说明。
图7示意性地表示四个相邻小面(横截面视图)。小面1和2属于参数化表面(由平面表面示意),并且小面3和4属于与前一个相交的另一个参数表面(也由平面表面示意)。还指出了小面的“in”和“out”侧。
在图8的表格中明确地示意了不同的可能配置,其中虚线表示“丢弃”标记的小面,实线“保持”标记的小面。
加权因子λ可以足够大,使得如果违反单个约束(具有非零值),则不会最小化全局误差(E)。最小化该项强制使得所获得的表面闭合。
可以替代地实现除(λ·)2之外的其他成本函数。
6.最小化能量函数(S40)
问题松弛
能量函数(E)取决于采用离散值的节点标签(ln∈{“保持”,“丢弃”})。因此,最小化能量可以在于找到具有对应于最小值的标签“保持”或“丢弃”的节点的组合。这种组合问题可能只能通过测试所有可能的标记组合并保持对应于最小能量的那一个来解决。当小面的数量增加时,解决问题可能变得困难或不可能,因为要测试的组合的数量极大地增加。
相反,问题可能会松弛。它可能在于通过类似但更容易解决的问题来近似它。为此,该示例的方法可以将标签“丢弃”与数值1相关联并且标签“保持”与数值0相关联并且定义松弛的标签以取0到1之间的实数值该示例的方法还可以定义连续能量函数(Er,称为松弛的能量函数),其取决于实数值松弛的标签:
换句话说,不是离散的标签的集合(例如{“保持”,“丢弃”}),能量可以探索可分配给小面中的每个相应的一个的标签的连续体,并表示保持相应的小面的置信度水平。换句话说,能量的自由变量可以在值的连续体中变化而不是在离散的值的集合中变化。相对于自由变量中的每一个,能量可以进一步是连续的。在示例中,数据项和约束项每个都可以相对于自由变量中的每一个是连续的。这允许在S40处对优化算法的使用例如相对准确和相对快速地收敛。
在示例中,数据项相对于约束项的自由变量和/或求和元素(即,求和元素是定义约束项的和的项)中的每一个可以是单调的,当其他自由变量固定时,可以相对于它们的自由变量中的每一个均是单调的。这允许达到特别准确的结果。特别是,这不仅改善了从松弛和连续结果到离散和二元决策(保持或丢弃)的通路,而且还确保了相对规则的能量和因此其相对容易和准确的优化(具有陷入局部最小值的相对较低的风险)。
松弛的数据项
在经过测试的实施方式中,使用了以下松弛的数据项:
当(“丢弃”)和(“保持”)并且在这些值之间线性时,其表现类似于所提出的离散数据项E数据。
可替代地,可以实现其他数据项。
松弛的约束项
在经过测试的实现方式中,使用了以下松弛的约束项:
同样,可以替代地实现除(λ·)2之外的其他成本函数。
使用先前参考图7介绍的节点指数化,松弛的约束的显式公式化可以如下定义:
约束的第一项惩罚节点1和3的不兼容性(都被标记为“保持”),这种不兼容性是约束b)的直接结果,并且在图8的表的第三、第四和第五行中示出。如果和都接近0,则该项具有正值。但是,如果至少有一个节点标记为“丢弃”,且具有正则化的标签1,则该项具有零值。
第二项等同于第一项,但反映了节点2和4之间的不兼容性。
如果分析了不违反图8的表格中的任何约束的每个可能的组合,可以观察到要么没有一个节点被标记为“保持”,要么节点1和3中的一个节点以及节点2和4中的一个节点被标记为“保持”。这由正则化的约束的第三项强制执行的。在第一种情况下(所有松弛标签设置为1) 并且在第二种情况下,否则,要么两个第一项中的至少一个具有非零值,要么并且第三项具有非零值。
松弛的能量最小化
松弛的能量是松弛的节点标签上的连续函数。因此,可以使用任何连续优化方法来最小化它。
在测试的实现方式中,定义了能量,其可以表示为平方误差的总和。结果,标准方法可用于求解最小二乘问题,例如在文章“Marquardt,D.,1963.An Algorithm for Least-Squares Estimation of Nonlinear Parameters.SIAM Journal on AppliedMathematics,11(2),p.431–441”中描述的Levenberg-Marquardt算法(其经过测试)。
7.恢复实体壳体(S40)
在最小化松弛的能量之后,可以从松弛的标签中恢复离散节点的标签。这样做的一种简单的方法可以是将阈值固定在0和1之间。高于该阈值的松弛的标签可以被设置为“丢弃”,并且其下方的松弛的标签可以被设置为“保持”。阈值可以是任何值,例如高于0.1或0.2和/或低于0.9或0.8,例如0.5。能量的最小化高效地向[0,1]范围的极值分配标签,使得没有或很少标签值大约为0.5。换句话说,该算法在要保持的小面或要丢弃的小面之间有效地区分。
在该示例中,最终的实体壳体可以由与标记为“保持”的节点相关联的小面组成。
如上所述,测试了根据上述示例细节的方法的实现方式。结果参考图9-12展示。
图9示出了在S10处提供的3D点云,其表示被扫描的建筑物。基于由无人机捕获的照片通过摄影测量(SfM+MVS)获得3D点云。如在文章“Schonberger,J.L.,&Frahm,J.M.(2016).Structure-from-motion revisited.In Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition(pp.4104-4113)”中所描述的执行SFM或结构-自-运动。如在文章“J.L.,Zheng,E.,Frahm,J.M.,&Pollefeys,M.(2016,October).Pixelwise view selection for unstructured multi-view stereo.InEuropean Conference on Computer Vision(pp.501-518).Springer InternationalPublishing”中所描述的执行MVS或多视图立体声。
图10示出了无人机(换句话说,感测设备或扫描工具),其是DJI Mavic Pro无人机(注册商标)。
图11示出了表示在S20处由RANSAC算法输出并且拟合3D点云的参数表面的图像。
图12示出了由S30和S40造成的并且表示建筑物的皮肤的小面的集合。
可以看出,小面的集合准确地代表了建筑物。点云相对于小面的集合的平均距离为0.564m。该方法允许从(仅仅)点云获得实体表示。此外,算法在不到一分钟的时间内收敛。
Claims (14)
1.一种用于3D重建的计算机实现的方法,包括:
获得代表真实对象的3D点云;
使用参数表面拟合所述3D点云;
将所述参数表面构成的分区定义为遵循所述参数表面之间的交叉的定向小面;以及
在所述分区的所述定向小面中确定表示所述真实对象的皮肤的小面的集合,所述确定包括最小化能量,所述能量包括:
数据项,其随着丢弃的小面与所述3D点云之间的拟合水平增加而递增地惩罚丢弃小面;以及
约束项,其惩罚保持的小面形成非皮肤几何形状,
其中,对于每组四个相邻小面,在至少两种情况下形成非皮肤几何形状,所述至少两种情况包括:
第一种情况,其中,保持的小面的数量不同于0和2,以及
第二种情况,其中,保持的小面的数量等于2并且具有不一致的取向,以及
所述约束项惩罚所述至少两种情况。
2.根据权利要求1所述的方法,其中,所述能量探索可分配给所述小面中的每个相应小面的、并且表示用于保持所述相应小面的置信度水平的标签的连续体。
3.根据权利要求2所述的方法,其中,所述确定还包括基于所分配的标签来选择要保持哪些小面以及要丢弃哪些小面。
4.根据权利要求3所述的方法,其中,基于所分配的标签来决定要保持哪些小面以及要丢弃哪些小面包括将每个所分配的标签与预定阈值进行比较。
5.根据权利要求2所述的方法,其中,最小化所述能量包括使用连续优化方法。
6.根据权利要求2至5中任一项所述的方法,其中:
所述能量具有自由变量,并且
所述数据项相对于所述自由变量中的每一个是单调的,和/或,所述约束项具有求和元素,所述求和元素当其他自由变量固定时相对于其自由变量中的每一个均单调。
7.根据权利要求6所述的方法,其中,所述约束项具有以下类型:
其中
其中:
A是四个相邻小面的组的集合,
a是一组四个相邻小面i,
cost(·)是成本函数,并且
是分配给小面i的标签,小面1和小面2属于相应的相同的参数表面,并且小面3和小面4属于相应的相同的参数表面。
8.根据权利要求1至5中任一项所述的方法,其中,小面和所述3D点云之间的拟合水平对应于小面密度,所述小面密度可选地等于与小面相关联的点的数量除以所述小面的面积。
9.根据权利要求1至5中任一项所述的方法,其中,使所述3D点云与所述参数表面拟合包括RANSAC算法。
10.根据权利要求1至5中任一项所述的方法,其中,获得表示真实对象的所述3D点云包括:
获得所述真实对象的物理实例和一个或多个感测设备;
利用所述一个或多个感测设备在所述物理实例上执行一个或多个测量;以及
基于所述一个或多个测量来输出所述3D点云。
11.根据权利要求10所述的方法,其中,所述一个或多个感测设备包括激光雷达、深度传感器和/或被配置用于结构-自-运动分析的相机。
12.一种计算机程序产品,包括用于执行权利要求1-11中的任一项的方法的指令。
13.一种计算机可读存储介质,其上记录有权利要求12的计算机程序产品。
14.一种系统,包括耦合到存储器的处理器,所述存储器上记录有权利要求12的计算机程序产品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306907.1 | 2017-12-22 | ||
EP17306907.1A EP3502929A1 (en) | 2017-12-22 | 2017-12-22 | Determining a set of facets that represents a skin of a real object |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110060346A CN110060346A (zh) | 2019-07-26 |
CN110060346B true CN110060346B (zh) | 2024-08-20 |
Family
ID=60957102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811569235.7A Active CN110060346B (zh) | 2017-12-22 | 2018-12-21 | 确定代表真实对象皮肤的小面的集合 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10783707B2 (zh) |
EP (1) | EP3502929A1 (zh) |
JP (1) | JP7256005B2 (zh) |
CN (1) | CN110060346B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816798B1 (en) * | 2020-03-17 | 2023-11-14 | Apple Inc. | 3D surface representation refinement |
EP3996051A1 (en) * | 2020-11-04 | 2022-05-11 | Dassault Systèmes | 3d reconstruction of a structure of a real scene with an open surface |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006121457A2 (en) * | 2004-08-18 | 2006-11-16 | Sarnoff Corporation | Method and apparatus for performing three-dimensional computer modeling |
WO2009142037A1 (ja) * | 2008-05-23 | 2009-11-26 | 国立大学法人横浜国立大学 | 近似処理方法、および近似処理装置 |
US8903126B2 (en) * | 2011-05-31 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Determining parameter values based on indications of preference |
EP3335193A1 (en) * | 2015-08-14 | 2018-06-20 | Thomson Licensing | 3d reconstruction of a human ear from a point cloud |
US10621781B2 (en) * | 2015-11-23 | 2020-04-14 | Autodesk, Inc. | Robustly blending surfaces via spherical parametrization |
EP3188033B1 (en) * | 2015-12-31 | 2024-02-14 | Dassault Systèmes | Reconstructing a 3d modeled object |
CN107025685B (zh) * | 2017-04-11 | 2020-03-17 | 南京林业大学 | 拓扑感知下的机载建筑屋顶点云建模方法 |
-
2017
- 2017-12-22 EP EP17306907.1A patent/EP3502929A1/en active Pending
-
2018
- 2018-12-21 CN CN201811569235.7A patent/CN110060346B/zh active Active
- 2018-12-21 US US16/230,841 patent/US10783707B2/en active Active
- 2018-12-21 JP JP2018239485A patent/JP7256005B2/ja active Active
Non-Patent Citations (1)
Title |
---|
PolyFit:Polygonal Surface Reconstruction from Point Clouds;Lianglinag Nan.etc;《2017 IEEE International Conference on Computer Vision》;P2370-2380 * |
Also Published As
Publication number | Publication date |
---|---|
CN110060346A (zh) | 2019-07-26 |
JP2019145083A (ja) | 2019-08-29 |
JP7256005B2 (ja) | 2023-04-11 |
EP3502929A1 (en) | 2019-06-26 |
US20190197775A1 (en) | 2019-06-27 |
US10783707B2 (en) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107067473B (zh) | 用于对3d建模对象进行重构的方法、装置及系统 | |
JP6659336B2 (ja) | 3dモデル化オブジェクトのテクスチャリング | |
EP2874118B1 (en) | Computing camera parameters | |
US11893690B2 (en) | 3D reconstruction with smooth maps | |
JP2018109948A (ja) | パラメトリックビュー関数に基づくデータベースの照会 | |
EP4044116A1 (en) | Segmenting a 3d modeled object representing a mechanical part | |
CN115631486A (zh) | 分割表示机械组装件的3d建模对象 | |
CN110060346B (zh) | 确定代表真实对象皮肤的小面的集合 | |
US11657195B2 (en) | Processing a 3D signal of a shape attribute over a real object | |
JP2017168081A (ja) | 記述子を用いた3dオブジェクトの位置特定 | |
JP2017162447A (ja) | 量子化を用いた3dオブジェクトの位置特定 | |
JP2021111375A (ja) | 現実のシーンのビデオフラックスの拡張 | |
CN113283020A (zh) | 机械部件的结构仿真 | |
CN116934998A (zh) | 从图像进行3d重建 |
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 |