[go: up one dir, main page]

CN115760954A - Method for rapidly calculating surface area of complex surface based on point cloud data - Google Patents

Method for rapidly calculating surface area of complex surface based on point cloud data Download PDF

Info

Publication number
CN115760954A
CN115760954A CN202211256840.5A CN202211256840A CN115760954A CN 115760954 A CN115760954 A CN 115760954A CN 202211256840 A CN202211256840 A CN 202211256840A CN 115760954 A CN115760954 A CN 115760954A
Authority
CN
China
Prior art keywords
point
points
formula
bou
interp
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.)
Pending
Application number
CN202211256840.5A
Other languages
Chinese (zh)
Inventor
田朋举
戚鹏程
鲁丰先
杨杰
张淼
张杰云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanyang Normal University
Original Assignee
Nanyang Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanyang Normal University filed Critical Nanyang Normal University
Priority to CN202211256840.5A priority Critical patent/CN115760954A/en
Publication of CN115760954A publication Critical patent/CN115760954A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明提供基于点云数据快速计算复杂表面表面积的方法,包括:步骤1.将待计算的复杂表面的原始点云分割成一系列小面片,并将点投影至拟合面;步骤2.对投影后的点云Fporj进行特别设计的刚体变换得到点云Ftran;步骤3.提取Ftran中的边缘点Fbou;步骤4.计算Fbou的中心点pcen,对于Fbou中的任意一点pbou,计算出由pcen和pbou确定的法向量

Figure DDA0003889902910000011
再计算出夹角θi,排序并存储在θsort中,针对已排好序的边缘点,插值后重新排序,得到新的边缘点集合;步骤5.对于边缘点集合中的任意两个相邻点,均计算出与中心点所围成的三角形或扇形面积,对所有面片累加得到复杂表面的表面积。

Figure 202211256840

The present invention provides a method for quickly calculating the surface area of complex surfaces based on point cloud data, comprising: step 1. dividing the original point cloud of the complex surface to be calculated into a series of small facets, and projecting the points to the fitting surface; step 2. The projected point cloud F porj is subjected to a specially designed rigid body transformation to obtain the point cloud F tran ; Step 3. Extract the edge point F bou in F tran ; Step 4. Calculate the center point p cen of F bou , for any point in F bou A point p bou , calculate the normal vector determined by p cen and p bou

Figure DDA0003889902910000011
Then calculate the included angle θ i , sort and store in θ sort , and reorder the sorted edge points after interpolation to obtain a new set of edge points; step 5. For any two phases in the set of edge points The area of the triangle or sector surrounded by the center point is calculated for the adjacent points, and the surface area of the complex surface is obtained by accumulating all the patches.

Figure 202211256840

Description

基于点云数据快速计算复杂表面表面积的方法Method for fast calculation of complex surface surface area based on point cloud data

技术领域technical field

本发明属于三维激光扫描技术领域,具体涉及一种基于点云数据快速计算复 杂表面表面积的方法。The invention belongs to the technical field of three-dimensional laser scanning, in particular to a method for quickly calculating the surface area of complex surfaces based on point cloud data.

背景技术Background technique

实际工作中,常常需要对物体的表面积进行计算,表面积计算在医疗、土地 调查、农业等领域起着重要的作用。规则物体的表面积可以通过简单的数学计算 来实现,而不规则物体的表面积计算则比较复杂,不同方法得到的结果也不尽相 同。地表面积的计算以往主要使用GPS、全站仪、激光跟踪仪、激光测距仪等多 种测量仪器进行,根据得到的离散点和边长,采用曲面拟合方法、曲线拟合方法、 不规则网络方法等方法计算面积。然而,单点测量的精度普遍受到激光测距和刻 度盘测角精度的限制,测距和测角误差的影响难以减弱。这些方法效率低,精度 差,计算成本高,特别是对于难以接近的、大规模的、粗糙的、弯曲的目标物体。In practical work, it is often necessary to calculate the surface area of an object, and surface area calculation plays an important role in fields such as medical treatment, land survey, and agriculture. The surface area of a regular object can be realized by simple mathematical calculations, while the calculation of the surface area of an irregular object is more complicated, and the results obtained by different methods are not the same. In the past, the calculation of the surface area was mainly carried out by various measuring instruments such as GPS, total station, laser tracker, and laser rangefinder. According to the obtained discrete points and side lengths, surface fitting methods, curve fitting methods, and irregular Network methods and other methods to calculate the area. However, the accuracy of single-point measurement is generally limited by the accuracy of laser ranging and dial angle measurement, and the influence of ranging and angle measurement errors is difficult to weaken. These methods suffer from low efficiency, poor accuracy, and high computational cost, especially for inaccessible, large-scale, rough, and curved target objects.

发明内容Contents of the invention

本发明是为了解决大规模复杂表面的表面积计算中存在的效率低、精度差和 成本高等问题而进行的,目的在于提供一种基于点云数据快速计算复杂表面表面 积的方法,特别适合于难以接触、大尺度、粗糙和弯曲的目标物体。The present invention is carried out to solve the problems of low efficiency, poor precision and high cost in the calculation of the surface area of large-scale complex surfaces. , large scale, rough and curved target objects.

本发明为了实现上述目的,采用了以下方案:In order to achieve the above object, the present invention adopts the following scheme:

本发明提供一种基于点云数据快速计算复杂表面表面积的方法,其特征在于, 包括以下步骤:步骤1.采用自适应的超体素分割算法将待计算的复杂表面的原 始点云Porig分割成一系列的小面片Ffac,对每个面片Ffac进行拟合,并将该面片 上的点投影至对应的精确拟合的平面上;The present invention provides a kind of method based on point cloud data fast calculation complex surface surface area, it is characterized in that, comprises the following steps: Step 1. adopts adaptive super voxel segmentation algorithm to divide the original point cloud P orig of the complex surface to be calculated Form a series of small facets F fac , fit each facet F fac , and project the points on the facet to the corresponding accurately fitted plane;

步骤2.设Fporj为Ffac投影后的点云,对Fporj进行特别设计的刚体变换:以 Fporj上的中心点为局部坐标系原点,以中心点与Fporj上第一个点的法向量为局部 坐标系X轴,以Fporj的法向量为局部坐标系Z轴,以局部坐标系X轴与局部坐 标系Z轴的叉积为局部坐标系Y轴,执行刚体变换,使Fporj法向量与整体坐标 系Z轴平行;Step 2. Let F porj be the point cloud after F fac projection, and perform a specially designed rigid body transformation on F porj : take the center point on F porj as the origin of the local coordinate system, and take the center point and the first point on F porj The normal vector is the X-axis of the local coordinate system, the normal vector of F porj is the Z-axis of the local coordinate system, and the cross product of the X-axis of the local coordinate system and the Z-axis of the local coordinate system is used as the Y-axis of the local coordinate system, and the rigid body transformation is performed to make F The porj normal vector is parallel to the Z axis of the global coordinate system;

步骤3.设Fporj经刚体变换后得到的点云为Ftran,经过刚体变换后,空间中 具有任意姿态角的平面将与X-Y面平行,每个点的z坐标值都相同,然后提取 Ftran中的边缘点FbouStep 3. Let the point cloud obtained by F porj undergo rigid body transformation be F tran . After rigid body transformation, the plane with any attitude angle in space will be parallel to the XY plane, and the z coordinate value of each point is the same, and then extract F The edge point F bou in tran ;

步骤4.计算出Fbou的中心点pcen,令

Figure BDA0003889902890000021
为起始方向,对于Fbou中的任 意一点pbou,计算出由pcen和pbou确定的法向量
Figure BDA0003889902890000022
再计算出
Figure BDA0003889902890000024
Figure BDA0003889902890000023
之间的夹 角θi,将计算得到的角度θi按预定顺序(例如,顺时针或逆时针)排序并存储在 θsort中,对应点的顺序也随之调整并存储在Psort中,针对已排好序的边缘点Psort, 因有些平面的边缘点比较稀疏,为获得更加可靠的面积计算结果,若两个相邻边 缘点的距离大于一定阈值(如0.01m),则对其进行插值加密,对插值后的点重新 排序,得到新的边缘点集合PinterpStep 4. Calculate the center point p cen of F bou , let
Figure BDA0003889902890000021
is the starting direction, for any point p bou in F bou , calculate the normal vector determined by p cen and p bou
Figure BDA0003889902890000022
Then calculate
Figure BDA0003889902890000024
and
Figure BDA0003889902890000023
The angle θ i between , the calculated angle θ i is sorted in a predetermined order (for example, clockwise or counterclockwise) and stored in θ sort , and the order of the corresponding points is also adjusted accordingly and stored in P sort , For the sorted edge points P sort , because the edge points of some planes are relatively sparse, in order to obtain more reliable area calculation results, if the distance between two adjacent edge points is greater than a certain threshold (such as 0.01m), the Perform interpolation encryption, reorder the interpolated points, and obtain a new set of edge points P interp ;

步骤5.对于Pinterp中的任意两个相邻点pi和pj,均计算出由pi、pj和pcen构 成的三角形或扇形面积Sarea,将所有面片内的所有三角形或扇形面积相加得到复 杂表面的表面积SallStep 5. For any two adjacent points p i and p j in P interp , the triangle or sector area S area formed by p i , p j and p cen is calculated, and all triangles or The sector areas are summed to obtain the surface area S all of the complex surface.

本方法主要是在无组织点云上进行表面积计算,与点云数据来源方式无关, 只要能够获取到我们步骤中所要求的数据就可以,例如,本方法适用于利用倾斜 摄影方式得到的点云,或者人工合成的仿真点云,更适用于激光雷达技术无接触 式地获取物体表面精确的三维信息。例如,对于一些难以接近的、大规模的、粗 糙的、弯曲的目标物体,普通的测量方式难以获取其准确的表面积,可首先利用 三维激光扫描仪得到物体表面点云,再利用本方法计算表面积。This method is mainly to calculate the surface area on the unorganized point cloud, it has nothing to do with the source of the point cloud data, as long as the data required in our steps can be obtained, for example, this method is applicable to the point cloud obtained by oblique photography , or artificially synthesized simulation point clouds, are more suitable for LiDAR technology to obtain accurate three-dimensional information on the surface of objects without contact. For example, for some inaccessible, large-scale, rough, and curved target objects, it is difficult to obtain the accurate surface area by common measurement methods. First, use a 3D laser scanner to obtain the surface point cloud of the object, and then use this method to calculate the surface area .

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤1的超体素分割过程中,将每个点的邻近点数目ε)设 置为20,若Porig中平面结构特征占比达到50%以上,则将距离尺度εd设置为 0.4~0.6m,否则将距离尺度εd设置为0.3~0.2m。Further, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention can also have the following characteristics: in the supervoxel segmentation process of step 1, the number of adjacent points (ε ) of each point is set to 20, If the proportion of planar structure features in P orig reaches more than 50%, set the distance scale ε d to 0.4-0.6m, otherwise set the distance scale ε d to 0.3-0.2m.

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤1中,对于生成的每个面片Ffac,采用基于PCA(Principal ComponentAnalysis)的稳健平面拟合方法对其进行拟合,设Ffac中的点所在平面方 程为:Further, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following features: In step 1, for each generated face F fac , a robust plane based on PCA (Principal Component Analysis) is used The fitting method fits it, and the plane equation of the point in F fac is set as:

Ax+By+Cz+D=0 (1)Ax+By+Cz+D=0 (1)

式中,A、B和C为平面的三个法向量且满足A2+B2+C2=1;In the formula, A, B and C are three normal vectors of the plane and satisfy A 2 +B 2 +C 2 =1;

Ffac上一点pi到该平面的距离di为:The distance d i from point p i on F fac to the plane is:

di=|Axi+Byi+Czi+D| (2)d i =|Ax i +By i +Cz i +D| (2)

式中,xi,yi和zi为点pi的坐标值;In the formula, x i , y i and z i are the coordinate values of point p i ;

目标函数

Figure BDA0003889902890000031
应满足如下条件:objective function
Figure BDA0003889902890000031
The following conditions should be met:

Figure BDA0003889902890000032
Figure BDA0003889902890000032

式中,N为Ffac中的点数;In the formula, N is the number of points in F fac ;

利用拉格朗日乘数法求解目标函数

Figure BDA0003889902890000033
最小值,首先组成以下函数:Using Lagrange Multiplier Method to Solve the Objective Function
Figure BDA0003889902890000033
minimum, first compose the following function:

Figure BDA0003889902890000041
Figure BDA0003889902890000041

式中,λ为待定参数;In the formula, λ is an undetermined parameter;

将式(4)对D求偏导并令求导结果为0,得到下式:Calculate the partial derivative of formula (4) with respect to D and set the result of the derivative to 0 to obtain the following formula:

Figure BDA0003889902890000042
Figure BDA0003889902890000042

则有:Then there are:

Figure BDA0003889902890000043
Figure BDA0003889902890000043

式中,

Figure BDA0003889902890000044
In the formula,
Figure BDA0003889902890000044

式(2)可改写为如下形式:Formula (2) can be rewritten as the following form:

Figure BDA0003889902890000045
Figure BDA0003889902890000045

利用式(4)分别对A、B和C求偏导,可得如下关系:Using equation (4) to calculate the partial derivatives of A, B and C respectively, the following relationship can be obtained:

Figure BDA0003889902890000046
Figure BDA0003889902890000046

式中,

Figure BDA0003889902890000047
In the formula,
Figure BDA0003889902890000047

make

Figure BDA0003889902890000048
Figure BDA0003889902890000048

因M3×3总是对称半正定的,令

Figure BDA0003889902890000051
分别为M3×3的特征向量,λ1≥λ2≥ λ3分别为M3×3的特征值,M3×3分解为:Since M 3×3 is always positive semi-definite, let
Figure BDA0003889902890000051
are the eigenvectors of M 3×3 , and λ 1 ≥ λ 2 ≥ λ 3 are the eigenvalues of M 3×3 respectively, and M 3×3 is decomposed into:

Figure BDA0003889902890000052
Figure BDA0003889902890000052

为了获取更为精确的拟合参数,计算出Ffac中的每个点pi到由

Figure BDA0003889902890000053
和Ffac的质 心点确定平面的距离ti,则标准偏差σ为:In order to obtain more accurate fitting parameters, calculate each point p i in F fac to be determined by
Figure BDA0003889902890000053
and the centroid point of F fac determine the distance t i of the plane, then the standard deviation σ is:

Figure BDA0003889902890000054
Figure BDA0003889902890000054

若ti>2σ,则将对应的点从Ffac中剔除,利用剩余点重新计算

Figure BDA0003889902890000055
和质心点; 设置迭代次数为ε1,经过ε1次迭代求出平面法向量A、B和C的精确值,然后利 用式(6)求出D的值;If t i >2σ, remove the corresponding point from F fac and use the remaining points to recalculate
Figure BDA0003889902890000055
and the centroid point; set the number of iterations to ε 1 , and obtain the exact values of the plane normal vectors A, B and C after ε 1 iterations, and then use formula (6) to obtain the value of D;

将Ffac上的点投影至拟合平面上,投影方程为:Project the points on F fac onto the fitting plane, and the projection equation is:

Figure BDA0003889902890000056
Figure BDA0003889902890000056

式中,xi、yi和zi为投影前的坐标值,xj、yj和zj为投影后的坐标值。In the formula, x i , y i and z i are coordinate values before projection, and x j , y j and z j are coordinate values after projection.

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤1中,给定原始点云数据Porig,用kd-tree管理Porig并 建立其对应的索引,利用自适应超体素分割算法将Porig分割成一系列的小面片, 这里面涉及两个需要调整的参数:每个点的邻近点数目εk和距离尺度εd,而εd可 被视为面片的平均边长,εk通常设置为20。εd不能由固定值确定,而是视具体情 况而定。如果原始点云数据主要由平面结构组成,则应将εd设置为稍大(例如0.5 m),如果点云包含丰富的曲面特征,则应将εd设置为稍小(例如0.25m)。Furthermore, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following features: In step 1, given the original point cloud data P orig , use kd-tree to manage P orig and establish its correspondence The index of P orig is divided into a series of small facets using the adaptive supervoxel segmentation algorithm, which involves two parameters that need to be adjusted: the number of neighboring points ε k for each point and the distance scale ε d , and ε d Can be regarded as the average side length of the patch, ε k is usually set to 20. ε d cannot be determined by a fixed value, but depends on the specific situation. If the original point cloud data mainly consists of planar structures, εd should be set slightly larger (e.g. 0.5m), and if the point cloud contains rich surface features, εd should be set slightly smaller (e.g. 0.25m).

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤2中,Fporj的中心点为:Further, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following characteristics: in step 2, the central point of F porj is:

Figure BDA0003889902890000061
Figure BDA0003889902890000061

式中,xporj i,yporj i和zporj i为Fporj中任一点的坐标值,N为Fporj中的点数;In the formula, x porj i , y porj i and z porj i are the coordinate values of any point in F porj , and N is the number of points in F porj ;

接下来,Fporj上的局部坐标系定义如下:Next, the local coordinate system on F porj is defined as follows:

Figure BDA0003889902890000062
Figure BDA0003889902890000062

式中,

Figure BDA0003889902890000063
Figure BDA0003889902890000064
分别表示局部坐标系的三个坐标轴的方向,x1,y1和 z1表示Fporj中第一个点的坐标值;In the formula,
Figure BDA0003889902890000063
and
Figure BDA0003889902890000064
represent the directions of the three coordinate axes of the local coordinate system, x 1 , y 1 and z 1 represent the coordinate value of the first point in F porj ;

靶坐标轴系定义如下:The target coordinate axis system is defined as follows:

Figure BDA0003889902890000065
Figure BDA0003889902890000065

式中,In the formula,

Figure BDA0003889902890000066
Figure BDA0003889902890000066

Figure BDA0003889902890000067
Figure BDA0003889902890000067

令M3×3为旋转矩阵,则M3×3计算如下:Let M 3×3 be the rotation matrix, then M 3×3 is calculated as follows:

Figure BDA0003889902890000071
Figure BDA0003889902890000071

设pi(xi,yi,zi)为Fporj中一点,pj(xj,yj,zj)为对pi(xi,yi,zi)进行刚体变换后得到的点,则pj(xj,yj,zj)计算如下:Let p i (x i , y i , zi ) be a point in F porj , p j (x j , y j , z j ) be obtained after performing rigid body transformation on p i (x i , y i , zi ) , then p j (x j ,y j ,z j ) is calculated as follows:

Figure BDA0003889902890000072
Figure BDA0003889902890000072

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤3中,假设Fporj经刚体变换后得到的点云为Ftran,经 过刚体变换后,空间中具有任意姿态角的平面将与X-Y面平行,这意味着每个 点的z坐标值都相同,这样就将三维数据降为二维数据。接下来,使用二维α- shape算法提取Ftran中的边缘点(仅x和y坐标值参与运算)。一般来说,α-shape 算法是一种提取离散点集合中边缘点的方法,其原理可看作一个半径为ε2的圆环 绕着Ftran外面滚动,该圆环经过Ftran中任意两点,如果没有其它点在该圆环中, 则这两个点被视为边缘点,边缘点通过这种方式迭代地得到。令得到的边缘点为 Fbou。需要指出的是,由于不同点云面片之间的平均点密度可能并不相同,有时 差别还会很大,因此为了更好地提取出边缘点,在设置ε2这个参数时(ε2表示执 行α-shape算法提取Ftran中的边缘点时圆环的半径值),通常令其与Ftran的平均 点间距daver相关,例如,设置为Fporj平均点间距的10倍。对于Ftran中的任意一 点pi,执行k-近邻搜索以找出对应的n个邻近点(表示为pi 1,pi 2…,pi n),则daver可 计算如下:Further, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following characteristics: in step 3, assume that the point cloud obtained after F porj undergoes rigid body transformation is F tran , after rigid body transformation, A plane with an arbitrary attitude angle in space will be parallel to the XY plane, which means that the z coordinate value of each point is the same, thus reducing the three-dimensional data to two-dimensional data. Next, use the two-dimensional α-shape algorithm to extract the edge points in F tran (only x and y coordinate values participate in the operation). Generally speaking, the α-shape algorithm is a method of extracting edge points in a set of discrete points. Its principle can be regarded as a circle with a radius of ε 2 rolling around the outside of F tran , and the circle passes through any two points in F tran , if there are no other points in the circle, these two points are regarded as edge points, and the edge points are obtained iteratively in this way. Let the obtained edge point be F bou . It should be pointed out that since the average point density between different point cloud patches may not be the same, and sometimes the difference will be very large, so in order to better extract edge points, when setting the parameter ε 22 means The radius value of the ring when the α-shape algorithm is used to extract the edge points in F tran ) is usually related to the average point spacing d aver of F tran , for example, set to 10 times the average point spacing of F porj . For any point p i in F tran , perform k-nearest neighbor search to find the corresponding n neighboring points (expressed as p i 1 , p i 2 ..., p i n ), then d aver can be calculated as follows:

Figure BDA0003889902890000081
Figure BDA0003889902890000081

式中,N为Ftran的点数,1≤i≤N。n设置为2即可。In the formula, N is the number of points of F tran , 1≤i≤N. n can be set to 2.

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤4中,面积计算的关键是将由Fbou组成的多边形划分 成一系列的小三角形或小扇形,总的面积可通过统计这些小三角形或小扇形的面 积之和得到;因此在面积计算之前,需要将边缘点规则化;首先计算出Fbou的中 心点pcenFurther, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following characteristics: in step 4, the key to area calculation is to divide the polygon composed of F bou into a series of small triangles or small fans , the total area can be obtained by counting the sum of the areas of these small triangles or small sectors; therefore, before calculating the area, it is necessary to regularize the edge points; first calculate the center point p cen of F bou :

Figure BDA0003889902890000082
Figure BDA0003889902890000082

式中,xbou i和ybou i分别为Fbou中一点的坐标值,M为Fbou中的点数;In the formula, x bou i and y bou i are the coordinates of a point in F bou respectively, and M is the number of points in F bou ;

Figure BDA0003889902890000083
为起始方向,对于Fbou中的任意一点pbou,由pcen和pbou确定的法 向量
Figure BDA0003889902890000084
计算如下:make
Figure BDA0003889902890000083
is the starting direction, for any point p bou in F bou , the normal vector determined by p cen and p bou
Figure BDA0003889902890000084
Calculated as follows:

Figure BDA0003889902890000085
Figure BDA0003889902890000085

式中,1≤i≤M;In the formula, 1≤i≤M;

Figure BDA0003889902890000086
Figure BDA0003889902890000087
之间的夹角θi为:
Figure BDA0003889902890000086
and
Figure BDA0003889902890000087
The angle θ i between is:

Figure BDA0003889902890000088
Figure BDA0003889902890000088

式中,In the formula,

Figure BDA0003889902890000091
Figure BDA0003889902890000091

将计算得到的角度θi按顺时针或逆时针排序并存储在θsort中,1≤i≤M,对 应点的顺序也随之调整并存储在Psort中。The calculated angle θ i is sorted clockwise or counterclockwise and stored in θ sort , 1≤i≤M, and the order of corresponding points is also adjusted accordingly and stored in P sort .

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤4中,针对已排好序的边缘点Psort,如果两个相邻边 缘点的距离大于一定阈值(如0.01m),则需要对其进行插值加密,采用改进的 3次B样条曲线进行插值计算,并使该3次B样条曲线经过4个给定的控制点 P1~P4Furthermore, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following features: In step 4, for the sorted edge points P sort , if the distance between two adjacent edge points If it is greater than a certain threshold (such as 0.01m), it needs to be interpolated and encrypted, and an improved 3rd degree B-spline curve is used for interpolation calculation, and the 3rd degree B-spline curve passes through 4 given control points P 1 ~ P4 ;

Figure BDA0003889902890000092
Figure BDA0003889902890000092

Figure BDA0003889902890000093
Figure BDA0003889902890000093

Figure BDA0003889902890000094
Figure BDA0003889902890000094

Figure BDA0003889902890000095
Figure BDA0003889902890000095

Figure BDA0003889902890000101
Figure BDA0003889902890000101

式中,Pi为控制曲线的特征点,P1~P4分别对应与当前边缘点P0相邻的四个点, P0=Psort;Fi(t)表示3次B样条曲线的基函数;t为Fi(t)中的自变量,t∈[0,1],即t取0 到1之间的任意实数;In the formula, P i is the characteristic point of the control curve, P 1 ~ P 4 respectively correspond to the four points adjacent to the current edge point P 0 , P 0 = P sort ; Fi(t) represents the third degree B-spline curve Basis function; t is an independent variable in F i (t), t∈[0,1], that is, t takes any real number between 0 and 1;

对于一个稀疏的边缘点,使用改进的3次B样条曲线插值对其进行加密, 保证每两个内插点之间的距离不大于阈值,对于内插后的点重新排序,得到新的 边缘点集合PinterpFor a sparse edge point, use the improved 3-time B-spline curve interpolation to encrypt it to ensure that the distance between every two interpolated points is not greater than the threshold, and reorder the interpolated points to get a new edge Point set P interp .

进一步地,本发明提供的基于点云数据快速计算复杂表面表面积的方法,还 可以具有以下特征:在步骤5中,设pinterp i和pinterp j是Pinterp中的两个相邻点,如 果待计算的目标表面50%以上由面状结构组成(平面结构特征占比达到50%以 上),则采用三角形来计算,由pinterp i、pinterp j和pcen构成的三角形面积Sarea为:Further, the method for quickly calculating the surface area of complex surfaces based on point cloud data provided by the present invention may also have the following features: In step 5, let p interp i and p interp j be two adjacent points in P interp , if If more than 50% of the target surface to be calculated is composed of planar structures (the proportion of planar structure features is more than 50%), triangles are used for calculation. The triangular area S area formed by p interp i , p interp j and p cen is:

Figure BDA0003889902890000102
Figure BDA0003889902890000102

式中,In the formula,

Figure BDA0003889902890000103
Figure BDA0003889902890000103

式中,(xinterp i,yinterp i)和(xinterp j,yinterp j)分别为pinterp i和pinterp j的点坐标。In the formula, (x interp i , y interp i ) and (x interp j , y interp j ) are the point coordinates of p interp i and p interp j respectively.

如果待计算的目标表面超过50%由曲面构成(曲面结构特征占比超50%), 则采用扇形来计算,由pinterp i、pinterp j和pcen构成的扇形面积Sarea计算如下:If more than 50% of the target surface to be calculated is composed of curved surfaces (surface structural features account for more than 50%), then a sector is used for calculation, and the sector area S area formed by p interp i , p interp j and p cen is calculated as follows:

Figure BDA0003889902890000111
Figure BDA0003889902890000111

其中,in,

Figure BDA0003889902890000112
Figure BDA0003889902890000112

最终的复杂表面的表面积Sall计算如下:The surface area S all of the final complex surface is calculated as follows:

Figure BDA0003889902890000113
Figure BDA0003889902890000113

式中,S为面片Ffac的总数,R为当前第m个面片Ffac的Pinterp中的点数,

Figure BDA0003889902890000114
为当前第m个面片Ffac中第n个三角形或扇形面积。In the formula, S is the total number of facets F fac , R is the number of points in P interp of the current mth facet F fac ,
Figure BDA0003889902890000114
is the area of the nth triangle or sector in the current mth facet F fac .

发明的作用与效果Function and Effect of Invention

本发明所提出的基于点云数据快速计算复杂表面表面积的方法,首次提出 直接在无组织点云上进行表面积计算,而不需要进行三维重建,并且能够适用于 各式各样的复杂表面,本发明利用点云数据自动快速计算复杂表面的表面积,针 对大多数现有方法存在的效率低,精度差和计算成本高等问题,特别是面向难以 接近的,大规模,粗糙和弯曲目标的表面积计算时,本方法优势尤为明显,不仅 大幅提高了工作效率,通过与利用可靠设备人工采集的测量数据进行比较,结果 显示本方法还具有很高的可靠性。The method for quickly calculating the surface area of complex surfaces based on point cloud data proposed by the present invention proposes for the first time to calculate the surface area directly on the unorganized point cloud without the need for 3D reconstruction, and can be applied to a variety of complex surfaces. The invention uses point cloud data to automatically and quickly calculate the surface area of complex surfaces, aiming at the problems of low efficiency, poor accuracy and high calculation cost in most existing methods, especially when calculating the surface area of inaccessible, large-scale, rough and curved targets , the advantage of this method is particularly obvious. It not only greatly improves the work efficiency, but also has high reliability by comparing with the measurement data collected manually by reliable equipment.

附图说明Description of drawings

图1为本发明实施例涉及的基于点云数据快速计算复杂表面表面积的方法 的流程图;Fig. 1 is the flow chart of the method for calculating complex surface surface area quickly based on point cloud data that the embodiment of the present invention relates to;

图2为本发明实施例涉及的超体素分割示意图,其中(a)为原始点云数据,(b)为超体素分割结果;Fig. 2 is a schematic diagram of super-voxel segmentation involved in an embodiment of the present invention, wherein (a) is the original point cloud data, and (b) is the result of super-voxel segmentation;

图3为本发明实施例涉及的投影前后对比图,其中(a)为投影前,(b)为投影 后;Fig. 3 is a comparison diagram before and after projection related to an embodiment of the present invention, wherein (a) is before projection, and (b) is after projection;

图4为本发明实施例涉及的刚体变换示意图;4 is a schematic diagram of rigid body transformation involved in an embodiment of the present invention;

图5为本发明实施例涉及的刚体变换后的点云面片示意图;FIG. 5 is a schematic diagram of a point cloud patch after rigid body transformation according to an embodiment of the present invention;

图6为本发明实施例涉及的边缘点提取示意图,其中(a)为提取前,(b)为提 取后;Fig. 6 is a schematic diagram of edge point extraction related to an embodiment of the present invention, wherein (a) is before extraction, and (b) is after extraction;

图7为本发明实施例中涉及的平面投影示意图,其中(a)为投影前,(b) 为投影后;Fig. 7 is a schematic diagram of the plane projection involved in the embodiment of the present invention, wherein (a) is before projection, and (b) is after projection;

图8为本发明实施例涉及的改进的3次B样条曲线插值对边缘点加密效果 示意图,其中(a)为加密前,(b)为加密后;Fig. 8 is the improved 3 B-spline curve interpolation that the embodiment of the present invention relates to the schematic diagram of edge point encryption effect, wherein (a) is before encryption, (b) is after encryption;

图9为本发明实施例涉及的面积计算结果示意图;Fig. 9 is a schematic diagram of the area calculation results involved in the embodiment of the present invention;

图10为本发明实施例涉及的仿真点云数据,其中(a)为立方体,(b)为球体, (c)为环圈;Fig. 10 is the simulation point cloud data related to the embodiment of the present invention, wherein (a) is a cube, (b) is a sphere, and (c) is a ring;

图11为本发明实施例涉及的本发明所提出的方法在不同采样率下的计算结 果,其中(a)为计算时间,(b)为相对精度;Fig. 11 is the calculation result of the method proposed by the present invention related to the embodiment of the present invention under different sampling rates, wherein (a) is calculation time, and (b) is relative accuracy;

图12为本发明实施例涉及的贪婪三角形算法在不同采样率下的计算结果, 其中(a)为计算时间,(b)为相对精度;Fig. 12 is the calculation result of the greedy triangle algorithm involved in the embodiment of the present invention at different sampling rates, wherein (a) is the calculation time, and (b) is the relative accuracy;

图13为本发明实施例涉及的泊松曲面重建算法在不同采样率下的计算结果, 其中(a)为计算时间,(b)为相对精度;Fig. 13 is the calculation result of the Poisson surface reconstruction algorithm involved in the embodiment of the present invention at different sampling rates, where (a) is the calculation time, and (b) is the relative accuracy;

图14为本发明实施例涉及的三种方法在不同高斯噪声下的计算结果,其中 (a)为本发明所提出的方法,(b)为贪婪三角形算法,(c)为泊松曲面重建算法;Figure 14 is the calculation results of the three methods involved in the embodiment of the present invention under different Gaussian noises, where (a) is the method proposed by the present invention, (b) is the greedy triangle algorithm, and (c) is the Poisson surface reconstruction algorithm ;

图15为本发明实施例涉及的真实实验1,其中(a)为“3S”雕塑,(b)为目标区 域1,(c)为湖北科技学院体育场,(d)为目标区域2;Fig. 15 is the actual experiment 1 that the embodiment of the present invention involves, wherein (a) is " 3S " sculpture, (b) is target area 1, (c) is the stadium of Hubei Institute of Science and Technology, (d) is target area 2;

图16为本发明实施例涉及的真实实验2,其中(a1)为Horse的原始几何模型, (b1)为Horse的点云数据,(c1)为Horse的超体素分割结果;(a2)为Skeleton Hand 的原始几何模型,(b2)为Skeleton Hand的点云数据,(c2)为Skeleton Hand的超体 素分割结果。Fig. 16 is the real experiment 2 involved in the embodiment of the present invention, wherein (a1) is the original geometric model of Horse, (b1) is the point cloud data of Horse, (c1) is the supervoxel segmentation result of Horse; (a2) is The original geometric model of Skeleton Hand, (b2) is the point cloud data of Skeleton Hand, (c2) is the supervoxel segmentation result of Skeleton Hand.

具体实施方式Detailed ways

以下结合附图对本发明涉及的基于点云数据快速计算复杂表面表面积的方 法的具体实施方案进行详细地说明。The specific embodiment of the method for calculating complex surface surface area based on point cloud data that the present invention relates to is described in detail below in conjunction with accompanying drawing.

<实施例><Example>

如图1所示,本实施例所提供的基于点云数据快速计算复杂表面表面积的方 法包括以下步骤:As shown in Figure 1, the method for calculating complex surface surface area quickly based on point cloud data provided by the present embodiment comprises the following steps:

步骤1.为了方便展示本发明方法计算过程,这里先选择如图2所示的立方体 仿真点云进行示例,通过对边长为1m的立方体的六个面进行采样而获取一个仿 真点云Porig,每个面都包含26,896个点,总点数为161,376。超体素分割涉及两个 参数:每个点的最近邻数εk和距离尺度εd,εd可被视为面片的平均边长。在我们 的实验中,εk设置为20。εd不能由固定值确定,而是视具体情况而定,如果原始 点云数据包含丰富的(50%以上)平面特征,则应将εd设置为稍大(例如0.5m), 如果点云数据包含丰富的(超过50%)曲面特征,则应将εd设置为稍小(例如0.25 m)。所提出的方法涉及两个参数:ε1和ε2,本实施例中,ε1设置为200,ε2设置为 Fporj平均点间距的10倍。除非另有说明,否则以上参数设置将用于本实施例中涉及的所有实验而无需进行调整。经过超体素分割,共生成了28个面片Ffac。对于生 成的每个面片Ffac,均采用基于PCA(Principal Component Analysis)的稳健平面拟 合方进行拟合,设置迭代次数为200,将Ffac上的所有点都投影至拟合面上,如图 3所示,经过投影,具有噪声的小面片变得非常平坦,这非常有利于边缘点的提 取和面积计算。Step 1. In order to demonstrate the calculation process of the present invention's method conveniently, the cube simulation point cloud as shown in Figure 2 is selected as an example here, and a simulation point cloud P orig is obtained by sampling six faces of a cube whose side length is 1m , each face contains 26,896 points, for a total of 161,376 points. Supervoxel segmentation involves two parameters: the number of nearest neighbors ε k for each point and the distance scale ε d , which can be regarded as the average edge length of a patch. In our experiments, ε k is set to 20. εd cannot be determined by a fixed value, but depends on the specific situation. If the original point cloud data contains rich (more than 50%) planar features, εd should be set slightly larger (for example, 0.5m), if the point cloud If the data contains abundant (more than 50%) surface features, then εd should be set slightly smaller (eg 0.25 m). The proposed method involves two parameters: ε 1 and ε 2 , in this embodiment, ε 1 is set to 200, and ε 2 is set to 10 times the average point spacing of F porj . Unless otherwise stated, the above parameter settings were used for all experiments involved in this example without adjustment. After super-voxel segmentation, a total of 28 facets F fac are generated. For each generated surface F fac , a robust plane fitting method based on PCA (Principal Component Analysis) is used for fitting, the number of iterations is set to 200, and all points on F fac are projected onto the fitting surface. As shown in Figure 3, after projection, the small facet with noise becomes very flat, which is very beneficial to the extraction of edge points and area calculation.

步骤2.如图4所示,对投影后的面片Fporj进行刚体变换,以使其法向量与Z轴 平行(即刚体变换后的平面与X-Y面平行),进而得到刚体变换后的点云面片 FbouStep 2. As shown in Figure 4, perform rigid body transformation on the projected patch F porj so that its normal vector is parallel to the Z axis (that is, the plane after the rigid body transformation is parallel to the XY plane), and then the point after the rigid body transformation is obtained Cloud noodles F bou .

步骤3.如图5所示,经过刚体变换后,空间中具有任意姿态角的平面将与X- Y面平行,意味着每个点的z坐标值都相同,这样就将三维数据降为二维数据。接 下来,使用改进的自适应α-shape算法提取Ftran中的边缘点Fbou(仅x和y坐标值参与 运算),如图6所示,成功提取出面片的边缘点。Step 3. As shown in Figure 5, after the rigid body transformation, the plane with any attitude angle in space will be parallel to the X-Y plane, which means that the z coordinate values of each point are the same, thus reducing the three-dimensional data to two dimension data. Next, use the improved adaptive α-shape algorithm to extract the edge point F bou in F tran (only the x and y coordinate values participate in the operation), as shown in Figure 6, the edge point of the patch is successfully extracted.

步骤4.如图7所示,以北方向为正方向,对边缘点按顺时针进行排序,计算 排序后每两点之间的欧式距离,如果大于0.01m,则利用改进的3次B样条曲线进 行插值,使得任意相邻两点间的距离都不大于0.01m,如图8所示,为稀疏边缘点 的内插图。Step 4. As shown in Figure 7, take the north direction as the positive direction, sort the edge points clockwise, calculate the Euclidean distance between every two points after sorting, if it is greater than 0.01m, use the improved 3 times B sample The curves are interpolated so that the distance between any two adjacent points is not greater than 0.01m, as shown in Figure 8, which is the interpolation of sparse edge points.

步骤5.如图9所示,计算每个面片的面积Sarea,汇总得到总面积SallStep 5. As shown in FIG. 9 , calculate the area S area of each patch, and summarize to obtain the total area S all .

如图10所示,为了进一步说明本方法的可靠性,除立方体外,另外选了两个 模拟点云进行测试,其中球体Sphere的半径为1m,总点数为160,000,εd设置为 0.25m,Torus内径为0.3m,外径为1m,总点数为160,000,εd设置为0.5m。点云 一般非常稠密,为了提高效率,通常需要在分割之前对点云进行下采样处理。为 测试不同采样率对计算结果的影响,这里以五个不同密度级别对三个仿真点云进 行了下采样。表1显示了本发明所提出的表面积计算方法在三个仿真点云上的统 计结果,从中可以得出以下结论:所提出的表面积计算方法非常高效且结果可靠, 在平面结构和曲面(例如球体和圆环)上都可以得到与理论值高度吻合的计算结 果。As shown in Figure 10, in order to further illustrate the reliability of this method, in addition to the cube, two other simulated point clouds were selected for testing. The radius of the sphere Sphere is 1m, the total number of points is 160,000, and ε d is set to 0.25m. The inner diameter of Torus is 0.3m, the outer diameter is 1m, the total number of points is 160,000, and ε d is set to 0.5m. Point clouds are generally very dense. In order to improve efficiency, it is usually necessary to downsample the point cloud before segmentation. In order to test the influence of different sampling rates on the calculation results, three simulation point clouds were down-sampled at five different density levels. Table 1 shows the statistical results of the surface area calculation method proposed by the present invention on three simulation point clouds, from which the following conclusions can be drawn: the proposed surface area calculation method is very efficient and the result is reliable, in planar structures and curved surfaces (such as spheres And the ring) can get the calculation results which are highly consistent with the theoretical value.

为测试不同采样率对计算结果的影响,这里以五个不同密度级别对三个仿真 点云进行了下采样。如图11(a)和图11(b)所示,与直接在原始点云上进行表面积计 算相比,适当的采样不一定会降低相对精度,随着采样率的提高,计算效率大大 提高,且仍可以保持较高的可靠性和精度。In order to test the influence of different sampling rates on the calculation results, three simulation point clouds were down-sampled at five different density levels. As shown in Fig. 11(a) and Fig. 11(b), proper sampling does not necessarily reduce the relative accuracy compared to performing surface area calculation directly on the original point cloud, and the computational efficiency is greatly improved with the increase of sampling rate, And can still maintain high reliability and precision.

表1Table 1

Figure BDA0003889902890000151
Figure BDA0003889902890000151

为了进一步验证该方法的性能,使用贪婪三角形算法和泊松曲面重建算法对 采样后的点云进行重建(这两种算法均为现有技术方法),然后使用现成的软件CloudCompare来计算每个mesh格网的表面积。如图12所示,当表面光滑且点云均 匀分布时,贪婪三角形算法对采样率不敏感,在这种情况下,由贪婪三角形算法 计算的面积结果是高度可靠的。泊松曲面重建方法可以拟合并近似所有点,以生 成具有水密性和良好几何特征的封闭表面。尽管泊松曲面重建是一种很好的整体 重建方法,该方法仅适用于没有尖锐特征的光滑封闭表面。为了公平起见,仅将 前两种场景的重建结果用于比较实验。如图13(a)和图13(b)所示,尽管基于泊松表 面重构的计算表面积对于具有光滑表面的特定对象具有较高的精度,但是该方法 非常耗时,本发明提出的方法比基于泊松曲面重建发的方法快了一个数量级(10 倍以上)。实际上,受各种因素的影响,点云的表面通常充斥着大量随机噪声。 为了测试所提出方法的鲁棒性,接下来从带噪声的点云中进行面积计算,如图14(a)所示,即使存在大量噪声,本发明所提出的方法也可以很好地进行面积计算, 说明该方法具有良好的抗噪性。由于贪婪三角形算法对噪声非常敏感,因此这里 仅设置了几个较小的高斯噪声值,尽管如此,随着噪声的增加,计算精度迅速降 低(见图14(b))。如图14(c)所示,泊松曲面重建算法对高斯噪声不敏感,但该算法 不适用于所有类型的表面,准确的说,仅适用于某些特定表面。与现有技术比较 的结果显示,本发明方法不仅计算速度大大提高,而且具有更好的抗噪性和计算 精度,适用于所有类型的表面。In order to further verify the performance of the method, the greedy triangle algorithm and the Poisson surface reconstruction algorithm are used to reconstruct the sampled point cloud (these two algorithms are prior art methods), and then the off-the-shelf software CloudCompare is used to calculate the value of each mesh grid. The surface area of the mesh. As shown in Fig. 12, when the surface is smooth and the point cloud is evenly distributed, the greedy triangle algorithm is not sensitive to the sampling rate, in this case, the area result calculated by the greedy triangle algorithm is highly reliable. The Poisson surface reconstruction method fits and approximates all points to generate a closed surface that is watertight and has good geometrical characteristics. Although Poisson surface reconstruction is a good overall reconstruction method, it is only suitable for smooth closed surfaces without sharp features. For the sake of fairness, only the reconstruction results of the first two scenarios are used for comparison experiments. As shown in Figure 13(a) and Figure 13(b), although the calculated surface area based on Poisson surface reconstruction has high accuracy for specific objects with smooth surfaces, this method is very time-consuming, and the method proposed in the present invention It is an order of magnitude (more than 10 times) faster than methods based on Poisson surface reconstruction. In fact, affected by various factors, the surface of point cloud is usually filled with a lot of random noise. In order to test the robustness of the proposed method, the area calculation is next performed from the noisy point cloud, as shown in Fig. 14(a), the proposed method can perform area well even in the presence of a large The calculation shows that the method has good noise immunity. Since the greedy triangle algorithm is very sensitive to noise, only a few small Gaussian noise values are set here. However, with the increase of noise, the calculation accuracy decreases rapidly (see Figure 14(b)). As shown in Figure 14(c), the Poisson surface reconstruction algorithm is not sensitive to Gaussian noise, but this algorithm is not suitable for all types of surfaces, to be precise, it is only suitable for some specific surfaces. The results compared with the prior art show that the method of the invention not only greatly improves the calculation speed, but also has better noise resistance and calculation accuracy, and is applicable to all types of surfaces.

如图15(a)所示,2020年12月,我们于武汉大学使用Faro Focuss 150激光扫描 仪扫描了名为“3S”的雕塑,采样率为1/20,雕塑由平面和弯曲部分组成,中间 部分为一个四棱柱。为了便于比较并避免由点云配准引起的误差,这里仅使用从 一个扫描角度采集的点云数据,如图15(b)所示,仅保留中间的平坦部分,点数为 130,308。接下来使用LeicaAT960激光跟踪仪获取目标区域六个角的精确坐标, 激光跟踪仪的点位测量精度为15±6微米,测量所得面积为6.9218m2。注意,参数 εd设置为0.5m,使用三角形来计算面积。如图15(c)所示,采用基于常州新翼X650 飞行平台和Regel Mini300激光扫描仪的低空无人机采集了湖北科技学院的三维 彩色点云,并选择相对平坦的足球场作为目标区域(见图15(d)),目标区域点数为 2,974,086。然后使用Topcon全站仪测量足球场四个角的坐标,测得所得面积为 7154.722m2。注意,因目标区域的点云比较稀疏,参数εd设置为5m,使用扇形 来计算面积。两个目标区域的面积计算结果列于表2中,可以看出,本发明所提 出的方法在可接受的时间内成功计算出了测试点云数据的面积,与实测值非常接 近,大幅提高了工作效率。As shown in Figure 15(a), in December 2020, we scanned a sculpture named "3S" with a Faro Focus s 150 laser scanner at Wuhan University, with a sampling rate of 1/20. The sculpture is composed of flat and curved parts , the middle part is a quadrangular prism. In order to facilitate comparison and avoid errors caused by point cloud registration, only the point cloud data collected from one scanning angle is used here, as shown in Figure 15(b), only the flat part in the middle is kept, and the number of points is 130,308. Next, the precise coordinates of the six corners of the target area are acquired using a LeicaAT960 laser tracker. The point measurement accuracy of the laser tracker is 15±6 microns, and the measured area is 6.9218m 2 . Note that the parameter εd is set to 0.5m, using triangles to calculate the area. As shown in Figure 15(c), a low-altitude UAV based on Changzhou Xinyi X650 flying platform and Regel Mini300 laser scanner was used to collect the 3D color point cloud of Hubei University of Science and Technology, and a relatively flat football field was selected as the target area ( See Figure 15(d)), the number of target area points is 2,974,086. Then use the Topcon total station to measure the coordinates of the four corners of the football field, and the measured area is 7154.722m 2 . Note that because the point cloud of the target area is relatively sparse, the parameter εd is set to 5m, and the sector is used to calculate the area. The area calculation results of the two target areas are listed in Table 2. It can be seen that the method proposed in the present invention has successfully calculated the area of the test point cloud data within an acceptable time, which is very close to the measured value, greatly improving work efficiency.

表2Table 2

Figure BDA0003889902890000171
Figure BDA0003889902890000171

如图16所示,为测试本发明所提出的方法对复杂表面的处理效果,这里选择 了两个名为马(Horse)和骨架手(Skeleton Hand)的几何模型进行详细展示。两 种模型都是由佐治亚理工学院的大型几何模型档案馆制作的,第一个模型被放大 10倍以接近真实比例,而第二个模型则保持不变。参考值由CloudCompare计算得 出。参数εd设置为0.2m,使用扇形来计算面积。如表3所示,即使对于非常复杂 的曲面,本发明所提出的方法仍然可以取得良好的效果。As shown in Figure 16, in order to test the processing effect of the method proposed by the present invention on complex surfaces, two geometric models named Horse and Skeleton Hand are selected for detailed display. Both models were produced from Georgia Tech's large archive of geometric models, the first model was enlarged 10 times to approximate true scale, while the second model was left unchanged. The reference value is calculated by CloudCompare. The parameter ε d is set to 0.2m, and the sector is used to calculate the area. As shown in Table 3, even for very complex curved surfaces, the method proposed in the present invention can still achieve good results.

表3table 3

Figure BDA0003889902890000172
Figure BDA0003889902890000172

以上实施例仅仅是对本发明技术方案所做的举例说明。本发明所涉及的基于 点云数据快速计算复杂表面表面积的方法并不限定于在以上实施例中所描述的 内容,而是以权利要求所限定的范围为准。本发明所属领域技术人员在该实施例 的基础上所做的任何修改或补充或等效替换,都在本发明的权利要求所要求保护 的范围内。The above embodiments are merely illustrations for the technical solution of the present invention. The method for quickly calculating the surface area of complex surfaces based on point cloud data involved in the present invention is not limited to the content described in the above embodiments, but is subject to the scope defined in the claims. Any modification or supplement or equivalent replacement made by those skilled in the art of the present invention on the basis of the embodiment is within the scope of protection required by the claims of the present invention.

Claims (7)

1. A method for rapidly calculating the surface area of a complex surface based on point cloud data is characterized by comprising the following steps:
step 1, adopting a self-adaptive hyper-voxel segmentation algorithm to carry out point cloud P on an original point of a complex surface to be calculated orig Divided into a series of facets F fac For each patch F fac Fitting, and projecting the points on the surface patch to a corresponding accurately-fitted plane;
step 2, setting F porj Is F fac Projected point cloud, pair F porj Performing specially designed rigid body transformation: with F porj The central point on is the origin of the local coordinate system, and the central point and F are used porj The normal vector of the first point is the X axis of the local coordinate system, and F is used porj The normal vector of (A) is the Z axis of the local coordinate system, the cross product of the X axis of the local coordinate system and the Z axis of the local coordinate system is used as the Y axis of the local coordinate system, rigid body transformation is executed to enable F to be F porj The normal vector is parallel to the Z axis of the whole coordinate system;
step 3, setting F porj After rigid body transformation, the product is obtainedThe point cloud is F tran After rigid body transformation, a plane with any attitude angle in space is parallel to the X-Y plane, the z coordinate value of each point is the same, and F is extracted tran Edge point F in (1) bou
Step 4, calculating F bou Central point p of cen Let us order
Figure FDA0003889902880000011
For the starting direction, for F bou At any point p in bou Calculate by p cen And p bou Determined normal vector
Figure FDA0003889902880000012
Then calculate out
Figure FDA0003889902880000013
And
Figure FDA0003889902880000014
angle theta therebetween i Will calculate the obtained theta i Sorting in a predetermined order and storing at theta sort In the method, the sequence of corresponding points is adjusted and stored in P sort In the method, the edge points P are arranged in order sort If the distance between two adjacent edge points is greater than a certain threshold value, the two adjacent edge points are subjected to interpolation encryption, and points after interpolation are reordered to obtain a new edge point set P interp
Step 5 for P interp Any two adjacent points p in (2) i And p j All calculate by p i 、p j And p cen Formed triangular or sector area S area Adding all triangular or sector areas in all the panels to obtain the surface area S of the complex surface all
2. The method for rapidly calculating the surface area of a complex surface based on point cloud data of claim 1, wherein:
wherein, in step 1In the process of superpixel segmentation, the number epsilon of adjacent points of each point k Set to 20 if P orig If the ratio of the structural features of the middle plane reaches more than 50%, the distance scale epsilon d Set to 0.4-0.6 m, otherwise, the distance scale epsilon d Set to 0.3 to 0.2m.
3. The method for rapidly calculating the surface area of a complex surface based on point cloud data of claim 1, wherein:
wherein, in step 1, for each patch F generated fac Fitting the stable plane by adopting a stable plane fitting method based on PCA (principal component analysis), and setting F fac The equation of the plane where the point is located is:
Ax+By+Cz+D=0 (1)
wherein A, B and C are three normal vectors of a plane and satisfy A 2 +B 2 +C 2 =1;
F fac Last point p i Distance d to the plane i Comprises the following steps:
d i =|Ax i +By i +Cz i +D| (2)
in the formula, x i ,y i And z i Is a point p i The coordinate values of (a);
objective function
Figure FDA0003889902880000021
The following conditions should be satisfied:
Figure FDA0003889902880000022
in the formula, N is F fac The number of points in;
solving an objective function using a lagrange multiplier method
Figure FDA0003889902880000023
The minimum value, first of all, constitutes the following function:
Figure FDA0003889902880000024
in the formula, lambda is a parameter to be determined;
and (5) calculating the partial derivative of D by the formula (4) and making the derivative result be 0 to obtain the following formula:
Figure FDA0003889902880000031
then there are:
Figure FDA0003889902880000032
in the formula,
Figure FDA0003889902880000033
formula (2) may be rewritten as follows:
Figure FDA0003889902880000034
by using equation (4) to calculate the partial derivatives for A, B and C, the following relationship can be obtained:
Figure FDA0003889902880000035
in the formula,
Figure FDA0003889902880000036
order to
Figure FDA0003889902880000037
Due to M 3×3 Is always symmetrically and semi-positively determined, such that
Figure FDA0003889902880000038
Are each M 3×3 Of the feature vector λ 1 ≥λ 2 ≥λ 3 Are respectively M 3×3 Characteristic value of (1), M 3×3 The decomposition is as follows:
Figure FDA0003889902880000041
calculate F fac Each point p in i To by
Figure FDA0003889902880000042
And F fac Determines the distance t of the plane i Then the standard deviation σ is:
Figure FDA0003889902880000043
if t is i If > 2 sigma, the corresponding point is selected from F fac Removing, recalculating with the remaining points
Figure FDA0003889902880000044
And a centroid point; setting the number of iterations to epsilon 1 Through epsilon 1 The precise values of the plane normal vectors A, B and C are solved through the secondary iteration, and then the value of D is solved through the formula (6);
f is to be fac The points are projected onto a fitting plane, and the projection equation is as follows:
Figure FDA0003889902880000045
in the formula, x i 、y i And z i Is a coordinate value, x, before projection j 、y j And z j Are the coordinate values after projection.
4. The method for rapidly calculating the surface area of a complex surface based on point cloud data of claim 1, wherein:
wherein, in step 2, F porj The central point of (a) is:
Figure FDA0003889902880000046
in the formula, x porj i ,y porj i And z porj i Is F porj The coordinate value of any point in the coordinate system, N is F porj The number of points in;
next, F porj The local coordinate system above is defined as follows:
Figure FDA0003889902880000051
in the formula,
Figure FDA0003889902880000052
and
Figure FDA0003889902880000053
respectively representing the directions of three coordinate axes of a local coordinate system, x 1 ,y 1 And z 1 Is represented by F porj Coordinate values of the first point;
the target coordinate axis system is defined as follows:
Figure FDA0003889902880000054
in the formula,
Figure FDA0003889902880000055
Figure FDA0003889902880000056
let M 3×3 Is a rotation matrix, then M 3×3 The calculation is as follows:
Figure FDA0003889902880000057
let p i (x i ,y i ,z i ) Is F porj Middle point, p j (x j ,y j ,z j ) Is to p i (x i ,y i ,z i ) Point obtained after rigid body transformation, then p j (x j ,y j ,z j ) The calculation is as follows:
Figure FDA0003889902880000058
5. the method for rapidly calculating the surface area of a complex surface based on point cloud data of claim 1, wherein:
in step 4, F is first calculated bou Central point p of cen
Figure FDA0003889902880000061
In the formula, x bou i And y bou i Are respectively F bou The coordinate value of a middle point, M is F bou The number of points in;
order to
Figure FDA0003889902880000062
For the starting direction, for F bou At any point p in bou From p cen And p bou Determined normal vector
Figure FDA0003889902880000063
The calculation is as follows:
Figure FDA0003889902880000064
in the formula, i is more than or equal to 1 and less than or equal to M;
Figure FDA0003889902880000065
and with
Figure FDA0003889902880000066
Angle theta therebetween i Comprises the following steps:
Figure FDA0003889902880000067
in the formula,
Figure FDA0003889902880000068
the calculated angle theta ii Ordered clockwise or counterclockwise and stored at theta sort In which i is more than or equal to 1 and less than or equal to M, the order of the corresponding points is also adjusted and stored in P sort In (1).
6. The method for rapidly calculating the surface area of a complex surface based on point cloud data of claim 1, wherein:
wherein, in step 4, the edge points P are ordered sort Interpolation is carried out using a modified 3-degree B-spline and the 3-degree B-spline is passed through 4 given control points P 1 ~P 4
Figure FDA0003889902880000071
Figure FDA0003889902880000072
Figure FDA0003889902880000073
Figure FDA0003889902880000074
Figure FDA0003889902880000075
In the formula, P i For controlling characteristic points of the curve, P 1 ~P 4 Respectively correspond to the current edge point P 0 Four adjacent points, P 0 =P sort (ii) a Fi (t) represents the basis function of the 3-th-order B-spline curve; t is F i (t) taking any real number between 0 and 1 as an independent variable;
for a sparse edge point, encrypting the sparse edge point by using improved 3-time B-spline curve interpolation to ensure that the distance between every two interpolation points is not greater than a threshold value, reordering the interpolated points to obtain a new edge point set P interp
7. The method of claim 1 for fast computation of complex surface area based on point cloud data, wherein:
wherein, in step 5, let p interp i And p interp j Is P interp If the ratio of the structural features of the target surface plane to be calculated reaches more than 50%, calculating by adopting a triangle, and calculating by using p interp i 、p interp j And p cen The area S of the triangle area Comprises the following steps:
Figure FDA0003889902880000081
in the formula,
Figure FDA0003889902880000082
in the formula (x) interp i ,y interp i ) And (x) interp j ,y interp j ) Are each p interp i And p interp j Point coordinates of (a);
if the ratio of the structural features of the curved surface of the target surface to be calculated exceeds 50%, calculating by adopting a fan shape, and calculating by using p interp i 、p interp j And p cen Formed sector area S area The calculation is as follows:
Figure FDA0003889902880000083
wherein,
Figure FDA0003889902880000091
surface area S of the resulting complex surface all The calculation is as follows:
Figure FDA0003889902880000092
wherein S is a patch F fac R is the current mth panel F fac P of interp The number of points in (a) is,
Figure FDA0003889902880000093
is the current mth face sheet F fac The nth triangle or sector area.
CN202211256840.5A 2022-10-14 2022-10-14 Method for rapidly calculating surface area of complex surface based on point cloud data Pending CN115760954A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211256840.5A CN115760954A (en) 2022-10-14 2022-10-14 Method for rapidly calculating surface area of complex surface based on point cloud data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211256840.5A CN115760954A (en) 2022-10-14 2022-10-14 Method for rapidly calculating surface area of complex surface based on point cloud data

Publications (1)

Publication Number Publication Date
CN115760954A true CN115760954A (en) 2023-03-07

Family

ID=85351408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211256840.5A Pending CN115760954A (en) 2022-10-14 2022-10-14 Method for rapidly calculating surface area of complex surface based on point cloud data

Country Status (1)

Country Link
CN (1) CN115760954A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116839511A (en) * 2023-07-28 2023-10-03 江苏建筑职业技术学院 Surface area measurement method of irregular surfaces based on photogrammetry technology

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116839511A (en) * 2023-07-28 2023-10-03 江苏建筑职业技术学院 Surface area measurement method of irregular surfaces based on photogrammetry technology
CN116839511B (en) * 2023-07-28 2024-03-19 江苏建筑职业技术学院 Surface area measurement method of irregular surfaces based on photogrammetry technology

Similar Documents

Publication Publication Date Title
Ji et al. A novel simplification method for 3D geometric point cloud based on the importance of point
CN104748750B (en) A kind of model constrained under the Attitude estimation of Three dimensional Targets in-orbit method and system
CN105654483B (en) The full-automatic method for registering of three-dimensional point cloud
Pan et al. Voxfield: Non-projective signed distance fields for online planning and 3d reconstruction
CN101751695B (en) Estimating method of main curvature and main direction of point cloud data
CN113936090B (en) Method, device, electronic device and storage medium for three-dimensional human body reconstruction
CN104616349B (en) Scattered point cloud data based on local surface changed factor simplifies processing method
WO2021203711A1 (en) Isogeometric analysis method employing geometric reconstruction model
CN109272537A (en) Panoramic point cloud registration method based on structured light
CN116543117A (en) High-precision large-scene three-dimensional modeling method for unmanned aerial vehicle images
CN105300383A (en) Unmanned aerial vehicle air refueling position and attitude estimation method based on backtracking and searching
CN110988876B (en) Closed robust double-baseline InSAR phase unwrapping method and system and readable storage medium
CN115760954A (en) Method for rapidly calculating surface area of complex surface based on point cloud data
CN106023314A (en) B spline master curve fitting method based on rotary axis direction mapping
CN109345571B (en) A Point Cloud Registration Method Based on Extended Gaussian Image
CN107818578B (en) Rapid face model reconstruction algorithm and system based on registration method
CN107481319B (en) Hidden surface random point cloud generator
An et al. Self-adaptive polygon mesh reconstruction based on ball-pivoting algorithm
CN116563317B (en) Automatic contour extraction method of building triangular net model based on segmentation optimization
Wei et al. NeRF-based large-scale urban true digital orthophoto map generation method
Dyshkant Comparison of point clouds acquired by 3d scanner
Wu et al. Consistent correspondence between arbitrary manifold surfaces
CN118052840B (en) Real-time attitude information calculation method, device, equipment and storage medium
CN111445385A (en) Three-dimensional object planarization method based on RGB color mode
Tian et al. Robust Surface Area Measurement of Unorganized Point Clouds Based on Multi-scale Super-voxel Segmentation

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