1. 引言
虚拟现实、数字孪生等领域的高速发展使其对高精度的三维建模提出了更高的要求。三维重建技术通过精确获取物体表面的几何形态和细节特征,并对其进行处理,以构建高保真的三维模型。传统单视角重建方法只能生成局部三维面部模型,已难以满足实际需要[1],基于多视角融合实现完整模型重建的方法成为当前研究热点,其关键在于将不同角度的点云数据通过高精度配准,统一到一个全局参考系中[2]。尽管当前深度学习在理想数据条件下表现优异,但基于几何特征的传统方法仍具优势。一方面,传统方法无需耗费大量计算资源,成像速度较快,可部署在嵌入式设备上;另一方面,其可解释性也为医疗应用提供了可靠依据[3]。
在传统方法中,由Besl提出的迭代最邻近点(ICP)算法[4]最为经典。后续研究在此基础上进行改进,如Chen等[5]采用RANSAC算法[6]进行配准,通过随机选择点对进行假设检验来排除错误匹配;Aiger [7]提出的4PCS算法利用共面四点构建刚性变换矩阵,但容易出现误匹配。另一类研究通过引入特征描述符提升配准精度,如Rusu提出了点特征直方图(PFH) [8]与其改进算法FPFH [9],通过遍历每个点的邻近点来计算法向量,构建多维直方图;Yao [10]结合K-D树与曲率特征[11]进行匹配,但在特征较弱的区域效果受限。
虽然以往研究已在一定程度上提升了精度,但在实际的多视角点云三维重建场景中,当前传统配准方法仍存在非重叠区域产生误匹配较多的问题[12],物体重建效率受图像重叠程度影响[13]。面临这一困境,李鑫等人[14]基于贡献因子来保留对配准贡献度更大的点对,但耗时较长。此外,在多视角点云的配准融合过程中,噪声所产生的误差会不断累积,最终导致重建的物体发生形变。部分研究者尝试通过过滤噪声提高模型精度,如Qu [15]等人采用点数最小的约束消除方法结合改进的体素向下采样方法消除边缘异常值;Li等人[16]采用预滤波减少噪声干扰。但这些方法仍难以解决帧间累积误差不断增大的问题。
因此,针对头部三维重建中多视角点云重叠率低以及累积误差带来的模型变形和不完整问题,本文提出了一种基于特征点优化选择的全局配准方法(FOGR, Feature-Point Optimization Selection and Global Registration),即可高效实现完整头部三维重建,提高帧间重叠率,减少累积误差,使得匹配更加精准,最终实现高保真的完整头部三维模型重建。
2. 总体设计
本文利用英特尔D435深度相机所采集的多角度RGB-D头部数据展开研究。所提算法由三个阶段组成。第一阶段为预处理,通过轴向分割精准提取出头部区域,有效消除背景噪声和无关信息。第二阶段为关键特征点对优化选择。为减轻非重叠区域对多视角点云配准的干扰,设计了一种高重叠区域分割策略(HOR, Highly Overlapping Regional Segmentation),该策略采用动态分割机制去除边缘非重叠区域,提取不同视角点云所共享的重叠部分。随后,为进一步提高特征点集的质量,提出了一种基于距离平均值与标准差相似性、余弦相似性的动态阈值双重约束策略(DTC, Dynamic Threshold Double Constraint)消除错误匹配点对,优选出特征点集,从而提高了重建精度。第三阶段是配准,本文提出了基于模型到帧优化(MFO, Model to Frame Optimization)的全局配准算法。通过在每次配准迭代后更新模型,提高帧间重叠率,减少累积误差,实现三维头部重建的完整性。本文所提算法完整流程如图1所示。
Figure 1. Diagram of the 3D head model reconstruction module
图1. 三维头部模型重建模块示意图
3. 研究方法详细过程
3.1. 数据预处理
首先,基于Intel RealSense D435深度相机的内参矩阵和外参矩阵得到原始点云。接着,利用基于梯度提升决策树(GBDT)算法的人类关键点检测模型,识别出正面RGB图像中的面部关键特征点,再结合深度信息,生成一组三维空间中的关键点,提取出三维鼻尖点
和下巴点
,以这两点为基准,定位点云中人脸的位置,采用轴向分割对原始数据进行处理,从而分离出更加纯净的头部区域点云数据。假设点云集合为
,首先采用体素滤波法,在保持点云的均匀性和形状特征的同时,显著均匀化点云密度,并适当减少冗余数据量,从而提高后续运算效率。接着利用
的Z轴坐标
提取前景区域,保留满足以下要求的点:
(1)
其中,
为深度阈值,
表示经
深度分割处理后的点云。
最后根据
的Y坐标
进一步确定头部区域的垂直边界:
(2)
其中
表示控制垂直裁剪范围,用于剔除头顶、颈部及以下噪声,
表示经
分割处理后的点云。
三个关键阈值包括深度分割阈值
、垂直下边界
和垂直上边界
。
用于沿Z轴(相机光轴方向)分离前景与背景,其取值决定了初始点云中包含的主体范围,范围过大导致头部不完整,过小则会导致边界噪声剔除不完全,导致RMSE值升高;
和
共同定义了头部点云的垂直边界,用于精确剔除头顶以上,如头发抖动噪声的干扰和颈部及以下的身体部分。
值过高,可能导致下巴或下唇部分数据丢失;数值过小则会保留过多的颈部点云,引入非面部噪声。
过高会过度裁剪掉前额或头顶点云;当
过低时,则会保留头顶上方无关的噪声点。
经上述阶段处理过程,单帧点云边缘多数背景噪声点和冗余信息被过滤或排除,减少了噪点对后续配准过程产生的不利影响,提高了后续三维重建的质量和稳定性。
3.2. 关键特征点对优化选择
点云配准的核心在于从源点云和目标点云中精准找到匹配点对。本节通过关键点筛选策略,建立参考点云和目标点云中点对之间的相似性度量,结合多重约束机制优化关键点间的匹配,进一步提高配准算法的性能,增强三维重建的准确性和稳定性。
3.2.1. 高重叠区域关键点选择
在多视角点云配准过程中,非重叠区域因缺乏与其他视角点的对应关系容易导致误匹配,影响配准的准确性和稳定性。为此,本文提出HOR,通过采用基于点云在X轴方向上的排序筛选机制,动态划分多视角点云的共享的高重叠区域,将区域内的点作为关键点。具体选择逻辑如下:
对于左侧脸图像,保留X轴较大值区域,剔除靠近左端的点;对于正前图像,保留X轴中间值区域;对于右侧脸图像,保留X轴较小值区域,剔除靠近右端的点。完成上述操作后,进一步对点云数据进行全局范围的边界剔除操作。通过分析点云在整体分布中的特点,精确移除头部周围的冗余背景数据,确保最终提取的点云只包含头部的主要区域,效果如图2所示。
Figure 2. Selection of areas with high overlap: (a) Before high overlap area selection; (b) After high overlap area selection
图2. 高重叠度区域选取:(a) 选择高重叠区域前;(b) 选择高重叠区域后
接着,为了进一步优化筛选关键点,本文利用KD树来构建它们之间的拓扑关系,针对源点云和目标点云中的关键点集采用双向KD树策略进行近邻搜索,快速准确地找到源点云和目标点云关键点之间的最近点对。源点云用
表示,记录初始的点数为Np;目标点云用
表示,记录初始的点数为Nq。利用双向KD树搜索邻近点,构建
的KD树,搜索
中每个点的最近邻近点,获得相应的点集
:
(3)
其中,
代表KD树最近邻搜索算法,p代表源点云
中的一个点,q代表目标点云
中的一个点。
接着构建
的KD树,搜索
每个点的最近邻点,获得相应的点集
:
(4)
其中,
代表KD树最近邻搜索算法,
代表源点云
中的一个点,
代表目标点云
中的一个点。
最后,取特征点对(p, q)和
的交集,得到
,并将其作为初始对应点集。
(5)
其中,
为源点云中选择出的初始特征点集,
为目标点云中选择出的初始特征点集。
3.2.2. 基于动态阈值双重相似性约束的特征点集优化
初始的对应点集仍不可避免地存在误匹配的情况。为此,本节进一步提出DTC方法。该方法综合考虑位置相似性和余弦相似性的结果,从初始候选匹配点对中筛选出符合双重约束条件的点对作为最终匹配点对。并且动态调整阈值和约束条件,以确保筛选过程的灵活性和准确性。
首先根据位置相似性约束和动态阈值评估初始对应点集,计算源点云
中每个点与其目标点云
中对应点之间的欧氏距离,以评估它们之间的位置相似性。为确保点对匹配的准确性,根据距离的标准偏差和平均值设置动态阈值。通过比较每个点对的距离与动态阈值,剔除位置相似性异常的点对。过程如下:
对于源点云
中的每个点
和目标点云
中的每个点
,计算它们点对之间的欧氏距离
。
(6)
其中,
和
分别代表源点云和目标点云中互相匹配的两点的坐标。
计算
中所有点对距离的平均值
和标准差
。根据点云数据的统计属性(平均距离和标准差)动态调整阈值,以实现不同点集之间一致的筛选结果。设置阈值
,并根据此阈值执行筛选。如果位置相似性不在动态阈值范围内,则认为点对之间的位置差异较大,据此筛除距离过小或过大的点对。
(7)
接下来,计算其余满足位置相似性约束条件的点对的余弦相似性。余弦相似性是一种度量两个向量之间夹角的指标,范围从−1到1。两个向量之间夹角的绝对值越小,余弦相似性越高。对于点对集
,假设它包含n个点对,每个点对由两个坐标向量表示。每个点对的余弦值计算方式如下:
(8)
其中,
和
是一个匹配点对中两点的坐标向量,
和
是它们的范数。
通过计算
中所有点对的矢量角的平均
和标准偏差
,设定一个阈值
以剔除离群点对。超出阈值范围的值被认为是异常值,表明点对之间的相似性较低,因此会被剔除。
(9)
最后,结合位置相似性和余弦相似性的结果,选出同时满足式(7)和式(9)的点对,作为最终的匹配点对集
,用于后续的帧间头部点云配准。图3展示了通过位置相似性和余弦相似性双重约束剔除错误点对后的三维面部特征点。
Figure 3. Elimination of error pairs: (a) Original feature point set; (b) Key feature point set
图3. 消除错误点对:(a) 原始特征点集;(b) 关键特征点集
基于HOR和DTC的关键特征点对提取策略不仅灵活准确地优化了对应点集,有效消除了错误匹配的点对,还全面评估了点云数据之间的相似性,从而实现了后续更精确的配准。
3.3. 基于全局配准的优化算法
为了将不同视角的点云数据对齐到统一的坐标系中,且最大程度地消除累积误差,本文在配准过程中使用了基于全局优化的配准算法。该算法全局考虑点云数据信息,通过迭代优化更新模型与框架之间的变换关系,不仅能有效处理复杂的点云数据,还能避免陷入局部最优,从而实现高精度的三维头部点云模型重建。点云配准旨在变换矩阵T,实现不同视角的点云数据对齐至统一坐标系中的配准[17],设目标点云为
、源点云为
,则有:
(10)
其中,T包含旋转R、平移t、投影变换V和比例因子S。本文仅关注刚性变换,忽略尺度和投影影响,因此令S = 1、V = 0,则:
(11)
点云配准的目标是通过刚性变换,使源点云与目标点云的距离平方和最小化,即:
(12)
整合多视角数据的常用方法是循环执行逐帧配准。先为参考点云设置一个坐标系,然后将目标点云转换到该参考坐标系中。虽然ICP可以根据距离找到相应的点对,但它对数据完整性、重叠率和初始位置的要求很高。对于多帧点云的配准,上述方法可能会因重叠率低和累积误差而导致全局配准失败。因此,基于上节得到的关键特征点对
,本节提出了一种基于模型到帧优化的配准策略。假设源帧为
,目标帧为
,其中
,配准过程具体步骤如下:
(1) 初始化:选择一个初始帧作为源帧
,为后续操作提供参考。
(2) 特征提取:从源帧
和目标帧
中精确提取关键特征点集合,并确定目标帧的坐标系。假
设从源帧
和目标帧
提取的特征点分别为
和
:
(13)
(14)
其中,
表示基于高重叠区域的特征点优化筛选算法。
(3) 特征匹配:首先根据提取的特征点
和
,在源帧和目标帧之间进行匹配,以确定点对
之间的对应关系。不匹配的点会被有效消除,以提高配准的准确性。精确提取后的关键特征点对的集合表示为
:
(15)
(4) 刚性变换:根据特征点匹配的结果,利用式(15)计算新的刚性变换矩阵,作为初始变化矩阵。在此基础上,将源帧再次进行ICP配准,变换到目标帧(模型)的坐标系中,实现当前帧与模型之间的对齐。
(5) 模型更新:刚体转换的源帧与目标帧融合,源帧模型实时更新为
:
(16)
(6) 循环配准:重复步骤(2)至(5),直到成功配准所有帧,确保全局配准的一致性和准确性。最终得到的模型记为
:
(17)
图4显示了基于模型到帧优化的配准过程。通过这种策略,不仅能有效解决多角度扫描数据的全局配准问题,还能有效避免因重叠率低和累积误差导致的配准失败。
Figure 4. Model-to-frame registration process
图4. 模型到帧的配准过程
4. 实验结果分析
实验在配备NVIDIA GeForce RTX 3050显卡的Windows 11平台上进行,所有算法均通过pycharm 2023进行实现。实验数据采用英特尔D435深度相机获取的多角度RGB-D头部数据。该数据集包含107幅连续的多角度彩色人头图像及其相应的深度图,且每幅图像都高达1280 × 720像素,为后续验证提供了一个可靠的基准。为同时保证帧间重叠度与重建效率,选取间隔均匀的19帧作为实验样本,相邻帧间旋转角度约为18.95˚ ± 0.8˚。
实验结果采用均方根误差(RMSE)、平均绝对误差(MAE)以及XYZ轴旋转误差(
、
、
)五个指标进行定量分析[18],这些指标可以全面反映重建模型与真实模型之间的偏差,为算法性能提供了全面准确的依据。
4.1. 消融实验
4.1.1. 基于DTC的消融实验
为了验证DTC在关键点对选择中的有效性,我们进行了一系列消融实验。表1结果显示,本文提出的DTC方法通过综合考虑位置相似性和余弦相似性的结果,在关键点提取后动态调整阈值和约束条件,成功筛选出满足双重约束条件的点对作为最终匹配点对。这一策略不仅优化了对应点集的选择过程,还有效消除了潜在的不匹配点对,从而提高了配准的准确性和稳定性。此外,结合HOR进行关键点选择,还能进一步提高配准点对的质量。HODT表示HOR与DTC的整合。实验结果表明,使用该策略得到的RMSE值为1.9032 mm,重建时间为7.1808秒,在配准精度上分别比传统算法高出66.209%、8.178%和14.162%。
Table 1. Experimental results based on DTC
表1. 基于DTC的实验结果
算法/指标 |
RMSE/10−3 |
MAE/10−3 |
Max E/10−2 |
Rx_error |
Ry_error |
Rz_error |
时间/秒 |
ISS |
5.6323 |
8.9913 |
4.5687 |
0.8049 |
0.8996 |
0.8786 |
13.1912 |
HOR |
2.0727 |
4.2402 |
4.5784 |
0.1963 |
0.2595 |
0.2061 |
6.9562 |
DTC |
2.2172 |
4.5198 |
4.8400 |
0.2234 |
0.3151 |
0.2233 |
7.4996 |
HODT |
1.9032 |
3.3343 |
4.6455 |
0.1912 |
0.2584 |
0.1934 |
7.1808 |
4.1.2. 基于MFO的消融实验
为了全面评估MFO配准方法的效果,我们进行了全面的消融实验。实验结果如表2所示。HOMT和DTMT分别表示MFO与HOR和DTC。通过利用HOR在重叠区域内识别有效匹配点对的能力,以及DTC动态调整阈值和约束以消除误匹配点对的能力,由MFO、HOR和DTC增强的ICP算法取得了显著的重建效果,在整体性能上超越了其他算法。我们的算法能在7.9651秒内完成三维人体头部重建,与其他方法相比,MAE为2.3669,RMSE显著降低了3.936%到20.517%不等。这些实验结果不仅证实了MFO方法在配准方面的准确性,还凸显了它在提高计算效率方面的优势。
Table 2. Experimental results based on MFO
表2. 基于MFO的实验结果
算法/指标 |
RMSE/10−3 |
MAE/10−3 |
MaxE/10−2 |
Rx_error |
Ry_error |
Rz_error |
时间/秒 |
DTC |
2.2172 |
4.5198 |
4.8400 |
0.2234 |
0.3151 |
0.2233 |
7.4996 |
HOR |
2.0727 |
4.2402 |
4.5784 |
0.1963 |
0.2595 |
0.2061 |
6.9562 |
MFO |
1.9533 |
3.3612 |
4.8879 |
0.2291 |
0.3229 |
0.2289 |
9.9019 |
HODT |
1.9032 |
3.3343 |
4.6455 |
0.1912 |
0.2584 |
0.1934 |
7.1808 |
HOMT |
1.8345 |
2.3922 |
4.5939 |
0.2051 |
0.2428 |
0.1891 |
9.3414 |
DTMT |
1.8489 |
3.2669 |
4.6182 |
0.2055 |
0.2501 |
0.1986 |
7.9197 |
FOGR |
1.7623 |
1.5237 |
2.3645 |
0.0858 |
0.1112 |
0.0821 |
7.9651 |
4.2. 对比实验
为了更公正地评估本文提出的FOGR算法性能,本节采用相同数据,将FOGR算法与ISS-ICP、FPFH-ICP、ANGLE-ICP等已有方法进行对比。各算法重建结果如图5所示,其他算法所重建的头部模型并不完整。而本文提出的算法重建的头部模型在各个角度的细节捕捉、形状保持和整体逼真度方面都非常出色,验证了FOGR算法的有效性。为更加客观地展示GOGR算法的优越性,表3详细列出了对比实验结果。如表所见,FOGR算法在性能上具有显著优势。该算法仅用7.9651秒就实现了高精度三维头部点云模型重建,效率极高,且RMSE值低至1.7623 mm,重建误差小于其他算法。实验结果表明,本文所提出的算法在多视角头部点云配准任务中具有显著优势。
Figure 5. Reconstruction results of FOGR algorithm compared with other algorithms: (a) ISS-ICP reconstruction results; (b) FPFH-ICP reconstruction results; (c) ANGLE-ICP reconstruction results; (d) Our method FOGR reconstruction results
图5. FOGR算法的重建结果与其他算法进行比较:(a) ISS-ICP算法重建结果;(b) FPFH-ICP算法重建结果;(c) ANGLE-ICP算法重建结果;(d) 本文方法FOGR重建结果
Table3. Reconstruction results of the head point cloud model under different methods
表3. 不同方法下的头部点云模型重建结果
算法/指标 |
RMSE/10−3 |
MAE/10−3 |
MaxE/10−2 |
Rx_error |
Ry_error |
Rz_error |
时间/秒 |
ISS-ICP |
15.9418 |
11.2203 |
6.9369 |
0.6436 |
0.6549 |
0.6627 |
14.2371 |
FPFH-ICP |
17.2407 |
12.0967 |
7.2109 |
0.6519 |
0.6897 |
0.6833 |
28.0389 |
ANGLE-ICP |
22.1817 |
16.3021 |
7.7213 |
0.7125 |
0.8139 |
0.8355 |
27.6509 |
FOGR |
1.7623 |
1.5237 |
2.3645 |
0.0858 |
0.1112 |
0.0821 |
7.9651 |
5. 结论
本文提出了一种基于关键特征点优选模型到帧全局配准的三维头部点云重建方法(FOGR),实现了头部完整点云模型的精确重建。该方法通过选择高重叠区域和动态阈值双重相似性约束来精确提取关键点对,又采用模型到帧的全局配准策略在每次迭代后动态更新模型,以增强帧间的关联并减小累积误差,确保重建的精度。消融实验结果证明了所采用策略的有效性。与其他方法相比,FOGR算法在各种指标上都表现出卓越的性能,模型的均方根误差为1.7623 mm,各轴之间的旋转误差极其细微,且重建效率极高,仅需要7.9651 s。重建效果图直观展示了其重建效果,表明FOGR可优于其他方法实现高保真三维头部模型重建。尽管如此,本研究仍需在泛化性与实时性方面进一步探索,研究更灵活的策略以提升性能。
基金项目
国家科学技术部项目(No.G2021013008)。
NOTES
*通讯作者。