图1-4 网格化点云
由三维人体扫描系统获得的人体点云数据量非常庞大,且通常是多视角下的点云数据,数据中不可避免地存在噪声点、冗余点和孔洞等,在进行人体建模等后续操作之前,必须对人体点云数据进行有效处理。
(1)点云降噪与平滑
受扫描设备、扫描环境、扫描误差、标定算法以及人为因素等影响,人体扫描点云中的部分数据可能与实际人体对应位置存在偏差。这些点属于噪声数据,将直接影响人体建模的质量。
为了解决这一问题,通常需要对点云数据采用降噪处理。常用的方法有高斯滤波法、平均滤波法等,其中高斯滤波法能较好地保持原始点云数据的形貌,中值滤波法则在消除点云数据的毛刺方面效果较好。
数据平滑对滤除噪声数据有一定的正面作用,但也会破坏数据的尖锐性,使边缘失去锐化效果,给特征提取等后续工作带来不利影响。
(2)点云数据精简
真实人体表面通常含有丰富的细节,得到的点云模型往往非常复杂,为了后续建模需要,必须选择合适的方法将点云简化到适当的程度。最常用的是采样法,即设定一定采样规则对点云数据进行采样,未被采样的数据点将被删除。常见的采样算法有以下几种:
①均匀采样法
假设扫描人体有n个数据点,设置采样率m(m<n),根据数据点的存储顺序,每隔(m-1)个点保留一个点,其余点都被删除。从本质上讲,对有序数据,均匀采样法就是等间距采样法,对无序数据,就是随机采样法。
均匀采样法无需搜索数据点的邻域,因此处理速度很快,但其稳定性受扫描方法和点云存储方式的影响,性能不太稳定。
②倍率缩减法
根据给定的点数进行简化,在每一次遍历中,需要遍历所有点的邻域,并去除相距最近的两个点中的一个,达到设定的数目时算法停止。由于遍历次数多,因此算法的复杂度很高且精简效率较低。
③栅格法
栅格法是一种基于几何信息的三维算法,它以初始栅格数和法矢背离容限为控制参数,利用八叉树将点云划分成若干个栅格,计算每个栅格中所有点的法矢的平均值,并把与平均值最接近的点作为采样点。该方法简化后的点集也是接近均匀分布的,与均匀采样和倍率缩减相似。对于密集且较平坦的点云,栅格法效果较好。(www.xing528.com)
④弦偏离法
弦偏离法采用极限弦偏离值v和最大弦长l作为控制参数,在最大弦长l内,所有弦偏离值小于v的数据点都将被忽略,即只有达到最大弦长l的点或弦偏离不小于v的点才会被保留。
如果v和l的值设置合适,它还能有效地采样到扫描方向的边界线和轮廓线。但该方法只能应用于顺序排列的数据,对于散乱点云,相邻三点的弦偏离值或弦长往往会超出v或l,因此几乎所有点都将被采样,无法达到数据精简的目的。
(3)孔洞修补
人体扫描过程中,有些部位(如腋下、裆部等)由于遮挡而成为扫描盲区,人体点云中会出现孔洞。同时,与地面平行的部位,如头顶、肩部、脚等部位,在扫描过程中往往会被漏扫,造成部分点云数据的缺失而形成孔洞,人体表面重建前必须对这些孔洞进行修补。
可通过局部补测的方法对漏扫部位和盲区进行修补,也可采用一定的算法,分析孔洞与现存部分的关系,并根据这种关系对孔洞进行合理的修补。目前,点云数据孔洞修补的方法主要有:
①抛物线切向延拓法
该方法的缺点是如果孔洞区域较大,则精度不易保证,误差较大。
②BP神经网络修补法
该方法通过对神经网络的训练,有效实现对孔洞数据的修补,但网络训练过程缓慢,处理速度较低。
③遗传算法结合神经网络算法
该方法采用遗传算法与神经网络相结合提高了修补数据的生成精度。
④拟合方法
可应用于具有复杂曲面形状的点云,但只适用于点云数据在孔洞内部及孔洞周围没有剧烈的曲率变化的情况,在实际应用中有一定局限性。
⑤基于核机器的回归修补方法
该方法通过对孔洞中待修补点的邻域色彩数据作回归,得到待修补点的色彩回归值,然后用回归值对应的色彩进行填充,完成对孔洞的修补。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。