舰船科学技术  2025, Vol. 47 Issue (13): 172-175    DOI: 10.3404/j.issn.1672-7649.2025.13.030   PDF    
基于点云数据的舰体三维重构和优化方法
吴杨婷1, 李仁2     
1. 武汉华夏理工学院,湖北 武汉 430223;
2. 南昌大学,江西 南昌 330038
摘要: 为高精度还原舰体表面形态与空间结构,提出基于点云数据的舰体三维重构和优化方法。该方法通过一线激光雷达采集舰体点云数据,基于俯仰角转换式将二维扫描数据转换为带距离信息的三维点云,将其输入到OpenGL内,通过 Delaunay 三角剖分法实现点云数据的网格划分;针对原始点云数据的冗余问题,进行点云平滑处理,减少模型冗余顶点,实现舰体三维重构优化。实验结果表明,该方法获取的点云数据清晰呈现舰船轮廓,空间分辨率高;重构后的三维模型外形逼真、细节完整,舰体平滑处理拟合优度达 99.94,顶点合并后冗余节点数百分比显著降低且波动幅度减小,且优化效果较强。
关键词: 点云数据     舰体三维重构     三角剖分     平滑处理    
3D reconstruction and optimization method of ship hull based on point cloud data
WU Yangting1, LI Ren2     
1. Wuhan Huaxia Institute of Technology, Wuhan 430023, China;
2. Nanchang University, Nanchang 330038, China
Abstract: In order to restore the surface morphology and spatial structure of ship hull with high precision, a method of 3D reconstruction and optimization of ship hull based on point cloud data is proposed. In this method, point cloud data of ship hull is collected by first-line laser radar, and two-dimensional scanning data is converted into three-dimensional point cloud with distance information based on pitch angle conversion, which is input into OpenGL, and the grid division of point cloud data is realized by Delaunay triangulation method. Aiming at the redundancy problem of the original point cloud data, the point cloud is smoothed to reduce the redundant vertices of the model and realize the three-dimensional reconstruction optimization of the hull. The experimental results show that the point cloud data obtained by this method clearly presents the outline of the ship and has high spatial resolution. The reconstructed 3D model has realistic appearance and complete details, and the goodness of fit of hull smoothing reaches 99.94. After vertex merging, the percentage of redundant nodes is significantly reduced and the fluctuation amplitude is reduced, and the optimization effect is strong.
Key words: point cloud data     three dimensional reconstruction of ship hull     triangulation     smooth processing    
0 引 言

舰体三维重构和优化研究作为舰艇设计领域的核心技术,通过对舰体进行三维重构和优化其不仅能够有效缩短设计周期、降低研发成本,更能通过模拟极端工况下的性能表现[1],为舰艇的安全可靠性提供保障。在实际工程应用中,舰体三维重构技术贯穿舰艇设计、建造、维护及改造的全过程。具体而言,在设计阶段,能辅助设计师进行空间布局与性能评估,并通过优化算法减少设计冗余,提升设计效率与质量;在建造阶段,三维重构技术用于监测建造进度,确保部件精确安装,及时发现并纠正偏差;在维护阶段,定期的三维重构有助于监测舰体健康状况,评估结构损伤,为维护计划提供科学依据;在改造阶段,能为改造方案设计提供精确基础数据,并通过优化算法实现改造方案的最优设计。

现在有很多学者研究舰体三维重构方法,闫宏生等[2]提出有限元船体变形重构方法,该方法利用传感器采集船体结构变形数据,将其输入到有限元软件内,通过监督学习算法计算船体不同位置变形后,生成船体三维模型。但常规形函数矩阵无法根据结构实际变形情况精准动态调整,会导致应变反演累计误差。特别是对于复杂的船体加筋板结构,这种误差可能更为明显,影响最终三维重构的精度。宋俊芳等[3]提出激光点云的三维重构方法,该方法使用激光扫描设备对舰体进行全方位扫描,然后通过计算得出每个测量点到扫描仪的距离,再根据点云的分布和几何特征,采用三角网格重建算法,将点云数据连接成三角形网格后,得到舰体三维重建结果。但舰体结构复杂,存在许多遮挡区域,激光无法直接扫描到,导致这些区域的数据缺失,影响三维重构的完整性。冯肖维等[4]提出低秩联合估计重构方法,该方法用鲁棒主成分分析对舰体点云数据进行处理。将点云划分为多个局部区域,对每个局部区域进行低秩建模,利用局部曲率信息来辨识点云中的尖锐特征,在对经过全局重构后的点云中的尖锐特征点运用投影优化方法,进一步恢复舰体的边缘特征,实现舰体三维重构。虽然该方法在一定程度上能够处理点云的噪声和尖锐特征,但对于舰体上一些非常复杂的结构,如具有大量细节和不规则形状的部分,可能无法完全准确地重建,容易出现细节丢失或重建不准确的情况。

点云数据是由大量离散点组成的数据集,每个点包含三维空间坐标,还可附加颜色、反射强度等属性信息[5]。通过激光雷达、摄影测量等技术采集,能够高精度还原物体表面形态与空间结构,在航空航天、自动驾驶、工业制造等领域广泛应用。在舰体三维重构中,点云数据可快速获取舰体外形轮廓与细节特征,为模型构建、结构分析和优化设计提供基础数据,是实现数字化、精准化设计的关键要素。在此以点云数据作为基础,研究基于点云数据的舰体三维重构和优化方法,为舰体设计和优化提供有效技术手段。

1 舰体三维重构和优化 1.1 舰体距离点云数据获取

使用一线激光雷达采集舰体激光点云数据,采集过程中使用伺服步进电机控制一线激光雷达俯仰转动,其俯仰角每变化1°,采集一次舰体激光点云数据,扫描范围为90°~120°,按照自左向右、自上而下的顺序进行扫描。舰体经过激光扫描后得到其二维平面数据,为实现舰体三维重构,需要舰体二维平面数据转换成三维数据。

$ ({X_i},{Y_i}) $表示舰体激光扫描电的二维坐标,其坐标系为二维坐标系,将转换到三维坐标系内,$ ({X_i},{Y_i}) $$ X $轴和$ Y $轴不变,增加$ Z $轴坐标,其表达式如下:

$ {Z_i} = {X_i}\cos \theta 。$ (1)

式中:$ \theta $为一线激光雷达俯仰角。

根据式(1),舰体激光扫描电的二维坐标$ ({X_i},{Y_i}) $转换成带距离信息的三维坐标$ ({X_i},{Y_i},{Z_i}) $。经过该过程,可得到舰体距离点云数据,为后续舰体三维重构提供数据基础。

1.2 基于OpenGL 的舰体三维重构

在此将1.1小节得到的舰体距离点云数据作为基础,使用OpenGL对舰体进行三维重构,其详细实现过程如下:

将带有距离信息的点云数据输入到OpenGL内,OpenGL使用Delaunay 三角剖分法划分舰体距离点云数据网格,其详细步骤如下:

步骤1 构建初始三角形

在点云数据中选择3个不共线的点,这3个点构成一个初始三角形。通常可以选择点云中坐标最小和最大的点以及另一个与这2点不共线的点[6]

步骤2 逐点插入

对于点云中的每个剩余点,将其插入到已有的三角网格中。具体步骤为:先定位包含点的初始三角形,找到包含待插入点的三角形,然后使用三角形的重心坐标来判断点是否在三角形内部。对于三角形$ \Delta ABC $,设其3个顶点坐标分别为$ A({x_1},{y_1}) $$ B({x_2},{y_2}) $$ C({x_3},{y_3}) $,待判断点$ P\left( {x,y} \right) $,则点$ P $关于$ \Delta ABC $的重心坐标$ ({\kappa _1},{\kappa _2},{\kappa _3}) $可通过以下式计算:

$ \left\{ {\begin{aligned} &{{\kappa _1} = \displaystyle\frac{{({y_2} - {y_3})(x - {x_3}) + ({x_3} - {x_2})(y - {y_3})}}{{({y_2} - {y_3})({x_1} - {x_3}) + ({x_3} - {x_2})({y_1} - {y_3})}}} ,\\ &{{\kappa _2} = \displaystyle\frac{{({y_3} - {y_1})(x - {x_3}) + ({x_1} - {x_3})(y - {y_3})}}{{({y_2} - {y_3})({x_1} - {x_3}) + ({x_3} - {x_2})({y_1} - {y_3})}}},\\ &{{\kappa _3} = 1 - \left( {{\kappa _1} + {\kappa _2}} \right)} 。\end{aligned}} \right. $ (2)

$ {\kappa _1} $$ {\kappa _2} $$ {\kappa _3} $均满足≥0,≤1,则点$ P $在三角形$ \Delta ABC $内部。然后将待插入点与包含它的三角形的3个顶点相连,形成3个新的三角形。

步骤3 重复步骤2,直到所有点都插入到三角网格中,最终得到Delaunay三角剖分的结果,即船体的三角网格模型。

通过以上Delaunay三角剖分过程,可以将激光点云数据转化为具有良好几何特性的三角网格模型。由于舰体曲面的面片较多[7],在对舰体进行三角网格剖分时,需要按照不同位置分片进行,然后再将相邻的曲面片进行光滑拼接处理,其详细过程为:

选择相邻的2个曲面片$ {\varphi _1} $$ {\varphi _2} $,计算曲面片$ {\varphi _1} $的中心坐标,表达式如下:

$ {v_{1u}} = \sum\limits_{i = 1}^4 {{\zeta _i} \times \frac{1}{4}} 。$ (3)

式中:$ {v_{1\zeta }} $为曲面片$ {\varphi _1} $的中心坐标,分别取$ x $$ y $$ z $

然后再利用式(3)计算曲面片$ {\varphi _2} $的中心坐标$ {v_{2\zeta }} $,通过2个中心坐标,计算每个坐标方向的差值$ {v_s} = \left| {{v_{2\zeta }} - {v_{1\zeta }}} \right| $,依据该差值确定曲面连接方向$ \zeta $,再构造辅助曲面$ {c_1} $$ {c_2} $,表达式如下:

$ \left\{ \begin{gathered} {c_1} = \zeta - {v_{1\zeta }},\\ {c_2} = \zeta - {v_{2\zeta }}。\\ \end{gathered} \right. $ (4)

利用式(4)构造方程组:

$ \left\{ \begin{gathered} {u_1} = t{\varphi _1} + {\varphi _2} - {\varphi _2}t,\\ {v_1} = tc_1^2 + c_2^2 - c_2^2t。\\ \end{gathered} \right. $ (5)

式中:$ {\zeta _1} $为通过平滑参数$ t $对主曲面$ {\varphi _1} $$ {\varphi _2} $进行线性插值得到的量,体现主曲面在该分量上的平滑衔接;$ {v_1} $为辅助曲面$ {c_1} $$ {c_2} $构造的平方项。

通过式(5)的方程组,计算曲面片$ {\varphi _1} $$ {\varphi _2} $,平滑拼接的过渡曲面$ \Phi $,表达式如下:

$ \Phi = c_2^2{\varphi _1} - c_1^2{\varphi _2} 。$ (6)

利用过渡曲面$ bs $对曲面片$ {\varphi _1} $$ {\varphi _2} $进行平滑拼接处理,得到舰体三维重构模型,再使用OpenGL对其进行纹理映射、晕染处理后,得到最终舰体三维重构结果。

1.3 舰体三维重构优化方法 1.3.1 舰体距离点云数据平滑处理

舰体表面存在大量复杂曲面(如舰艏破浪面、甲板弧度),原始点云数据因传感器精度限制和环境干扰,会产生局部数据抖动,因此在舰体进行三维重构时,要对距离点云数据进行平滑处理。在此使用移动最小二乘法实现舰体距离点云数据平滑处理。对舰体距离点云数据平滑处理的本质是对点云的$ z $轴坐标进行调整,舰体距离点云数据平滑处理时每一个点$ z $轴坐标函数$ f(x) $表达式为:

$ f(x) = \sum\limits_{i = 1}^h {{Q_i}{\mathchar'26\mkern-10mu\lambda _i}} ,$ (7)
$ {\mathchar'26\mkern-10mu\lambda _i} = {[{\mathchar'26\mkern-10mu\lambda _1},{\mathchar'26\mkern-10mu\lambda _2}, \cdots ,{\mathchar'26\mkern-10mu\lambda _h}]^{\rm{T}}}。$ (8)

式中:$ {\mathchar'26\mkern-10mu\lambda _i} $为基函数,$ h $为基函数项数;$ {Q_i} $为基函数分项系数。

将式(8)结果代入到式(7)内,得到架体距离点云数据$ z $轴坐标函数$ f(x) $数值,该数值即为舰体距离点云数据平滑处理后的结果,但为保障舰体距离点云数据平滑拟合误差,使用平滑拟合后平方误差加权和对式(7)结果进行约束,其表达式如下:

$ J = \sum\limits_{i = 1}^h {{{({Q_i}{\mathchar'26\mkern-10mu\lambda _i} - z({x_i}))}^2}} \times \sum\limits_{i = 1}^n \omega ({x_i}) 。$ (9)

式中:$ J $为平滑拟合后平方误差加权和;$ \omega ({x_i}) $为舰体距离点云数据xi的权函数。

当式(9)数值最小时,说明当前舰体距离点云数据平滑拟合结果最佳。

1.3.2 舰体三维重构模型顶点合并处理

舰体三维重构基于点云数据实现的,这些数据在采集过程中会因传感器精度、环境干扰等因素产生大量冗余顶点。例如,不同视角下同一舰体部位的顶点可能存在细微位置差异,导致模型中出现重复或密集的顶点群。顶点合并通过设定距离阈值,将空间位置相近的顶点合并为一个,显著降低模型的顶点和面片数量,使三维重构的舰体三维模型更加精准。设置距离阈值为dthresh,然后使用欧几里得距离式计算舰体三维重构模型相邻的两个顶点$ {O_i}({x_i},{y_i},{z_i}) $$ {O_j}({x_j},{y_j},{z_j}) $距离,其表达式如下:

$ {d_{ij}} = \sqrt {{{({x_j} - {x_i})}^2}} + \sqrt {{{({y_j} - {y_i})}^2}} + \sqrt {{{({z_j} - {z_i})}^2}}。$ (10)

式中:dij表示舰体三维重构模型相邻的2个顶点间的欧几里得距离。

通过式(10)可得到相邻舰体三维重构模型顶点的直线距离,当$ d_{ij} > d\mathrm{_{thresh}} $时,则$ {O_i}({x_i},{y_i},{z_i}) $$ {O_j}({x_j},{y_j},{z_j}) $不合并;当$ d_{ij}\leqslant d\mathrm{_{thresh}} $时,则$ {O_i}({x_i},{y_i},{z_i}) $$ {O_j}({x_j},{y_j},{z_j}) $合并,其合并的方式为:

将顶点Oj合并到顶点Oi,将Oj的坐标设置为Oi的坐标$ ({x_i},{y_i},{z_i}) $,然后在模型的索引列表中,将所有原本指向Oj的索引都改为指向Oi。这样,在渲染时就不会再单独渲染Oj,而是将其与Oi视为同一个顶点进行处理,从而减少了顶点数量,达到优化模型的目的。

2 性能测试结果与分析

以某海洋科考舰船作为实验对象,该科考舰船负责海域内洋流、水质生态环境监测,在此使用本文方法对该舰船进行三维重构和优化处理,为该舰船结构分析、外形轮廓设计提供以一种有效技术手段。

以舰体尾部弯曲区域作为实验对象,以舰体曲面面片光滑拼接过程中的曲率作为衡量指标,进一步验证本文方法对舰体三维重构能力,测试结果如图1所示。由图1所示,随着面片编码增加,曲率数值呈逐渐上升趋势,且变化过程连续、无突变。这表明在拼接过程中,本文方法能有效控制曲率的连续性,确保各曲面的面片间实现光滑过渡,避免了曲率的突然跳跃,从而验证了该方法在舰体三维重构中对曲面面片光滑拼接的良好能力,保障了重构模型的曲面质量,为舰体尾部弯曲区域的三维重构提供了可靠的技术支持。

图 1 舰体曲面面片光滑拼接曲率 Fig. 1 Smooth splicing curvature of ship body surface patches

验证本文方法对舰体三维重构的优化能力,在此验证舰体距离点云数据平滑处理效果,以距离点云数据平滑时的拟合优度作为衡量指标,以10个舰体距离点云数据作为实验对象,在舰体距离点云数据不同邻域半径系数时,分析本文方法对舰体三维重构优化效果,测试结果如表1所示。表1 展示了不同邻域半径系数下,本文方法对舰体距离点云数据平滑处理的拟合优度数值,以此验证对舰体三维重构的优化能力。当邻域半径系数为 0.2 和 0.4 时,拟合优度均达 99.94,处于较高水平;0.6 时为 99.93,0.8 时为 99.9,仍保持较好效果。随着系数增大,拟合优度逐渐下降,如 1.0 时为 99.87,1.2 时 99.86,1.4 时 99.82,1.6 时 99.79,1.8 时 99.73,2.0 时 99.7。可见,邻域半径系数较小时,拟合优度更高,本文方法对舰体距离点云数据平滑处理效果更优,三维重构优化能力更强;虽随系数增大效果略有下降,但整体数值仍较高,表明方法在不同条件下均有一定效果,且在较小邻域半径系数下更能凸显其对舰体三维重构的优化优势。

表 1 舰体距离点云数据平滑处理拟合优度数值 Tab.1 Optimization values of smoothing and fitting of ship distance point cloud data

进一步验证本文方法对舰体三维重构的优化能力,在此以冗余定点作为衡量指标,以该舰体三维模型的若干个曲面的面片作为实验对象,分析本文方法对舰体三维重构优化效果,测试结果如图2所示。图2展示了舰体三维重构顶点合并效果,横坐标为舰体尾部曲面的面片编码,纵坐标是冗余节点数百分比。可见,优化前各面片冗余节点数百分比波动较大且数值较高;优化后,该数值明显降低,波动幅度也变小。这表明本文方法在舰体三维重构优化上效果显著,有效减少了冗余节点,提升了重构质量和效率。

图 2 舰体三维重构顶点合并效果 Fig. 2 Vertex merging effect of three-dimensional reconstruction of ship body
3 结 语

本文围绕点云数据在舰体三维重构中的应用,构建了从数据采集、模型重构到优化处理的完整技术体系。通过一线激光雷达获取高精度舰体点云数据,结合 OpenGL 实现基于 Delaunay 三角剖分的三维重构,并针对数据噪声与冗余问题,采用移动最小二乘法和平滑拼接、顶点合并算法进行优化。实际验证可知本文方法应用性较强。

参考文献
[1]
汪骥, 柳丛, 李瑞, 等. 基于点云目标检测算法的船体分段合拢面构件识别方法[J]. 船舶工程, 2024, 46(7): 19-25,89.
[2]
闫宏生, 白超迪, 贾同宇, 等. 逆有限元法在船体加筋板结构变形重构中的应用[J]. 中国造船, 2023, 64(1): 168-179. DOI:10.3969/j.issn.1000-4882.2023.01.015
[3]
宋俊芳, 孙彬, 蒲媛媛, 等. 基于激光点云数据的叶片型面三维重构[J]. 计量学报, 2023, 44(2): 171-177. DOI:10.3969/j.issn.1000-1158.2023.02.03
[4]
冯肖维, 杜光皓, 赵一平, 等. 点云鲁棒低秩联合估计重构[J]. 计算机辅助设计与图形学学报, 2023, 35(9): 1344-1352.
[5]
何庆, 付彬, 王启航, 等. 基于雷视融合的轨道三维点云重构研究[J]. 北京交通大学学报, 2024, 48(5): 69-77.
[6]
樊文刚, 吴昌昕, 吴志伟, 等. 尖轨复杂型面激光测量与三维重构方法研究[J]. 机械工程学报, 2024, 60(23): 329-340.
[7]
赵慧洁, 李宇曦, 姜宏志, 等. 复杂光照条件下的高精度三维成像技术[J]. 激光与光电子学进展, 2023, 60(8): 268−279.