CN105103195A - 图像处理 - Google Patents
图像处理 Download PDFInfo
- Publication number
- CN105103195A CN105103195A CN201480011022.6A CN201480011022A CN105103195A CN 105103195 A CN105103195 A CN 105103195A CN 201480011022 A CN201480011022 A CN 201480011022A CN 105103195 A CN105103195 A CN 105103195A
- Authority
- CN
- China
- Prior art keywords
- cube
- block
- point
- curve
- current
- 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
- 238000012545 processing Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 89
- 238000005192 partition Methods 0.000 claims abstract 3
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000011960 computer-aided design Methods 0.000 claims description 6
- 241001269238 Data Species 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 2
- 239000000969 carrier Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 24
- 230000001186 cumulative effect Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 16
- 238000012360 testing method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011961 computed axial tomography Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/87—Combinations of systems using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/481—Constructional features, e.g. arrangements of optical elements
- G01S7/4817—Constructional features, e.g. arrangements of optical elements relating to scanning
-
- 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
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及用于自动从对象集合的点云数据生成这些对象集合的三维表示的方法和设备。所述方法及装置将对象所占的空间分区为多个块体。若块体内的点大致共存于一个表面上,则该块体是指定的表面块体。将具有大致共面表面的表面块体整合为形成较大的表面块体。若块体内的点大致共存于一条线上,则该块体是指定的线块体。将具有大致共线的线块体整合为形成较大的线块体。
Description
技术领域
本发明涉及用于自动从对象集合的点云数据生成这些对象集合的三维表示的方法和设备。
背景技术
实践证明,对现实世界的对象产生精确的三维(3D)计算机模型在考古学、建筑学、土木与机械工程、地理测绘及诸多其他领域极具实用价值。在许多此类应用中,扫描仪自动测量对象表面上的大量点,以产生表面点的3D“点云”。这种点云会包含超多数据,出于这种原因及其他因素,该点云可能难以有效操作或处理用于并入到最终模型。由此,需将点云数据转换成更易于操作的形式,例如转换成3D计算机辅助设计(CAD)模型格式。
点云数据的特性意指其分析角度并未在其他成像技术中呈现。举例而言,如磁共振成像(MRI)及轴向计算层析成象技术(CAT)等医学影像技术扫描特定块体并从在所扫描块体各点定义的连续密度值产生3D图像。然而,针对点云而言,点密度是到扫描仪位置和扫描仪底座的距离和角度的函数,而并非表示对象的密度或其他属性。此外,所扫描块体中大部分区域可能完全缺乏任何特征。目前,将点云数据发送至专业人员(或专家组),该专业人员通过认知结构解释数据并手动生成已标识数据的3D模型。该过程尚有若干不足之处。首先,完成这一过程需要大量人工时间,由此导致成本增加。其次,不同人员解释相同的点云可能产生不同的3D模型。这种模型的使用者由此无法高度信赖其准确性。特别在采用动态扫描仪导致点云数据扰动的情况下,普遍存在第二类问题。尽管动态扫描仪的干扰较大,但由于其扫描区域大于静态扫描仪的范围,因此动态扫描仪与上述扫描技术相比更为可取。而现有技术中公开的其他要求自动产生3D模型的设备另具其他缺陷。例如,US8,244,026描述了一种用于处理地面扫描的光探测与测距(LIDAR)点云的设备。地面过滤器滤除地面,从而在地面上延伸的特征能够得到标识。同时,自动式特征搜索及识别单元能够识别与某一特征相关的点并将这些点替换为表示该特征的虚拟对象。这一设备利用地面作为基准点,因而无法用于其它应用中。另外,仅在对象具有虚拟对象的情况下才能进行替换,专业人员可能须手动监测结果或模型的更多异常特征。EP1691335B1描述了一种用于沿二维轮廓将表面拟合为点云的设备。其缺陷在于,必须首先以手动方式或通过某种自动机构(不属于该发明的保护范围)确定轮廓。相比之下,本发明毋须提供二维或其他轮廓。
ClearEdge3D制作的软件自动从点云提取特征。该软件可利用在WO2010/042466中所述的技术,其中从点云中提取一个或多个曲面片并将其用于确定对象的一个或多个主轴。然而,在扫描的对象并不具备常规直线主轴的情况下则无法采用该方法,在分析动态扫描仪生成的数据时尤其如此。实际上,ClearEdge3D要求用户手动标识特征的初始版本,随后自动标识其副本。
发明内容
本发明在权利要求书中所述的特征提供一种计算效率高且节省劳动力的解决方案,其可用于但并非限定于将显著特征标识为现实世界的对象并将其替换为等效的虚拟场景。此外,本发明的示例性实施方案充分说明能够从移动式扫描系统转换点云数据。
本发明需要频繁计算3x3对称矩阵的特征值及相应的特征向量。借助Jacobi(雅可比)的对角化方法即可实现这一过程,请参阅由G.H.Golub和C.F.vanLoan所著并由JohnHopkinsUniversityPress(约翰霍普金斯大学出版社)所出版的“MatrixComputations(矩阵计算)”。然而,任何特征值和特征向量的其他有效计算方法若能正确应对两个或全部特征值可能不够显著的情况,即可采用该方法作为替代。
附图说明
通过所附权利要求书限定本发明的范围。结合下文和附图,本发明示例性实施方案的其他的特点和优点得以进一步明确。
图1表示其中生成点云数据并将其转换成三维模型的示例性系统;
图2表示所述方法的主要步骤M1至M12的流程图;
图3表示将立方体分类为包含共面点或共线点的示例性方法的步骤A1至A7的流程图;
图4表示通过整合公共面上共面立方体以形成面立方体集合来标识表面的示例性方法的步骤B1至B24的流程图;
图5表示使属于面立方体集合的立方体平整化从而使其全部与公共面相交的示例性方法的步骤Y1至Y8的流程图;
图6表示标识在其上形成面立方体集合边界的立方体的示例性方法的步骤X1至X10的流程图;
图7表示围绕面立方体集合外部或围绕其内部空洞跟踪边界多边形的示例性方法的步骤Z1至Z21的流程图;
图8表示标识边界多边形上云边界点位置的示例性方法的步骤U1至U11的流程图;
图9表示将云边界点移动至与相邻面相交处的示例性方法的步骤V1至V14的流程图;
图10表示通过整合公共线上共线立方体以形成线立方体集合来标识线的示例性方法的步骤W1至W18的流程图;
图11表示将属于线立方体集合的立方体整合从而使其全部与公共线相交的示例性方法的步骤T1至T8的流程图;
图12表示从线立方体集合内部查找有限线段末端位置的示例性方法的步骤S1至S16的流程图;
图13是表示计算平面间距离的示例性方法的平面图;
图14是表示示例性多边扇形的平面图;
图15是表示跟踪面立方体集合的边界多边形的示例性方法的平面图;
图16是表示多边形上的下一边缘的两个可选位置的平面图;
图17是表示在点云边界在相交多边形内呈直线情况下计算云边界点的示例性方法的平面图;
图18是表示在点云边界在相交多边形内呈非直线情况下计算云边界点的示例性方法的平面图;
图19是表示存在一个以上候选云边界点的情况下计算云边界点的示例性方法的平面图;
图20是表示将云边界点移动至平面交线上的示例性方法的透视图;
图21是在特定点云立方体集合上执行本文所述方法所产生的用于建筑场景的线条图。
具体实施方式
图1是表示根据本发明一示例性实施方案的设备总体布局的框图。扫描仪120包括发射一系列激光脉冲的LIDAR扫描模块102。这些激光脉冲扫过目标对象104的表面,脉冲从表面反射并由扫描模块中的传感器接收。扫描仪120中的处理模块106可由激光脉冲的渡越时间计算到表面上点的距离并能够基于该距离数据生成点云。随后,点云数据108在进一步处理之前可存储于点云数据库110中。在需要进一步处理时,将点云数据发送至计算机112,在此点云处理模块执行用于将数据转换为3D表示118的方法。下文将详细说明这种方法的示例。该方法完成后,3D表示118可作为数据文件存储于存储器114中并/或以可视形式输出。
这种3D表示能够用于众多不同应用中。例如,在汽车装配线场景中,可通过LIDAR扫描仪扫描设计用于组装的不同部件。可将产生的点云转换为3D向量模型并能确定这些部件是否能在特定公差内组装。在不采用如本发明所述自动技术的情况下,利用常规技术将耗费大量人工时间才能获得精确的结果,这在计划时间内并不实用。
另一示例性应用涉及公路防撞护栏。许多公共部门对高速公路上的防撞护栏规定了最低高度。为确保符合该规定,车载扫描仪会扫描公路的多个路段,以产生防撞护栏的点云数据。该数据可转换为3D模型并确定护栏高度。同样,用于将数据转换为向量图模型的手动方法将耗费较长时间。然而,由于不同的人工操作者极可能对护栏的同一部分确定出不同的高度,该问题愈发严重。既得利益不同的各方会为数据提供配合,从而产生的模型有意无意间或许代表建模者的实际喜好。若建模者在特定防撞护栏高度不够时却认定其高度足矣,则可能带来灾难性后果。因此,如本发明所述的客观方法更为适宜。
点云是一组三维向量x(k)=(Xk,Yk,Zk)。假定点云点分布在一个或多个3D对象的表面上。本发明所述的技术将点云转换为对象的CAD模型表示。这些对象由多组相连的线段组成,这些线段包括闭合的平面多边形(表示对象的平坦表面)的边缘以及其他表示对象的线段,诸如并不具平坦表面的电源线、电话线等。通过充足数量与对象表面相切的小平面表示由如圆柱体(例如管道和隧道)等非平坦表面组成的对象。该方法可使任意3D对象得到表示。
图2是表示所述方法主要步骤M1至M12的流程图。
M1.将3D网格叠加至对象所占用的部分空间上。网格将空间划分成大量而有限的立方体列表。为避免浪费计算机存储空间,列表将所有空白立方体都排除在外。在当前实施方案中,立方体均为相同大小。每一立方体的一侧长度称为其分辨率。在必要情况下(例如由于所扫描表面在局部的曲率较大),其中某些立方体可再细分为更小的立方体,这些更小的立方体可进一步细分,以此类推。通过这种方式,可在不同位置使用不同的局部分辨率。还可对3D空间进行其他方式的分区,例如采用四面体。在下文中,术语“立方体”可理解为四面体或其他空间填充三角曲面(tessellation)。
M2.将每一非空立方体分类为重合(立方体的全部点都大致位于相同位置)、共面(立方体的全部点都大致位于同一平面内)、共线(立方体的全部点都大致位于同一直线上)或空间填充(局部点云既非线也非表面)。下面将在步骤A1至A8中参照图3详细阐明步骤M2。
M3.通过整合相邻的共面立方体产生面立方体集合,所述共面立方体的平面(其点云点的平面)大致共面。每一面立方体集合均与称作立方体集合公共面的单一数学面相关。在步骤M3结束时,各共面立方体将确切仅属于一个面立方体集合。每一面立方体集合将包含一个或多个共面立方体。下面将在步骤B1至B24中参照图4详细阐明步骤M3。
M4.如下所述,使每一面立方体集合平整化。若任一共面立方体并未与其面立方体集合的公共面相交,则将该立方体移出该面立方体集合并将其全部点都投射至公共面上。若任一投影点位于尚未属于面立方体集合的立方体中,则将该立方体添加至面立方体集合。这表示,在步骤M4结束时,面立方体集合可能包含在步骤M2中并未分类为共面的立方体。此刻,立方体可能归属于一个以上面立方体集合。然而,任何属于一个以上面立方体集合的立方体都会与其所属的各个面立方体集合的公共面相交。下面将在步骤Y1至Y8中参照图5详细阐明步骤M4。
M5.为每一面立方体集合创建面边界立方体集合。它由面立方体集合边界上的全部立方体组成。下面将在步骤X1至X10中参照图6详细阐明步骤M5。
M6.利用属于面边界立方体集合的立方体的边缘,围绕每一面立方体集合的外部并且围绕面立方体集合内部的全部空洞,依序跟踪面立方体集合的边界多边形。下面将在步骤Z1至Z21中参照图7详细阐明步骤M6。
M7.为每一边界多边形的每一边缘估计云边界点。有别于其边缘位于立方体表面的边界多边形,每一云边界点的位置均接近投射至每一面立方体集合公共面上的点云点的凸壳。按照云边界点遇到在步骤16算出的每一单独边界多边形的顺序存储云边界点。下面将在步骤U1至U11中参照图8详细阐明步骤M7。
M8.若任何云边界点的位置充分接近其公共面与另一面立方体集合的公共面的相交处,则将云边界点的位置移至相交线上的最近点。若云边界点的位置充分接近于一个以上平面的相交处,则将云边界点移至相交处的最近线。下面将在步骤V1至V14中参照图9详细阐明步骤M8。
M9.将边界多边形的边缘转换为由依序的不同云边界点组成的多段线,在步骤M8结束时存储这些云边界点的顺序。对每一边界多边形创建单独的多段线。
M10.将其线大致共线的相邻共线立方体整合,以形成线立方体集合。每一线立方体集合均与称作立方体集合公共线的单一数学直线相关。在步骤M10结束时,各共线立方体将确切仅属于一个线立方体集合。每一线立方体集合将包含一个或多个共线立方体。下面将在步骤W1至W24中参照图10详细阐明步骤M10。
M11.如下所述,使每一线立方体集合平整化。若任一共线立方体未与其线立方体集合的公共线相交,则将该立方体移出线立方体集合并将其全部点都投射至公共线上。若任一投影点位于尚未属于线立方体集合的立方体中,则将该立方体添加至线立方体集合。这表示,在步骤M11结束时,线立方体集合可能包含在步骤M2中并未分类为共线的立方体。立方体可能同样归属于一个以上线立方体集合(立方体确实可能同时属于线立方体集合和面立方体集合)。然而,任何属于一个以上线立方体集合的立方体都将与其所属的各个线立方体集合的公共线相交。下面将在步骤T1至T8中参照图11详细阐明步骤M11。
M12.标识每一线立方体集合的公共线上的一个以上线段的端点。下面将在步骤S1至S17中参照图12详细阐明步骤M12。正如前述,该过程的最终结果是产生边界分明的多边形以及其他线段。还可进行进一步处理,其中将满足特殊要求的相邻多边形边界标识为确定部分对象边缘。通过这种方式整合越来越多的多边形且利用充足的数据,由此可重建整个三维对象。实现这一过程之后,可将对象标识为主要特征,并且可为3D模型的用户提供有关主要特征数量及位置的数据以及其他相关信息。直接从点云数据标识或比较对象的效率极低。例如,若对象的点云包含~106个点,则比较两个这样的对象需要~1012次计算(每一次计算将一个对象的点云点与另一对象的相似点数的点云点相比较)。与此相反,若通过由少量多边形(例如~100)组成的模型表示同一对象,所需计算的次数则大幅减少(~10000),从而处理过程在计算方面十分高效。在街景模型中,公共街道设施物品可能通过其形状(多边形组合)得以甄别。还可将其替换为精确的虚拟模型或利益相关方可提取有关街道设施位置的数据。为产生三维图像,若可使用平行摄影图像,则由此导出的图像部分可能与每一用作表面填充的多边形有关。
图3是M2的流程图,示出下述步骤A1至A7,其将每一立方体(在步骤M1中创建)分类为空白(立方体不含任何点)、重合(立方体的全部点都大致位于相同位置)、共面(立方体的全部点都大致位于同一平面内)、共线(立方体的全部点都大致位于同一直线上)或空间填充。应指出,只要点云点恰好位于两个以上立方体之间的表面或顶点上,则这些立方体中仅有一个被认定为包含该点。
数学中面和线的厚度为零。由于点云会存在测量误差及其他摄动(统称为扰动),因此点云点自身可能与其所代表的实际数学面或线相距一小段距离。考虑到这一点,在步骤A1至A9中所述的计算运用到厚度公差。其最佳值取决于点云的精确度。
协方差矩阵定义为:
其中n为立方体中点云点的数目,和为全部这些点;其中
分类过程如下所述:
A1.在非空立方体列表中选取第一立方体。
A2.利用雅可比方法或任何其他有效方法,用计算机计算立方体内所含的点云点的协方差矩阵的三个特征值。将全部负特征值设定为零。若在立方体中恰好仅有一点,则将三个特征值全部设定为零。
A3.若全部特征值都小于厚度阈值,则将立方体分类为重合,转至步骤A7。在立方体中全部点都大致重合时,便出现这种情况。
A4.若仅有两个特征值小于厚度阈值,则将立方体分类为共线,转至步骤A7。在立方体中全部点都大致位于同一数学线上时,便出现这种情况。
A5.若仅有一个特征值小于厚度阈值,则将立方体分类为共面,转至步骤A7。在立方体中全部点都大致位于同一数学面上时,便出现这种情况。
A6.将立方体分类为空间填充。在非空立方体并非重合、共线或共面时,便出现这种情况。
A7.若立方体是列表中的最后一个立方体,则停止。
A8.选择列表中的下一立方体,转至步骤A2。
图4是步骤M3的流程图,具体示出下述步骤B1至B24,其在公共面上形成相邻共面立方体的集合。以这种方式形成的共面立方体的每一集合均称为面立方体集合。计算累加面立方体集合中点的数目其中nl是共面立方体l中点的数目。计算还累加点云点的总数其中外积的和其中并且在这两种情况下,总和为面立方体集合内全部共面立方体l中的全部点云点,其中x(k,l)=(Xkl,Ykl,Zkl)是共面立方体l中的第k个点云点。
可通过和计算出面立方体集合内全部共面立方体中的点云点的平均值及协方差矩阵V。
同理,可通过及计算出共面立方体l中点云点的平均值及协方差矩阵V(l)。
穿过共面立方体l中全部点云点的数学面的方程式为其中u(l)为垂直于平面的单位向量,其等于协方差矩阵V(l)的特征向量,该特征向量对应于协方差矩阵V(l)的唯一最小特征值。
同理,穿过面立方体集合内全部立方体中全部点云点的数学面的方程式为其中u为垂直于公共面的单位向量,其等于累加协方差矩阵V的特征向量,该特征向量对应于协方差矩阵V的唯一最小特征值。
在步骤B14及B21中,所述方法将当前的累加公共面与拟合穿过当前共面立方体l的平面相比较,以确定两平面是否共面。在这两个步骤中使用不同的标准。
标准A用于步骤B14且规定uTu(l)>cosθ0,其确保两平面间的角度小于θ0弧度,并规定其确保平均值与累加公共面的距离小于d1距离单位。
其中第二条件的几何图形如图13所示,图13是包含及的两平面的横截面。线AB表示累加公共面的横截面,线K1L1表示特定当前立方体平面的横截面。点X是累加公共面的平均值点Y1是当前面的平均值从而P1是横截面AB上距离Y1最近的点,从而Y1到AB的距离为长度|P1Y1|。若∠P1Y1X=φ,则|P1Y1|=|XY1|cosφ。由于P1Y1垂直于AB,由此推断XY1与法线u之间的角度亦为φ,由此是到累加公共面的距离。在图13中,短划线K2L2表示另一当前立方体平面的横截面。Y2是在这一其他当前立方体实例中的位置。P2是Y2到AB上的垂足点,从而在这种情况下,到累加公共面的距离为P2Y2。虚线MN平行于AB且到AB的距离为d1。由此推断,Y1视为充分接近AB,而Y2则并非如此。
标准B用于步骤B21且规定其确保共面立方体l中的每一点x(k,l)到公共面的平均平方距离小于d2距离单位。
平面形成过程的实际步骤如下:
B1.创建未使用的立方体列表,其包含在步骤M2中标识的全部共面立方体。在该列表中的任意立方体均称为未使用立方体。
B2.若未使用列表为空,则停止。
B3.创建称作面立方体集合的空白立方体列表。该面立方体集合将扩展为包含面立方体集合中立方体公共面上的全部共面立方体。最终,当前处于未使用立方体列表中的各立方体均将移至面立方体集合中,即便在该面立方体集合仅包含唯一立方体的情况下亦然。
B4.将当前立方体设定为未使用立方体列表中的第一立方体。
B5.创建称作候选列表的空白立方体列表。该列表会包含视为纳入面立方体集合的候补者的未使用共面立方体。
B6.创建称作特殊列表的空白立方体列表。该列表会包含新近拒为纳入面立方体集合的候补者的未使用共面立方体。
B7.将当前立方体从未使用列表移入面立方体集合。因而,各面立方体集合均包含至少一个立方体。
B8.将面立方体集合中点的总数设定为等于当前立方体中点的总数。
B9.将面立方体集合中点的外积和设定为等于当前立方体中点的外积和。
B10.将未使用列表中的当前立方体的全部相邻立方体都添加至候补列表。在此,若立方体与当前立方体共享表面或顶点,则其即为当前立方体的相邻者。
B11.若候补列表为空,则转至步骤B18。
B12.将当前立方体设定为候补列表中的第一立方体。
B13.将当前立方体移出候补列表。
B14.若当前立方体并未达到标准A,则将该当前立方体添加至特殊列表,转至步骤B11。
B15.将当前立方体从未使用列表移至面立方体集合。
B16.将当前立方体l中点的总数s1添加至面立方体集合中点的累加和s。
B17.将当前立方体l中点的外积和W1添加至面立方体集合中点的外积的累加和W,转至步骤B10。
B18.若特殊列表为空,则输出面立方体集合的数据,转至步骤B2。
B19.将当前立方体设定为特殊列表中的第一立方体。
B20.将当前立方体移出特殊列表。
B21.若当前立方体并未达到标准B,则转至步骤B18。
B22.将当前立方体从未使用列表移至面立方体集合。
B23.将当前立方体l中点的总数s1添加至面立方体集合中点的累加和s。
B24.将当前立方体l中点的外积和W1添加至面立方体集合中点的外积和W,转至步骤B18。
图5是步骤M4的流程图,具体示出步骤Y1至Y8,这些步骤应用于面立方体集合中的每一立方体,以确保面立方体集合中每一立方体均与其公共面相交。步骤M4作用在于使面立方体集合平整化。在步骤M3中,每当新的立方体加入面立方体集合时,公共面都会发生改变,因此需要步骤M4。无法保证先前加入面立方体集合形成过程中的立方体会继续在其改变后仍与公共面相交。步骤M4弥补了这一问题。步骤Y1至Y8分别应用于面立方体集合中的各个立方体,由此在必要情况下可并行应用。
面立方体集合平整化过程的步骤如下:
Y1.若立方体与公共面相交,则停止。
Y2.将立方体移出面立方体集合。
Y3.将当前点设定为立方体中的第一点云点。
Y4.利用公式将当前点x(k)投射至公共面上的最近点p(k)上。
Y5.查找包含投影点的立方体。将该立方体称作投影立方体。这种计算的具体细节取决于立方体在空间中如何布局。在一范例中,立方体以行、列及层方式布置。若
其中h是解析度,X0、Y0、Z0选为对全部k都满足X0≤Pk,Y0≤Qk且Z0≤Rk。则投影点p(k)=(Pk,Qk,Rk)包含于行I、列J及层K中的立方体内。
Y6.若投影立方体尚未属于面立方体集合,则将投影立方体添加至面立方体集合。在此,投影立方体意指包含投影点p(k)的立方体。
Y7.若当前点是立方体中的最后一点云点,则停止。
Y8.将当前点设定为立方体中的下一点云点,转至步骤Y4。
图6是步骤M5的流程图,具体示出步骤X1至X10,这些步骤应用于识别面立方体集合中的成员,其相邻者不属于面立方体集合但与其公共面相交。将标识的立方体存储在面边界立方体集合中。在步骤M5的应用阶段,每一面立方体集合均已平整化,从而其全部立方体都与其公共面相交。
X1.创建空白的面边界立方体集合。
X2.若面立方体集合为空,则停止。
X3.将当前立方体设定为面立方体集合中的第一立方体。
X4.生成包含当前立方体的18个正交相邻立方体的列表。在此,正交相邻立方体意指与当前立方体共享表面或边缘的立方体。应指出,仅与当前立方体共享唯一顶点的立方体并非正交的相邻者。
X5.将测试立方体设定为正交相邻立方体的列表中的第一立方体。
X6.若测试立方体是面立方体集合的成员,则转至步骤X8。
X7.若公共面相交于测试立方体,则将当前立方体添加至面边界立方体集合,转至步骤X9。
X8.若测试立方体并非正交相邻立方体列表中的最后一立方体,则将测试立方体设定为列表的下一成员,转至步骤X6。
X9.将当前立方体是面立方体集合中的最后一立方体,则停止。
X10.将当前立方体设定为面立方体集合中的下一立方体,转至步骤X4。
图7是步骤M6的流程图,具体示出子步骤Z1至Z21,这些步骤应用于跟踪每一面立方体集合的边界多边形。在步骤M6的应用阶段,每一面立方体集合均已平整化,从而其全部立方体都与其公共面相交。公共面与任一相交于公共面的立方体(包括不属于面立方体集合的立方体)的相交处均为称作立方体集合相交多边形的凸多边形。若任意两个与公共面相交的立方体的相交多边形共享至少一个公共边,则二者视为共面相邻者。应指出,相交多边形仅共享一顶点的立方体并非共面相邻者。例如在图14中,多边形D0C0P0及C0B0Q0均为多边形A0B0C0D0E0的共面相邻者,但多边形C0Q0P0却并非如此。
多边扇形是一列绕中心顶点相继布置的两个以上凸多边形,从而除最后一多边形外,每一多边形均与列中的下一多边形共享一个公共边。例如在图14中,多边形C0D0E0A0B0、C0B0Q0、C0Q0P0及C0P0D0包括绕中心顶点C0的四成员多边扇形。公共边为C0B0、C0Q0及C0D0。同理,在图15中,多边形GHO、GOB及GBF包括绕中心顶点G的三成员多边扇形。公共边为GO及GB。
在下文中简述起见,将属于面立方体集合的立方体的相交多边形称作内多边形,反之则将其称作外多边形。面边界立方体集合中各个立方体的相交多边形是内多边形并是至少一个外多边形的共面相邻者。内外多边形间共享的边缘称作外边缘。它们形成一个或多个闭合的多边形(但并非一定呈凸状),称作面立方体集合的边界多边形。边界多边形的连续边缘是多边扇形的连续边缘,该多边扇形的成员是全部内多边形。通过步骤M6跟踪这些边界多边形。
若在面立方体集合中具有一个或多个空洞并且/或者若面立方体集合的立方体形成一个或多个部分,其中每一部分都与同一立方体集合的其他部分分开或仅通过公共顶点与其他部分相连,则该面立方体集合会有一个以上边界多边形。在如图15所示的实例中,为便于绘图起见,所有多边形均为三角形。阴影部分的多边形为全部内多边形。非阴影部分的多边形为外多边形,所述外多边形为至少一个内多边形的共面相邻者。除OIK、OKC和OBG之外,所有阴影多边形还是面边界立方体集合的成员。在图15中具有三个边界多边形:ABC、DEFGHIJKLMN和PQF。由于相交多边形EFB与PQF并非其全部成员均为内多边形的多边扇形的成员,因此边缘EF和FP并非同一边界多边形的连续边缘。与此相反,边缘HG和GF则是由多边形GHO、GOB及GBF形成的三成员多边扇形的连续边缘。同理,边缘AB和BC是由多边形BAE、BEF、BFG、BGO及BOC形成的五成员多边扇形的连续边缘。
如下所述,跟踪边界多边形的边缘。参见图7:
Z1.创建空白的边界多边形列表。
Z2.若面边界立方体集合为空,则停止。
Z3.将面立方体集合中的第一立方体选为当前立方体。
Z4.将当前立方体的相交多边形中的全部外边缘标记为未使用。
Z5.若当前立方体并非面边界立方体集合中的最后一立方体,则将集中的下一立方体设定为当前立方体,转至步骤Z4。对面边界集中的全部立方体循环步骤Z4和Z5,确保其相交多边形的全部外边缘都标记为未使用。
Z6.创建新的空白边界多边形。该边界多边形是一组依序形成的外边缘,其中围绕公共面的一个边界跟踪这些外边缘。
Z7.将面边界立方体集合中的第一立方体选为当前立方体。
Z8.将当前立方体的相交多边形中的任一未使用外边缘选为当前边缘。
Z9.将当前边缘的两个节点标注为A和B。该边缘将视为始于节点A且终于节点B。在此,可任意选择边缘的方向。
Z10.将当前边缘添加至边界多边形。而且,存储包含当前边缘的立方体集合,用于步骤U2和U7。
Z11.将当前边缘标记为已使用。
Z12.查找当前立方体集合的相交多边形的下一多边形边缘。这一边缘是当前多边形中唯一以B作为其节点之一的边缘(除AB之外)。将所述下一多边形边缘的另一节点标注为C。如图16所示,该下一边缘的位置取决于当前边缘的哪一节点是B节点。
Z13.若所述下一边缘是外边缘,则转至步骤Z18。
Z14.若当前立方体集合的多边形相交处并未具有任何余留的未使用外边缘,则将当前立方体移出面边界立方体集合。
Z15.将当前立方体设定为唯一的共面相邻立方体,其相交多边形包含下一边缘BC。
Z16.将下一边缘设定为当前立方体中具有节点B作为其节点之一的另一边缘。将该另一节点标注为C。
Z17.若所述下一边缘并非外边缘,则转至步骤Z15,反之则转至步骤Z18。在多边扇形上循环步骤Z15至Z17,直至查出扇形成员具有与扇形中心顶点相连的外边缘。举例而言,假设在步骤Z15开始时,在图15中的边缘HG是当前边缘且GO是下一边缘。应指出,步骤Z13已验证GO并非外边缘。步骤Z15将当前相交多边形设定为GOB。步骤Z16将下一边缘设定为GB。由于GB亦非外边缘,因此步骤Z17使动作返回步骤15。步骤Z15在此将当前相交多边形设定为GBF,步骤Z16将下一边缘设定为GF。此刻,下一边缘GF终于是外边缘,从而步骤Z17使动作退出循环。另一方面,若在步骤Z15开始时,当前及下一边缘为GF和FB,则步骤15将当前相交多边形设定为FBE,步骤16将下一边缘设定为FE,其为外边缘,从而步骤Z17即刻退出循环。作为最后实例,假设在步骤Z15开始时,当前及下一边缘为AB和BE。步骤Z15将当前相交多边形设定为BEF,步骤Z16将下一边缘设定为BF。由于BF并非外边缘,因此步骤Z17将动作返回步骤Z15。重复步骤Z15至Z17,依次考察边缘BG和BO,二者均非外边缘,随后考察到外边缘BC,退出循环。
Z18.若下一边缘与边界多边形中的第一边缘不同,则将当前边缘设定为下一边缘,转至步骤Z10。
Z19.若当前立方体集合的多边形相交处并未具有任何余留的未使用外边缘,则将当前立方体移出面边界立方体集合。
Z20.将边界多边形添加至边界多边形的列表。
Z21.若面边界立方体集合非空,则转至步骤Z6,反之则停止。
图8是步骤M7的流程图,具体示出子步骤U1至U11,这些步骤应用于计算云边界点的位置。步骤U1至U11应用于在步骤M6算出的每一单独的边界多边形。应指出,在步骤U4和U8规定的节点A和B可以在步骤M6存储或者可通过比较边界多边形中前一边缘与下一边缘的顶点推导得出。
U1.将当前边缘设定为边界多边形中的第一边缘。
U2.将当前立方体设定为当前边缘所在的立方体。在跟踪边界多边形时,已在步骤10存储任一边缘所在立方体的标识。立方体是面立方体集合的成员。
U3.将居首的边缘设定为当前边缘。
U4.将P设定为当前边缘的A节点。
U5.若当前边缘未边界多边形中的最后一边缘,则转至步骤U8。
U6.从边界多边形获取下一边缘。
U7.若下一边缘位于当前立方体中,则将当前边缘设定为下一边缘,转至步骤U6。在跟踪边界多边形时,已在步骤10存储任一边缘所在立方体的标识。重复步骤U6和U7,直至当前边缘为当前立方体中的最后一边缘。
U8.将Q设定为当前边缘的B节点。
U9.将云边界点设定为到线PQ的有向距离最大的投影点云点。利用步骤Y4的公式将点云点投射至平面。可通过dk=vT(p(k)-q)计算投影点p(k)的有向距离dk,其中q为线PQ中的任意点(最简单为P或Q),其中v是到PQ的法线,位于公共面内并具单位长度。应指出,-v同样满足这些条件。通过测定dk对当前正交多边形的任意顶点(同样也是边界多边形的顶点)非负以及dk对任何其他顶点非正,做出对v和-v的正确选择。相交多边形始终存在至少一个dk在其上非零的顶点,从而其标志可以得到区分。步骤U9的几何图形如图17至19所示。在这三个附图中,相交多边形为PCQBA,边界多边形的边缘为QB、BA和AP。唯有顶点C并不位于边界多边形上。如图所示,法向量v指向dk必然增大的方向。由阴影部分表示点云。使有向距离最大化的投影点云点标记为X,KL是穿过X并平行于PQ的线。
U10.若在相交多边形内还有其他投影点云点接近穿过云边界点且平行于PQ的直线,则将云边界点设定为充分接近穿过在步骤U9中算出的云边界点位置的平行线的全部投影点云点的平均数。在此,“充分接近”意指全部投影点云点到平行线的距离小于特定公差,其所占比例很小,如分辨率的四分之一或十分之一。步骤U10的几何图形如图19所示,其中KL为投影点云的边缘。假设点云点均匀分布,则在PCQBA内充分接近KL的点的平均点大约会在X。
U11.若当前边缘并非边界多边形中的最后一边缘,则将当前边缘设定为边界多边形中的下一边缘,转至步骤U2,反之则停止。
图9是步骤M8的流程图,具体示出步骤V1至V14,这些步骤应用于将云边界点移至成对公共面之间的交线。
V1.创建全部面立方体集合的公共面的列表。该列表包含公共面的法向量及平均值。
V2.若公共面列表为空,则停止。
V3.将当前面设定为公共面列表中的第一公共面。
V4.将当前云边界点设定为当前面中的第一云边界点。为进行步骤M8,云边界点可以任意次序列出。特别地,与不同边界多边形相关的云边界点毋须存在区别。
V5.将最小距离设定为无穷。在此,“无穷”意指任意绝对大于云边界点与任意公共面间距离的正数。无穷的适当值为10至30次幂。
V6.将相邻面设定为公共面列表中的第一公共面。
V7.若相邻面与当前面相同,则转至步骤V11。
V8.若当前与相邻面的法向量间的角度充分小(如小于1度),则转至步骤V11。该测试的目的在于,防止意图计算近乎平行平面的相交处。
V9.将当前云边界点投射至相邻面上,更确切而言,将其投射至由当前及相邻面相交形成的直线上。将当前云边界点x(k)投射至点
该点位于由以下两个公共面相交形成的直线上,
其中α=[u(i)]T(u(j)), 且
在几何图形上,p(k)是直线上到x(k)的最近点。应指出,两个法向量u(i)和u(j)须具单位长度。
V10.若当前云边界点与其投影处之间的距离D小于最小距离,则将最小距离设定为D并将最佳投影点设定为当前投影点。
V11.若相邻面并非公共面列表中的最后一面,则将相邻面设定为公共面列表中的下一面,转至步骤V7。
V12.若最小距离充分小,则将当前云边界点的位置移至最佳投影点的位置,转至步骤V13。在此,“充分小”意指所占比例很小,如分辨率的四分之一或十分之一。在表示几何图形的图20中,ABCD是特定面立方体集合的公共面,DCFE和ADEG是两个沿DC和AD相交于ABCD的邻近面立方体集合的公共面。短划线MN和KL平行于DC和AD且表明视为充分接近交线的点的距离。点P1、P2、P3和P4是云边界点的示例位置。P2和P4到DC的距离充分小,从而将其移至其投影处Q2和Q4上。云边界点P1充分接近DC和AD。然而,其更接近AD,由此将其移至Q1。与之相反,P2并未充分接近任何相交处,由此并未移动。
V13.若当前云边界点并非当前面的云边界点列表中最后一云边界点,则将当前云边界点设定为列表中的下一云边界点,转至步骤V5。
V14.若当前面并非公共面列表中的最后一面,则将当前面设定为公共面列表中的下一面,转至步骤V3。反之则停止。
图10是表示步骤W1至W24的流程图,其形成与公共直线(称为公共线)相交的连续共线立方体的集合。以这种方式形成的共线立方体的每一集合均称为线立方体集合。计算累加线立方体集合中点的数目其中nl是共线立方体l中点的数目。计算还累加点云点的总数其中且外积的和其中并且在这两种情况下,总和为线立方体集合内全部共线立方体l中的全部点云点,其中x(k,l)=(Xkl,Ykl,Zkl)是共线立方体l中的第k个点云点。
可通过及计算出线立方体集合内全部共线立方体中点云点的平均值及协方差矩阵V。
同理,可通过及计算出共线立方体l中点云点的平均值及协方差矩阵V(l)。
在穿过共线立方体l中全部点云点的数学线上的任意点x均可写为其中α是标量参数,其中u(l)是对应于协方差矩阵V(l)的唯一最大特征值的协方差矩阵V(l)的特征向量并且在用于计算V(l)的特征向量时通过雅可比方法作为附带结果算出。
同理,在穿过面立方体集合的全部立方体中全部点云点的数学面上的任意点均可写为其中u是垂直于公共线的单位向量,其等于对应于协方差矩阵V的唯一最大特征值的累加协方差矩阵V的特征向量并且可通过雅可比方法算出。在步骤W14及W21,所述方法将当前累加的线立方体集合中的数学直线与拟合穿过当前共线立方体l的线相比较,以确定两直线是否本身共线。在这两个步骤中使用不同标准。
标准A用于步骤W14且规定uTu(l)>cosθ0,其确保两平面间的角度小于θ0弧度,并规定其确保平均值的距离小于d1距离单位。在此,标准A等同于在步骤B14中所用的标准A,只不过此处u为公共线上的向量,而非公共面的法向量。可以该角度重新解读图13。
标准C用于步骤W21并规定
其确保共线立方体l中每一点x(k,l)到公共线的平均平方距离均小于d2距离单位。
W1.创建未使用的立方体列表,其包含在步骤M2中标识的全部共线立方体。在该列表中的任意立方体均称为未使用立方体。
W2.若未使用列表为空,则停止。
W3.创建称作线立方体集合的空白立方体列表。该线立方体集合将扩展为包含由公共直线相交的全部共线立方体。最终,当前处于未使用立方体列表中的各立方体均将移至线立方体集合中,即便在该线立方体集合仅包含唯一立方体的情况下亦然。
W4.将当前立方体设定为未使用列表中的第一立方体。
W5.创建称作候选列表的空白立方体列表。该列表会包含视为纳入线立方体集合的候补者的未使用共线立方体。
W6.创建称作特殊列表的空白立方体列表。该列表会包含新近拒为纳入线立方体集合的候补者的未使用共线立方体。
W7.将当前立方体从未使用列表移入线立方体集合。因而,各线立方体集合均包含至少一个立方体。
W8.将线立方体集合中点的总数设定为等于当前立方体中点的总数。
W9.将线立方体集合中点的外积和设定为等于当前立方体中点的外积和。
W10.将未使用列表中的当前立方体的全部相邻立方体都添加至候补列表。在此,若立方体与当前立方体共享表面或顶点,则其即为当前立方体的相邻者。
W11.若候补列表为空,则转至步骤W18。
W12.将当前立方体设定为候补列表中的第一立方体。
W13.将当前立方体移出候补列表。
W14.若当前立方体并未达到标准A,则将该当前立方体添加至特殊列表,转至步骤W11。
W15.将当前立方体从未使用列表移至线立方体集合。
W16.将当前立方体l中点的总数s1添加至线立方体集合中点的累加和s。
W17.将当前立方体l中点的外积和W1添加至线立方体集合中点的外积的累加和W,转至步骤W10。
W18.若特殊列表为空,则输出线立方体集合的数据,转至步骤W2。
W19.将当前立方体设定为特殊列表中的第一立方体。
W20.将当前立方体移出特殊列表。
W21.若当前立方体并未达到标准C,则转至步骤W18。
W22.将当前立方体从未使用列表移至线立方体集合。
W23.将当前立方体l中点的总数s1添加至线立方体集合中点的累加和s。
W24.将当前立方体l中点的外积和W1添加至线立方体集合中点的外积的累加和W,转至步骤W18。
图11是步骤M11的流程图,具体示出步骤T1至T8,这些步骤应用于线立方体集合中每一立方体,以确保线立方体集合中每一立方体均与其公共线相交。步骤M11作用在于使线立方体集合平整化。在步骤M11中,每当新的立方体加入面立方体集合时,公共面都会发生改变,因此需要步骤M10。无法保证先前加入线立方体集合形成过程中的立方体会继续在其改变后仍与公共线相交。步骤M11弥补了这一问题。步骤T1至T8分别应用于面立方体集合中各个立方体,由此在必要情况下可并行应用。
线立方体集合平整化过程的步骤如下:
T1.若立方体与公共线相交,则停止。(在该立方体上无需进一步动作。)
T2.将立方体移出线立方体集合。
T3.将当前点设定为立方体中的第一点云点。
T4.利用公式将当前点x(k)投射至公共线上的最近点p(k),其中是线立方体集合中点的形心。
T5.查找包含投影点的立方体。将该立方体称作投影立方体。有关如何计算投影立方体的详情,请参阅步骤Y5。
T6.若投影立方体尚未属于线立方体集合,则将投影立方体添加至线立方体集合。
T7.若当前点是立方体中的最后一点云点,则停止。
T8.将当前点设定为立方体中下一点云点,转至步骤T4。
图12是步骤M12的流程图,具体示出步骤S1至S16,这些步骤应用于标识线工具集的公共线的端点。在步骤M12的应用阶段,每一线立方体集合均已具其全部立方体都与其公共线相交的特性。任意与公共线相交的立方体(包括并非线立方体集合成员的立方体)在两点(可能重合)触及公共线,这两点称作立方体相交点。任意两个与公共线相交并共享相交点的立方体均称作共线相邻者。由两个共线相邻者(仅其中之一为线立方体集合的成员)共享的任意相交点称作线立方体的端点。步骤M12可使线立方体具有两个以上端点。
步骤M12分别应用于每一线立方体集合。其逐步将立方体移出线立方体集合,直至该集为空。步骤M12可并行应用。
S1.创建A和B节点对的空白列表。在步骤M12完成时,列表中每一节点对将代表线立方体集合的公共线上一个线段的两个端点。
S2.若线立方体集合为空,则停止。
S3.将当前立方体设定为线立方体集合中第一立方体。
S4.若当前立方体并未包含线立方体集合的端点,则将当前立方体移出线立方体集合,转至步骤S6。
S5.将当前立方体设定为线立方体集合中下一立方体,转至步骤S4。在步骤S5中,下一立方体可以是余留在线立方体集合中的任意立方体。
S6.将当前节点对设定为当前立方体的相交点。
S7.若当前节点对的两个节点均为线立方体集合的端点,则将一节点标注为A,将另一节点标注为B,转至步骤S16。
S8.将当前节点对的唯一端点存储为A。
S9.将下一立方体设定为当前立方体的同样是线立方体集合成员的唯一相邻立方体。
S10.将当前立方体存储为前一立方体。
S11.将当前立方体设定为下一立方体。
S12.将当前立方体移出线立方体集合。
S13.将当前节点对设定为当前立方体的相交点。
S14.若当前节点对的两个节点均非端点,则将下一立方体设定为并非前一节点的唯一相邻立方体,转至步骤S10。
S15.将唯一端点存储为B节点。
S16.若A和B节点并不重合(在公差范围内),则将A和B节点添加至节点对列表。
S17.转至步骤S2。
尽管上述本发明的具体实施方案说明使用到立方体(可理解为四面体或其他三角曲面式空间填充形体),但本领域技术人员能够想到也可采用重叠体,特别是重叠球体。在这一实施方案中,可将相邻体定义为其中点位于与所述体的中点的预定距离之内。
图21示出从点云数据转换至建筑景观矢量图的效果。在图中特定尺寸的测量易于确定,建筑师可熟练使用矢量图完成设计图纸的修改。这就避免了建筑师须艰苦测量实体建筑或自然环境并从零开始制作3D模型等问题。
本领域技术人员能够理解可采用各种不同技术生成包括LIDAR的点云数据和摄影测量技术。这些技术的不同变化能够产生包含不止是位置信息的不同点云。同样可将该补充数据并入所述方法。例如,点云中的每一点可包括色度或亮度信息。一旦表面受到标识,即可利用原始标识表面的点的色度或亮度在模型上执行表面色度或亮度的映射。
所述方法同样可用于结合其他成像技术来改进3D模型的精确度并/或在模型上叠加其他成像数据。例如,扫描仪可结合使用三维照相机。可同时进行扫描及三维摄影,从而可生成照片真实的三维环境。
在不脱离本发明范围的情况下,本发明包括多种明显不同的实施方案,因此可以理解本发明并不限于其具体实施方案。
Claims (21)
1.一种用于将一个或多个对象的集合的点云数据转换为对象集合的三维表示的设备,其包括:
用于将所述对象集合所占空间分区为多个块体的装置;
用于确定每一块体内的点是否大致共存于一表面上的装置,其中所述块体是指定的表面块体,并且将点所共存的表面指定为该表面块体的表面;
用于将大致共存于类似表面上的第一组多个相邻表面块体整合为一表面块体集合的装置,其中将所述类似表面标识为一较大表面;以及
用于标识所述表面块体集合中的表面边缘块体集合的装置,该表面边缘块体集合包括所述表面块体集合中邻接由所述较大表面相交的空块体的块体。
2.如权利要求1所述的设备,其进一步包括:
用于生成所述对象集合的点云数据的装置。
3.如权利要求2所述的设备,其中所述用于生成点云数据的装置是光探测与测距(LIDAR)扫描仪。
4.如权利要求2所述的设备,其中所述用于生成点云数据的装置是扫描仪,该扫描仪包括:
配置用于捕捉对象集合的一个或多个图像的照相机;以及
配置用于在所述图像上执行摄影测量技术的处理器。
5.如权利要求3或4中任一项所述的设备,其中所述扫描仪适配于沿一路径移动并从该路径上的多个扫描点生成点云数据。
6.如权利要求1至5中任一项所述的设备,其进一步包括:
用于估计所述表面边缘块体集合中每一块体的边缘点的装置;以及
用于跟踪相邻体积中边缘点的装置。
7.如权利要求6所述的设备,其进一步包括:
用于标识位于接近由所述较大表面相交所形成曲线的每一体积的边缘点位置的装置;以及
用于将所述边缘点的位置移至相交曲线上的装置。
8.如权利要求1至7中任一项所述的设备,其进一步包括:
用于确定每一块体中的点是否大致共存于一曲线上的装置,其中将所述块体标识为曲线块体,并且将点所共存的曲线标识为该曲线块体的曲线;
用于将由类似曲线相交的第一组多个相邻曲线块体整合为一曲线块体集合的装置,其中将相交曲线标识为一较长曲线;以及
用于标识端点以界定曲线段的装置。
9.一种用于将一个或多个对象的集合的点云数据转换为对象集合的三维表示的方法,其包括:
将所述对象集合所占空间分区为多个块体;
确定每一块体内的点是否大致共存于一表面上,其中所述块体是指定的表面块体,并且将点所共存的表面指定为该表面块体的表面;
将大致共存于类似表面上的第一组多个相邻表面块体整合为一表面块体集合,其中将所述类似表面标识为一较大表面;以及
标识所述表面块体集合中的表面边缘块体集合,该表面边缘块体集合包括所述表面块体集合中邻接由所述较大表面相交的空块体的块体。
10.如权利要求9所述的方法,其进一步包括:
估计所述表面边缘块体集合中每一块体的边缘点;以及
跟踪相邻块体中的边缘点。
11.如权利要求10所述的方法,其进一步包括:
标识位于接近由所述较大表面相交所形成曲线的每一块体的边缘点位置;以及
将所述边缘点的位置移至相交曲线上。
12.如权利要求10至11所述的方法,其进一步包括:
确定每一块体中的点是否大致共存于一曲线上,其中将所述块体标识为曲线块体并将点所共存的曲线标识为该曲线块体的曲线;
将由类似曲线相交的第一组多个相邻曲线块体整合为一曲线块体集合,其中将相交曲线标识为一较长曲线;以及
标识端点以界定曲线段。
13.根据权利要求9至12中任一项所述的方法,其中点所共存的所述表面是平面。
14.根据权利要求9至12中任一项所述的方法,其中所述块体是非重叠立方体,并且相邻的立方体共享一个或多个公共面、公共边或公共顶点。
15.根据权利要求9至12中任一项所述的方法,其中所述块体是非重叠四面体或其他空间填充三角曲面形体;并且相邻的块体共享一个或多个公共面、公共边或公共顶点。
16.根据权利要求9至12中任一项所述的方法,其中所述块体是重叠的球体或其他形体。
17.根据权利要求9至16中任一项所述的方法,其中从多个扫描点导出所述点云数据。
18.如权利要求17所述的方法,其中所述多个扫描点位于移动式扫描仪的路径上。
19.根据权利要求1至18中任一项所述的方法,其中所述三维表示适用于计算机辅助设计(CAD)模型。
20.一种计算机程序,其包括用于使计算机执行如权利要求1至19中任一项所述方法的计算机可执行指令。
21.一种存储如权利要求20所述计算机程序的数据载体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1303540.7 | 2013-02-27 | ||
GBGB1303540.7A GB201303540D0 (en) | 2013-02-27 | 2013-02-27 | Image processing |
PCT/GB2014/000068 WO2014132020A1 (en) | 2013-02-27 | 2014-02-27 | Image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105103195A true CN105103195A (zh) | 2015-11-25 |
CN105103195B CN105103195B (zh) | 2019-06-07 |
Family
ID=48092234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480011022.6A Active CN105103195B (zh) | 2013-02-27 | 2014-02-27 | 图像处理 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10186080B2 (zh) |
EP (1) | EP2962286B8 (zh) |
JP (1) | JP6378215B2 (zh) |
KR (1) | KR102231665B1 (zh) |
CN (1) | CN105103195B (zh) |
AU (1) | AU2014222457B2 (zh) |
CA (1) | CA2902349C (zh) |
GB (1) | GB201303540D0 (zh) |
WO (1) | WO2014132020A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111429589A (zh) * | 2020-03-11 | 2020-07-17 | 上海嘉奥信息科技发展有限公司 | 基于二维视图进行三维空间划分的方法及系统 |
TWI709062B (zh) * | 2019-09-20 | 2020-11-01 | 財團法人資訊工業策進會 | 虛實疊合方法與系統 |
CN113297340A (zh) * | 2020-02-23 | 2021-08-24 | 北京初速度科技有限公司 | 点云地图的矢量化、矢量地图转化点云地图的方法和装置 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6468756B2 (ja) * | 2014-08-25 | 2019-02-13 | 株式会社ミツトヨ | 三次元モデルの生成方法、三次元モデルの生成システム及び三次元モデルの生成プログラム |
CN105469447A (zh) * | 2014-09-11 | 2016-04-06 | 富泰华工业(深圳)有限公司 | 点云边界直角边修补系统及方法 |
US9772405B2 (en) * | 2014-10-06 | 2017-09-26 | The Boeing Company | Backfilling clouds of 3D coordinates |
KR102434406B1 (ko) * | 2016-01-05 | 2022-08-22 | 한국전자통신연구원 | 공간 구조 인식을 통한 증강 현실 장치 및 그 방법 |
WO2018008183A1 (ja) * | 2016-07-07 | 2018-01-11 | 日本碍子株式会社 | 光走査素子 |
KR102526754B1 (ko) * | 2016-07-13 | 2023-04-27 | 삼성전자주식회사 | 3차원 영상 처리 방법 및 장치 |
KR102529120B1 (ko) * | 2016-07-15 | 2023-05-08 | 삼성전자주식회사 | 영상을 획득하는 방법, 디바이스 및 기록매체 |
US11537808B2 (en) | 2016-11-29 | 2022-12-27 | Blackmore Sensors & Analytics, Llc | Method and system for classification of an object in a point cloud data set |
KR102380943B1 (ko) | 2016-11-30 | 2022-03-30 | 블랙모어 센서스 앤드 애널리틱스, 엘엘씨 | 광학 거리 측정 시스템을 이용한 자동적인 실시간 적응형 스캐닝 방법과 시스템 |
KR102477195B1 (ko) | 2016-11-30 | 2022-12-12 | 블랙모어 센서스 앤드 애널리틱스, 엘엘씨 | 광 처프 거리 검출의 도플러 검출 및 도플러 보정을 위한 방법 및 장치 |
US11624828B2 (en) | 2016-11-30 | 2023-04-11 | Blackmore Sensors & Analytics, Llc | Method and system for adaptive scanning with optical ranging systems |
US10422880B2 (en) | 2017-02-03 | 2019-09-24 | Blackmore Sensors and Analytics Inc. | Method and system for doppler detection and doppler correction of optical phase-encoded range detection |
US11348269B1 (en) * | 2017-07-27 | 2022-05-31 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
US10482619B2 (en) * | 2017-07-27 | 2019-11-19 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
US10339669B2 (en) * | 2017-08-22 | 2019-07-02 | Here Global B.V. | Method, apparatus, and system for a vertex-based evaluation of polygon similarity |
EP3785043B1 (en) | 2018-04-23 | 2023-08-16 | Blackmore Sensors & Analytics, LLC | Method and system for controlling autonomous vehicle using coherent range doppler optical sensors |
CN109003330B (zh) * | 2018-07-02 | 2022-02-11 | 南京师范大学 | 一种基于基岩边界约束的三维地层建模方法 |
US11822010B2 (en) | 2019-01-04 | 2023-11-21 | Blackmore Sensors & Analytics, Llc | LIDAR system |
US11250594B2 (en) * | 2019-01-09 | 2022-02-15 | Tencent America LLC | Method and apparatus for geometry smoothing by local geometry projection |
JP7188201B2 (ja) | 2019-03-13 | 2022-12-13 | 富士通株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
CN114667732A (zh) * | 2019-12-02 | 2022-06-24 | Oppo广东移动通信有限公司 | 属性信息的预测方法、编码器、解码器、及存储介质 |
KR102513220B1 (ko) * | 2021-06-04 | 2023-03-24 | 주식회사 지에프티 | 3차원 영상을 위한 복수의 카메라 간의 인접 카메라 인식 시스템 및 방법 |
GB202108778D0 (en) | 2021-06-18 | 2021-08-04 | Pointfuse Ltd | Pointcloud processing, especially for use with building intelligence modelling (BIM) |
US11544419B1 (en) | 2021-07-26 | 2023-01-03 | Pointlab, Inc. | Subsampling method for converting 3D scan data of an object for marine, civil, and architectural works into smaller densities for processing without CAD processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060061566A1 (en) * | 2004-08-18 | 2006-03-23 | Vivek Verma | Method and apparatus for performing three-dimensional computer modeling |
CN1928921A (zh) * | 2006-09-22 | 2007-03-14 | 东南大学 | 三维扫描系统中特征点云带的自动搜索方法 |
EP2124196A1 (en) * | 2008-05-20 | 2009-11-25 | Oticon A/S | Apparatus and method for representing a scanned surface |
EP2385496A1 (en) * | 2010-05-07 | 2011-11-09 | Honeywell International Inc. | Extraction of 2D surfaces from a 3D point cloud |
CN102914501A (zh) * | 2012-07-26 | 2013-02-06 | 南京大学 | 一种利用激光点云计算三维森林冠层消光系数的方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623790A (en) * | 1987-08-24 | 1997-04-29 | Lalvani; Haresh | Building systems with non-regular polyhedra based on subdivisions of zonohedra |
JP3805120B2 (ja) * | 1999-01-29 | 2006-08-02 | 株式会社リコー | ボリュームモデル生成システム、ボリュームモデル生成方法およびコンピュータ読取可能な記録媒体 |
US7203634B2 (en) * | 2000-10-30 | 2007-04-10 | Translation Technologies, Inc. | Computational geometry system, interrupt interface, and method |
US6943789B2 (en) * | 2001-03-16 | 2005-09-13 | Mitsubishi Electric Research Labs, Inc | Conversion of adaptively sampled distance fields to triangles |
US6627206B2 (en) * | 2001-07-25 | 2003-09-30 | Greg A. Lloyd | Method and apparatus for treating obesity and for delivering time-released medicaments |
US6931367B2 (en) * | 2001-11-29 | 2005-08-16 | Faurecia Exhaust Systems, Inc. | Optimal rib design method for exhaust components |
US20050168460A1 (en) * | 2002-04-04 | 2005-08-04 | Anshuman Razdan | Three-dimensional digital library system |
US7860639B2 (en) * | 2003-02-27 | 2010-12-28 | Shaoping Yang | Road traffic control method and traffic facilities |
US7451704B1 (en) * | 2003-03-20 | 2008-11-18 | The United States Of America As Represented By The Secretary Of The Army | Multifunctional explosive fragmentation airburst munition |
US7860299B2 (en) | 2005-02-10 | 2010-12-28 | Trimble Ab | Methods and apparatus for image processing |
JP2006323608A (ja) * | 2005-05-18 | 2006-11-30 | Kozo Keikaku Engineering Inc | 立体構造物群モデル作成装置、立体構造物群モデル作成方法及び立体モデル作成システム |
WO2008138002A1 (en) * | 2007-05-08 | 2008-11-13 | Laser-Scan, Inc. | Three-dimensional topology building method and system |
US8204313B2 (en) * | 2007-08-30 | 2012-06-19 | Leica Geosystems Ag | Rapid, spatial-data viewing and manipulating including data partition and indexing |
US8019150B2 (en) * | 2007-10-11 | 2011-09-13 | Kwe International, Inc. | Color quantization based on desired upper bound for relative quantization step |
US20090144030A1 (en) * | 2007-12-04 | 2009-06-04 | Tele Atlas North America, Inc. | Computer readable storage medium storing instructions for applying clothoid curve values to roadways in a geographic data information system |
GB2456301A (en) | 2008-01-08 | 2009-07-15 | Gmj Design Ltd | Surface Representation from a Point Cloud |
US8244026B2 (en) | 2008-01-09 | 2012-08-14 | Tiltan Systems Engineering Ltd. | Apparatus and method for automatic airborne LiDAR data processing and mapping using data obtained thereby |
WO2010042466A1 (en) | 2008-10-06 | 2010-04-15 | Kevin Scott Williams | Apparatus and method for classifying point cloud data based on principal axes |
US8775063B2 (en) * | 2009-01-26 | 2014-07-08 | GM Global Technology Operations LLC | System and method of lane path estimation using sensor fusion |
US8386288B2 (en) * | 2009-01-27 | 2013-02-26 | Direct Response Medicine, Llc | Workflow management system and method with workflow package exchange between drop-box application programs |
US8290305B2 (en) | 2009-02-13 | 2012-10-16 | Harris Corporation | Registration of 3D point cloud data to 2D electro-optical image data |
US8330673B2 (en) * | 2009-04-02 | 2012-12-11 | GM Global Technology Operations LLC | Scan loop optimization of vector projection display |
US8581162B2 (en) * | 2009-12-08 | 2013-11-12 | Mitutoyo Corporation | Weighting surface fit points based on focus peak uncertainty |
US9024970B2 (en) * | 2011-12-30 | 2015-05-05 | Here Global B.V. | Path side image on map overlay |
CN102902864B (zh) | 2012-10-17 | 2015-01-21 | 山东理工大学 | 三维物体的近似最小体积包围盒快速求解方法 |
US9766712B2 (en) * | 2016-01-14 | 2017-09-19 | Google Inc. | Systems and methods for orienting a user in a map display |
-
2013
- 2013-02-27 GB GBGB1303540.7A patent/GB201303540D0/en not_active Ceased
-
2014
- 2014-02-27 US US14/769,074 patent/US10186080B2/en active Active
- 2014-02-27 WO PCT/GB2014/000068 patent/WO2014132020A1/en active Application Filing
- 2014-02-27 AU AU2014222457A patent/AU2014222457B2/en active Active
- 2014-02-27 EP EP14716619.3A patent/EP2962286B8/en active Active
- 2014-02-27 CA CA2902349A patent/CA2902349C/en active Active
- 2014-02-27 KR KR1020157024440A patent/KR102231665B1/ko active IP Right Grant
- 2014-02-27 CN CN201480011022.6A patent/CN105103195B/zh active Active
- 2014-02-27 JP JP2015559552A patent/JP6378215B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060061566A1 (en) * | 2004-08-18 | 2006-03-23 | Vivek Verma | Method and apparatus for performing three-dimensional computer modeling |
CN1928921A (zh) * | 2006-09-22 | 2007-03-14 | 东南大学 | 三维扫描系统中特征点云带的自动搜索方法 |
EP2124196A1 (en) * | 2008-05-20 | 2009-11-25 | Oticon A/S | Apparatus and method for representing a scanned surface |
EP2385496A1 (en) * | 2010-05-07 | 2011-11-09 | Honeywell International Inc. | Extraction of 2D surfaces from a 3D point cloud |
CN102914501A (zh) * | 2012-07-26 | 2013-02-06 | 南京大学 | 一种利用激光点云计算三维森林冠层消光系数的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI709062B (zh) * | 2019-09-20 | 2020-11-01 | 財團法人資訊工業策進會 | 虛實疊合方法與系統 |
CN113297340A (zh) * | 2020-02-23 | 2021-08-24 | 北京初速度科技有限公司 | 点云地图的矢量化、矢量地图转化点云地图的方法和装置 |
CN113297340B (zh) * | 2020-02-23 | 2023-12-19 | 北京初速度科技有限公司 | 点云地图的矢量化、矢量地图转化点云地图的方法和装置 |
CN111429589A (zh) * | 2020-03-11 | 2020-07-17 | 上海嘉奥信息科技发展有限公司 | 基于二维视图进行三维空间划分的方法及系统 |
CN111429589B (zh) * | 2020-03-11 | 2023-09-19 | 上海嘉奥信息科技发展有限公司 | 基于二维视图进行三维空间划分的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160012638A1 (en) | 2016-01-14 |
AU2014222457A1 (en) | 2015-09-03 |
JP6378215B2 (ja) | 2018-08-22 |
WO2014132020A4 (en) | 2014-10-16 |
CN105103195B (zh) | 2019-06-07 |
JP2016514310A (ja) | 2016-05-19 |
KR102231665B1 (ko) | 2021-03-24 |
EP2962286B1 (en) | 2023-06-28 |
AU2014222457B2 (en) | 2019-09-19 |
CA2902349A1 (en) | 2014-09-04 |
EP2962286A1 (en) | 2016-01-06 |
KR20150122676A (ko) | 2015-11-02 |
EP2962286B8 (en) | 2023-08-30 |
WO2014132020A1 (en) | 2014-09-04 |
CA2902349C (en) | 2021-09-21 |
GB201303540D0 (en) | 2013-04-10 |
US10186080B2 (en) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105103195A (zh) | 图像处理 | |
US20120047098A1 (en) | Method for computing and storing voronoi diagrams, and uses therefor | |
US11725962B2 (en) | Systems and methods for generating, updating and enhancing large-scale high-precision 3D road maps and multi-level road graphs | |
Alam et al. | Towards automatic validation and healing of CityGML models for geometric and semantic consistency | |
JP2016217941A (ja) | 3次元データ評価装置、3次元データ測定システム、および3次元計測方法 | |
Huhnt | Reconstruction of edges in digital building models | |
Jaljolie et al. | A topological-based approach for determining spatial relationships of complex volumetric parcels in land administration systems | |
CN112052489B (zh) | 一种户型图生成方法及系统 | |
Wakisaka et al. | Optimal laser scan planning for as-built modeling of plant renovations using mathematical programming | |
CN104090945A (zh) | 一种地理空间实体构建方法及系统 | |
Gary et al. | Determining the 3D structure of the corona using vertical height constraints on observed active region loops | |
Jarząbek-Rychard et al. | Automatic enrichment of indoor 3D models using a deep learning approach based on single images with unknown camera poses | |
Mengiste et al. | Automated integration of as-is point cloud information with as-planned BIM for interior construction | |
Li et al. | An integration system of AI cars detection with enclosed photogrammetry for indoor parking lot | |
Abdelmajid | Investigation and comparison of 3D laser scanning software packages | |
Lee et al. | Developing data fusion method for indoor space modeling based on IndoorGML core module | |
Werner | Efficiently using bitmap floorplans for indoor navigation on mobile phones | |
Puligandla et al. | Optimal Camera Placement To Visualize Surrounding View From Heavy Machinery | |
Thieling et al. | Automated generation of virtual road scenarios for efficient tests of driver assistance systems | |
Potapov et al. | The Maximum Cover with Rotating Field of View | |
Gröger et al. | Geometry and topology | |
Goto et al. | Contour detection with bicubic spline surfaces | |
Xie et al. | Urban 3D building model applied to true orthoimage generation | |
Lebeck et al. | Computing highly occluded paths using a sparse network | |
Miao-Le et al. | The basic topology model of spherical surface digital space |
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 |