CN104952086B - 用于管理结构数据的设备及方法 - Google Patents
用于管理结构数据的设备及方法 Download PDFInfo
- Publication number
- CN104952086B CN104952086B CN201510130046.XA CN201510130046A CN104952086B CN 104952086 B CN104952086 B CN 104952086B CN 201510130046 A CN201510130046 A CN 201510130046A CN 104952086 B CN104952086 B CN 104952086B
- Authority
- CN
- China
- Prior art keywords
- coordinate
- polygon
- reference point
- management equipment
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- 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/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
- Architecture (AREA)
Abstract
本发明提供了用于管理结构数据的设备及方法。存储单元对包括表示三维结构的多个多边形的顶点的坐标的结构数据进行存储。计算单元参考结构数据来计算某个点的坐标。该点与多边形的顶点一起被用来根据多边形的空间布置从结构数据生成图,并且进一步基于所生成的图来计算特征量。计算单元在存储装置中将所计算的所述点的坐标存储为与结构数据相关的信息。
Description
技术领域
本文中论述的实施例涉及用于管理结构数据的设备及方法。
背景技术
如今使用用于三维建模的各种软件工具,包括帮助绘图员创作图的计算机辅助设计(CAD)系统。CAD软件在计算机上运行,允许用户通过输入值和命令在显示屏上绘制三维结构的草图,并且使用输入装置来操纵图形对象。用户观察着屏幕上的图片,在他或她的心里想着的结构的立体 (solid)图像,创作出了图。
立体对象的三维坐标数据用于在计算机中表示其空间形状。例如,标准成三角语言(Standard Triangulated Language)(STL)是用于描述三维形状的数据格式。STL格式使用一组三角形来表示三维模型的形状。为了描述每个这样的三角形,STL数据包括其三个顶点(角(corner)) 的坐标和其三角平面的法向量。
CAD用户有时可能需要搜索与特定模型相关的现有的三维模型。例如,忙于设计产品部件的工程师可能希望确保他或她不是重复前人已有的成果(即,仅仅创建现有部件设计的复制品),最好能避免这一点。工程师使用常规的相似度搜索方法来检索在形状上与指定模型类似的已有的三维模型。例如,一种这样的方法对每个三维模型的几何特征进行量化。结果的值被称为特征量。当两个模型具有相似的特征量时,认为它们的形状相似。还可以计算单个三维模型的几个不同方面的多个特征量。这些特征量形成用于模型的相似度搜索的特征向量。
例如,可以将模型的特征量获得为模型的质心与表面之间距离的分布。另一种所提出的方法使用每个由两个相邻表面的法向量形成的折痕角 (crease angles)的平均。又一种所提出的方法通过将构成三维模型的面片(patch)映射至它们来生成分析树的节点,并且通过将边置于每对几何上相邻的节点来生成邻接图。以该方式生成的树用于检测两个或更多个模型之间的形状差异。再一种所提出的方法还将复杂的三维模型简化成被称为“骨架”的简化模型。然后,从模型和其骨架提取一些显著特征,并且将结果的特征向量登记在数据库中。例如,参见下面的文献:
日本公开专利公报No.2000-222428
日本公开专利公报No.2001-307111
国际专利申请日本国家公布No.2006-520948
如上所述,三维结构可以被表示为一组多边形(例如,STL数据是三角形的集合),其中,结构的每个顶点对应于多边形的顶点,并且结构的两个顶点之间的每个边对应于多边形的共享边。通过将结构的顶点和边映射至图节点和边可以将结构数据形成为图,并且根据这样的图数据计算的特征量用于寻找相似的形状。然而,该图数据缺少关于由结构的多边形的边形成的角度的信息,因此很难在特征量中反映结构的凸或凹的特征。由于随之发生的数据大小的增加,所以在图数据中包括每个边到边角度的确是不现实的。
发明内容
在一个方面,本发明的目的是提供计算要被用于结构数据的搜索的点的坐标的管理设备及方法。
在本文中论述的实施例的一个方面中,提供了一种管理设备,该管理设备包括:存储单元,其存储包括表示三维结构的多个多边形的顶点的坐标的结构数据;以及计算单元,其参考结构数据来计算点的坐标并且在存储装置中将所计算的点的坐标存储为与结构数据相关的信息,所述点要与多边形的顶点一起被使用以根据多边形的空间布置从结构数据生成图,并且还基于所生成的图来计算特征量。
附图说明
图1示出了根据第一实施例的管理设备;
图2示出了根据第二实施例的管理设备的示例硬件配置;
图3A和图3B示出了第二实施例中所处理的结构和多边形的示例;
图4示出了第二实施例中与多边形相关的向量的示例;
图5示出了第二实施例中所生成的图的示例;
图6示出了在第二实施例的管理设备中实现的功能部件的示例;
图7示出了第二实施例中所使用的STL数据集的示例;
图8示出了第二实施例中所使用的参考点表的示例;
图9示出了第二实施例中所生成的图数据的示例;
图10A和图10B示出了第二实施例中的参考点设置的一些示例;
图11是示出了第二实施例中所执行的向量登记处理的示例的流程图;
图12是示出了第二实施例中所执行的参考点设置处理的示例的流程图;
图13是示出了第二实施例中所执行的搜索处理的示例的流程图;
图14示出了第二实施例中的参考点设置的又一示例;
图15示出了第三实施例中与多边形相关的向量的示例;
图16是示出了第三实施例中执行的参考点设置处理的示例的流程图;
图17示出了第三实施例中参考点设置的示例;
图18是示出了第四实施例中所执行的参考点设置处理的示例的流程图;
图19示出了第四实施例中的参考点设置的示例;
图20示出了第五实施例中所使用的特征向量表的示例;
图21是示出了第五实施例中所执行的参考点设置处理的示例的流程图;
图22是示出了第五实施例中所执行的参考点设置处理的另一个示例的流程图;以及
图23A和图23B示出了第五实施例中的参考点设置的另一个示例。
具体实施方式
在下面,将参考附图来描述几种实施例。
(a)第一实施例
图1示出了根据第一实施例的管理设备。所示出的管理设备1对描述三维结构的结构数据的库进行管理。管理设备1从用户接收搜索查询,搜索查询指定特定结构的结构数据。作为响应,管理设备1搜索其所管理的库,以寻找与所接收的查询中指定的结构在形状上类似的其他结构。在该过程期间,管理设备1将结构数据形成图并且根据所生成的图来计算特征量。该结构数据的特征量也可以被称为“图特征量”。多个特征量(或者根据多个特征量形成的特征向量)而不是单个这样的量可以用来表示每个结构的独特特征,使得通过比较它们的特征向量来执行对结构的搜索。当执行查询时,管理设备1在附接至管理设备1的显示装置上输出其搜索结果或者将其搜索结果发送至用户的终端装置。
管理设备1在以下两个场合计算特征量。第一场合是当对结构数据的库进行设置以准备好特征量来供在搜索操作中使用时。第二场合是当执行从用户接收的搜索查询时。管理设备1计算在查询中指定的结构数据的特征量。管理设备1将后者的特征量与前者的特征量进行比较,由此在库中寻找与在搜索查询中指定的结构数据类似的已有的结构数据。下面所述的数据处理操作被应用于上面提到的第一场合和第二场合中的任意一个。
管理设备1包括存储单元1a和计算单元1b。存储单元1a可以由易失性存储装置如随机存取存储器(RAM)或非易失性存储装置如硬盘驱动器(HDD)和闪存形成。计算单元1b包括处理器如中央处理单元(CPU) 和数字信号处理器(DSP)。处理器还可以由专用集成电路(ASIC)、现场可编程门阵列(FPGA)或为了提供特殊功能而设计或配置的其他电子电路来实现。在此,术语“处理器”用来指代单个处理装置或包括两个或更多个处理装置的多处理器系统。处理器可以被配置成执行存储在存储单元1a或其他存储位置中的程序。
存储单元1a存储结构数据,结构数据将每个所登记的结构表示为三维空间中多边形的集合。更具体地,结构的曲面与平面多边形的组合近似。术语“多边形”表示由直线划界的封闭的平面图形。多边形是用于对三维空间中的对象进行建模的元素。例如,STL数据格式使用三角形来表示立体对象的形状。然而,本说明书中论述的第一实施例和其他实施例不限于使用三角形作为多边形元素,而是可以被配置成处理四边形、五边形或任意其他种类的多边形。
参考在存储单元1a中存储的结构数据,计算单元1b根据结构数据计算用于生成图的至少一个点的坐标并且还根据图来计算特征量。在此,图根据构成所给出的结构数据的多边形的空间布置被生成,并且在该过程中,所提到的点与这些多边形的顶点一起被使用。计算单元1b 将存储装置中的所计算的点坐标登记为与结构数据相关的信息。例如,该存储装置可以是管理设备1的组成部分,或者可替选地,可以是由管理设备1经由网络可以达到的远程装置。此外,存储装置可以提供其空间来实现上述存储单元1a。
参考图1中示出的示例,存储单元1a对表示第一结构2的第一结构数据和表示第二结构3的第二结构数据进行存储。如从图1中所观察的,第一结构2是在其上表面上具有凸起的多面体。第二结构3是在其上表面上具有凹陷的多面体。结构2和结构3两者都是由多个多边形形成的。结构的顶点(角)和边对应于多边形的顶点和边。更具体地,第一结构2 的一个顶点对应于三个或更多个多边形相交的点。连接第一结构2的两个顶点的一个边对应于两个相邻多边形的公共边。
计算单元1b根据由第一结构数据给出的多边形的空间布置来计算点 P1的坐标。该点P1与第一结构2的顶点中的任意一个不匹配。例如,计算单元1b可以在第一结构2的质心处放置点P1。更具体地,假定第一结构2的密度是均匀的,则根据构成第一结构2的多边形的位置来计算质心。计算单元1b在存储装置中将所计算的点P1的坐标存储为与表示第一结构2的第一结构数据相关的信息。
类似地,计算单元1b根据由第二结构数据给出的多边形的空间布置计算另一个点P2的坐标。例如,该点P2可以被放置在第二结构3的质心处。计算单元1b在存储装置中将所计算的点P2的坐标存储为与表示第二结构3的第二结构数据相关的信息。
在上述管理设备1的操作中,参考包括表示三维结构的多个多边形的顶点的坐标的结构数据来计算至少一个点的坐标。将所计算的点与多边形的顶点一起使用,以根据多边形的空间布置从结构数据生成图并且还根据所生成的图计算特征量。所计算的这些点的坐标被存储在存储装置中作为与结构数据相关的信息。第一实施例的这些特征使得管理设备1能够获得点的坐标以用于对结构的搜索。
例如,点P1被视为图中的节点,就像第一结构2的顶点(角)被表示为图中的节点。这意味着图由与点P1和那些顶点对应的多个节点以及与每个在两个顶点(包括点P1)之间连接的线段(或多边形的边)对应的多个边形成。然后,参考图来计算第一结构2的特征量。由于其形状的旋转不变性,图不为它的组成节点分配固定的坐标,而是为边分配一些权重。例如,图的边的权重与其对应的多边形的边的长度成比例。图的节点被给予固定的权重(例如1)。
考虑例如从点P1到第一结构2的顶点所画的多个线段。当生成表示第一结构2的第一图时,计算单元1b将这些线段视为边,使得结果的第一图将反映点P1与第一结构2的每个顶点之间的空间关系。参考图1中的第一结构2,在第一图中可以反映点P1与构成凸起的一些顶点之间的空间关系。更具体地,如图1所示,从点P1到构成凸起的顶面的每个顶点以及从点P1到构成第一结构2的最下表面的每个顶点画出了若干线段 (或边)。虽然在图1中未示出,但是可以画出更多的线段(或边)来连接顶点P1与第一结构2的其他顶点。类似地,将相同的操作应用于第二结构3以生成反映点P2与第二结构3的凹陷的顶点之间的空间关系的第二图。参考图1中所示的第二结构3,从点P2到构成沟槽的底面的每个顶点以及从点P2到构成第二结构3的最下表面的每个顶点画出了若干线段(或边)。虽然在图1中未示出,但是可以画出更多的线段(或边)来连接点P2与第二结构3的其他顶点。
考虑点P1而从第一结构2生成的第一图强调了其凸起形状。相反,考虑点P2而从第二结构3生成的第二图强调了其凹陷形状。然后,这些图经历了一组处理操作。可以将第一图的结果的特征量(或特征向量)与第二图的特征量(或特征向量)进行比较,从而以适当的方式来识别它们的差异(即,凸起vs凹陷)。
可以使用几种不同的方法来确定点P1与点P2的坐标。例如,取决于空间中的多边形位置的偏差,这些点可能相对于结构的质心有一些偏移。更具体地,可以根据关于第一结构2的主成分方向的二阶矩或更高阶距来计算点P1的偏移。作为另一个示例,可以对第一结构2的内部空间或周围空间进行搜索来找到多边形的局部集中(concentration)(例如,用许多多边形填充的具有预定半径的球形)。然后,新的点被放置在所找出的局部空间中。可以用较少数量的多边形对结构的相对平坦的表面进行建模。相反地,具有较高的多边形密度的空间区域的出现暗示该结构在该区域中具有可辨识的凸起或凹陷。然后,新的点可以被放置在所找到的区域中或靠近所找到的区域,使得结构的独特形状将被反映在从结构数据生成的图中。因此,根据该图计算的特征量清楚地表示感兴趣的结构的这样的几何特征。
如上所述,图不为其组成节点分配固定的坐标,而是为边分配一些权重,以便保持其旋转不变性。生成结构的完全图可以作为替选解决方案,在完全图中每两个节点通过边相连。然而,该替选解决方案将图的数据量增加得太多,因此提高了用于计算特征量的计算成本。在如下的另外的替选解决方案中将出现相同的问题:图包括由多边形的边形成的每个角度的值。相比之下,所提出的管理设备100通过远离结构的顶点放置另外的点,来在其相应的图中保持结构的几何特征;与这样的替选解决方案相比,有益之处是:图的数据量较少并且特征量的计算较快。
(b)第二实施例
图2示出了根据第二实施例的管理设备的示例性硬件配置。所示的管理设备100帮助CAD用户设计三维结构。管理设备100与用户交互地在其所附接的监视装置上显示三维图形。在该过程期间,用户可以命令管理设备100执行对库中一些已有的(最后确定的)结构数据的搜索。
例如,用户使用管理设备100画出特定的三维结构,并且命令管理设备100寻找与他或她所画的结构类似的其他结构。响应于该用户命令,管理设备100在库中搜索其形状与所指定的结构的形状类似的已有的结构,并且为用户提供所找出的类似的结构。如上所述,库是存储最后确定的结构的设计数据的数据库,库可以被实现为管理设备100的内置存储装置的一部分或被实现为从管理设备100经由网络10可达到的单独的存储装置。结构各自被表现为三维模型(多面体)。下面的描述可以将这样的模型简称为“结构”。
管理设备100包括处理器101、RAM 102、HDD 103、视频信号处理单元104、输入信号处理单元105、媒体读取器106和通信接口107。所有这些部件被连接至管理设备100的总线。
处理器101对在管理设备100中要执行的数据处理操作进行控制。处理器101可以是单个的处理装置或包括两个或更多个处理装置的多处理器系统。例如,处理器101可以是CPU、DSP、ASIC、FPGA或其任意组合。
RAM 102用作管理设备100中的主要存储装置。具体地,RAM 102 除了用于存储处理器101运行时操纵的其他各种数据对象以外,还用于临时存储处理器101执行的操作系统(OS)程序和应用程序中的至少一些。
HDD 103用作管理设备100中的辅助存储装置,来存储操作系统和应用的程序和数据文件。HDD 103在其内部盘片上磁性地写数据和读数据。管理设备100可以包括代替HDD103或者与HDD 103一起的一个或更多个非易失性存储装置如闪存和固态硬盘(SSD)。
视频信号处理单元104根据来自处理器101的命令生成视频图像,并且将生成的视频图像显示在耦接至管理设备100的监视器11的屏幕上。监视器11可以是例如阴极射线管(CRT)显示器或液晶显示器。
输入信号处理单元105从输入装置12接收输入信号,并且将输入信号提供给处理器101。输入装置12可以是例如键盘和定点装置如鼠标、数字转换器和触摸屏。
媒体读取器106用于阅读在存储介质13中存储的程序和数据文件,存储介质13可以是例如磁盘介质如软盘(FD)和HDD、光盘介质如压缩盘(CD)和数字通用盘(DVD)、或者磁光存储介质如磁光盘(MO)。非易失性半导体存储器(例如,闪存卡)是存储介质13的另外的可能的类型。媒体读取器106根据来自处理器101的命令将从这样的存储介质 13读出的程序和数据传送至例如RAM 102或HDD 103。
最后,通信接口107使得处理器101能够经由网络10与其他设备(未示出)进行通信。
图3A和图3B示出了第二实施例中所处理的结构和多边形的示例。下面的描述假定结构的形状被表示为STL格式的结构数据(即,作为三角形的集合)。然而,第二实施例不受该假设限制,可以使用其他种类的多边形来对结构进行建模。
图3A示出了结构的示例。该结构50是长方体,该长方体的外表面被分成三角形,或者细分成多个三角形。更具体地,图3A中的结构50 的每个矩形表面由两个三角形形成。结构50的每个顶点与三个三角形的一个共享顶点对应,并且结构50的每个边对应于两个三角形的一个共享边。
图3B示出了多边形的示例。该多边形51的数据限定了其三个顶点 K1、K2和K3的位置以及给出了与多边形平面垂直的法向量r。法向量r 可以是单位向量(即,长度为1的向量)。顶点位置和法向量用笛卡尔空间中的x、y和z坐标值来表示。
多边形51的STL数据可以被配置成使得三个顶点K1、K2和K3的次序表示多边形51的哪个表面是其外表面。例如,当多边形51的外表面被呈现为图3B中那样时,顶点K1、K2和K3的坐标以那样的次序来限定。即,如图3B中的虚线箭头所示,多边形的顶点沿着其外表面的边以逆时针方向的顺序被限定。如上所述,在该上下文中的所有多边形的形状是三角形。在下文中,术语“多边形”可以用来指代特定类型的多边形。
图4示出了第二实施例中与多边形相关的向量的示例。结构的形状被限定为N个多边形,其中,N是大于3的整数。图4示出了第i个多边形以及与第i个多边形相关的几个位置向量,其中,i是1≤i≤N范围内的整数。
向量p1、p2和p3从坐标原点O指向感兴趣的第i个多边形的三个顶点。虽然每个多边形具有它自己的这样的向量p1、p2和p3,但是为简便起见,所示出的示例省略了下标i。原点O和第i个多边形的三个顶点形成四面体,并且向量ηi表示该四面体的质心。
图5示出了第二实施例中所生成的图的示例。所示出的结构50可以简单地被变成图60,图60的8个节点对应于结构50的8个角,并且图60的边对应于结构50的边,包括构成每个表面的多边形的边。另一方面,除了结构50的8个顶点以外,管理设备100还定义了点P以便用于计算特征量。如后面将描述的,第二实施例可以放置两个或更多个这样的点。下面的描述将这些另外的点P称为“参考点”。
参考图5的示例,考虑到参考点P,管理设备100将一个参考点P添加至结构50并且生成图60a。具体地,该图60a具有与结构50中的参考点P对应的另外的节点P、以及从该节点P到其他8个节点所画的8个另外的边。
图6示出了在第二实施例的管理设备中实现的功能部件的示例。所示出的管理设备100包括存储单元110、参考点设置单元120、图生成单元 130、特征量计算单元140和搜索单元150。参考点设置单元120、图生成单元130、特征量计算单元140和搜索单元150可以被实现为处理器101 要执行的程序模块。
存储单元110对管理设备100的其他部件在其处理操作中所操纵的数据进行存储。所存储的数据包括STL数据集、参考点表、图数据和特征向量表。STL数据集是表示结构的形状的结构数据的类型。存储单元110 存储已经被绘制草图并且被登记在存储单元110中的每个结构的STL数据集。换言之,存储单元110包括多个STL数据集。在适当的时候,本说明书使用术语“库”来指代在存储单元110中存储的那些STL数据集。参考点表是用于管理每个结构的参考点坐标的信息的集合。图数据表示根据结构数据和参考点生成的图。特征向量表是用于管理根据每个结构的图数据计算的特征向量的信息的集合。管理设备100在其局部存储单元110 中具有这些数据块,但是第二实施例不限于该配置。可替选地,所有数据或部分数据可以被存储在经由网络10能够由管理设备100访问的远程存储装置中。
参考点设置单元120根据包括在STL数据集中的多边形的数据来计算参考点的坐标。换言之,参考点设置单元120将参考点添加至STL数据集。根据第二实施例,参考点设置单元120根据其STL数据集以及对 STL数据集中定义的多个多边形执行主成分分析来计算感兴趣的结构的质心。然后,参考点设置单元120根据所计算的质心和关于每个主成分方向的二阶(或更高阶)距来确定每个参考点的坐标。参考点设置单元120 在参考点表112中将所计算的参考点坐标登记为与STL数据集相关的记录。
图生成单元130根据描述结构和在参考点表中登记的其参考点坐标的STL数据集生成图数据。例如,在图5中所见的图数据包括与一个参考点P对应的节点和将参考点P连接至结构的每个顶点的多个边。
特征量计算单元140通过对结构的图数据执行特定操作,来计算表示结构的独特的几何特征(形状)的特征量。存在一些用于该特征量的计算的现有的方法。特征量计算单元140将几种类型的操作应用于给定的图数据,由此获得单个结构的几个不同的特征量。这些特征量形成特征向量。特征量计算单元140通过添加与其STL数据集相关的记录来在特征向量表中登记结构的特征向量。
搜索单元150接收对特定结构的搜索查询。例如,用户可以通过使用输入装置12向管理设备100输入搜索查询。搜索单元150还可以被配置成接收来自网络10上的其他信息处理设备的搜索查询。所接收的搜索查询包括描述由用户指定的结构的形状的STL数据集。搜索单元150通过使用参考点设置单元120、图生成单元130和特征量计算单元140来获取包括在搜索查询中的STL数据集的特征向量。使用所获取的特征向量作为搜索关键字,搜索单元150在存储单元110中的特征向量表中搜索具有与所指定的结构类似形状的结构。当找出这样的结构时,搜索单元150 通过将搜索结果输出至监视器11或将搜索结果发送至网络而向请求的用户提供搜索结果。
图7示出了第二实施例中使用的STL数据集的示例,并且在左手边标出了行号。如第一行中所示,所示出的该示例性STL数据集111的脚本格式开始于字符串“solid”和表示特定结构的标识符“structure A”。
第2行使用字符串“facet normal”和其向量元素来声明法向量。从该“facetnormal”(第2行)到“endfacet”(第8行)的块描述一个多边形。特别地,通过每个指出其顶点的坐标(例如,x1、y1、z1)的多个线来定义多边形。由于第二实施例使用三角形来对结构进行建模,所以STL 数据通过在3个“顶点”行中指定其3个角的坐标来描述多边形。
如从上面所见,STL数据集111提供用于区分多边形的哪个表面是其外表面的法向量。还可以通过检查在STL数据集111中出现的顶点的次序来进行相同的区分。第9行和STL数据集111的随后的部分一个接一个地限定了其他多边形。如从第15行中所见,STL数据集111结束于字符串“endsolid”。
图8示出了第二实施例中所使用的参考点表的示例。所示出的参考点表112由命名为“结构”和“参考点”的两个数据字段形成。结构字段包括表示特定结构的标识符,而参考点字段给出了结构的每个参考点的坐标。
例如,参考点表112的最上面的条目包括针对命名为“结构A”的结构所登记的一组参考点P1、P2等。每STL数据集的所登记的参考点的数量不限于该特定示例。参考点字段可以包括仅仅一个参考点。
图9示出了在第二实施例中生成的图数据的示例。在此,假设图数据 113以GraphML格式被存储。GraphML通过使用可扩展标记语言(XML)的标记来描述图的节点和边。然而,第二实施例可以被配置成使用其他的格式。此外,当假设第二实施例生成无向图时,有向图仍是选项。如后面所述,有向图能够以更独特的方式来表示几何特征。图数据 113的示例如图9中所示,图9的左侧标有行号。
例如,第3行定义了用于图的边的关键字ID“key0”。当在边定义的标记符(tag)中指定该关键字ID“key0”时,其给出了赋给图的边的特定的“权重”。图的边的权重表示例如其对应的多边形的边的长度。
第4行定义了用于图节点的另一个关键字ID“key1”。该关键字ID “key1”用于节点标记符以指定称为“isReference”的标志的状态。isReference标志表示节点是否对应于参考点。更具体地,当其isReference 标志被设置为真时,节点对应于参考点。当其isReference标志被设置为假时,节点对应于非参考点。
然后,图9中的图数据113在第7行至第9行定义了节点n0,并且在第11行至第13行定义了节点n5,其中,“n0”和“n5”是节点ID。这些节点表示非参考点,原因在于它们的包括关键字ID“key1”的标记符指定它们相应的isReference标志的值为“假”。另一方面,第14行至第16行定义了与参考点对应的节点n6。也就是说,节点n6的isReference 标志被设置为真。
图数据113还包括边定义。例如,第17行至第19行定义了节点n1 和节点n0之间的权重为1.5的边e0,其中,“e0”是边ID。还可以以类似方式来定义其他边。参考第27行至第29行,定义了节点n6和节点b5 之间的权重为14的另外的边e8。如上所述,节点n6对应于参考点。这意味着图中的边e8与连接结构的一个角和参考点的边对应。
图10A和图10B示出了第二实施例中的参考点设置的一些示例。图 10A示出了结构70的质心被选作其参考点P1的情况。图10B示出了基于结构70的质心和关于该质心沿主成分方向分布的二阶矩来为相同的结构70设置三个参考点P1、P2和P3的情况。
更具体地,与图10A中的情况一样,图10B中的参考点P1被放置在质心处。然后,其他两个参考点被放置在沿主成分方向远离质心的点处,距离等于标准差σ,即,沿主成分方向的平均二阶矩的平方根(方差)。具体地,让μ表示结构70的质心(参考点P1)的坐标,并且让h表示结构 70的主成分方向上的单位向量。然后,参考点P2被设置在一个坐标位置μ+σh处,并且参考点P3被设置在另外的坐标位置μ-σh处。
关于另外的参考点P2和P3,结果的图(未示出)强调结构70的末端部分中所示的详细特征,这优于仅一个参考点P1被设置在结构70的质心处的情况。换言之,图更清楚地表示结构,其原因如下。结构的主成分方向表示结构扩散(spread)的方向,并且具体地,第一主成分方向上所示的扩散大于第二主成分方向和第三主成分方向上所示的扩散。参考图10A,该示例示出了如下情况:在质心处的P1是结构70的唯一参考点。虚线表示参考点P1处朝着结构70的两个末端部分相对于所示出的主成分方向的立体角。图10A中的这些立体角相对较小,并且关于从参考点P1 到这些末端部分的每个角所画的线段(边)之间的长度的差,结构70的两个末端部分彼此不太能够区分。这意味着结果的图和特征向量可能对结构70的这些末端部分的几何差异不太敏感。
鉴于以上,所提出的管理设备100在质心的两侧的两个坐标位置处放置另外的参考点P2和P3,P2和P3每个具有偏移σh,采用沿所示出的主成分方向的标准差作为结构的沿该方向的扩散。如从图10B所见,与只有参考点P1的情况下的那些相比,从参考点P2到结构70的最近的末端部分的每个顶点的距离中观察到更显著的差异。类似地,与只有参考点 P1的情况下的那些相比,从参考点P3到结构70的最近的末端部分的每个顶点的距离中观察到更显著的差异。这些参考点P2和P3使得结果的图能够更详细地表示结构70的几何特征。
下面的描述涉及管理设备100在第二实施例中执行的处理操作。描述开始于以下处理:根据已有的结构的STL数据集来计算特征向量,并且将计算结果登记在存储单元110中为后面的库搜索操作做准备。
图11是示出在第二实施例中所执行的向量登记处理的示例的流程图。下面按照步骤号的次序来描述图11中的每个操作。
(S11)参考点设置单元120从存储单元110读出STL数据集111。应当注意,多个STL数据集可以被存储在存储单元110中。虽然在图11 的流程图中未明示,但是步骤S11至S15被重复与可用的STL数据集的数量一样多的次数。
(S12)STL数据集111描述了形成结构的多边形的空间布置。参考点设置单元120根据该多边形布置来计算参考点坐标,并且将记录添加至参考点表112以登记所计算的STL数据集111的坐标。将在后面描述该步骤的细节。
(S13)基于STL数据集111和在步骤S12中确定的参考点坐标,图生成单元130根据感兴趣的结构生成图,并且将其图数据113存储在存储单元110中。
(S14)特征量计算单元140通过对图数据113执行特定的计算来计算结构的特征量。特征量计算单元140实际上执行几种不同的计算以获取多个不同类型的特征量。这些特征量形成描述结构的特征向量。
(S15)特征量计算单元140在存储单元110中将所计算的特征向量登记为与STL数据集111相关的另外的信息。
图12是示出了第二实施例中所执行的参考点设置处理的示例的流程图。下面按照步骤号的次序来描述图12中的每个操作。应当注意,图12 的流程图提供了图11中的步骤S12的细节。下面的描述使用黑体符号来表示向量(包括由位置向量表示的坐标)或矩阵。除非它们具有表示“转置”的后缀“T”,否则下面所见的向量是3×1的列向量(即,3行1列的向量)。具有后缀“T”的向量是1×3的行向量。参考点设置单元120 使用主成分分析的技术来选择适当的参考点。
(S21)参考点设置单元120计算表示给定的STL数据集111描述的结构的质心的坐标μ。更具体地,这通过下面的过程来实现。首先考虑由第i个多边形的3个顶点和原点O限定的四面体。该第i个四面体的体积 Vi由公式(1)来表示。
其中,p1、p2和p3是表示第i个多边形的三个顶点关于原点O的位置向量。
感兴趣的结构由N个多边形构成,下面的公式(2)给出了其整个体积V。
然后,假定结构的密度是均匀的,则第i个四面体的质心被计算为由公式(3)给出的坐标ηi。
最后,表示结构的质心的坐标μ通过下面的公式(4)来计算:
(S22)参考点设置单元120计算关于表示质心的坐标μ的二阶矩矩阵C(其也可以被称为协方差矩阵)。该二阶矩矩阵C是3×3的对称矩阵,在本实施例中该对称矩阵表示三维空间中的多个多边形的顶点的偏差。可替选地,参考点设置单元120可以采用不同的方法来获取表示三维空间中的多个多边形的质心的偏差的二阶矩矩阵(根据每个多边形的角坐标计算)。无论在哪一种情况下,矩阵C使得参考点设置单元120能够评价给定空间中的多边形分布的非均匀性。具体地,下面的公式(5)给出了二阶矩矩阵C。
其中,n表示包括在STL数据集111中的多边形的顶点的总数,并且pj表示指示所有n个多边形顶点中第j个顶点的位置向量。下面的列表(6) 给出了二阶矩矩阵C的每个元素,其中,向量pj T=(xj,yj,zj)并且向量μT=(μx, μy,μz)。
(S23)参考点设置单元120计算三个轴不相关的新的正交坐标系中另外的二阶矩矩阵。这可以通过对上述二阶矩矩阵C进行对角化来实现。更具体地,让X表示用于坐标转换的矩阵,然后用下面的公式(7)来表示新的二阶矩矩阵XCXT。
其中,三个对角分量λ1、λ2和λ3(λ1≥λ2≥λ3)是二阶矩矩阵C的特征值。二阶矩矩阵C的特征向量根据各个特征值λ1、λ2和λ3来获取,λ1、λ2和λ3是每个表示结构的主成分方向的单位向量。更具体地,λ1的特征向量表示第一主成分的方向,第一主成分的方向表示结构沿着其表现出最大量的非均匀性的轴方向。λ2的特征向量表示第二主成分的方向,λ3的特征向量表示第三主成分的方向。获取这些特征值λ1、λ2和λ3作为三次特征方程(8) 的根。
det(C-λI)=0 (8)
其中,I表示单位矩阵。
现在,使用公式(9)来计算第一主成分方向上的标准差。此外,通过求解下面所示的三线性方程组来计算表示第一主成分方向的单位特征向量h的x分量、y分量和z分量。
(C-λ1I)h=0 (10)
(S24)参考点设置单元120将三个坐标位置μ-σh、μ和μ+σh确定为给定结构的参考点。参考点设置单元120将新记录添加至参考点表112,以登记STL数据集111的这些参考点。
上面的步骤使得管理设备100能够设置给定结构的参考点。虽然图 12的流程图仅举例说明了第一主成分方向的计算,但是管理设备100可以被配置成以类似的方式设置第二主成分方向和第三主成分方向的参考点。
图13是示出了第二实施例中所执行的搜索处理的示例的流程图。下面按照步骤号的次序来描述图13中的每个操作。
(S31)搜索单元150接收包括由用户指定的结构的STL数据集的搜索查询。如先前提到的,该搜索查询可以由用户直接输入至管理设备100 或者可以经由网络10从远程装置而到达管理设备100。
(S32)基于所接收的搜索查询中的STL数据集,参考点设置单元 120以与图12中论述的方式相同的方式来确定用户指定的结构的参考点。
(S33)基于搜索查询中的STL数据集和在步骤S32中确定的参考点坐标,图生成单元130将用户指定的结构变为图,从而生成图数据。
(S34)特征量计算单元140通过对步骤S33中生成的图数据执行特定的计算来计算用户指定的结构的特征量。特征量计算单元140实际上执行几种不同的计算来获取多个不同类型的特征量,从而形成描述感兴趣的结构的特征向量。
(S35)搜索单元150将步骤S34的特征向量与存储单元110中每个登记的特征向量进行比较,由此识别与用户指定的结构形状类似的已有的结构。
(S36)搜索单元150将搜索结果输出至例如监视器11的屏幕。搜索单元150还可以被配置成经由网络10将搜索结果发送至请求装置。
图14示出了第二实施例中的参考点设置的又一个示例。虽然一直到图13的上述描述已经举例说明了主要基于二阶矩来设置参考点的方法时,出于相同的目的,所提出的管理设备100可以计算例如三阶矩、四阶矩或五阶矩。可以将对二阶矩的这些替代称为“高阶距”。
例如,让x'作为第一主成分方向的轴。如公式(11)中所示,管理设备100计算关于质心μ的x'轴坐标的x'轴上的k阶矩的平均值λ',其中,k 是大于1的整数。然后,下一个公式(12)给出了关于λ'的σk。
现在,对图12的流程图中的步骤S24进行修改,来在除了μ-σh和μ+σh 以外还在坐标μ-σkh和μ+σkh的位置处设置参考点或者替代μ-σh和μ+σh 在坐标μ-σkh和μ+σkh的位置处设置参考点。类似地,用于第一主成分方向的上述方法可以应用于第二主成分方向和第三主成分方向。例如,图 14示出了其多边形集中在第一主成分方向的一端的结构80。由于作为结果的参考点较接近结构80的那一端,这意味着可以在结构80的图中反映结构80的更详细的几何特征,所以在这种情况下使用高阶矩是有利的。
如从上面的描述中所见,所提出的管理设备100不仅在结构80的质心处放置参考点,而且根据结构80的多边形分布的非一致性来设置更多的参考点。这些另外的参考点使得结果的图能够更详细地反映结构80的几何特征。
上述管理设备100生成用于随后的特征量计算的无向图。然而,可以对第二实施例进行修改以生成有向图。例如,在图中画出有向边来表示连接结构的顶点和参考点的线段,使得边的方向表示正被讨论的顶点是否在结构的凸出部分(凸起)的顶部或者在结构的凹进部分(凹陷处)的底部。
更具体地,管理设备100通过计算表示结构的质心的向量μ与表示共享正被讨论的顶点的每个多边形的法向量的内积来实现以上。结果的内积值可以包括正的内积值和负的内积值。如果正的内积值的数量大于或等于负的内积值的数量,那么确定正被讨论的顶点在结构的凸起的顶部。现在,管理设备100在结构的图中画出从参考点节点到表示正被讨论的顶点的节点的有向边。另一方面,如果负的内积值比正的内积值多,那么确定正被讨论的顶点在结构的凹陷处的底部。因此,管理设备100在结构的图中画出从表示正被讨论的顶点的节点到参考点节点的有向边。
上面已经描述了第二实施例及其变型。如可以从描述所见,可以提高以下方式:将给定结构变成图使得可以在图中并且因此在根据图计算的特征量中反映凸起和凹陷的更详细的特征。
(c)第三实施例
该部分描述第三实施例,焦点在于对第三实施例与上述第二实施例进行了区分的第三实施例的特征,与此同时依赖于上述部分中关于它们的共同元素和操作的描述。与第二实施例中一样,第三实施例在质心处放置参考点。但是第三实施例在以下方面不同于第二实施例:第三实施例给出了对该参考点的一定量的转移(shift)。
类似地,第二实施例中论述的管理设备100的示例硬件和软件配置可以应用于第三实施例。因此,下面的描述从第二实施例继承了附图标记和元素名称。
图15示出了第三实施例中与多边形相关的向量的示例。结构的第i 个多边形具有质心Ri(其也可以被称为重心或形心)。通过以下处理来获取质心Ri的坐标:将表示第i个多边形的顶点的3个位置向量加起来,然后将结果的向量和除以3。然后,获取向量qi作为(Ri-μ),其中,μ是表示整个结构的质心的位置向量。也就是说,向量qi从结构的质心μ到第i 个多边形的质心Ri被绘制。
图16是示出了第三实施例中所执行的参考点设置处理的示例的流程图。同样地,该处理与图11中的步骤S12和图13中的步骤S32对应。下面按照步骤号的次序来描述图16中的每个操作。
(S41)参考点设置单元120根据其STL数据集111来计算结构的质心μ的坐标。关于该计算的方法,参见图12中的步骤S21。
(S42)参考点设置单元120计算从结构的质心μ指向第i个多边形的质心Ri的向量qi。参考点设置单元120对构成结构的每个多边形执行向量qi的该计算。
(S43)如下面的公式(13)所示,参考点设置单元120计算向量qi与第i个多边形的法向量ri的内积mi。
mi=ri·qi (13)
(S44)参考点设置单元120将该内积mi赋给第i个多边形的质心 Ri。
(S45)参考点设置单元120计算表示结构的质心的坐标ν,其中,将上面赋值的内积mi视为第i个多边形的质量。ν的计算假设结构具有中空的主体。换言之,结构被视为好像结构的质量仅存在于构成结构的表面的 N个多边形的质心Ri处。在这个假设下,下面的公式(14)给出了结构的质量。
因此,结构的质心的坐标ν由公式(15)表示。
假设坐标ν反映了三维空间中的内积mi的分布。由于已经将内积mi每个分配给对应的第i个多边形的质心,所以内积mi的分布取决于多边形的三维布置。
(S46)参考点设置单元120在步骤S45中已经被计算的质心的坐标ν处放置参考点。参考点设置单元120在参考点表122中将参考点坐标登记为与STL数据集111相关的记录。
图17示出了第三实施例中参考点设置的示例。如上所述,第三实施例计算每个多边形的内积mi,并且将mi赋给每个多边形的质心,使得根据分配的内积来获取结构的质心ν。以该方式获取的质心ν相对于同一结构的传统的质心μ(或者第二实施例的参考点P1)存在一些偏移。更具体地,内积mi的分布不取决于多边形的大小,而取决于空间中多边形的数量。也就是说,在包括相对较大数量的多边形的区域中,内积的值趋向于高。更具体地,结构可以具有用许多向外的多边形(即,当从结构的原始的质心μ观察时朝外的多边形)填充的区域。第三实施例中所提出的方法在这样的区域或靠近这样的区域中放置参考点P4,从而可以生成更详细地反映结构的凸起部分的形状(例如,结构70的放大的一端)的图。
(d)第四实施例
该部分描述第四实施例,焦点在于将第四实施例与上述第二实施例和第三实施例进行区分的第四实施例的特征,与此同时依赖于前面部分中的关于它们的共同元素和操作的描述。对第四实施例进行设计来找出给定结构中具有相对高的多边形密度的部分。在此,术语“多边形密度”指的是包括在具有特定半径的球形内的质心的数量除以该球形的体积所得的商。管理设备100通过使用局部搜索算法(例如,爬山方法)寻找具有相对高的多边形密度的部分。
类似地,第二实施例中论述的管理设备100的示例硬件和软件配置应用于第四实施例。因此,下面的描述从第二实施例继承了参考标记和元素名称。
图18是示出第四实施例中所执行的参考点设置处理的示例的流程图。类似地,该处理与图11中的步骤S12和图13中的步骤S32对应。下面按照步骤号的次序来描述图18中的每个操作。
(S51)参考点设置单元120计算构成给定结构的每个多边形的质心的坐标。
(S52)参考点设置单元120确定结构附近的多个(na个)点Pi以及伴随每个点Pi的正实数di。其中,na是大于0的整数,i是从1到na的范围内的整数。例如,通过下面的过程来执行该步骤S52。如第二实施例中先前所论述的,参考点设置单元120首先确定结构的质心μ,并且计算关于主成分方向的标准差σ。然后,参考点设置单元120针对结构设置μ±σ的相邻空间,并且通过使用例如随机数在该相邻空间中放置数量为na的点Pi。因为针对三个主成分中的每一个获取σ,所以所提到的相邻空间具有椭圆体的形状。参考点设置单元120可以通过对它们的高斯分布的值进行采样来确定实数di,高斯分布具有除以100的(λ1的平方根)的均值和除以10的(λ1的平方根)的标准差。可替选地,参考点设置单元120可以放置围绕质心μ的具有预定半径的球形相邻空间,并且将预定的值用作实数di。
(S53)参考点设置单元120计数包括在半径为di且中心位于点Pi的球形内的多边形质心的数量Ai。
(S54)参考点设置单元120确定其是否已经将步骤S55和步骤S65 重复了N次,其中,N是先前赋给参考点设置单元120的数量。当已经重复了N次时,处理从循环退出并且进行至步骤S57。当重复次数未达到 N时,处理前进至步骤S55。
(S55)对于每个点Pi,参考点设置单元120通过使用随机数来选择 Pi的相邻点。例如,在距点Pi预定距离内随机地选择相邻点。然后,参考点设置单元120计数包括在半径为di且中心位于相邻点处的范围内的多边形质心的数量Bi。
(S56)如果Bi>Ai,那么参考点设置单元120选择在步骤S55中所选的相邻点作为对点Pi的替代。换言之,用相邻点的坐标来代替Pi的当前坐标。如果Bi≤Ai,那么参考点设置单元120什么也不做。然后,处理返回至步骤S54。
(S57)参考点设置单元120将每个点Pi确定为参考点。参考点设置元120在参考点表112中将这些参考点的坐标登记为关于STL数据集111 的记录。
图19示出了第四实施例中的参考点设置的示例。根据第四实施例,参考点设置单元120将初始的中心位置和初始半径赋给每个球形SP1、 SP2、SP3和SP4,并且通过使用局部搜索算法(例如,爬山方法)来寻找具有高的多边形密度的新的位置。参考图19的示例,点P11表示一个球形SP1的中心。点P12表示另一个球形SP2的中心。点P13表示又一个球形SP3的中心。点P14表示再一个球形SP4的中心。这些球形SP1、 SP2、SP3和SP4相应的半径为d1、d2、d3和d4。
半径恒定的球形内的多边形的质心的数量可能取决于该球形所处的位置。假设例如参考点设置单元120已经找出了如下位置:球形SP3在该位置将包括更多质心(意味着较高的多边形密度)。然后,参考点设置单元120将范围SP3的中心移动至该密度较高的位置。对于每个球形重复以上操作。如上所述,在结构的部分中所观察的相对高的多边形密度暗示该结构在该特定部分中具有独特的凸出或凹陷的形状。这样的部分(例如,图19中的球形SP1、SP2、SP3和SP4)是用于设置参考点的正确位置,原因在于:预期的结果的图更详细地反映结构的几何特征。
(e)第五实施例
该部分描述第五实施例,焦点在于将第五实施例与上述第二实施例至第四实施例进行区分的第五实施例的特征,与此同时依赖于上述部分中的关于它们的共同元素和操作的描述。根据搜索查询的意图,对第五实施例进行设计以改变设置参考点的方式。
类似地,第二实施例中论述的管理设备100的示例硬件和软件配置适用于第五实施例。因此,下面的描述从第二实施例继承了附图标记和元素名称。
第五实施例的管理设备100先前计算了关于参考点的不同布置的一些不同类型的特征向量,并且将这些特征向量存储在存储单元110中用于库中所登记的STL数据集。图20示出了第五实施例中使用的特征向量表的示例。所示出的存储单元110中的特征向量表114包括下面的数据字段:“结构”、“模式1(二阶矩)”、“模式2(重心ν)”和“模式3(多边形密度)”。
“结构”字段包括表示特定结构的标识符。“模式1(二阶矩)”字段包括已经使用第二实施例中论述的方法所计算的特征向量。“模式2(重心ν)”字段包括已经使用第三实施例中论述的方法所计算的特征向量。“模式3(多边形密度)”字段包括已经使用第四实施例中论述的方法所计算的特征向量。
例如,图20的特征向量表114包括称为“结构A”的结构的记录,其中,登记了模式1特征向量“V11”、模式2特征向量“V12”和模式3 特征向量“V13”。通过将第二、第三和第四实施例中论述的方法应用于结构A的已有的STL数据集,先前已经对这些特征向量进行了计算。
管理设备100根据要被搜索的内容选择性地使用那些特征向量。也就是说,管理设备100对所接收的搜索查询的内容进行解析,以识别请求用户的意图。例如,允许用户向管理设备100发送以下搜索查询:不仅指定具有期望形状的STL数据集,而且指出他或她的关于是否在整体方面或在一些特定方面中寻找与指定的结构类似的结构的意图。
图21是示出了第五实施例中所执行参考点设置处理的示例的流程图。该处理对应于图13中的步骤S32。下面按照步骤号的次序来描述图 21中的每个操作。
(S61)参考点设置单元120对所接收的搜索查询进行解析以识别其意图。具体地,参考点设置单元120确定搜索查询是否涉及对在整体方面与期望的结构类似的其他结构进行相似性搜索。如果正被讨论的搜索查询涉及这样的整体相似度搜索,那么处理前进至步骤S62。否则,处理进行至步骤S63。
(S62)基于搜索查询中的STL数据集,参考点设置单元120根据其二阶矩分布(模式1)来对指定的结构中的参考点进行设置。可以以关于第二实施例在图12中先前论述的方式来执行该处理。代替如第二实施例中提到的二阶矩,还可以使用三阶矩或更高阶距。当在这种情况下时,图 20中的特征向量表114包括根据三阶矩或更高阶距所确定的参考点先前已经计算的特征向量。当该步骤S62被完成时,参考点设置单元120结束当前处理。
(S63)参考点设置单元120确定搜索查询是否意在具有多个凸起的结构。如果正被讨论的搜索查询意在这样的结构,那么处理前进至步骤 S64。否则,处理进行至步骤S65。
(S64)基于搜索查询中的STL数据集,参考点设置单元120根据其多边形密度分布(模式3)来设置所指定结构中的参考点。可以以关于第四实施例在图18中先前论述的方式来执行该处理。当步骤S64被完成时,参考点设置单元120结束当前处理。
(S65)基于搜索查询中的STL数据集,参考点设置单元120根据其质心ν(模式2)来设置所指定的结构中的参考点。可以以关于第三实施例在图16中先前论述的方式来执行该处理。当该步骤S65被完成时,参考点设置单元120结束当前处理。
紧接着上面,图生成单元130和特征量计算单元140将所指定的结构形成图,并且根据搜索查询中的STL数据集和参考点设置单元120在图 21的处理中已经设置的参考点来计算特征向量(参见图13中的步骤S33 和步骤S34)。参考点设置单元120还向搜索单元150通知以下:在设置那些参考点的过程中其已经选择了哪种模式。
现在,在图13的步骤S35中,搜索单元150查阅特征向量表114来检索针对所选的模式所登记的特征向量。然后,搜索单元150将每个所检索的特征向量与根据搜索查询计算的特征向量进行比较。
如可以从以上描述中所见,可以以不同的方式来确定参考点;并且根据所接收的搜索查询的意图,可以从同一结构生成不同特征向量。在例如关于结构整体的相似性搜索的情况下,管理设备100依赖于主成分方向上的几何特征来在整体方面中寻找与所指定的结构类似的结构。作为另一个示例,考虑关于具有两个或更多个凸起的结构的搜索。由于假设这些凸起将它们的独特特征表明为较高的多边形密度,所以管理设备100使用第四实施例中论述的方法来放置参考点,以便保持凸起的特征。然后,管理设备100根据这样的特征执行搜索,从而找出具有多个凸起的适当的结构。对于其他种类的搜索查询,使用第三实施例中提出的方法,由于其对整体结构和部分结构的平衡的关注。
如何设置参考点的选择可能取决于其他东西而不是上述搜索意图。例如,可以根据要被搜索的对象的类型来选择适当的方法。
图22是示出了第五实施例中所执行的参考点设置处理的另外的示例的流程图。该处理对应于图13中的步骤S32。下面按照步骤号的次序来描述图22中的每个操作。
(S71)参考点设置单元120识别所接收的搜索查询涉及什么类型的对象。(对象的类型可以被视为搜索意图的另外的示例。)更具体地,参考点设置单元120确定搜索查询是否涉及螺旋状物(screw)。当找螺旋状物时,处理前进至步骤S72。当找其他对象时,处理进行至步骤S73。
(S72)基于搜索查询中的STL数据集,参考点设置单元120根据其二阶矩分布(模式1)来设置所指定的结构中的参考点。可以以针对第二实施例在图12中先前论述的方式来执行该处理。代替如第二实施例中提到的二阶矩,还可以使用三阶矩或更高阶距。当情况是这样时,特征向量表114包括从根据三阶矩或更高阶距所确定的参考点先前已经计算的特征向量。当该步骤S72被完成时,参考点设置单元120结束当前处理。
(S73)参考点设置单元120确定搜索查询是否涉及弹簧。当找弹簧时,处理前进至步骤S74。当找其他对象时,处理进行至步骤S75。
(S74)基于搜索查询中的STL数据集,参考点设置单元120将所指定的结构(弹簧)变成体素,然后对体素执行形态学操作以骨架化该结构。参考点被放置在表示结构的作为结果的细框架的端点。当该步骤S74被完成时,参考点设置单元120结束当前的处理。
(S75)基于搜索查询中的STL数据集,参考点设置单元120根据其质心ν(模式2)来设置所指定的结构中的参考点。可以以针对第三实施例在图16中先前论述的方式来执行该处理。当该步骤S75被完成时,参考点设置单元120结束当前处理。
紧接着上面,图生成单元130和特征量计算单元140将所指定的结构形成为图,并且根据搜索查询中的STL数据集和参考点设置单元120在图22的处理中已经设置的参考点来计算特征向量(参见图13中的步骤S33和步骤S34)。参考点设置单元120还向搜索单元150通知以下:在设置那些参考点的过程中其已经选择了哪种模式。
现在,在图13中的步骤S35中,搜索单元150查阅特征向量表114,以检索与所选的模式对应的特征向量。然后,搜索单元150将每个所检索的特征向量与根据搜索查询计算的特征向量进行比较。应当注意,在假定步骤S74中描述的模式的情况下,特征向量表114包括管理设备100针对已有结构先前所计算的另外的特征向量。
例如,上面的管理设备100处理对螺旋状物的搜索查询。由于顶端 (head)和纵向轴是螺旋状物的主要元素,所以管理设备100通过选择用于将参考点置于较接近螺旋状物的顶端和轴的适当的方法来为螺旋状物设置参考点。结果的特征向量更详细地表示螺旋状物的独特特征,从而使得能够准确搜索螺旋状物结构。
图23A和图23B示出了第五实施例中的参考点设置的另外的示例。具体地,图23A和图23B表明参考点设置单元120在图22的步骤S74中执行的操作。也就是说,图23A示出了弹簧结构的原始状态。图23B示出了在简化成细的线模型之后的具有设置在该模型的顶端和底端的两个参考点P21和P22的同一个弹簧结构。
弹簧结构具有环绕其纵向中心线的中空,并且该中空包括结构的质心。换言之,质心并不位于弹簧结构的实体内部。出于该原因,参考点设置单元120在将弹簧结构变细成骨架之后才设置参考点。结果的特征向量精确反映弹簧的柱状形状,弹簧的柱状形状使得能够更准确地搜索弹簧结构。
当搜索查询涉及除螺旋状物和弹簧以外的其他结构时,参考点设置单元120应用第三实施例中论述的方法,正如在图21的处理中一样,原因在于:其使得搜索能够平衡地关注整体结构和部分结构。因此,所提出的管理设备100根据搜索查询的意图(包括被查找的对象的类型)来选择适当的方式设置参考点,从而使用相应计算的特征向量来执行搜索。第五实施例的这些特征使得能够更准确地搜索结构。
第一实施例中论述的数据处理操作可以被实现为由计算单元1b执行的程序。类似地,第二实施例至第五实施例中论述的数据处理操作可以被实现为由处理器101执行的程序。这些程序可以被记录在非暂态计算机可读存储介质(例如,图2中所示的存储介质13)上。
例如,程序可以以包括程序文件的存储介质13的形式来流通。还可以经由网络将程序从一个计算机分发至其他的计算机。计算机可以从存储介质13读程序,或者从另外的计算机下载程序并且将程序安装在其本地存储装置(例如,RAM 102或HDD 103)中以便由处理器执行。
上面已经描述了第一实施例至第五实施例。在实施例的一个方面中,所提出的技术使得可以获得在结构数据的搜索中使用的点的坐标。
Claims (11)
1.一种管理设备,包括:
存储单元,其对包括表示三维结构的多个多边形的顶点的坐标在内的结构数据进行存储;以及
计算单元,其被配置为执行如下过程,该过程包括:
参考所述结构数据来计算点的坐标;
在存储装置中将所计算的点的坐标存储为与所述结构数据相关的信息;
参考存储装置来生成图,该图包括与点和三维结构的顶点对应的图节点、与三维结构的边对应的第一图边、以及与连接点和三维结构的角的其它边对应的第二图边;以及
基于所生成的图来计算结构数据的特征量。
2.根据权利要求1所述的管理设备,其中,所述计算单元对所述多边形的顶点的坐标执行主成分分析,并且通过使用所述主成分分析的结果来计算所述点的坐标。
3.根据权利要求2所述的管理设备,其中,所述计算单元基于所述三维结构的关于所述三维结构的质心和主成分方向的二阶矩来计算所述点的坐标。
4.根据权利要求1所述的管理设备,其中,所述计算单元基于所述三维结构的质心、所述多边形中的每一个的质心、以及所述多边形中的每一个的法向量来计算所述点的坐标。
5.根据权利要求4所述的管理设备,其中,所述计算单元:计算每个多边形的所述法向量与从所述三维结构的质心到每个所述多边形的质心的向量之间的内积;将所计算的内积赋给每个所述多边形的质心;以及基于分配给所述多边形的所述内积的分布来计算所述点的坐标。
6.根据权利要求1所述的管理设备,其中,所述计算单元基于多个空间范围内的多边形的密度来计算所述点的坐标。
7.根据权利要求6所述的管理设备,其中,所述计算单元通过使用局部搜索算法找出所述空间范围中的与其他空间范围相比具有较高的多边形密度的一个空间范围;并且确定所述空间范围中的被找出的那个空间范围内的点的坐标。
8.根据权利要求1至7中任一项所述的管理设备,其中,
所述管理设备接收搜索查询,所述搜索查询指定结构数据并且包括表示所述搜索查询的意图的信息;以及
所述计算单元根据所接收的搜索查询的意图,通过选择性地执行用于计算点的坐标的不同方法中的一种方法来计算所述点的坐标。
9.根据权利要求8所述的管理设备,其中,
所述搜索查询请求对与所述结构类似的结构进行搜索;以及
所述计算单元当接收到所述搜索查询时,通过使用根据所述搜索查询的所指定的意图而选择的不同方法中的一种方法,来计算所述点的坐标。
10.根据权利要求1所述的管理设备,其中,
所述过程还包括:通过根据与第一图边对应的边的长度对第一图边加权和根据与第二图边对应的其它边的长度对第二图边加权来参考存储装置生成图;以及
所述计算单元基于所生成的图计算所述特征量。
11.一种管理方法,包括:
通过计算机参考包括表示三维结构的多个多边形的顶点的坐标在内的结构数据来计算点的坐标;
通过所述计算机来在存储装置中将所计算的所述点的坐标存储为与所述结构数据相关的信息;
通过所述计算机参考存储装置来生成图,该图包括与点和三维结构的顶点对应的图节点、与三维结构的边对应的第一图边、以及与连接点和三维结构的角的其它边对应的第二图边;以及
通过所述计算机基于所生成的图来计算结构数据的特征量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-072504 | 2014-03-31 | ||
JP2014072504A JP6311404B2 (ja) | 2014-03-31 | 2014-03-31 | 管理プログラム、管理装置および管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104952086A CN104952086A (zh) | 2015-09-30 |
CN104952086B true CN104952086B (zh) | 2018-06-12 |
Family
ID=52692441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510130046.XA Active CN104952086B (zh) | 2014-03-31 | 2015-03-24 | 用于管理结构数据的设备及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9898859B2 (zh) |
EP (1) | EP2927827B1 (zh) |
JP (1) | JP6311404B2 (zh) |
KR (1) | KR101741894B1 (zh) |
CN (1) | CN104952086B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965893B2 (en) * | 2013-06-25 | 2018-05-08 | Google Llc. | Curvature-driven normal interpolation for shading applications |
JP6650848B2 (ja) * | 2016-08-22 | 2020-02-19 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理システム、および情報処理方法 |
US10463445B2 (en) * | 2017-11-27 | 2019-11-05 | Biosense Webster (Israel) Ltd. | Point density illustration |
KR101911447B1 (ko) | 2018-05-09 | 2018-10-24 | 권오성 | 구조설계 도면의 패턴분석을 통한 3차원 구조해석 모델 생성 장치 |
US10614340B1 (en) * | 2019-09-23 | 2020-04-07 | Mujin, Inc. | Method and computing system for object identification |
CN112116011B (zh) * | 2020-09-21 | 2021-07-27 | 上海晓材科技有限公司 | 一种用于cad图形的特征编码方法和相似度比较方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631364B1 (en) * | 1997-03-26 | 2003-10-07 | National Research Council Of Canada | Method of searching 3-Dimensional images |
CN1527251A (zh) * | 2002-12-05 | 2004-09-08 | ���ǵ�����ʽ���� | 用感性三维形状描述检索三维图形模型数据库的方法和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222573A (ja) | 1999-01-28 | 2000-08-11 | Internatl Business Mach Corp <Ibm> | 多面体形状比較方法およびシステム |
JP2000222428A (ja) * | 1999-02-03 | 2000-08-11 | Hitachi Ltd | 3次元モデルの類似検索システム及び3次元モデルデータベース登録システム |
JP2001155019A (ja) * | 1999-11-25 | 2001-06-08 | Olympus Optical Co Ltd | 類似画像検索装置 |
JP3513562B2 (ja) | 2000-04-20 | 2004-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 形状解析システム、3次元形状モデルの差分検出システム、類似形状検索システム、形状解析方法及び記憶媒体 |
JP3614761B2 (ja) * | 2000-07-24 | 2005-01-26 | 日本電信電話株式会社 | 三次元物体データベースの検索方法及び三次元物体データベースの検索プログラムを記録した記録媒体 |
JP3766857B2 (ja) * | 2002-04-02 | 2006-04-19 | 株式会社ヤッパ | 3次元モデルの開発支援システム |
JP4516957B2 (ja) | 2003-01-25 | 2010-08-04 | パーデュー リサーチ ファンデーション | 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造 |
JP4893148B2 (ja) | 2006-08-09 | 2012-03-07 | 株式会社日立製作所 | 形状簡略化装置及びそれに用いられるプログラム |
JP5395868B2 (ja) * | 2011-09-26 | 2014-01-22 | 富士フイルム株式会社 | 画像処理装置および方法ならびにプログラム |
-
2014
- 2014-03-31 JP JP2014072504A patent/JP6311404B2/ja active Active
-
2015
- 2015-03-04 US US14/637,739 patent/US9898859B2/en active Active
- 2015-03-11 EP EP15158600.5A patent/EP2927827B1/en active Active
- 2015-03-24 CN CN201510130046.XA patent/CN104952086B/zh active Active
- 2015-03-25 KR KR1020150041818A patent/KR101741894B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631364B1 (en) * | 1997-03-26 | 2003-10-07 | National Research Council Of Canada | Method of searching 3-Dimensional images |
CN1527251A (zh) * | 2002-12-05 | 2004-09-08 | ���ǵ�����ʽ���� | 用感性三维形状描述检索三维图形模型数据库的方法和设备 |
Non-Patent Citations (1)
Title |
---|
Efficient image retrieval through vantage objects;Jules Vleugels 等;《Pattern Recognition》;20021231;68-80 * |
Also Published As
Publication number | Publication date |
---|---|
US9898859B2 (en) | 2018-02-20 |
KR101741894B1 (ko) | 2017-05-30 |
JP6311404B2 (ja) | 2018-04-18 |
JP2015194909A (ja) | 2015-11-05 |
KR20150113870A (ko) | 2015-10-08 |
CN104952086A (zh) | 2015-09-30 |
EP2927827A1 (en) | 2015-10-07 |
EP2927827B1 (en) | 2021-10-06 |
US20150279097A1 (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104952086B (zh) | 用于管理结构数据的设备及方法 | |
CN108509848B (zh) | 三维物体的实时检测方法及系统 | |
Sfikas et al. | Ensemble of PANORAMA-based convolutional neural networks for 3D model classification and retrieval | |
Xiang et al. | Objectnet3d: A large scale database for 3d object recognition | |
Tung et al. | The augmented multiresolution Reeb graph approach for content-based retrieval of 3D shapes | |
JP2018518747A (ja) | 幾何学モデルを単純化する方法 | |
Shao et al. | H-CNN: Spatial hashing based CNN for 3D shape analysis | |
Sun et al. | Zernet: Convolutional neural networks on arbitrary surfaces via zernike local tangent space estimation | |
CN101446980A (zh) | 一种基于彩色旋转图像的三维部分形状匹配和检索方法 | |
JP7017852B2 (ja) | 記述子を用いた3dオブジェクトの位置特定 | |
van de Ruit et al. | An efficient dual-hierarchy t-sne minimization | |
CN104951496A (zh) | 计算设备及计算方法 | |
Jankowai et al. | Robust extraction and simplification of 2D symmetric tensor field topology | |
Ivson et al. | Instanced rendering of massive cad models using shape matching | |
Ul Islam et al. | Learning typical 3D representation from a single 2D correspondence using 2D-3D transformation network | |
Ullrich et al. | Semantic fitting and reconstruction | |
Zhou | 3D urban modeling from city-scale aerial LiDAR data | |
JP2017162447A (ja) | 量子化を用いた3dオブジェクトの位置特定 | |
KR20150002157A (ko) | 단일 깊이 영상을 이용한 내용기반 3차원 모델 검색 방법, 이를 수행하는 3차원 모델 검색 서버 및 컴퓨터로 판독 가능한 기록매체 | |
Veselý | Building massing generation using GAN trained on Dutch 3D city models | |
Gissler et al. | Efficient Uniform Grids for Collision Handling in Medical Simulators. | |
CN109272013A (zh) | 基于学习的相似性度量方法 | |
Behar et al. | Dynamic Minkowski sums under scaling | |
Wang et al. | Genetic-algorithm-based stereo vision with no block partitioning of input images | |
Ge et al. | Expansion of 3D face sample set based on genetic algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |