CN109685095A - 根据3d布置类型对2d图像进行分类 - Google Patents
根据3d布置类型对2d图像进行分类 Download PDFInfo
- Publication number
- CN109685095A CN109685095A CN201811207211.7A CN201811207211A CN109685095A CN 109685095 A CN109685095 A CN 109685095A CN 201811207211 A CN201811207211 A CN 201811207211A CN 109685095 A CN109685095 A CN 109685095A
- Authority
- CN
- China
- Prior art keywords
- scene
- image
- type
- manhattan
- arrangement
- 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
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 37
- 238000010276 construction Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 3
- 244000025254 Cannabis sativa Species 0.000 claims description 2
- 239000004744 fabric Substances 0.000 claims description 2
- 238000013459 approach Methods 0.000 abstract description 2
- 238000013528 artificial neural network Methods 0.000 description 26
- 210000002569 neuron Anatomy 0.000 description 22
- 238000013507 mapping Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 230000001537 neural effect Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 210000004205 output neuron Anatomy 0.000 description 4
- 241000406668 Loxodonta cyclotis Species 0.000 description 3
- 238000005429 filling process Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000002594 fluoroscopy Methods 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 101100391172 Dictyostelium discoideum forA gene Proteins 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明特别涉及一种用于形成被配置用于学习函数的数据集的计算机实现的方法。该函数被配置为根据关于2D图像中可见的对象的3D布置的预定类型对2D图像进行分类。该方法包括:对于每种3D布置的相应类型,构造3D场景,每个3D场景包括根据3D布置的相应类型来布置的3D建模对象,生成2D图像,每个2D图像表示相应构造的3D场景的相应2D透视图,其中可见3D建模对象是在根据3D布置的相应类型布置的相应构造的3D场景的3D建模对象中,并且向数据集添加训练模式,每个训练模式包括相应的生成的2D图像和指示3D布置的相应类型的信息。这种方法改善了2D图像分类。
Description
技术领域
本发明涉及计算机程序和***领域,并且更具体地说,涉及形成数据集,该数据集被配置用于学习适于根据预定类型的三维(3D)布置对二维(2D)图像进行分类的功能。
背景技术
市场上提供了许多用于对象的设计、工程和制造的***和程序。CAD是计算机辅助设计的首字母缩写,例如它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,它涉及用于模拟未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计***中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入在产品生命周期管理(PLM)***中。PLM指的是一种业务战略,它可以帮助公司分享产品数据,应用通用流程,并利用企业知识进行跨越扩展企业概念从概念到产品生命尽头的产品开发。达索***(Dassault Systèmes)(以CATIA、ENOVIA和DELMIA为商标)提供的PLM解决方案提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心以及使企业集成和连接到工程和制造中心的企业中心。整个***提供了开放的对象模型,其连接产品、流程和资源以实现动态的、基于知识的产品创建和决策支持,这驱动优化的产品定义、制造准备、生产和服务。
在该上下文和其他上下文中,对2D图像进行分类以便识别2D图像中可见的对象的3D布置类型可能是有用的:所述3D布置类型例如曼哈顿类型、亚特兰大类型或既不是曼哈顿类型也不是亚特兰大类型。
发明内容
因此,提供了一种用于形成被配置用于学习函数的数据集的计算机实现的方法。该函数被配置为根据关于2D图像中可见的对象的3D布置的预定类型对2D图像进行分类。该方法针对每种3D布置的相应类型进行循环。该方法包括构造3D场景。每个构造的3D场景包括根据3D布置的相应类型来布置的3D建模对象。该方法还包括生成2D图像。每个生成的2D图像表示相应构造的3D场景的相应2D透视图。在相应的2D透视图中,可见3D建模对象是根据3D布置的相应类型而布置的相应构造的3D场景的3D建模对象。该方法还包括向数据集添加训练模式。每个添加的训练模式包括相应的生成的2D图像和指示3D布置的相应类型的信息。
该方法由此构成机器学习范例根据2D图像中可见的对象的3D布置的类型对2D图像的分类的应用。该方法确实提出形成适于学习被配置为执行这种分类的函数的数据集。因此,该方法相对高效地提供了精确的函数,其应用还足够快以便实时使用。此外,该方法提出经由3D建模来形成数据集。特别地,该方法包括构造3D场景,并且然后基于3D场景生成训练模式以填充数据集。由于这种工作流程,该方法相对高效地形成了相对多样化的数据集。工作流确实使该方法能够根据需要输出尽可能多的训练模式并完全受控制。这样允许高效并且安全的机器学习。
该方法可以包括以下中的一个或多个:
-对于3D布置的至少一种相应类型,根据3D布置的相应类型来布置一个或多个构造的3D场景的所有3D建模对象;
-所述3D布置的预定类型包括曼哈顿类型和/或亚特兰大类型
-其中针对3D布置的相应类型构造每个相应的3D场景包括:提供初始3D场景和一个或多个参考帧;以及基于3D布置的相应类型,相对于一个或多个参考帧在所述初始3D场景中布置3D建模对象;
-3D布置的预定类型包括曼哈顿类型并且对于针对曼哈顿类型构造相应3D场景,所提供的一个或多个参考帧由单个曼哈顿帧构成和/或所提供的初始3D场景包括3D建模对象,每个3D建模对象与单个曼哈顿帧对齐;
-3D布置的预定类型包括亚特兰大类型并且对于针对亚特兰大类型构造相应3D场景,所提供的一个或多个参考帧由共享轴的一个或多个曼哈顿帧构成和/或所提供的初始3D场景包括3D模拟对象,每个3D模拟对象与相应的曼哈顿帧对齐,可选地与相同的曼哈顿帧对齐;
–针对曼哈顿类型构造相应3D场景,将3D建模对象添加到初始3D场景,每个初始3D场景与单个曼哈顿帧对齐;
-针对亚特兰大类型构造相应3D场景,将3D建模对象添加到所述初始3D场景,每个初始3D场景与相应的曼哈顿帧对齐;
-提供初始3D场景包括提供表示所述初始3D场景的初始2D图像,以及基于所述初始2D图像来确定所述初始3D场景;
–基于所述初始2D图像来确定所述初始3D场景包括:计算所述初始2D图像的特征线段,基于所述特征线段来确定消失点,基于相应的消失点来确定一个或多个曼哈顿帧以及从2D到3D的相应投影,以及基于相应的特征线段并基于相应的投影在至少一个相应的曼哈顿帧中构造3D建模对象。
-初始2D图像的特征线段的计算包括计算边缘像素,以及使用最大线条拟合边缘像素;
-该方法还包括基于所述数据集来学习函数,并且可选地还包括提供输入的2D图像并将所述学习的函数应用于所述输入的2D图像,从而对所述输入的2D图像进行分类;
-该方法还包括基于所述输入的2D图像和所述输入的2D图像的分类,来确定每个从2D到相应的3D曼哈顿帧的一个或多个投影;以及/或者
-该方法还包括基于所述一个或多个投影输出由所述输入的2D图像表示的3D场景,并且可选地还包括通过对所述输入的2D图像的表示进行用户草绘来编辑所述3D场景。
进一步提供了能通过该方法形成的数据集。这样的数据集包括由该方法添加的训练模式,因此数据集相对详尽且准确。
进一步提供了一种包括用数据集学习函数的过程。进一步提供了可通过这种过程学习的函数。该函数是例如神经网络,被配置为根据3D布置的预定类型对2D图像进行分类。
还提供了一种计算机程序,包括用于执行该方法和/或过程的指令。
还提供了一种包括数据集、函数和/或程序的数据结构。
还提供了一种包括其上记录有数据结构的数据存储介质的设备。该设备可以形成非暂时性计算机可读介质。可替代地,该设备可以包括耦合到数据存储介质的处理器。因此,该设备可以形成***。该***还可以包括耦合到处理器的图形用户界面。
附图说明
现在将通过非限制性示例并参考附图来描述本发明的实施例,其中:
-图1示出了***的示例;以及
-图2-图27示出了该方法。
具体实施方式
该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由至少一个计算机或任何类似的***执行。因此,该方法的步骤由计算机执行,可能是完全自动的,或半自动的。在示例中,可以通过用户-计算机交互来执行对方法的至少一些步骤的触发。所需的用户-计算机交互水平可能取决于预见的自动化水平,并与实现用户意愿的需求保持平衡。在示例中,该水平可以是用户定义的和/或预定义的。在示例中,3D场景的构造、2D图像的生成以及对数据集的添加可以完全自动地执行。
方法的计算机实现的典型示例是利用适用于此目的的***来执行该方法。该***可以包括耦合到存储器的处理器和图形用户界面(GUI),该存储器上记录有包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括若干物理不同部分(例如,一个用于程序,并且可能一个用于数据库)。
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述***执行该方法的单元。该程序可以记录在任何数据存储介质上,包括***的存储器。该程序可以例如在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该程序可以实现为装置,例如有形地体现在机器可读存储设备中用于由可编程处理器执行的产品。方法步骤可以由执行指令程序的可编程处理器执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并且被耦合以从数据存储***、至少一个输入设备和至少一个输出设备接收数据和指令,并将数据和指令发送到数据存储***、至少一个输入设备和至少一个输出设备。如果需要,应用程序可以用高级过程或面向对象的编程语言实现,或者用汇编语言或机器语言实现。在任何情况下,语言可以是编译或解释语言。该程序可以是完整安装程序或更新程序。程序在***上的应用在任何情况下导致用于执行该方法的指令。
建模对象是由例如存储在数据库中的数据定义的任何对象。通过扩展,表达“建模对象”指定数据本身。根据***的类型,可以通过不同种类的数据来定义建模对象。该***实际上可以是CAD***、CAE***、CAM***、PDM***和/或PLM***的任何组合。在那些不同的***中,建模对象由相对应的数据定义。因此可以说CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些***不是彼此排他的,因为建模对象可以由对应于这些***的任何组合的数据来定义。因此,***可以是CAD和PLM***二者。
在CAD的上下文中,建模对象通常可以是3D建模对象。所谓“3D建模对象”是指由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度观察零件。例如,当3D表示时,3D建模对象可以围绕其任何轴处理或转动,或围绕显示表示的屏幕中的任何轴。这尤其不包括未经3D建模的2D图标。3D表示的显示有助于设计(即,增加设计者统计地完成其任务的速度)。
可以在CAD***中设计和/或加载3D建模对象。所谓CAD***,意味着至少适于基于建模对象的图形表示(例如CATIA)来设计建模对象的任何***。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。CAD***可以例如使用边或线来提供CAD建模对象的表示,在某些情况下具有面或表面。线、边或表面可以以各种方式表示,例如,非均匀有理B样条(NURBS)。具体地,CAD文件包含可以从其生成几何形状的规范,几何形状继而允许生成表示。建模对象的规范可以存储在单个CAD文件中或多个CAD文件中。表示CAD***中的建模对象的文件的典型大小在每个部件一兆字节的范围内。并且建模对象通常可以是数千个部件的组件。
3D场景指定在3D空间中3D建模对象的任何布置(即,部署)。3D空间可以包括边界,例如对应于房间的墙壁。在3D空间包括边界的情况下,在示例中,一个或多个边界可以用纹理覆盖。
通过该方法构造3D场景可以包括提供包括3D空间(例如,空3D空间或已经包括3D建模对象的3D空间)的初始3D场景,并且然后在初始3D场景中布置3D建模对象。该方法可以例如包括提供分配给3D空间的一个或多个参考帧(即基础)并基于一个或多个参考帧执行任何布置。在初始3D场景中布置3D建模对象可以包括添加、移动和/或编辑新的3D建模对象,和/或移除、移动和/或编辑现有3D建模对象。添加的3D建模对象可以来自任何源,例如从3D建模对象的数据库中检索和/或使用CAD***设计。
该方法考虑的2D图像是表示物理信号的2D空间分布(例如照片)的数据结构。物理信号可以是任何信号,例如颜色、灰度级、深度或材料或对象边界的存在。相应地,图像可以是RGB、灰度或深度图像,或者也可以是2D轮廓模型。空间分布可以以任何方式表示,例如利用值的网格表示并由此定义像素,网格可能是不规则的或规则的。添加到数据集和/或输入到函数的图像可以全部是相同类型的,例如所有矩形2D RGB或灰度图像。可替代地,添加到数据集和/或输入到函数的图像可以包括不同类型的图像(例如甚至在训练模式的第一元素之间或训练模式的第二元素之间)。该方法可以生成合成2D图像以形成数据集,例如合成照片。然后可以将学习的函数应用于合成2D图像(诸如合成照片)和/或应用于自然2D图像(诸如自然照片)。
该方法可以使用所构造的场景的至少一部分(例如全部)来生成一个或多个(即,任意数量)相应的2D图像,每个2D图像表示构造的3D场景的相应2D透视图。因此,每个生成的2D图像形成由可见3D建模对象(即,由2D图像部分或完全标题化的3D建模对象)组成的已构造3D场景的一部分的视觉表示。
2D图像的生成可以包括提供2D透视图的规范,以及根据2D透视图在2D结构上投影所构造的3D场景,以便形成2D图像。规范可以包括用于执行投影的表面(例如平面)和观察者的位置(例如有限位置)。在示例中,2D透视图可以是锥形透视图。
该生成可以可选地包括在投影之前对所构造的3D场景的任何预处理,和/或在投影之后对所构造的3D场景的任何后处理。在示例中,预处理可以包括根据任何预定标准移除被认为是无关紧要的3D建模对象,和/或识别可见与隐藏的3D建模对象,以便仅投影可见对象。在示例中,后处理可以包括添加颜色和/或纹理(例如,如果还没有存在于3D中)。
构造的3D场景可以表示现实世界场景,换言之,现实世界对象的布置。构造的3D场景的3D建模对象可以各自表示现实世界对象的几何形状。所构造的3D场景的3D建模对象可以特别地包括表示诸如机械部件、家具和/或消耗品的产品的3D建模对象,表示诸如建筑物外部、建筑物内部和/或城市建筑的建筑对象的3D建模对象,和/或表示诸如植物、动物、人类和/或风景的自然对象的3D建模对象。在示例中,构造的3D场景可以表示建筑场景。
该方法处理预定的一组3D布置类型。
3D布置类型是在3D中相对于彼此布置的特定方法或方式对象(例如,3D场景或现实世界对象的3D建模对象)。换句话说,3D布置类型定义了在3D中对象如何相对于另一个定位。
当构造包括根据相应布置类型布置的3D建模对象的3D场景时,该方法可以包括以遵循相应布置类型的方式在3D场景中布置3D建模对象。因此,可以在确保所述3D建模对象始终遵循布置类型的同时执行任何构造步骤。
可以经由分别分配给相应的3D建模对象的帧来定义3D建模对象的布置。然后,可以通过每个与两个或更多个3D建模对象中的相应一个相关联的帧如何相对于彼此布置来定义两个或更多个3D建模对象的相对布置。可以考虑帧之间的相对定位。可替代地,可以考虑相对于3D场景的一个或多个参考帧的帧的定位。可以经由定义表示现实世界对象的3D建模对象的布置来定义现实世界对象的布置。
帧可以是定向的或非定向的。可以向每个3D建模对象分配(例如,自然的)正交帧,即定义三个正交方向并且例如标记为(x,y,z)。例如,表示汽车或椅子的3D建模对象被分配了自然帧,例如,z轴对应于从下到上的方向,x轴对应于当位于在对象上或在对象中从左到右的方向,并且当位于在对象上或对象中时,y轴对应于从后到前的方向。分配给3D建模对象的帧可以对应于3D建模对象的边缘,边缘将在表示3D建模对象的2D图像中产生特征线。边缘可以是具有最高长度的边缘,例如具有最大长度的三个边缘。边缘可以是尖锐的和/或笔直的(即直线的)。可选地或另外地,分配给3D建模对象的帧可以对应于一组三个这样的边缘,这三个边缘相对于另一个正交。
在示例中,预定的一组3D布置类型可以包括一组3D对齐类型或由一组3D对齐类型组成,即对应于用于对齐对象的不同的方式。
当两个或更多个3D建模对象的帧全部对齐时,可以认为它们是对齐的。否则,可以将3D建模对象视为未对齐。当它们的帧不是全部对齐但共享轴时,两个或多个3D建模对象可以是未对齐的,但是可以认为它们共享轴。
当帧的每个轴平行于另一个帧的轴时,可以认为两个帧是对齐的。在两个帧是非定向的情况下,条件可能是充分的。在两个帧定向的情况下,该定义可任选地进一步包括两个这样的平行轴也具有相同取向和/或对应于相同轴索引的条件。
当帧的至少一个轴平行于其他帧的每个的轴时,可以认为两个或更多个帧共享轴。在两个帧非定向的情况下,条件可能是充分的。在两个帧定向的情况下,该定义可任选地进一步包括两个这样的平行轴也具有相同取向和/或对应于相同轴索引的条件。
因此注意到3D建模对象可以被认为是对齐的,尽管它们不一定排列在一行上也不排列在网格上,对齐的概念对应于与3D建模对象相关联的帧的三个轴如何彼此相关。还应注意,3D建模对象可与参考帧对齐或与这样的参考帧共享轴,其定义与另一3D建模对象类似地对齐。
在示例中,3D布置的预定类型可以包括曼哈顿类型和一个或多个其他3D布置类型。在这样的示例中,一个或多个其他类型可以例如包括亚特兰大类型。例如,该函数可以被配置为以三种3D对齐类型之一对2D图像进行分类,所述三种3D对齐类型包括曼哈顿类型、亚特兰大类型以及既不是曼哈顿也不是亚特兰大类型(也称为“其他”类型)。在2D图像中识别这种对齐类别特别有意义。
曼哈顿类型和亚特兰大类型是众所周知的3D对齐类型。据信,3D建模对象在它们全部对齐时根据曼哈顿类型进行布置。据信,当3D建模对象在它们不是全部对齐但是都共享公共轴时,根据亚特兰大类型进行布置。可选地,亚特兰大类型可以包括进一步的条件,即3D建模对象可以被划分为根据曼哈顿类型布置的有限数量的子集,并且可选地具有进一步条件:分区对应于将3D场景划分为凸子场景。曼哈顿和亚特兰大两种类型都没有指定不遵循曼哈顿类型或亚特兰大类型的任何3D对齐。
可以向3D场景提供一个或多个曼哈顿帧,并且可以基于这样的一个或多个曼哈顿帧在3D场景中布置3D建模对象。曼哈顿帧仅仅是3D场景的帧,其包括根据曼哈顿或亚特兰大类型布置的3D建模对象。根据曼哈顿类型布置全部与3D场景的相同(例如,单个)曼哈顿帧对齐的多个3D建模对象。当至少两个3D建模对象与不同的曼哈顿帧对齐时,根据亚特兰大类型布置多个3D建模对象,所述多个3D建模对象全部与共享相同轴的3D场景的几个曼哈顿帧中的相应一个对齐。基于包括一个或多个参考帧的初始3D场景,该方法可以由此每次通过将一个或多个新的3D建模对象添加到相对于参考帧相应地对齐的初始3D场景来高效地产生曼哈顿或亚特兰大类型的新布置,所述参考帧由此变成曼哈顿帧。
该方法用于形成(即构造或建立)被配置用于学习函数的数据集。该方法将训练模式添加到数据集。可以在方法开始之前初始化和/或清空数据集。该方法使用训练模式填充数据集。
对于3D布置的预定类型中的每一个给定的一个,该方法构造3D场景,其中根据给定类型3D布置来布置至少一些3D建模对象。然后,该方法可以生成一个或多个2D图像,其中可见3D建模对象中的至少一些是根据给定类型的3D布置来布置的那些。
可见3D建模对象中的至少一些可以包括所有可见3D建模对象或其中大部分(例如,高于任何预定量化阈值,例如基于3D场景中3D建模对象的平均数量确定的),或者可选地所有最重要的可见3D建模对象(例如,高于任何预定重要性阈值,例如尺寸阈值,例如基于3D场景中3D建模对象的平均尺寸确定的)或其中大部分(例如,高于任何预定量化阈值,例如,基于3D场景中的3D建模对象的平均数量来确定的)。
通过向正在形成的数据集添加训练模式,每个训练模式包括与如下的任何类型的信息(例如,诸如标签)相关联的这种2D图像,所述任何类型的信息指示根据其生成上述2D图像的3D布置的类型,该方法用允许函数的稍后机器学习的数据填充数据集,所述函数的稍后机器学习能够识别由2D图像表示的对象的3D布置的类型。
该函数被配置为对2D图像进行分类。换句话说,该函数采用2D图像(例如,表示3D场景可表示的真实世界场景的2D图像)作为输入,并且自动地提供指示适用于输入的2D图像的3D布置类型的任何信息作为输出。函数的输出可以包括指示相应布置类型的标签或由其组成。输出标签可以例如指示输入2D图像中可见的对象最可能遵循的布置类型。可选地或另外地,函数的输出可以包括所有布置类型上的概率分布或由其组成。输出概率分布可以例如包括每个与给定布置类型相关联并且指示在输入2D图像中可见的对象遵循给定布置类型的概率的值。
用于一个或多个(例如所有)3D布置的相应类型的一个或多个(例如所有)3D场景的构造可以使得每次根据相应的3D布置类型布置所有3D建模。这样,无论生成3D场景的2D图像所依据的2D视角如何,在2D图像中可见的所有3D建模对象都必须根据3D布置的相应类型来布置。这允许根据任何2D透视图(例如至少一个随机水平的2D透视图)来生成2D图像。
在示例中,用于一个或多个3D布置的相应类型的一个或多个3D场景的构造可替代地包括未根据相应的3D布置类型布置的3D建模对象。在这种情况的示例中,可以根据2D透视图生成2D图像,对于这些2D透视图,这样的3D建模对象中没有或几乎没有一个是不可见的(例如,由根据相应的3D布置类型布置的其他3D建模对象隐藏)。可以以任何方式确定这种2D透视图。在这种情况的其他示例中,未布置的3D建模对象可能不太重要。因此,这样的3D建模对象可以在生成的2D图像中可见,对机器学习的鲁棒性具有低后果。
可以通过提供初始3D场景并通过以结果遵循预期3D布置类型的方式将3D建模对象添加到初始3D场景来执行针对每个相应3D布置类型的3D场景的构造。相同的初始3D场景可以用于针对一个或多个3D布置类型构造的多个场景。
现在,对于构造针对曼哈顿类型的相应3D场景,所提供的初始3D场景可能已经(例如,仅)包括根据曼哈顿类型布置的3D建模对象,例如每个与单个曼哈顿帧对齐。对于构造针对亚特兰大类型的相应3D场景,所提供的初始3D场景可能已经(例如,仅)包括根据曼哈顿类型布置的3D建模对象,例如每个与相同(例如单个)曼哈顿帧对齐,或者可替代地(例如,仅)根据亚特兰大类型布置的3D建模对象,例如,每个3D建模对象与共享相同轴的几个曼哈顿帧中的相应一个对齐。
对于构造针对曼哈顿或亚特兰大类型的相应3D场景,可以在示例中使用相同的初始3D场景(具有根据曼哈顿或亚特兰大的3D建模对象的现有布置)。在所有情况下,结果必须确保构造场景中的3D建模对象不是根据曼哈顿或亚特兰大类型布置的。例如,可以确保所述3D建模对象不共享所有轴共用的轴。也可以通过从代表其他类型的2D图像生成表示所述类型的2D图像,例如通过使用失真,来将既不是针对曼哈顿也不是针对亚特兰大类型的训练模式添加到数据集。
因此,上述原理可用于实现高效形成多样化和非冗余数据集的自动填充过程。填充过程可以包括初始化(例如,空的)数据集。然后,填充过程可以包括不同的步骤,这些步骤可以是交错的,也可以不是交错的。填充过程可以包括提供一个或多个初始2D图像,并且基于每个2D图像创建代表覆盖要识别的不同3D布置类型的若干训练模式。训练模式的创建可以包括构造针对预期的3D布置类型的至少一部分3D的场景,以及针对所有预期的3D布置类型生成2D图像。3D场景的构造可以基于任何提供的3D建模对象的数据库。
在方法内提供任何初始3D场景可以包括提供表示初始3D场景的初始2D图像,以及基于初始2D图像确定初始3D场景。换句话说,该方法可以从初始2D图像(例如,自然照片)重构造3D场景,使得重构造的3D场景可以是相对真实的。
可以根据2D到3D重构造的任何算法来执行基于初始2D图像确定初始3D场景。该算法可以例如包括计算初始2D图像的特征线段。该算法还可以包括基于特征线段来确定消失点。该算法还可以包括基于相应的消失点来确定一个或多个曼哈顿帧以及从2D到3D的相应投影。并且算法可以包括基于相应的特征线段和相应的投影在至少一个相应的曼哈顿帧中构造3D建模对象。可以对任何算法执行对初始2D图像的特征线段的计算。这种算法可以包括计算边缘像素;并使用最大线条拟合边缘像素。稍后提供这些特别高效的算法的示例。
由该方法形成的数据集可以以任何方式使用并且在以后的任何时间使用。数据集可以例如用于学习函数,例如经由任何神经网络训练。这种函数本身可以用于任何应用。一个示例应用是提供输入2D图像并将学习的函数应用于输入的2D图像,从而对输入的2D图像进行分类。
然后,在示例中,可以使用这种分类来基于输入的2D图像和输入的2D图像的分类来确定每个从2D到相应的3D(例如,曼哈顿)帧的一个或多个投影。
特别地,当该函数被配置用于根据曼哈顿、亚特兰大或既不是曼哈顿也不是亚特兰大类型对2D图像进行分类时,该函数可以向用户输出与分配给2D图像相关的曼哈顿帧的数量(分别为1,正整数大于1或0)。然后可以基于这样的数量以任何方式执行对一个或多个投影的确定,例如由用户或自动地执行。
曼哈顿帧的这种分配可能有几个应用。其中之一是重构造由输入2D图像表示的3D场景。另外,用户然后可以通过对输入的2D图像的表示绘制草图来直接编辑3D场景。曼哈顿帧和投影允许将2D草图转换成预期的3D几何图形。
这些应用是现有技术中已知的。
图1示出了该***的示例,其中该***是客户端计算机***,例如,用户的工作站。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。客户端计算机还提供有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030的大容量存储器设备的访问。适合于有形地体现计算机程序指令和数据的大容量存储器设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。前面的任何一个都可以由专门设计的ASIC(专用集成电路)补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户选择性地将光标定位在显示器1080上的任何期望位置。此外,光标控制设备允许用户选择各种命令,并输入控制信号。光标控制设备包括多个信号发生设备,用于向***输入控制信号。通常,光标控制设备可以是鼠标,鼠标的按钮用于生成信号。可选地或另外地,客户端计算机***可以包括敏感垫和/或敏感屏幕。
现在参考图2-图27讨论该方法的示例,其中预定类型包括曼哈顿类型、亚特兰大类型以及既非曼哈顿又非亚特兰大类型。
该示例的方法涉及设计用于识别2D摄影的布置类型的人工神经网络:曼哈顿类型、亚特兰大类型或其他类型。更具体地,可以在使用人工神经网络之前对其进行训练。
粗略地说,神经网络可以由两个特征定义:拓扑和权重。拓扑是连接的计算单元的***,并且其设计可以是任何类型。每个计算单元输出其输入数值数据的加权组合,并根据有向连接将该结果发送到相邻计算单元。数据流从被馈送了初始数据的初始单元向下到终端单元运行,从而产生输出数值结果。
可以通过使用称为权重的数值系数来执行数值组合。最初,权重值是未知的,并且可以根据神经网络目的来调整它们:识别2D图像的布置类型。此调整步骤称为训练。为了训练神经网络,需要训练模式的样本。训练模式是一对相干输入和输出数据。使用此信息,专用算法能够计算权重值。
训练过程的瓶颈是训练模式的适当样本。它可以是众多且精确的,使得神经网络鲁棒且准确。在透视图像识别的上下文中,现有技术中的训练模式样本可以由观看图像并识别透视图类型的用户来准备。这个手动过程产生了数千训练模式。
用于准备训练模式的人类识别提供了数千个元素,这是一个太少的数字。这个过程漫长而乏味,并且提供了较差的训练数据库。在以下条件下进行了测试。两名用户从万维网收集了37122张图像,并识别了它们各自的布置类型。在所有识别的类型中,14491是正确的。在这些正确的类型中,11790是曼哈顿类型,995是亚特兰大类型,而1706是其他类型。这说明人类识别容易出错并且不能提供统一的重新划分。用这种材料训练的神经网络不够有效。
示例的方法提供了如下过程:用于准备训练模式,以便训练专用于识别2D照片的布置类型的神经网络。该示例的方法利用真实3D场景的曼哈顿类型照片。原理是将虚拟3D对象***到这些曼哈顿类型的照片中。适当地***3D对象允许生成另一个曼哈顿类型图像、新的亚特兰大类型图像或新的“其他类型”图像。因此,通过自动改变***的对象,可以创建2D图像及其布置类型的任意大的集合。
神经网络定义的示例
神经网络可以由六元组正式定义N=(X,U,α,ω,w,f),其中X是神经元集合,U是有向连接集合,映射α:U→X描述连接的起始神经元,映射ω:U→X描述连接的末端神经元,权重映射将数字权重与每个连接相关联,并且被称为激活函数。
这意味着连接u∈U的起始神经元是α(u),其末端神经元是ω(u),而其权重是w(u)。此外,神经元x∈X的输入连接集是ω-1(x),并且神经元x∈X的输出连接集是α-1(x)。类似地,神经元x的向内神经元y是x的输入连接的起始神经元,即y∈α(ω-1(x))。神经网络的拓扑结构由神经元和连接(X,U,α,ω)定义。
根据定义,激活函数捕获网络内信息传播的非线性阈值效应。如Kriesel David的教科书,A brief introduction to Neural Networks,2006中所述,典型的激活函数是
从数学角度来看,神经网络是具有与激活函数相关联的加权弧的有向图。
根据定义,输入神经元x没有输入连接,意味着并且输出神经元x没有输出连接,这意味着
每个神经元x∈X在以下含义中表现得像计算单元。输出数值可以通过根据下面的公式组合其向内神经元的数值来计算。
值p(x)被称为传播值。它是由在神经元x处结束的所有连接u的起始神经元α(u)计算的数值的加权和。值是应用于传播值p(x)的阈值效应f(·)。公式是递归定义的,并且通过拓扑解决了排序问题。图2示出了神经元5从其三个向内神经元1、2和3的计算。
神经网络的一种非常流行的拓扑结构是前馈模型,如Kriesel David教科书,Abrief introduction to Neural Networks,2006年中所述的。一组神经元被构造为有序的不相交子集,称为层X=I∪H1∪…∪Hh∪O,其中I被命名为输入层(输入神经元层),Hi,i=1,…,h被命名为隐藏层,而O被命名为输出层(输出神经元层)。存在从层I的每个神经元到层H1的所有神经元的连接。对于1,…,h-1,存在从层Hi的每个神经元到层Hi+1的所有神经元的连接。存在从最后隐藏层Hh的每个神经元到输出层O的所有神经元的连接。在前馈神经网络的上下文中,特定激活函数可以与每个层相关联。
图3示出了特征为具有两个隐藏层的前馈神经网络。输入神经元用输入箭头符号化。输出神经元用输出箭头符号化。
显然,前馈神经网络是非循环的。因此,将数值(tx)x∈I设置为输入神经元,意味着对于所有x∈I的并逐层传播计算产生由输出神经元计算的数值通过前馈神经网络计算从(tx)x∈I计算的映射其中n=|I|是输入神经元的数量,并且m=|O|是输出神经元的数量。
神经网络训练的示例
给定前馈神经网络的拓扑,并给定其激活函数,神经网络训练步骤的目标可以是计算权重映射为此,需要一组训练模式。训练模式是偶对该偶对表示当被馈给输入数据(tx)x∈I时神经网络应该计算的输出数据输入和输出通过其他方式计算,并且它们用于教导“如果输入是(tx)x∈I,则神经网络必须输出”。
给定一组k个训练模式专用算法用于调整权重映射,使得对于尽可能接近用于此目的的典型算法是反向传播,如Kriesel David的教科书A brief introduction to Neural Networks,2006中所示。从数学的角度来看,这是计算映射F的插值问题。
图4示出了神经网络的训练步骤与运行步骤的示例。
训练分类神经网络的示例
神经网络可以特别用于分类。给定有限的一组NType类型的3D数据,目标是神经网络识别未知输入数据属于哪种类型。分类神经网络的特征是可以每种类型具有一个输出神经元。数值输出值可以是区间[0,1]中的NType数的向量每个数λi是输入数据是类型i数据的概率。典型的训练模式可以是具有输出矢量的已知类型i输入数据,使得如果j≠i并且λi=1则λj=0。
图像定义和计算边缘像素的示例
2D照片可以是点的2D网格、像素以及附加到每个像素的颜色信息。这可以通过以下来捕获:索引网格I={1,…,n}×{1,…,m},位置映射其将2D坐标与索引p(i,j)=(xi,yj)相关联,以及颜色映射c:I→RGB,其中RGB是所有颜色的集合,意味着c(i,j)是对于所有(i,j)∈I,像素(i,j)的颜色。用于边缘像素计算的相关图形信息可以是亮度。这可以定义从像素表I到非负数的集合的映射b,即像素(i,j)∈I处的亮度变化v(i,j)可以由映射b的(离散)梯度的大小来定义,即给定阈值δ>0,如果像素(i,j)∈I的亮度变化大于阈值,即v((i,j))≥δ,则可以将其称为边缘像素。计算3D场景的照片上的边缘像素可以通过任何算法来执行,例如Lu Wang,Suya You,Ulrich Neumann的论文“Supporting range and segment-based hysteresisthresholding in edge detection,IEEE International Conference on ImageProcessing 2008”中描述的算法。
计算特征线段的示例
然后,可以将最大线段拟合到大致对齐的边缘点的集合。特征线段可以是这样的线段,其特征在于长度大于预定阈值。
可以通过使用专用算法来执行特征线段计算。算法的核心可以是从边缘像素开始并计算大致对齐的相邻边缘像素的最大集合。如果涉及足够大量的像素数并且如果像素距离线太远,则近似该大致对齐的像素集合的线段可以被认为是重要的。
现在描述形式算法的示例。注意,EP表示所有边缘像素的(输入)集合,并且注意线表示特征线段的(输出)集合。集合K是假设对齐的当前像素集。集合N是相邻像素的当前集。
函数Nb(x)输出输入边缘像素x的相邻边缘像素。根据8邻居策略搜索相邻边缘像素,如图5所示。边缘像素是黑色方块。像素X的相邻像素是像素编号1到8。边缘像素X的相邻边缘像素是像素编号1、5、6和8。
函数MSDev(l,S)输出最佳拟合线l与像素组S的均方差。函数Dist(l,x)输出从像素x到线l的距离。函数|K|输出集合K的元素数。
阈值ε1是最大均方差,典型值是ε1=0.2。阈值ε2是从像素到线的最大距离,典型值是ε2=1.5。阈值Np是可以产生特征线段的最小像素数,典型值是Np=15。
圆锥形视角:从3D场景到图像
透视图的几何形状
考虑将3D场景S作为三维空间的子集,考虑称为图像平面的平面P的一部分和称为观察者或相机位置的点M。将图像平面法线向量标记为N。摄像机根据锥形透视图通过图像平面P感知3D场景S。这意味着3D场景的每个点X在图像平面上生成对应的点f(X),在下面称为图像点。根据定义,图像点f(X)是图像平面P与通过X和M的线之间的交叉点,如图6所示。
数学公式如下。
隐藏部分与可见部分
除了这种几何定义之外,还可以定义3D场景的隐藏部分和可见部分。3D场景的数学图像是f(S)并且它包括在平面P中。对于每个点Z∈f(S),考虑共享相同图像点Z的3D场景中的点集合,记为:
f-1(Z)={X∈S,f(X)=Z}
通常,f-1(Z)包括多个点,但是从M只有一个点可见,其可以如下形式化。根据定义,从点Z∈f(S)的可见点,记为V(Z),是最接近Z的点X∈f-1(Z),记为:
在图7中,f-1(Z)={X1,X2,X3,X4}并且从Z的可见点是点X2∈S,因为对于i=1,3,4,‖X2-Z‖<‖Xi-Z‖。
3D场景S的可见部分VS是所有可见点的集合,即:
VS={V(Z),Z∈f(S)}
最后,根据定义,3D场景的锥形透视图是通过映射f的可见点VS的图像:
IS={f(X),X∈VS}
图8示出了由两个矩形块构成的3D场景S。可见部分VS包括粗线。隐藏部分是虚线。
消失点
考虑共享与图像平面不平行的相同方向U的3D场景的两条线。可以证明,它们各自的锥形透视图是在仅依赖于U而不依赖于线位置的点处相交的两条线。该点被称为消失点,并计算为V=f(M+U)。
可以证明,如果方向U平行于图像平面,则其锥形透视也是具有方向U的线。因此,与图像平面平行的3D场景的线不会产生任何消失点。
图9示出了矩形块(粗线)的圆锥图像的三个消失点V1、V2和V3。
图10示出了两个消失点透视图像。块的垂直线与图像平面平行,因此它们不会生成消失点。
从2D图像到3D场景:曼哈顿帧假设
考虑到2D图像作为输入数据,现在的问题可能是相对于图像平面计算相机位置M。除非知道关于3D场景的3D对象的足够信息,否则这通常是不可能的。在示例的方法的上下文中,适当的3D对象可以是正交网格,由立方体或一组对齐的矩形表示。这是众所周知的曼哈顿帧假设,如J.M.Coughlan,A.L.Yuille的论文“Manhattan World:Compass Directionfrom a Single Image by Bayesian Inference,Proceedings InternationalConference on Computer Vision ICCV'99.Corfu,Greece,1999”中所提出的。
背景技术根据2D透视图来制定曼哈顿帧假设。
如果由具有平面P和点M的2D图像表示使得如在前一部分定义的锥形透视图IS仅包括根据正交网格对齐的3D对象的透视图,则3D场景S可以被认为是曼哈顿3D场景,用于由示例的方法预期的分类。这意味着3D场景可能包含曲线对象的未对齐对象,但它们被对齐的对象隐藏或在P和M定义的范围之外。
从2D图像到3D场景:计算曼哈顿帧
以下说明消失点与摄像机位置之间的关系。由于 因此意味着从摄像机M到由方向U定义的消失点V的线平行于方向U。由于这个属性,并且知道3D立方体的方向是相互垂直的,因此摄像机位置M是非线性***的解:
<M-V1,M-V2>=0
<M-V1,M-V3>=0
<M-V2,M-V3>=0
这提供了一种用于计算摄像机位置的简单方法。因此,对于i=1,2,3,3D立方体的边缘方向是这在图11中示出。
事实上,这些示例的方法可以利用Patrick Denis,James H.Elder,FranciscoJ.Estrada的论文,“Efficient Edge-Based Methods for Estimating Manhattan Framesin Urban Imagery”,European Conference on Computer Vision 2008,Part II,LNCS5303,pp.197-210,2008,以便计算曼哈顿帧。该算法基于先前的几何原理,并且由于统计计算而具有鲁棒性。主要步骤在图12中描述。图13示出了算法的应用。
在2D图像中***虚拟附加3D对象的示例
如前所述,给定网格状对象的锥形透视图,可以知道图像平面P和摄像机位置M的法线向量N,从而可以容易地设置映射f。此外,由先前定义的矢量U1、U2和U3组成的称为曼哈顿帧的轴***可以附加到3D场景网格状对象。由于这个曼哈顿帧,额外的虚拟对象可以虚拟地定位在3D场景中。可以通过使用映射f来计算该虚拟3D对象对锥形透视图的几何贡献。整个数据流在图14的图中示出。
曼哈顿与亚特兰大透视图
曼哈顿类型的3D场景具有的特征为根据矩形网格排列的特征线。通常,矩形网格的一个方向平行于图像平面,其在处理建筑照片时传统上是垂直方向。
图15示出了由三个对齐的块组成的3D场景的典型曼哈顿图像。消失点是V1和V2。3D场景的垂直线与图像平面平行,因此它们的图像也是垂直线。
相反,亚特兰大型3D场景涉及以所有矩形网格共享一个方向的方式根据至少两个未对齐矩形网格布置的特征线。共享方向通常是垂直方向。
图16示出了两个未对齐的块以及图像平面P和相机位置M。该图的绘图平面垂直于图像平面P。对应于平行线A1和B1的消失点是V1。对应于平行线A2和B2的消失点是V2。对应于平行线A3和B3的消失点是V3。每个消失点Vi是图像平面P与方向Ui上来自M的线的交点。最右边的块的水平线与图像平面平行,因此它们不会生成任何消失点。
图17示出了未对齐的两个块的锥形透视图。这是亚特兰大型图像,因为两个块在共享方向(垂直方向)时未对齐。
其他类型的布置(即,既非曼哈顿又非亚特兰大)
如果图像既不是曼哈顿类型图像也不是亚特兰大类型图像,则称该图像是“其他类型”透视图。它的特点在于至少有两个曼哈顿网格根本不共享方向,或者是特征在于根本没有特征线的失真透视图。
图18示出了“其他类型”图像的未对齐对象。
图19示出了失真的“其他类型”图像。
设K=[xmin,xmax]×[ymin,ymax]是包括失真的图像的所有像素位置的矩形。通过将输入图像(通常是曼哈顿图像)与失真映射组合来获得失真。映射d使得失真图像包含初始图像的矩形,即
原始图像的像素(i,j)位于位置p(i,j)∈K。通过映射d(·)将其移动到位置d(p(i,j))∈d(K)。因此,失真图像的点d(p(i,j))处的预期颜色是源像素(i,j)的一个c(i,j)。考虑颜色映射c*:d(K)→RGB,对于所有(i,j)∈I在d(K)上内插c*(d(p(i,j)))=c(i,j)。然后,网格I上的失真图像的颜色映射c**是c**:I→RGB,其中c**(i,j)=c*(p(i,j))。
典型的映射是径向扭曲:
其中k在区间[0.001,0.004]中选择。在该区间中随机选择系数k以生成每个失真图像。此映射应用于以(0,0)为中心的图像。
图20示出了矩形网格上的径向失真效应。直线变为曲线,从而删除曼哈顿结构。
建立训练模式的示例
训练模式生成过程在示例中可以如下并且如图21所示。输入是一组曼哈顿类型的图像。输出是曼哈顿类型图像、亚特兰大类型图像和与其相应类型相关联的其他类型图像的数据库。给定曼哈顿类型图像,通过(虚拟地)在3D场景中***(虚拟)矩形形状对象并通过计算其对2D照片的贡献来获得新图像。如果***的对象与曼哈顿帧对齐,则获得新的曼哈顿图像。如果***的对象仅与曼哈顿帧共享一个方向,则获得新的亚特兰大图像。如果***的对象不与曼哈顿帧共享任何方向,则获得新的其他类型图像。用于创建其他类型图像的另一种方式是以如下的方式使得输入的曼哈顿图像失真:不能识别特征线。在数据库中,与其各自类型(曼哈顿、亚特兰大或其他类型)相关联的结果图像提供对网络训练有用的输入和输出数据。
图22示出了曼哈顿图像。图23示出了通过***与曼哈顿帧对齐的虚拟对象而获得的新曼哈顿图像。
图24示出了曼哈顿图像。图25示出了通过***未与曼哈顿帧对齐并共享垂直方向的虚拟对象而获得的亚特兰大图像。
图26-图27示出了从曼哈顿图像获得的“其他类型”失真图像。
Claims (15)
1.一种用于形成被配置用于学习函数的数据集的计算机实现的方法,所述函数被配置为根据关于2D图像中可见的对象的3D布置的预定类型对所述2D图像进行分类,所述方法包括,对于每个3D布置的相应类型:
-构造3D场景,每个3D场景包括根据所述3D布置的相应类型布置的3D建模对象;
-生成2D图像,每个2D图像表示相应构造的3D场景的相应2D透视图,其中,可见3D建模对象是在根据所述3D布置的相应类型布置的所述相应构造的3D场景的3D建模对象当中;以及
-向所述数据集添加训练模式,每个训练模式包括相应的生成的2D图像和指示所述3D布置的相应类型的信息。
2.如权利要求1所述的方法,其中,对于至少一种3D布置的相应类型,一个或多个构造的3D场景的所有3D建模对象是根据所述3D布置的相应类型来布置的。
3.如权利要求1或2所述的方法,其中,所述3D布置的预定类型包括曼哈顿类型和/或亚特兰大类型。
4.如权利要求1、2或3所述的方法,其中,构造针对3D布置的相应类型的每个相应的3D场景包括:
-提供初始3D场景和一个或多个参考帧;以及
-基于所述3D布置的相应类型,相对于所述一个或多个参考帧在所述初始3D场景中布置3D建模对象。
5.如权利要求4所述的方法,其中:
·所述3D布置的预定类型包括所述曼哈顿类型,并且对于构造针对所述曼哈顿类型的相应3D场景,所提供的一个或多个参考帧由单个曼哈顿帧构成和/或所提供的初始3D场景包括3D建模对象,每个3D建模对象与所述单个曼哈顿帧对齐;以及/或者
·所述3D布置的预定类型包括所述亚特兰大类型,并且对于构造针对所述亚特兰大类型的相应3D场景,所提供的一个或多个参考帧由共享轴的一个或多个曼哈顿帧构成和/或所提供的初始3D场景包括3D模拟对象,每个3D模拟对象与相应的曼哈顿帧对齐,可选地与相同的曼哈顿帧对齐。
6.如权利要求5所述的方法,其中,所述方法包括:
·对于构造针对所述曼哈顿类型的相应3D场景,将3D建模对象添加到所述初始3D场景,每个3D建模对象与所述单个曼哈顿帧对齐;以及/或者
·对于构造针对所述亚特兰大类型的相应3D场景,将3D建模对象添加到所述初始3D场景,每个3D建模对象与相应的曼哈顿帧对齐。
7.如权利要求4至6中任一项所述的方法,其中,提供初始3D场景包括:
-提供表示所述初始3D场景的初始2D图像;以及
-基于所述初始2D图像来确定所述初始3D场景。
8.如权利要求7所述的方法,其中,基于所述初始2D图像来确定所述初始3D场景包括:
-计算所述初始2D图像的特征线段;
-根据所述特征线段来确定消失点;
-基于相应的消失点来确定一个或多个曼哈顿帧以及从2D到3D的相应投影;以及
-基于相应的特征线段以及所述相应的投影在至少一个相应的曼哈顿帧中构造3D建模对象。
9.如权利要求8所述的方法,其中,计算所述初始2D图像的特征线段包括:
-计算边缘像素;以及
-使用最大线条来拟合边缘像素。
10.如权利要求1-9中任一项所述的方法,还包括基于所述数据集来学习函数,并且可选地还包括提供输入的2D图像并且将学习的函数应用于所述输入的2D图像,从而对所述输入的2D图像进行分类。
11.如权利要求10所述的方法,还包括:基于所述输入的2D图像以及对所述输入的2D图像的分类,来确定每个从2D到相应的3D曼哈顿帧的一个或多个投影。
12.如权利要求11所述的方法,还包括:基于所述一个或多个投影来输出由所述输入的2D图像表示的3D场景,并且可选地还包括通过对所述输入的2D图像的表示进行用户草绘来编辑所述3D场景。
13.一种数据结构,包括:
·计算机程序,包括用于执行如权利要求1-12中任一项所述的方法的指令;以及/或者
·通过如权利要求1-12中任一项所述的方法能够形成的数据集。
14.一种包括计算机可读介质的设备,所述计算机可读介质上存储有如权利要求13所述的数据结构。
15.如权利要求14所述的设备,其中,所述设备还包括耦合到所述计算机可读介质的处理器,所述设备形成计算机***。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306408.0 | 2017-10-18 | ||
EP17306408.0A EP3474185B1 (en) | 2017-10-18 | 2017-10-18 | Classification of 2d images according to types of 3d arrangement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109685095A true CN109685095A (zh) | 2019-04-26 |
CN109685095B CN109685095B (zh) | 2024-05-28 |
Family
ID=60262861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811207211.7A Active CN109685095B (zh) | 2017-10-18 | 2018-10-17 | 根据3d布置类型对2d图像进行分类 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10832095B2 (zh) |
EP (1) | EP3474185B1 (zh) |
JP (1) | JP7294788B2 (zh) |
CN (1) | CN109685095B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018128424A1 (ko) * | 2017-01-04 | 2018-07-12 | 가이아쓰리디 주식회사 | 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법 |
EP3671660A1 (en) * | 2018-12-20 | 2020-06-24 | Dassault Systèmes | Designing a 3d modeled object via user-interaction |
EP3675062A1 (en) | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Learning a neural network for inference of solid cad features |
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
JP6932821B1 (ja) * | 2020-07-03 | 2021-09-08 | 株式会社ベガコーポレーション | 情報処理システム、方法及びプログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004164571A (ja) * | 2002-06-27 | 2004-06-10 | Mitsubishi Electric Research Laboratories Inc | 3dオブジェクトをモデル化する方法 |
US20120146991A1 (en) * | 2010-12-10 | 2012-06-14 | Purdue Research Foundation | Rendering personalized text on curved image surfaces |
US20140079314A1 (en) * | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
CN104134234A (zh) * | 2014-07-16 | 2014-11-05 | 中国科学技术大学 | 一种全自动的基于单幅图像的三维场景构建方法 |
US20150199573A1 (en) * | 2014-01-10 | 2015-07-16 | Mitsubishi Electric Research Laboratories, Inc. | Global Scene Descriptors for Matching Manhattan Scenes using Edge Maps Associated with Vanishing Points |
CN106709481A (zh) * | 2017-03-03 | 2017-05-24 | 深圳市唯特视科技有限公司 | 一种基于二维‑三维语义数据集的室内场景理解方法 |
US20170193331A1 (en) * | 2015-12-31 | 2017-07-06 | Autodesk, Inc. | Systems and methods for generating 3d scenes with time element for display |
CN107038751A (zh) * | 2015-12-07 | 2017-08-11 | 达索***公司 | 从2d图像进行3d建模对象的识别 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717577B1 (en) * | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6868191B2 (en) * | 2000-06-28 | 2005-03-15 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for median fusion of depth maps |
US7142726B2 (en) * | 2003-03-19 | 2006-11-28 | Mitsubishi Electric Research Labs, Inc. | Three-dimensional scene reconstruction from labeled two-dimensional images |
US20090021513A1 (en) * | 2007-07-18 | 2009-01-22 | Pixblitz Studios Inc. | Method of Customizing 3D Computer-Generated Scenes |
US20110273369A1 (en) * | 2010-05-10 | 2011-11-10 | Canon Kabushiki Kaisha | Adjustment of imaging property in view-dependent rendering |
US8941644B2 (en) * | 2011-06-14 | 2015-01-27 | Microsoft Corporation | Computing three-dimensional image models in parallel |
CN103136781B (zh) * | 2011-11-30 | 2016-06-08 | 国际商业机器公司 | 用于生成三维虚拟场景的方法和*** |
US8971612B2 (en) * | 2011-12-15 | 2015-03-03 | Microsoft Corporation | Learning image processing tasks from scene reconstructions |
US10163261B2 (en) * | 2014-03-19 | 2018-12-25 | Matterport, Inc. | Selecting two-dimensional imagery data for display within a three-dimensional model |
US9269003B2 (en) * | 2013-04-30 | 2016-02-23 | Qualcomm Incorporated | Diminished and mediated reality effects from reconstruction |
US10055876B2 (en) * | 2014-06-06 | 2018-08-21 | Matterport, Inc. | Optimal texture memory allocation |
JP6255125B2 (ja) * | 2017-04-07 | 2017-12-27 | キヤノン株式会社 | 画像処理装置、画像処理システム、および画像処理方法 |
-
2017
- 2017-10-18 EP EP17306408.0A patent/EP3474185B1/en active Active
-
2018
- 2018-10-17 CN CN201811207211.7A patent/CN109685095B/zh active Active
- 2018-10-18 JP JP2018196529A patent/JP7294788B2/ja active Active
- 2018-10-18 US US16/164,651 patent/US10832095B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004164571A (ja) * | 2002-06-27 | 2004-06-10 | Mitsubishi Electric Research Laboratories Inc | 3dオブジェクトをモデル化する方法 |
US20120146991A1 (en) * | 2010-12-10 | 2012-06-14 | Purdue Research Foundation | Rendering personalized text on curved image surfaces |
US20140079314A1 (en) * | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
US20150199573A1 (en) * | 2014-01-10 | 2015-07-16 | Mitsubishi Electric Research Laboratories, Inc. | Global Scene Descriptors for Matching Manhattan Scenes using Edge Maps Associated with Vanishing Points |
CN104134234A (zh) * | 2014-07-16 | 2014-11-05 | 中国科学技术大学 | 一种全自动的基于单幅图像的三维场景构建方法 |
CN107038751A (zh) * | 2015-12-07 | 2017-08-11 | 达索***公司 | 从2d图像进行3d建模对象的识别 |
US20170193331A1 (en) * | 2015-12-31 | 2017-07-06 | Autodesk, Inc. | Systems and methods for generating 3d scenes with time element for display |
CN106709481A (zh) * | 2017-03-03 | 2017-05-24 | 深圳市唯特视科技有限公司 | 一种基于二维‑三维语义数据集的室内场景理解方法 |
Non-Patent Citations (3)
Title |
---|
XIANG YU ET AL.: "ObjectNet3D: A Large Scale Database for 3D Object Recognition", pages 160 - 176 * |
唐颖军;: "类别约束下自适应主题建模的图像场景分类", 小型微型计算机***, no. 05, 15 May 2011 (2011-05-15) * |
秦磊;高文;: "基于内容相关性的场景图像分类方法", no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
EP3474185C0 (en) | 2023-06-28 |
JP7294788B2 (ja) | 2023-06-20 |
CN109685095B (zh) | 2024-05-28 |
EP3474185A1 (en) | 2019-04-24 |
US20190114514A1 (en) | 2019-04-18 |
JP2019091436A (ja) | 2019-06-13 |
US10832095B2 (en) | 2020-11-10 |
EP3474185B1 (en) | 2023-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685095A (zh) | 根据3d布置类型对2d图像进行分类 | |
KR102650051B1 (ko) | 학습기반 3d 모델 생성 장치 및 방법 | |
CN113096234B (zh) | 利用多张彩色图片生成三维网格模型的方法及装置 | |
US9747668B2 (en) | Reconstruction of articulated objects from a moving camera | |
CN110060255A (zh) | 利用逐像素分类器来对2d平面图进行语义分割 | |
Häne et al. | Hierarchical surface prediction | |
CN113706431B (zh) | 模型优化方法及相关装置、电子设备和存储介质 | |
AU2013204653B2 (en) | Method and system for generating a 3d model | |
US11710270B2 (en) | Method for scattering points in a uniform arbitrary distribution across a target mesh for a computer animated creature | |
CN116503577A (zh) | 一种虚拟仿真场景三维模型快速采集方法及*** | |
CN115841546A (zh) | 一种场景结构关联的地铁站多视矢量仿真渲染方法及*** | |
EP4097607B1 (en) | Applying non-destructive edits to nested instances for efficient rendering | |
EP3980975B1 (en) | Method of inferring microdetail on skin animation | |
Leizea et al. | Real time non-rigid 3D surface tracking using particle filter | |
Fayolle et al. | Optimized surface discretization of functionally defined multi-material objects | |
US11562504B1 (en) | System, apparatus and method for predicting lens attribute | |
Bae et al. | User‐guided volumetric approximation using swept sphere volumes for physically based animation | |
Kumar et al. | Efficient 3D Object Synthesis and Modeling Through Generative Adversarial Networks | |
Zhu et al. | Learning to sculpt neural cityscapes | |
Liu et al. | Image Feature Extraction and Interactive Design of Cultural and Creative Products Based on Deep Learning | |
WO2022005302A1 (en) | Method for computation of local densities for virtual fibers | |
Doğan | Automatic determination of navigable areas, pedestrian detection, and augmentation of virtual agents in real crowd videos | |
CN118279518A (zh) | 三维模型渲染失败后的重建方法、装置、设备及存储介质 | |
JP2021009484A (ja) | 領域分割装置、領域分割方法、領域分割プログラム、学習装置、学習方法、及び学習プログラム | |
CN110033513A (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 |